这个功能块位于函数库 ⇘ SM3_Basic.library。用于对驱动器进行一个非停止的恒定速度的控制。
类型 |
初始值 |
描述 |
|
---|---|---|---|
VAR_IN_OUT |
|||
Axis |
AXIS_REF |
|
映射到轴,参阅 ⇘ AXIS_REF_SM3 |
VAR_INPUT |
|||
Execute |
BOOL |
FALSE |
此输入的上升沿将启动功能块的处理 |
Velocity |
LREAL |
0 |
不同于持续运动的最大速度值 (不是必须到达的) [u/s] |
Acceleration |
LREAL |
0 |
加速度的值 (通常为正值) (增加运动控制器能量) [u/s2] |
Deceleration |
LREAL |
0 |
加速度的值 (通常为正值) (减少运动控制器能量) [u/s2] |
Direction |
MC_Direction |
current |
枚举类型,参阅 ⇘ MC_Direction;可能的值:possible values: positive, negative, current, not applicable!: shortest, fastest |
VAR_OUTPUT |
|||
InVelocity |
BOOL |
FALSE |
TRUE,如果命令速度值第一次达到 |
Busy |
BOOL |
FALSE |
TRUE,如果功能块的处理没有完成 |
CommandAborted |
BOOL |
FALSE |
TRUE,如果命令被另一个命令中断 |
Error |
BOOL |
FALSE |
功能块内部发生错误信号 |
ErrorID |
SMC_ERROR |
0 |
错误ID,参阅 ⇘ SMC_Error |
要停止驱动器,此功能块必须被另一个功能块通过命令进行中断。 信号 “InVelocity” 必须被复位,如果块被另一个块中断或者接收到 “Execute”的下降沿。 与功能块 MC_MoveSuperimposed结合,输出 “InVelocity” 在第一次到达命令指定的速度之后将会一直保持为 TRUE 的状态。 |
示例:
以下表格中显示了两个连接的功能块 MC_MoveVelocity实例,名为 "First " 和 "Second":
时序图的左边描述了实例 "Second" 在实例 "First"之后进行调用的情况。当第一个实例到达命令速度值 3000,输出 First.InVelocity 以及信号 Next 将会导致实例 "Second" 移动到位置 2000。
时序图的左边描述了实例 "Second" 启动是在第一个实例 "First "的输出没有被置为 TRUE 的情况下进行执行的。尽快第一个功能块仍在加速到达速度值 3000,那么他也将会被信号Test中断并启动第二个功能块的处理。现在,第二个功能块的作用是将速度值减为 2000。