MC_GroupStop
功能塊 | MC_GroupStop | ||
---|---|---|---|
命令控制的運動停止並將軸組狀態轉換為 GroupStopping,其中斷所有正在執行中的功能塊,當軸組處於 GroupStopping 狀態時,沒有其他功能塊可以在同一個軸組上執行任何運動,當軸組到達速度零時,Done 輸出將立即設為 TRUE。只要 Execute 為 TRUE 或未達到速度零,軸組將維持在 GroupStopping 狀態,而一旦 Done 為 TRUE 且 Execute 為 FALSE,軸組就會進入GroupStandBy 狀態。此命令僅可由 MC_GroupDisable 中止。 | |||
VAR_IN_OUT | |||
B | GroupIn | AXES_GROUP_REF | 軸組的參考,參考以零為起點,最多可有 32 個軸組。 |
VAR_INPUT | |||
B | Execute | BOOL | 在上升邊緣開始動作。 |
E | Deceleration | LREAL | 減速度值,單位由 MC_ProfileType 決定,為 [單位/每秒2] 或 [每秒]。 |
E | Jerk | LREAL | 加加速度值。單位由 MC_ProfileType 決定,為 [單位/每秒3] 或 [每秒]。 |
VAR_OUTPUT | |||
B | Done | BOOL | 所有軸停止。 |
E | Busy | BOOL | 功能塊未結束。 |
E | CommandAborted | BOOL | 命令使用 MC_Power 停止以停用軸組中的一個或多個軸,狀態變更為 GroupDisabled。 |
B | Error | BOOL | 功能塊中出現錯誤的訊號。 |
E | ErrorID | MC_Error | 錯誤識別。 |
|
MC_GroupStop | ||||||
---|---|---|---|---|---|---|
AXES_GROUP_REF | GroupIn | Group | AXES_GROUP_REF | |||
BOOL | Execute | Done | BOOL | |||
LREAL | Deceleration | Busy | BOOL | |||
LREAL | Jerk | CommandAborted | BOOL | |||
Error | BOOL | |||||
ErrorID | MC_Error | |||||
MC_GroupStop 的典型時序圖可見以下,包含相關的狀態及狀態轉換。
以下範例說明使用 MC_MoveLinearRelative 組合的行為。
a) 線性運動中的軸組使用 MC_GroupStop 下降,軸組停在原路徑。
b) 只要 MC_GroupStop 參數 “Execute” = TRUE,軸組即拒絕運動命令,FB MC_MoveLinearRelative 回報錯誤,表示 MC_GroupStop 命令忙碌。此錯誤屬 FB 錯誤,因此軸組不會移動到 GroupErrorStop 狀態。
在第三 “Exe1” 上升邊緣軸組將開始下一個運動。
以下範例說明 MC_GroupStop 與兩個 MC_MoveLinearAbsolute 的組合之行為,其以定義的連續路徑速度融合:
t0) MyAxesGroup 軸組上的兩個 FB MC_MoveLinearAbsolute 被下達命令,第一個 FB 立即變為啟動狀態,MyAxesGroup 開始從實際位置 (20.0; 20.0) 向第一個目標位置移動。
t1) 工具中心點開始在混合輪廓(Lin1 混合到 Lin2)上移動後不久,於 mcAborting 緩沖模式下發送一個 FB MC_GroupStop,軸組狀態從 GroupMoving 變更為 GroupStopping;MyAxesGroup 減速直到速度為零,而軸組的終點保持在輪廓上。
注意:雖然 MyAxesGroup 的路徑速度在停止時不斷減低,但由於 MyAxesGroup 的給定路徑和運動學轉換,軸組中的單軸在減速開始到軸組停止過程間可能會加速。
t2) MyAxesGroup 來到 Standstill 狀態,FB MC_GroupStop 的 Done 輸出已設定,因 FB MC_GroupStop 的 Execute 輸入仍設定著,軸組將停留在 GroupStopping 狀態。
t3)FB MC_GroupStop 的 Execute 輸入已重置,FB MC_GroupStop 的所有輸出已重置,軸組狀態變更為 GroupStandby。
MyAxesGroup 之路徑
MC_GroupStop 與兩個 MC_MoveLinearAbsolute 的組合範例