LabVIEWCompactRIO 開發(fā)指南10 LabVIEWFPGA看門狗和故障保護(hù)
LabVIEWCompactRIO?開發(fā)指南10
接下來需要配置過期操作。具體來說,必須確定希望系統(tǒng)如何響應(yīng)看門狗超時(shí)。可以選擇重置目標(biāo)或觸發(fā)事件,如果看門狗循環(huán)變得無響應(yīng),則可以使用該選項(xiàng)執(zhí)行另一段代碼。更多信息可以在LabVIEW實(shí)時(shí)幫助文件中找到,標(biāo)題為Watchdog?Configure?VI。

圖3.34?使用看門狗配置配置超時(shí)值和過期動(dòng)作
如果系統(tǒng)中的某些因素導(dǎo)致看門狗循環(huán)變得無響應(yīng)(低內(nèi)存、低CPU帶寬等),則看門狗計(jì)時(shí)器不會(huì)重置,可以根據(jù)在初始化期間定義的過期操作恢復(fù)系統(tǒng)。重要的是要注意看門狗定時(shí)器不開始,直到看門Pet.vi或Watchdog?Start.vi已執(zhí)行。

圖3.35?使用Watchdog?Configure.vi配置超時(shí)值和過期動(dòng)作
LabVIEWFPGA看門狗和故障保護(hù)
如果嵌入式應(yīng)用程序使用LabVIEW?FPGA進(jìn)行任何硬件輸出,則應(yīng)該考慮在FPGA結(jié)構(gòu)上實(shí)現(xiàn)看門狗定時(shí)器。這增加了系統(tǒng)的可靠性,并可在軟件出現(xiàn)故障時(shí)將所有硬件輸出置于安全狀態(tài)。當(dāng)發(fā)生緊急狀況時(shí),有必要實(shí)施故障安全裝置,以確保機(jī)器在控制硬件或軟件發(fā)生故障時(shí)也能安全運(yùn)行。
圖3.36展示了如何在LabVIEW?FPGA中實(shí)現(xiàn)邏輯,以確定系統(tǒng)何時(shí)應(yīng)該進(jìn)入安全狀態(tài)。注意,正在監(jiān)視的條件之一是看門狗是否安全。

圖3.36?在LabVIEW?FPGA實(shí)現(xiàn)安全狀態(tài)時(shí)定義故障條件
可以使用以下兩個(gè)參考設(shè)計(jì)來幫助您實(shí)現(xiàn)基于LabVIEW?FPGA的看門狗定時(shí)器和安全狀態(tài):
《TheFail-Safe?Control?Reference?Design?for?CompactRIO?white?paper》這個(gè)參考設(shè)計(jì)由NI系統(tǒng)工程編寫,提供了一個(gè)框架,演示了FPGA的安全狀態(tài)和FPGA監(jiān)控實(shí)時(shí)控制器的看門狗。
《TheLabVIEW?FPGA?Control?Sample?Project》-?LabVIEW中包含的示例項(xiàng)目基于上面鏈接的故障安全控制參考設(shè)計(jì)。
軟件看門狗
除了實(shí)現(xiàn)基于硬件的監(jiān)督之外,還可以實(shí)現(xiàn)基于軟件的監(jiān)督。故障安全控制參考設(shè)計(jì)除了基于LabVIEW?FPGA的看門狗外,還具有多個(gè)軟件循環(huán)簽入與軟件看門狗循環(huán)。如果這些循環(huán)中的任何一個(gè)變得無響應(yīng),軟件看門狗可以采取行動(dòng)來修復(fù)它或重新啟動(dòng)系統(tǒng)。這個(gè)軟件看門狗循環(huán)然后與硬件看門狗一起檢查,以防它或整個(gè)系統(tǒng)發(fā)生什么事情。

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