名称:速度指令
符号: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:
解释:
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,表示存在错误,无法执行。