User guide

運動控制功能原理介紹 197
PCI-8254 / PCI-8258
4.11.2.3 看門狗 (Watch Dog)
看門狗的保護機制,是控制器內部有實作一個計時器,當計時器逾
時,會啟動事先設定好的回應動作,回應動作包括伺服電機的解除
激磁 (Servo off),關閉數位輸出以及關閉 PWM 輸出等。當使用者
啟動看門狗機制後,使用者的程式必須處在可回應的狀態,在計時
器尚未逾時前,不間斷的重置看門狗,讓計時器重新開始計時。只
要使用者程式一直保持在可回應狀態,那麼就不會觸發相對應的事
件。換句話說,看門狗的功能是監控上位的控制程式是否進入停滯
( 當機 ) 的狀態當停滯狀態發生時控制器可以觸發保護機制來關
閉訊號輸出。
Windows 下使用中斷的方式如下列三大步驟:
1. 設定計時器逾時的觸發事件
2. 啟動看門狗保護機制
3. 在週期時間內重置計時器
其相關的 APS APIs 如下列:
APS_wdt_set_action_event();
APS_wdt_get_action_event();
APS_wdt_start();
APS_wdt_get_timeout_period();
APS_wdt_reset_counter();
詳細的使用方式描述如下:
1. 設定計時器逾時的觸發事件:
使用 APS_wdt_set_action_event() 函式來設定觸發事件。
使用 APS_wdt_get_action_event() 函式來獲得觸發事件。
2. 啟動看門狗保護機制:
使用者使用 APS_wdt_start() 設定一個逾時的時間,同時啟
動看門狗,此時內部計時器就會開始運作。若是逾時的時間
設定為 0,則代表看門狗不啟動。
使用 APS_wdt_get_timeout_period() 可以讀取設定的逾時
時間。
preliminary