二次平台框架下,四個狀態(DISABLE, ENABLE, FAULT, Q-STOP)切換原則是個鐵律
身為開發者的你,必須依附這個鐵律下進行開發
筆者建議您在開發前先明確的了解狀態機流程,並於開發中適時的採用正確的狀態來進行流程控制
既稱作鐵律換言之,不管用戶的任何操作與控制,伺服的狀態都必須遵守這些原則來變化
見下圖所示,筆者區分為狀態與路線兩者來各別說明 :
- 狀態
Disable : 該狀態下伺服處於未使能(Servo OFF),並且觀察StateDisable(SM1.8)接點時為導通。伺服上電或透過軟體執行啟動 時狀態機必先進入Disable。
Enable : 該狀態下伺服處於使能(Servo ON),並且觀察StateEnable(SM1.6)接點時為導通。Enable狀態下伺服控制模式ModePt(SM1.0)、ModePr(SM1.1)、ModeSpeed(SM1.2)、ModeTorque(SM1.3)、ModeUser(SM1.4)將根據你的設定導通其中一種。
唯有在Enable狀態下伺服馬達才能作動,所以往往心中只要浮現「疑! 為什麼下了命令後馬達卻沒動?」 時,建議您可以先檢查狀態是否為Enable。
Fault : 該狀態下伺服處於未使能(Servo OFF),並且觀察StateFault(SM1.9)接點時為導通,當伺服發生ALM時必進入該狀態。
Quick-Stop : 該狀態下伺服處於使能(Servo ON),並且觀察StateQ_Stop(SM1.7)接點時為導通,當伺服發生WRN時必進入該狀態。
- 路線
T1. Servo ON : Disable狀態下導通 Enable (MV0.0) 則狀態機必進入 Enable,此時伺服將處於始能(Servo ON)。
T2. Servo OFF : Enable狀態下不導通 Enable (MV0.0) 則狀態機必進入 Disable,此時伺服將處於未始能(Servo OFF)。
T3. Protection : Enable狀態下 導通 EMS(MV3.15)、PL(MV3.0)、NL(MV3.1)或伺服發生 OVF(MV10.6)、WRN(MV11.3)、SPL(MV11.4)、SNL(MV11.5) 時則狀態機必進入Q-Stop,此時伺服保持於始能(Servo ON)。
T4. Fault-Reset : Q-Stop狀態下觸發 Fault-Rst (MV0.7)接點則狀態機必進入Enable,此時伺服依然保持於始能(Servo ON)。
T5. Fault occured : 不管前一狀態為何,僅要伺服發生ALM將立即切換至Fault狀態,此時伺服將處於未始能(Servo OFF)。
T6. Fault-Reset : Fault狀態下觸發 Fault-Rst (MV0.7)接點則狀態機必進入Disable,此時伺服依然保持於未始能(Servo OFF)。
T7. Servo OFF : Q-Stop狀態下不導通 Enable (MV0.0) 則狀態機必進入 Disable,此時伺服將處於未始能(Servo OFF)。
Fault-Rst (MV0.7)接點必須為 觸發 才能生效, 此處描述的觸發指的是須經過 OFF → ON → OFF 的過程。
開發小技巧分享
筆者常於開發時為了釐清整體流程或問題,通常都會透過階梯圖拉取相關接點來觀察狀態與模式,有這方面需求的你不訪試試吧