SIMOTION系統對軸工藝對象定義了幾種狀態,通過相應的命令可以使軸在不同狀態之間進行切換,也可以通過軸的系統變量查看其當前狀態,這樣可以更方便地對軸進行控制和監視。 SIMOTION中軸的狀態有: 1.Axis inactive / can be activated 軸未使能,可以被使能 2.Axis active 軸已使能 3.Motion 軸在運動中 4.Fault 軸出現故障 5.StopEmergency 軸緊急停止 中的各狀態之間的關系如下圖所示。 圖01. SIMOTION軸的狀態模型 SIMOTION中軸的當前狀態可以通過以下系統變量進行查看,以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 軸的各狀態詳細解釋如下: 1.Axis in inactive / can be activated 該狀態下,軸未使能,所以運動命令不會被執行,驅動器沒有輸出,電機可以自由轉動,軸的設定位置和實際位置都會隨電機的轉動而變化。 另外,軸的命令緩沖區被清空,系統變量可以恢復為配置數據或起始數據。此時,使用_enableAxis()或_enableQFAxis()命令可以使能軸,軸的狀態也會變成使能狀態(2.Axis Active)。其中_enableAxis()用于使能電氣軸,_enableQFAxis()用于使能液壓軸。 2.Axis active 該狀態下,軸已使能,軸的各種運動命令可以執行。在運動命令執行過程中,軸的狀態會變成運動中(3.Motion);在運動命令執行完成后,會返回到使能狀態。 3.Motion 該狀態下,軸的運動命令處于執行中。運行中的運動命令可以使用_stop()命令停止,在其停止模式stopMode設為STOP_WITHOUT_ABORT時,可以使用_resume()命令繼續之前的運動;在其停止模式StopMode設為STOP_AND_ABORT時,命令完全中止,軸會返回到使能狀態(2.Axis Active)。 4.Fault 在軸命令執行過程中,如果發生錯誤,比如限位到達、跟隨誤差太大等,會觸發相應的工藝報警,軸會按工藝報警默認的方式作出響應,并進入錯誤狀態。在使用SIMOTION SCOUT軟件在線連接設備時,可以在報警窗口中查看工藝報警的信息。工藝報警的響應方式可以在報警配置中修改,具體方法可以參考下載中心文檔《SIMOTION 工藝對象 Alarm 配置》,文檔編號:F0693。 如果錯誤已排除,那么可以在SIMOTION SCOUT軟件的報警窗口中直接點擊“Acknowledge”按鈕確認;另外,也可以在程序中調用_resetAxis()或_resetAxisError()命令來確認。 工藝對象的報警信息也可以在hmi設備上顯示和確認,具體方法可以參考下載中心文檔《如何在HMI上顯示Simotion 工藝對象的報警信息》,文檔編號:F0460。 5.StopEmergency 在SIMOTION中為軸提供了一種StopEmergency的狀態,該狀態下軸仍處于使能狀態,但不允許執行運動命令,軸是靜止的。由于軸仍處于使能狀態,它會克服由負載造成的電機軸的意外轉動,從而能起到一定保護作用。 通過調用_stopEmergency()命令,可以使軸進入StopEmergency狀態。該狀態下,插補器中激活的命令被中止。 該狀態可以通過調用_disableAxis()、_disableQFAxis()或_resetAxis()命令來取消。其中_disableAxis()用于電氣軸去使能,_disableQFAxis()用于液壓軸去使能。 |