基于虛擬儀器的CANopen協議監控面板設計
數據發送模塊CANwrite.vi使用VISA Write節點予以實現,并將該發送模塊作為子VI調用。在labview平臺控制的串行通信過程中,數據格式是以字符串的格式組成的,字符串中的每個字符實際上對應大家熟悉的ASCII字符,即計算機能夠識別的數據代碼是ASCII代碼,所以在傳送到串口發送數據之前要經過代碼轉換,這就意味著以十進制、二進制、十六進制表示的數據必須轉化為ASCII字符串才能進行傳送和接收。數據發送模塊如圖5所示,其中,以0xAA作為握手信號
數據接收模塊CANRead.vi使用VISA Read節點讀取數據,如圖6所示,從緩沖器接收到的數據是ASCII字符串,經過ASCII字符串轉換為十六進制字節數組的模塊處理后,最終得到正確的數據。
4.3 監控面板
使用虛擬儀器labview開發的監控面板如圖7所示。可以看到,左側為數據發送部分,首先設置NodeID,選擇主從節點類型,根據用戶需要選擇待發送的報文類型,并設置幀類型(數據幀/遠程幀)以及具體的發送數據。右側為數據接收部分,顯示從CAN總線上監聽到的CANopen報文。
5 結語
本文將虛擬儀器技術與現場總線高層通信協議CANopen相結合,實現了現場總線上位機監控面板的開發,為分布式網絡控制系統提供了高效、全面的監控環境,不僅解決了工業現場不同設備同步監控的問題,而且提供了較強的在線可控性。同時,利用labview提供的各類專業工具軟件包,可以進一步對工業數據進行處理,完成波形顯示、信號濾波和頻譜分析等功能。
評論