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)。