labview狀態圖statechart模組
labview狀態圖模組
嘗試以labview為開發平臺,設計檢測系統。
檢測系統框架:1.statechart、2.JKI狀態機、3.teststand
1.NI-LABVIEW-JKI狀態機。labview下的經典狀態機。其改進型JKI SMO,類似MQTT資料傳遞。
2.NI-statechart。狀態圖,類似流程圖,有很好的的易讀性,可跨領域協同設計,適用於中小型系統
3.NI-teststand。整合化平臺,專門面向開發測試,設計自動化檢測系統。
首先NI-LABVIEW-JKI狀態機,JKI基於字元創驅動,模版自帶初始化、資料管理、清除等功能,複用度高。改進型JKI SMO的資料傳遞更像物聯網系統,採集-傳輸-應用,傳輸使用非同步佇列,通過訂閱來獲取資料。但以上優點並不獨有,且頁面跳轉閱讀困難。狀態機框架屬於開放框架,並不針對檢測,因此在應用中可能造成下限較低。
然後嘗試了NI-statechart,最大特點是直觀的看到靜態的系統流程和資料流,以及在執行時的反應和狀態轉移,本質是並行多個狀態機。其易讀的表現形式,可以促進跨領域交流。通過編寫程式,可以將JKI中的優點移植到statechart中。在應用中,可以憑藉獨有的易讀性確保系統設計的正確。
NI TestStand是可立即執行的測試執行管理軟體,用於組織、控制和執行您的自動化原型設計、驗證或製造測試系統。NI TestStand是專為測試步驟序列的自動執行而設計。這些測試步驟可以是單個測試、測量、動作或命令(網摘)。此平臺專業性很高,適用領域極窄,無公開網路資料,開發維護投入大,不適合我司直接開發。
綜上,中小型檢測系統的軟體開發可以嘗試labview為開發平臺,NI-statechart為框架。硬體為WINPC+USB採集卡,labview為自適應多執行緒,因此並行多工設計可以避免序列任務(狀態機)跳轉瞬間導致的資料丟失。
在測試中我設計四條並行任務:①輸出激勵②輸入採集③採集量實時顯示④資料儲存。其中②④任務的使用一組佇列通訊,資料儲存使用NI-TDMS格式。下一步的改進會增加⑤對儲存資料的非同步處理⑥儲存資料的抽樣顯示,刪除③採集量實時顯示。