基于虛擬儀器的CANopen協(xié)議監(jiān)控面板設(shè)計
摘要:針對工業(yè)現(xiàn)場分布式總線網(wǎng)絡(luò)的在線監(jiān)控問題,提出將具有可視化編程環(huán)境的虛擬儀器軟件與現(xiàn)場總線高層通信協(xié)議CANopen相結(jié)合,開發(fā)出具有智能化、高效化的同步實時監(jiān)控界面。在分析CANopen協(xié)議標識符的基礎(chǔ)上,使用虛擬儀器對CANopen數(shù)據(jù)報文進行打包與解析,并使用VISA接口通過自行設(shè)計的RS 232-CAN協(xié)議轉(zhuǎn)換器完成數(shù)據(jù)收發(fā),最終完成監(jiān)控面板的開發(fā),為現(xiàn)場總線與虛擬儀器技術(shù)相融合的發(fā)展趨勢起到了一定推動作用。
關(guān)鍵詞:CANopen協(xié)議;虛擬儀器;現(xiàn)場總線;VISA接口
虛擬儀器是電子測量技術(shù)與計算機技術(shù)深層次結(jié)合的產(chǎn)物,通過軟、硬件的結(jié)合來實現(xiàn)傳統(tǒng)儀器的各種功能,大大突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳送、存儲等方面的限制,使用戶可以方便地對儀器進行維護、擴展和升級。用戶通過友好的圖形界面來操作虛擬儀器的面板就如同操作真實儀器一樣方便。CAN協(xié)議只定義了物理層和數(shù)據(jù)鏈路層,本身并不完整,有些復雜的應用問題需要一個更高層次的協(xié)議——應用層協(xié)議來實現(xiàn)。CANopen協(xié)議就是將CAN網(wǎng)絡(luò)中通信數(shù)據(jù)的組建和傳輸進行標準化,并給用戶很大的自由度,允許用戶隨時添加自己所需要的新功能。
本文將虛擬儀器技術(shù)應用于CANopen協(xié)議開發(fā),有利于實現(xiàn)分布式工業(yè)現(xiàn)場的實時監(jiān)控、數(shù)據(jù)采集,改善現(xiàn)場總線網(wǎng)絡(luò)通信系統(tǒng)的運行效率,提高實時性和信息處理能力。
1 CANopen協(xié)議概述
CANopen協(xié)議是由CiA協(xié)會針對CAN協(xié)議的不完整性而定義出來的一個更高層次的協(xié)議——應用層協(xié)議。不同CANopen設(shè)備間的通信都是通過交換通信對象完成的。
1.1 通信對象
通過CAN網(wǎng)絡(luò)傳輸?shù)腃ANopen通信對象可以通過服務和協(xié)議來描述。分類為:實時數(shù)據(jù)通過過程數(shù)據(jù)對象(PDO)協(xié)議傳輸;服務數(shù)據(jù)對象(SDO)協(xié)議用來對對象字典進行讀寫操作;特殊功能對象協(xié)議提供了特定應用,網(wǎng)絡(luò)同步,時間戳和緊急報文傳輸;網(wǎng)絡(luò)管理(NMT)協(xié)議提供了網(wǎng)絡(luò)初始化,錯誤控制和設(shè)備狀態(tài)控制服務;層設(shè)置服務(LSS)協(xié)議用來配置CAN總線通信參數(shù)和設(shè)備參數(shù)。
1.2 CANopen預定義連接集
為了減少簡單網(wǎng)絡(luò)的組態(tài)工作量,CANopen定義了強制性的缺省標識符(CAN-ID)分配表。這些標識符在預操作狀態(tài)下可用,通過動態(tài)分配還可修改他們。CANopen設(shè)備必須向它所支持的通信對象提供相應的標識符。缺省ID分配表是基于11位的CAN-ID,包含一個4位的功能碼(Function Code)部分和一個7位的節(jié)點ID(Node-ID)部分。
Node-ID由系統(tǒng)集成商定義,范圍是1~127(0不允許使用)。預定義的連接集定義了4個接收PDO(Receive-PDO),4個發(fā)送PDO(Transmit-PDO),1個SDO(占用2個CAN-ID),1個緊急對象和1個節(jié)點錯誤控制ID。也支持不需確認的NMT-Module-Control服務,SYNC和Time Stamp對象的廣播。標識符的默認值如表1,表2所示。
2 CANopen監(jiān)控面板工控現(xiàn)場應用框架
采用虛擬儀器軟件labview進行CANopen協(xié)議監(jiān)控面板的開發(fā),完成CANopen數(shù)據(jù)的接收與發(fā)送,實現(xiàn)分布式工控現(xiàn)場總線網(wǎng)絡(luò)的數(shù)據(jù)監(jiān)測。labview是NI公司開發(fā)的虛擬儀器應用程序編程環(huán)境,是一種圖形化編程語言,特別適合開發(fā)測控應用軟件,其具有所有
評論