名称:设置当前位置指令

符号: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,表示存在错误,无法执行。