名称:速度指令

符号:MC_MoveVelocity

说明:

        用于实现轴的速度控制功能，上升沿有效。
        只有使用MC_Power指令使能轴后，才能调用本指令。
        在EXECUTE的上升沿，输入VEL、ACC、DIR值被锁定，轴的PLCOpen状态机切换至ContinuousMotion，开始速度控制运动。
        指令执行后，按照给定的加速度、方向加速至目标速度（达到后INVELOCITY有效），并保持匀速运行；此时即使EXECUTE变为FALSE，轴仍将继续运行，若需停止，则需要调用MC_Halt或MC_Stop。
        本指令可被打断而终止执行：可以让轴处于ContinuousMotion、DiscreteMotion、Stopping状态的指令，均可打断本指令（参考轴的PLCOpen状态机），被打断后，CMDABORTED有效。
        轴往一个方向运行碰到软件限位时，指令被中断而终止执行（CMDABORTED有效），轴停止运动但不会进入Errorstop状态。可重新触发MC_MoveVelocity指令将轴向相反方向运动。

图片:

参数:

参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 | 默认值
--- | --- | --- | --- | --- | ---
AXISNO | UDINT | IN | 脉冲轴号 | 0-7 |
    无
EXECUTE | BOOL | IN | 功能块触发 | 上升沿触发指令执行 |
    FALSE
VEL | REAL | IN | 目标速度 | 目标速度(非0值，绝对值有效)，≤最大速度，单位：unit/s |
    无
ACC | REAL | IN | 加速度 | 加速度(非0值，绝对值有效)，≤最大加速度，单位：unit/s |
    无
DIR | USINT | IN | 方向 | 0：正向运动；1：反向运动 |
    无
INVELOCITY | 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_MoveVelocity_inst1(AXISNO := 0, EXECUTE := TRUE, VEL := 20, ACC := 100, DIR := 0, INVELOCITY => InVelOut, BUSY => BusyOut, CMDABORTED => CmdAbortOut, ERROR => ErrorOut, ERRORID => ErrorIdOut);

解释:

       AXISNO为0，表示操作脉冲轴0；
       EXECUTE由FALSE->TRUE，上升沿触发该指令执行；
       VEL为20，表示目标速度为20unit/s；
       ACC为100，表示以100unit/s的加速度加减速，直至达到目标速度20unit/s；
       DIR为0，表示正向运动，DIR为1，表示反向运动；
       InVelOut为TRUE，表示已达到目标速度；
       BusyOut为TRUE，则表示速度指令正在执行中，直至该指令被中断而终止执行；
       CmdAbortOut为TRUE，表示已被中断而终止执行；
       ErrorOut如果为TURE，表示存在错误，指令无法执行；
       ErrorIdOut为0，表示执行正常，非0，表示存在错误，无法执行。