LabVIEW CompactRIO 開發(fā)指南10 確??煽啃耘c看門狗定時器
LabVIEWCompactRIO?開發(fā)指南10
確??煽啃耘c看門狗定時器
在設計將要部署的嵌入式系統(tǒng)時,考慮納入看門狗定時器以確??煽啃???撮T狗定時器是一個硬件計數(shù)器,它與嵌入式軟件應用程序接口,用于檢測和從軟件故障中恢復。軟件故障的一個例子是應用程序內(nèi)存不足,導致應用程序掛起或崩潰。即使您遵循了前一節(jié)中列出的管理內(nèi)存的最佳實踐,有一個備份計劃總是很重要的。
所有CompactRIO和NI單板RIO控制器包括一個硬件定時器,可以從LabVIEW實時模塊訪問。在正常操作期間,軟件應用程序啟動硬件計時器,以已知增量從特定數(shù)字開始倒計時,并定義計時器達到零時要采取的操作。應用程序啟動看門狗定時器后,定時復位定時器,保證定時器不歸零,如圖3.31所示。

圖3.31?當應用程序按時響應時,應用程序會周期性地重置看門狗定時器
如果一個軟件故障阻止了應用程序重新設置定時器,超時最終會過期,因為硬件計數(shù)器是獨立于軟件的,因此會繼續(xù)倒數(shù)直到達到零??撮T狗定時器超時后,硬件觸發(fā)恢復過程,如圖3.32所示。

圖3.32?當看門狗定時器到期時,硬件定時器觸發(fā)恢復過程
在準備部署嵌入式系統(tǒng)時,可以從兩個選項中選擇在LabVIEW中實現(xiàn)基于硬件的看門狗定時器。可以使用LabVIEW實時模塊訪問所有Compact?RIO和NI單板RIO控制器中可用的內(nèi)置看門狗硬件,或者可以使用LabVIEW?FPGA模塊實現(xiàn)自己的看門狗定時器。如果正在從LabVIEW?FPGA?VI寫入任何硬件輸出,那么在LabVIEW?FPGA中實現(xiàn)看門狗定時器可能是有益的。如果出現(xiàn)問題,可以立即可靠地將所有硬件輸出置于安全狀態(tài)。每個選項將在下面的小節(jié)中更詳細地描述。
實時看門狗
LabVIEW實時看門狗使用內(nèi)置在實時控制器中的硬件計數(shù)器,該計數(shù)器與嵌入式軟件應用程序接口。RT?Watchdog?API可以在Real-Time函數(shù)選板中找到,如圖3.33所示。

圖3.33?RT?Watchdog?API與CompactRIO和NI單板RIO控制器內(nèi)置的硬件計數(shù)器接口
使用RT?Watchdog?API編程時,首先需要配置看門狗并設置超時值。超時值的適當范圍取決于嵌入式應用程序的特定性能特征和正常運行時間要求。必須將超時時間設置得足夠長,以便它不會由于可接受的系統(tǒng)抖動級別而過期。但是,也必須將超時設置得足夠短,以便系統(tǒng)能夠足夠快地從故障中恢復,以滿足系統(tǒng)正常運行時間要求。

圖3.34設置看門狗超時時間為10秒
需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關LabVIEW編程、LabVIEW開發(fā)等相關項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。