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