名称:相对位移指令

符号:MC_MoveRelative

说明:

        用于实现轴的相对位移功能，上升沿有效。
        只有使用MC_Power指令使能轴后，才能调用本指令。
        在EXECUTE的上升沿，输入DISTANCE、VEL、ACC、JERK值被锁定，轴的PLCOpen状态机切换至DiscreteMotion，开始相对位移运动。
        如果DISTANC大于0，轴将正向运动，如果DISTANCE小于0，轴将反向运动，移动给定的距离。
        本指令可被打断而终止执行：可以让轴处于ContinuousMotion、DiscreteMotion、Stopping状态的指令，均可打断本指令（参考轴的PLCOpen状态机），被打断后，CMDABORTED有效，剩余的未完成距离将被丢弃。
        轴运行碰到软件限位时，指令将被中断（CMDABORTED有效），轴停止运动但不会进入Errorstop状态，可修改为远离软件限位的目标位置，重新触发。

图片:

参数:

参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 | 默认值
--- | --- | --- | --- | --- | ---
AXISNO | UDINT | IN | 脉冲轴号 | 0-7 |
    无
EXECUTE | BOOL | IN | 功能块触发 | 上升沿触发指令执行 |
    FALSE
DISTANCE | REAL | IN | 相对距离 | 以当前位置为参考，移动的目标距离(非0，正数-正方向运动；负数-反方向运动；绝对值为移动距离)，单位: unit |
    无
VEL | REAL | IN | 目标速度 | 目标速度(非0值, 绝对值有效)，≤最大速度，单位: unit/s |
    无
ACC | REAL | IN | 加速度 | 加速度(非0值，绝对值有效)，≤最大加速度，单位：unit/s |
    无
JERK | REAL | IN | 加加速度 | 加加速度(绝对值有效)，≤加速度(0-T型加减速，非0-S型加减速)，单位：unit/s^2 |
    无
DIR | USINT | IN | 方向 | 旋转运动预留，线性运动无效 |
    无
DONE | BOOL | OUT | 完成标志 | TRUE：执行完成，目标位置到达 |
    FALSE
BUSY | BOOL | OUT | 忙标志 | TRUE：处于运动中 |
    FALSE
CMDABORTED | BOOL | OUT | 终止执行标志 | TRUE：被其它指令中断，本指令终止执行 |
    FALSE
ERROR | BOOL | OUT | 出错标志 | TRUE：功能块调用出错 |
    FALSE
ERRORID | UINT | OUT | 错误码 | 0：正常；其它：错误码值 |
    0

示例:

LD:

ST:

MC_MoveRelative_inst1(AXISNO := 0, EXECUTE := TRUE, DISTANCE := 125, VEL := 20, ACC := 100, JERK := 0, DIR := 0, DONE => DoneOut, BUSY => BusyOut, CMDABORTED => CmdAbortOut, ERROR => ErrorOut, ERRORID => ErrorIdOut);

解释:

       AXISNO为0，表示操作脉冲轴0；
       EXECUTE由FALSE->TRUE，上升沿触发该指令执行；
       DISTANCE为125，表示以当前位置为参考，正向移动125unit的距离；
       VEL为20，表示目标速度为20unit/s；
       ACC为100，表示以100unit/s的加速度加减速，直至达到目标速度20unit/s；
       JERK为0，将执行T型加减速运动，非0，将执行S型加减速运动；
       DIR为0，旋转运动预留，对于线性运动无效；
       DoneOut为TRUE，表示相对位移执行完成；
       BusyOut为TRUE，表示正在执行相对位移，完成后BusyOut复位；
       CmdAbortOut为TRUE，表示已被中断而终止执行；
       ErrorOut如果为TURE，表示存在错误，指令无法执行；
       ErrorIdOut为0，表示执行正常，非0，表示存在错误，无法执行。