名称:设置当前位置指令
符号:MC_SetPosition
说明:
用于设置轴的当前位置,上升沿有效。
只有当轴的PLCOpen状态处于Disabled、Standstill、Errorstop三种状态才可调用本指令设置轴的当前位置。
当MODE=0(绝对模式)时,在EXECUTE的上升沿,指令将POS写入轴的当前位置。
当MODE=1(相对模式)时,在EXECUTE的上升沿,指令在轴的当前位置基础上加上POS对应的值(需在当前位置已知的前提下才可调用本指令,否则指令报错)。
图片:
参数:
| 参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 | 默认值 |
|---|---|---|---|---|---|
| AXISNO | UDINT | IN | 脉冲轴号 | 0-7 | 无 |
| EXECUTE | BOOL | IN | 功能块触发 | 上升沿触发指令执行 | FALSE |
| POS | REAL | IN | 目标位置 | 目标位置(正数/负数/0),单位: unit | 0 |
| MODE | REAL | USINT | 模式选择 | 0-绝对模式,将POS的值写入当前位置;1-相对模式,在当前位置的基础上增加POS对应的值(轴当前位置已知的情况下),单位: unit | 0 |
| DONE | BOOL | OUT | 完成标志 | TRUE:轴位置设置完成 | FALSE |
| BUSY | BOOL | OUT | 忙标志 | TRUE:轴位置设置中 | FALSE |
| ERROR | BOOL | OUT | 出错标志 | TRUE:功能块调用出错 | FALSE |
| ERRORID | UINT | OUT | 错误码 | 0:正常;其它:错误码值 | 0 |
示例:
LD:
ST:
解释:
AXISNO为0,表示操作脉冲轴0; EXECUTE由FALSE->TRUE,启动轴位置设置指令; POS为0,表示目标位置为0unit; MODE为0,表示绝对模式,将POS的值写入当前位置,如果为1,表示相对模式,在轴当前位置的基础上增加POS对应的值; DoneOut为TRUE,表示轴位置设置指令执行完成; BusyOut为TRUE,表示轴位置设置中,完成后BusyOut复位; ErrorOut如果为TURE,表示存在错误,指令无法执行; ErrorIdOut为0,表示执行正常,非0,表示存在错误,无法执行。