MC_SetPosition(运动控制设置位置)

MC_SetPosition 指令可通过控制具有相同值的轴的实际位置而不造成任何移动,从而转移轴坐标系。
操作详细信息︰
  • 只有在轴的状态为“静止”、“连续运动”(MC_ExecutionMode = 0) 或当正在运行的运动完成且处于“静止”状态 (MC_ExecutionMode = 1) 时,MC_SetPosition 才可以成功完成。
  • 除非 MC_Home 功能块将轴设置为 Homed 状态,否则 MC_SetPosition 在 HomingMode = MC_HOME_DIRECT (0x04) 时与 MC_Home 的运行方式相同。
  • 当 MC_ExecutionMode = 0 (mcImmediately) 时,如果存在正在运行的非连续运动的轴,则 MC_SetPosition 功能块的执行会报告错误。
  • MC_ExecutionMode = 1 (mcQueued) 时,只有所有之前正在运行的运动都停止,才需要设置实际位置。也就是说,每个之前的功能块必须至少有一个等于 TRUE 的 Done、Aborted 或 Error 输出。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于支持运动控制的 L50E 和 L70E 控制器。
MC_SetPosition
MC_SetPosition
MC_SetPosition 参数
参数
参数类型
数据类型
描述
EN
输入
BOOL
启用指令块。
  • TRUE: 执行当前 MC_SetPosition 计算。
  • FALSE:不执行比较。
仅适用于梯形图程序。
AxisIn
输入
AXIS_REF
FB_AXIS_REF
使用 AXIS_REF 数据类型定义 AxisIn。
对于 FB_Axis(反馈轴),使用 FB_AXIS_REF 数据类型定义 AxisIn。
Execute
输入
BOOL
TRUE: 开始设置轴位置。
Position
输入
REAL
要为轴设置的绝对位置或相对距离。
Relative
输入
BOOL
  • TRUE: 设置轴的相对距离。
  • FALSE:设置轴的绝对位置。
MC_ExecutionMode
输入
SINT
值包括:
  • 0 (
    mcImmediately
    ):功能立即生效。
  • 1 (
    mcQueued
    ):在以下情况下新功能变为有效:
  • 将所有以前的运动命令设置为以下输出参数之一:Done、Aborted 或 Error。
  • 轴未处于移动状态。
对于 (MC_ExecutionMode = 0),当轴状态为“已禁用”或“静止”时,此功能块成功完成。如果此模式中存在正在运行的非连续运动的轴,则此功能块的执行将报告错误。
对于 (MC_ExecutionMode = 1),当轴状态为“已禁用、“静止”或正在运行的运行以“静止”的状态完成时,此功能块成功完成。
当前将保留其他输入值,并将其视为无效参数。
ENO
输出
BOOL
启用“输出”。
仅适用于梯形图程序。
Axis
输出
AXIS_REF
梯形图编程中的轴输出为只读。
Done
输出
BOOL
TRUE: Position 具有新值。
Busy
输出
BOOL
TRUE: 功能块未完成。
Error
输出
BOOL
指示发生了错误。
  • TRUE: 检测到错误。
  • FALSE:无错误。
ErrorID
输出
UINT
标识错误的唯一数字。在运动控制功能块错误 ID 中定义该指令的错误。

MC_SetPosition 示例

MC_SetPosition 功能块图示例
MC_SetPosition 功能块图示例
MC_SetPosition 梯形图示例
MC_SetPosition 梯形图示例
MC_SetPosition 结构化文本示例
MC_SetPosition 结构化文本示例
结果
结果
轴监视器
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal