如何透過 DAQmx 使用實作計時器

綜覽

NI-DAQmx API 隨附監控計時器 (Watchdog Timer),適用於 NI cDAQ-9188XT、NI X 系列 DAQ 卡,以及許多工業級數位 I/O (DIO) 卡。 深入了解什麼是監控計時器、運作原理、其中的函式功能,以及實作至個人應用的方式。

內容

計時器什麼?其中運作原理什麼?


關鍵系統通常需要某種備援 (Redundancy) 或故障安全 (Fail-Safe) 機制。 如果某個系統元件無預警故障時,故障安全機制就可以控制系統,並且把系統調整為已知的安全狀態。 監控計時器則可提供這種機制。 監控計時器能夠監視並判斷系統是否正常運作。 如果系統無法如預期般運作,就可以調整為安全狀態。 工程師可以設定裝置的監控計時器,這樣一來即可在發生意外事件的時候,比如說乙太網路線中斷,或是在可設定的逾期時間 (Time-Out Period) 未收到確認時,進一步控制輸出通道,並且把系統調整為已知的安全狀態。

 

監控計時器會讓裝置持續接收電腦仍維持正常運作或裝置仍保有網路連線的確認訊息。 如果在可設定的逾期時間尚未收到確認,安全狀態就會寫入已設定的輸出通道。 一旦監控計時器完成設定並且啟動之後,軟體應用程式就必須持續重新設定計時器,以免逾期。 重新設定後就會提供裝置確認訊息,表示電腦正常運作。 下圖 1 顯示了正常運作期間,軟體與硬體階層之間的資訊流。

 

圖 1. 監控計時器流程圖顯示出個別的硬體與軟體階層。

 

 

如果發生故障,硬體就會繼續倒數,直到計時器逾期為止。 這時,預先定義安全狀態會寫入已設定的輸出通道。 如果要讓裝置恢復回應硬體指令的能力,必須清除監控計時器的逾期狀態。 下圖 2 顯示了軟體與硬體階層回應電腦當機的流程圖。 如圖所示,硬體會繼續倒數,直到逾期時間結束為止。 一旦逾期時間結束,預先定義的安全狀態就會寫入輸出通道,並且忽略之後寫入裝置的所有內容。

 

圖 2. 監控計時器逾期的流程圖。

 

 

為什麼需要使用計時器?

 

發生系統錯誤或故障的時候,監控計時器可以把裝置的輸出通道設為安全狀態。 如果系統無法如預期般運作時,監控計時器所提供的故障安全機制可保護連接至裝置的硬體。 比如說鋸木場的監控作業好了。 在這種情況下,可選用 cDAQ-9188XT 來監控鋸木場中所有不同的元素,比如說鋸刀速度、鉅刀的位置與振動狀況、乾燥窯的溫度。 NI CompactDAQ 硬體可以持續傳送通知給控制器,進而控制所有的機械,並且讓控制器知道 NI CompactDAQ 硬體仍保持網路連線,能夠監控不同的數值。 如果 cDAQ-9188XT 的網路連線中斷,使用者無法監控不同的數值,就會傳送數位訊號至控制器,以便關閉所有的機械並保障安全。 如果在此情況下沒有監控計時器這種安全機制的話,機械可能會損壞,需要維修或替換。 很多應用案例的故障安全機制都採用監控計時器,可透過預先定義的安全狀態中斷系統的生產作業,同時避免系統損壞。

 

Watchdog Timer API 有哪些不同特色?

 

Watchdog API 隨附於 NI-DAQmx 裝置的驅動程式中,使用者可藉此設定裝置輸出通道的監控計時器。 可設定的 Watchdog 選項會因為可支援監控計時器的裝置而有所不同。 監控計時器的設定選項則會因為裝置而有所差異。 圖 3 為 NI LabVIEW 系統設計軟體內的 Watchdog API 截圖。 該面板內的 VI 包含了:

  • DAQmx Create Watchdog Timer Task VI
  • DAQmx Configure Watchdog Expiration States VI
  • DAQmx Control Watchdog Task VI
  • DAQmx Watchdog 屬性節點

使用者可透過這些函式建立/設定/控制個人應用程式中的監控計時器。

 

圖 3. Watchdog API 裡面的 VI 可用來建立/設定/控制監控計時器。

 

使用者可針對 X 系列裝置與多種工業級 DIO 裝置的數位輸出通道來設定監控計時器。 就 cDAQ-9188XT 而言,使用者可設定數位輸出通道、類比與計數器輸出通道的監控計時器。 不只是 cDAQ-9188XT 的輸出類型越來越多,DAQmx Watchdog 屬性節點還可用來觸發機箱在網路連線中斷時的逾期時間。 有了此功能,如果系統意外故障,或者 cDAQ-9188XT 與主機之間的網路連線中斷時,就可以讓計時器逾時。 表 1 列出了 Watchdog API 的功能與可使用此功能的裝置。

 

 可支援監控計時器的裝置
功能X 系列卡工業級 DIO 產品cDAQ-9188XT
數位輸出安全狀態低/高/三態/無變更低/高/三態/無變更低/高/三態/無變更
類比輸出 (電流) 安全狀態電流階層/無變更
類比輸出 (電壓) 安全狀態電壓階層/無變更
計數器輸出安全狀態低/高/無變更
觸發器逾期網路連線屬性開啟/關閉


 

表 1. 查看可支援監控計時器的裝置功能

 

如何在 NI-DAQmx 中實作計時器?

 

監控計時器的實作方式就像建立 NI-DAQmx 作業一樣。 首先,必須使用 DAQmx Create Watchdog Timer Task VI 來建立監控計時器作業。 有了此 VI,即可設定裝置的參考內容,以及計時器的逾期時間長短。

 

建立此作業之後,就可以使用 DAQmx Configure Watchdog Expiration States VI 加以設定。 有了這種多形態的 VI,即可針對透過監控計時器而監控的輸出通道,設定其逾期狀態。 至於數位輸出通道,可選擇在計時器逾期時,把通道設為高寫入或低寫入,或者甚至輸入三態 (Tristate) 狀態。 透過 cDAQ-9188XT 的監控計時器作業,即可進一步設定類比與計數器輸出通道。 至於類比輸出通道,可以選擇這屬於電流還是電壓作業,接著設定計時器逾時的時候通道寫入的數值。 至於計數器輸出通道,可選擇計時器逾時的時候,把通道設為高寫入或低寫入,也可選擇保持不變。 另一個設定監控計時器作業的工具就是 DAQmx Watchdog 屬性節點。 這樣一來即可設定所有的逾時裝置、設定逾時數值,並且開啟/關閉 cDAQ-9188XT 的相關選項,而使用者可透過 cDAQ-9188XT 觸發網路連線中斷時的計時器逾時設定。

 

完成設定之後,必須使用 DAQmx Start VI 才能啟動此作業。 一旦監控計時器作業開始之後,就會持續尋找電腦維持正常運作的確認訊息。 如要確認電腦正常運作,就會使用 DAQmx 呼叫,也就是 DAQmx Control Watchdog Task VI,在已設定的逾期數值之前重新設定計時器。 圖 4 為監控計時器作業用於 cDAQ-9188XT 的範例。 在此範例中,已針對 cDAQ-9188XT 而設定了監控計時器作業,此外還設定了一個類比輸出通道,以便在計時器輸入逾期狀態,或是機箱的網路連線中斷時,該通道即可輸入安全狀態。

 

 

圖 4. 監控計時器作業已在 cDAQ-9188XT 設定了類比通道。

 

如果計時器停止,而且通道已輸入安全狀態,接著就必須清除裝置的逾期裝態,才能再度回應硬體指令。 如圖 5 所示,可透過 DAQmx Control Watchdog Task VI 清除逾期狀態,也可以重新設定硬體裝置。

 

clear expiration.png

圖 5. 透過 DAQmx Control Watchdog Task VI 清除逾期狀態。

 

如果系統元件意外故障時,監控計時器即可提供故障安全或備援機制。 有了監控計時器,就可以在發生系統錯誤或故障的時候,把裝置的輸出通道設為安全狀態。 使用 X 系列多功能 DAQ 卡或工業級 DIO 產品時,可針對數位輸出通道來設定監控計時器。 至於 cDAQ-9188XT,監控計時器可設定至數位、類比 (電壓或電流) 或計數器輸出通道,同時監控網路連線,並且在連線中斷時啟動安全狀態。

Was this information helpful?

Yes

No