simotion系統(tǒng)對軸工藝對象定義了幾種狀態(tài),通過相應的命令可以使軸在不同狀態(tài)之間進行切換,也可以通過軸的系統(tǒng)變量查看其當前狀態(tài),這樣可以更方便地對軸進行控制和監(jiān)視。
simotion中軸的狀態(tài)有:
1.axis inactive / can be activated 軸未使能,可以被使能
2.axis active 軸已使能
3.motion 軸在運動中
4.fault 軸出現(xiàn)故障
5.stopemergency 軸緊急停止
simotion中的各狀態(tài)之間的關系如下圖所示。
圖01. simotion軸的狀態(tài)模型
simotion中軸的當前狀態(tài)可以通過以下系統(tǒng)變量進行查看,以axis_1為例。
1.axis inactive / can be activated _to.axis_1.control = inactive
2.axis active _to.axis_1.control = active
3.motion _to.axis_1.motionstatedata.motioncommand
= in_motion
4.fault _to.axis_1.error = 1 and
_to.axis_1.errorreaction <> none
5.stopemergency _to.axis_1.stopemergencycommand.state
= active
軸的各狀態(tài)詳細解釋如下:
1.axis in inactive / can be activated
該狀態(tài)下,軸未使能,所以運動命令不會被執(zhí)行,驅動器沒有輸出,電機可以自由轉動,軸的設定位置和實際位置都會隨電機的轉動而變化。
另外,軸的命令緩沖區(qū)被清空,系統(tǒng)變量可以恢復為配置數(shù)據(jù)或起始數(shù)據(jù)。此時,使用_enableaxis()或_enableqfaxis()命令可以使能軸,軸的狀態(tài)也會變成使能狀態(tài)(2.axis active)。其中_enableaxis()用于使能電氣軸,_enableqfaxis()用于使能液壓軸。
2.axis active
該狀態(tài)下,軸已使能,軸的各種運動命令可以執(zhí)行。在運動命令執(zhí)行過程中,軸的狀態(tài)會變成運動中(3.motion);在運動命令執(zhí)行完成后,會返回到使能狀態(tài)。
3.motion
該狀態(tài)下,軸的運動命令處于執(zhí)行中。運行中的運動命令可以使用_stop()命令停止,在其停止模式stopmode設為stop_without_abort時,可以使用_resume()命令繼續(xù)之前的運動;在其停止模式stopmode設為stop_and_abort時,命令完全中止,軸會返回到使能狀態(tài)(2.axis active)。
4.fault
在軸命令執(zhí)行過程中,如果發(fā)生錯誤,比如限位到達、跟隨誤差太大等,會觸發(fā)相應的工藝報警,軸會按工藝報警默認的方式作出響應,并進入錯誤狀態(tài)。在使用simotion scout軟件在線連接設備時,可以在報警窗口中查看工藝報警的信息。工藝報警的響應方式可以在報警配置中修改,具體方法可以參考下載中心文檔《simotion 工藝對象 alarm 配置》,文檔編號:f0693。
如果錯誤已排除,那么可以在simotion scout軟件的報警窗口中直接點擊“acknowledge”按鈕確認;另外,也可以在程序中調用_resetaxis()或_resetaxiserror()命令來確認。
工藝對象的報警信息也可以在hmi設備上顯示和確認,具體方法可以參考下載中心文檔《如何在hmi上顯示simotion 工藝對象的報警信息》,文檔編號:f0460。
5.stopemergency
在simotion中為軸提供了一種stopemergency的狀態(tài),該狀態(tài)下軸仍處于使能狀態(tài),但不允許執(zhí)行運動命令,軸是靜止的。由于軸仍處于使能狀態(tài),它會克服由負載造成的電機軸的意外轉動,從而能起到一定保護作用。
通過調用_stopemergency()命令,可以使軸進入stopemergency狀態(tài)。該狀態(tài)下,插補器中激活的命令被中止。
該狀態(tài)可以通過調用_disableaxis()、_disableqfaxis()或_resetaxis()命令來取消。其中_disableaxis()用于電氣軸去使能,_disableqfaxis()用于液壓軸去使能。