MC_MoveVelocity
功能块 | MC_MoveVelocity | ||
---|---|---|---|
下达一个永远照特定速度移动之运动指令。 | |||
VAR_IN_OUT | |||
B | AxisIn | AXIS_REF | 轴的参考。 |
VAR_INPUT | |||
B | Execute | BOOL | 在上升边缘开始运动。 |
E | ContinuousUpdate | BOOL | 若为 TRUE,则当功能块 (FB) 正在执行且参数值正被更新时,FB 将使用新值;若为 FALSE,则 FB 不会使用新值。 |
B | Velocity | LREAL | 指定速度的值,[单位/每秒]。 |
E | Acceleration | LREAL | 加速度值,单位由 MC_ProfileType 决定(马达的增加能量) [单位/每秒2] 或 [每秒]。 |
E | Deceleration | LREAL | 减速度值,单位由 MC_ProfileType 决定(马达的减少能量) [单位/每秒2] 或 [每秒]。 |
E | Jerk | LREAL | 加加速度值。单位由 MC_ProfileType 决定为 [单位/每秒3] 或 [每秒]。 |
E | Direction | MC_Direction | 轴的移动方向,无法使用 mcShortestWay 。 |
E | BufferMode | MC_BufferMode | 定义如何融合两功能块的速度。 |
VAR_OUTPUT | |||
B | InVelocity | BOOL | 已达到命令之速度。 |
E | Busy | BOOL | 功能块尚未完成且预期将有新的输出值。 |
E | Active | BOOL | 功能块正在控制轴。 |
E | CommandAborted | BOOL | 命令被另一个命令中止。 |
B | Error | BOOL | 功能块中出现错误的讯号。 |
E | ErrorID | MC_Error | 错误识别。 |
MC_MoveVelocity | ||||||
---|---|---|---|---|---|---|
AXIS_REF | AxisIn | Axis | AXIS_REF | |||
BOOL | Execute | InVelocity | BOOL | |||
BOOL | ContinuousUpdate | Busy | BOOL | |||
LREAL | Distance | Active | BOOL | |||
LREAL | Velocity | CommandAborted | BOOL | |||
LREAL | Acceleration | Error | BOOL | |||
LREAL | Deceleration | ErrorID | MC_Error | |||
MC_Direction | Direction | |||||
MC_BufferMode | BufferMode | |||||
下图两个范例为两个 MC_MoveVelocity 功能块组合:
-
时序图的左侧部分说明了在 First 功能块 (FB) 完成后呼叫 Second 功能块 (FB) 的情况,若 First 到达命令速度 3000,则输出 First.InVelocity 与信号 Next 会导致 Second FB 移动到速度 2000。下一个周期 First.InVelocity 为 FALSE 且 First.CommandAborted 为 TRUE,因此第二功能块的 Execute 为 FALSE,而一旦轴到达速度 2000,Second.InVelocity 即为 TRUE。
-
时序图的右侧部分说明了 Second 移动功能块 (FB) 在 First FB 尚未“InVelocity”时开始执行的情况,将显示以下顺序: GO 在输入“First.Execute”处再次启动 First 运动,当 First FB 仍在加速达到速度 3000 时,因 Test 讯号启动了 Second FB 的 Run,First FB 将被中断并中止,此时 Second FB 运行并将速度减至 2000。
注意:第二 FB 处于 "mcAborting" 模式(若在缓冲模式,速度将在开始下一个功能块时达到 3000)。