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

参数 | 参数类型 | 数据类型 | 描述 |
|---|---|---|---|
EN | 输入 | BOOL | 启用指令块。
仅适用于梯形图程序。 |
AxisIn | 输入 | AXIS_REF FB_AXIS_REF | 使用 AXIS_REF 数据类型定义 AxisIn。 对于 FB_Axis(反馈轴),使用 FB_AXIS_REF 数据类型定义 AxisIn。 |
Execute | 输入 | BOOL | TRUE: 开始设置轴位置。 |
Position | 输入 | REAL | 要为轴设置的绝对位置或相对距离。 |
Relative | 输入 | BOOL |
|
MC_ExecutionMode | 输入 | SINT | 值包括:
对于 (MC_ExecutionMode = 0),当轴状态为“已禁用”或“静止”时,此功能块成功完成。如果此模式中存在正在运行的非连续运动的轴,则此功能块的执行将报告错误。 对于 (MC_ExecutionMode = 1),当轴状态为“已禁用、“静止”或正在运行的运行以“静止”的状态完成时,此功能块成功完成。 当前将保留其他输入值,并将其视为无效参数。 |
ENO | 输出 | BOOL | 启用“输出”。 仅适用于梯形图程序。 |
Axis | 输出 | AXIS_REF | 梯形图编程中的轴输出为只读。 |
Done | 输出 | BOOL | TRUE: Position 具有新值。 |
Busy | 输出 | BOOL | TRUE: 功能块未完成。 |
Error | 输出 | BOOL | 指示发生了错误。
|
MC_SetPosition 示例
MC_SetPosition 功能块图示例

MC_SetPosition 梯形图示例

MC_SetPosition 结构化文本示例

结果


提供反馈