<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于虛擬儀器的CANopen協(xié)議監控面板設計

基于虛擬儀器的CANopen協(xié)議監控面板設計

作者: 時(shí)間:2012-08-01 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:針對工業(yè)現場(chǎng)分布式總線(xiàn)網(wǎng)絡(luò )的在線(xiàn)問(wèn)題,提出將具有可視化編程環(huán)境的軟件與現場(chǎng)總線(xiàn)高層通信相結合,開(kāi)發(fā)出具有智能化、高效化的同步實(shí)時(shí)界面。在分析標識符的基礎上,使用數據報文進(jìn)行打包與解析,并使用VISA接口通過(guò)自行設計的RS 232-CAN轉換器完成數據收發(fā),最終完成面板的開(kāi)發(fā),為現場(chǎng)總線(xiàn)與技術(shù)相融合的發(fā)展趨勢起到了一定推動(dòng)作用。
關(guān)鍵詞:CANopen協(xié)議;虛擬儀器;現場(chǎng)總線(xiàn);VISA接口

虛擬儀器是電子測量技術(shù)與計算機技術(shù)深層次結合的產(chǎn)物,通過(guò)軟、硬件的結合來(lái)實(shí)現傳統儀器的各種功能,大大突破了傳統儀器在數據處理、顯示、傳送、存儲等方面的限制,使用戶(hù)可以方便地對儀器進(jìn)行維護、擴展和升級。用戶(hù)通過(guò)友好的圖形界面來(lái)操作虛擬儀器的面板就如同操作真實(shí)儀器一樣方便。CAN協(xié)議只定義了物理層和數據鏈路層,本身并不完整,有些復雜的應用問(wèn)題需要一個(gè)更高層次的協(xié)議——應用層協(xié)議來(lái)實(shí)現。CANopen協(xié)議就是將CAN網(wǎng)絡(luò )中通信數據的組建和傳輸進(jìn)行標準化,并給用戶(hù)很大的自由度,允許用戶(hù)隨時(shí)添加自己所需要的新功能。
本文將虛擬儀器技術(shù)應用于CANopen協(xié)議開(kāi)發(fā),有利于實(shí)現分布式工業(yè)現場(chǎng)的實(shí)時(shí)監控、數據采集,改善現場(chǎng)總線(xiàn)網(wǎng)絡(luò )通信系統的運行效率,提高實(shí)時(shí)性和信息處理能力。

1 CANopen協(xié)議概述
CANopen協(xié)議是由CiA協(xié)會(huì )針對CAN協(xié)議的不完整性而定義出來(lái)的一個(gè)更高層次的協(xié)議——應用層協(xié)議。不同CANopen設備間的通信都是通過(guò)交換通信對象完成的。
1.1 通信對象
通過(guò)CAN網(wǎng)絡(luò )傳輸的CANopen通信對象可以通過(guò)服務(wù)和協(xié)議來(lái)描述。分類(lèi)為:實(shí)時(shí)數據通過(guò)過(guò)程數據對象(PDO)協(xié)議傳輸;服務(wù)數據對象(SDO)協(xié)議用來(lái)對對象字典進(jìn)行讀寫(xiě)操作;特殊功能對象協(xié)議提供了特定應用,網(wǎng)絡(luò )同步,時(shí)間戳和緊急報文傳輸;網(wǎng)絡(luò )管理(NMT)協(xié)議提供了網(wǎng)絡(luò )初始化,錯誤控制和設備狀態(tài)控制服務(wù);層設置服務(wù)(LSS)協(xié)議用來(lái)配置CAN總線(xiàn)通信參數和設備參數。
1.2 CANopen預定義連接集
為了減少簡(jiǎn)單網(wǎng)絡(luò )的組態(tài)工作量,CANopen定義了強制性的缺省標識符(CAN-ID)分配表。這些標識符在預操作狀態(tài)下可用,通過(guò)動(dòng)態(tài)分配還可修改他們。CANopen設備必須向它所支持的通信對象提供相應的標識符。缺省ID分配表是基于11位的CAN-ID,包含一個(gè)4位的功能碼(Function Code)部分和一個(gè)7位的節點(diǎn)ID(Node-ID)部分。
Node-ID由系統集成商定義,范圍是1~127(0不允許使用)。預定義的連接集定義了4個(gè)接收PDO(Receive-PDO),4個(gè)發(fā)送PDO(Transmit-PDO),1個(gè)SDO(占用2個(gè)CAN-ID),1個(gè)緊急對象和1個(gè)節點(diǎn)錯誤控制ID。也支持不需確認的NMT-Module-Control服務(wù),SYNC和Time Stamp對象的廣播。標識符的默認值如表1,表2所示。

本文引用地址:http://dyxdggzs.com/article/186011.htm

e.JPG



2 CANopen監控面板工控現場(chǎng)應用框架
采用虛擬儀器軟件LabVIEW進(jìn)行CANopen協(xié)議監控面板的開(kāi)發(fā),完成CANopen數據的接收與發(fā)送,實(shí)現分布式工控現場(chǎng)總線(xiàn)網(wǎng)絡(luò )的數據監測。LabVIEW是NI公司開(kāi)發(fā)的虛擬儀器應用程序編程環(huán)境,是一種圖形化編程語(yǔ)言,特別適合開(kāi)發(fā)測控應用軟件,其具有所有通用編程環(huán)境的標準,如數據結構、循環(huán)結構和事件處理。其內置各種專(zhuān)業(yè)工具軟件包可滿(mǎn)足工程應用開(kāi)發(fā)。應用示意見(jiàn)圖1,通過(guò)RS 232-CAN協(xié)議轉換器實(shí)時(shí)監測現場(chǎng)總線(xiàn)上各節點(diǎn)的數據,完成控制任務(wù)。

a.JPG



3 RS 232-CAN協(xié)議轉換器
虛擬儀器LabVIEW軟件及PC機內部沒(méi)有專(zhuān)門(mén)的CAN接口只有RS 232串行接口,因此使用單片機等微控制器設計RS 232-CAN轉換器,實(shí)現PC機接入現場(chǎng)總線(xiàn)網(wǎng)絡(luò ),完成數據監聽(tīng)。在PC機上可用LabVIEW環(huán)境下的NI-VISA實(shí)現串口通信。圖2為RS 232-CAN協(xié)議轉換器硬件原理圖,選用內嵌CAN總線(xiàn)控制器的Microchip公司PIC18F258單片機為核心處理芯片。

f.JPG


ADuM1100高速數字隔離器支持100 Mb/s數據傳輸速率并且可以采用3.0~5.5 V單電源供電,以一種新的更有效的傳輸數據的方法替代傳統的光耦合器,從而保護了高電壓和低電壓電氣環(huán)境之間的接口。MCP2551是一種可容錯的高速CAN收發(fā)器,可作為CAN協(xié)議控制器和系統物理總線(xiàn)的接口。MAX232用于完成RS 232與TLL/CMOS的電平轉換。RS 232接口用于連接PC機。當單片機內部CAN總線(xiàn)控制器收到CAN總線(xiàn)上的信號后通過(guò)USART接口傳給PC機的RS 232接口,同樣PC機把數據通過(guò)RS 232接口發(fā)給單片機,再發(fā)送到CAN總線(xiàn)上。單片機負責實(shí)現通信協(xié)議的轉換,轉換RS 232串口通信數據與CAN通信數據。

4 虛擬儀器上位機監控面板開(kāi)發(fā)
LabVIEW程序開(kāi)發(fā)主要包括三方面內容:CANopen監控面板主程序、數據發(fā)送模塊和數據接收模塊。其中,數據接收和發(fā)送模塊作為子VI供監控面板主程序調用。
4.1 CANopen主控面板程序設計
主控面板的設計主要包括:CANopen報文的組建及打包發(fā)送,以及CANopen報文的接收顯示。
4.1.1 CANopen報文打包
根據CANopen協(xié)議標識符分配表及主從節點(diǎn)設置定義了各報文的ID號,如圖3所示,通過(guò)LabVIEW分支結構實(shí)現報文類(lèi)型的選擇,并按照CANopen協(xié)議數據幀格式要求定義了發(fā)送的數據內容,包括高低8位ID、數據長(cháng)度、遠程幀標志以及8 B數據,通過(guò)捆綁送入CANWrite.vi子模塊發(fā)送到VISA接口。

b.JPG


4.1.2 CANopen報文解析
CANopen報文的解析是實(shí)現CANopen協(xié)議監控面板的重點(diǎn),實(shí)現過(guò)程為:將從VISA接口接收的數據按照CANopen報文格式進(jìn)行組建;判斷接收的報文是遠程幀還是數據幀;將接收的數據幀累積;對累積的數據幀依次進(jìn)行格式轉換,完成數據顯示(見(jiàn)圖4)。

c1.jpg


4.2 數據發(fā)送/接收模塊程序設計
數據發(fā)送模塊CANwrite.vi使用VISA Write節點(diǎn)予以實(shí)現,并將該發(fā)送模塊作為子VI調用。在LabVIEW平臺控制的串行通信過(guò)程中,數據格式是以字符串的格式組成的,字符串中的每個(gè)字符實(shí)際上對應大家熟悉的ASCII字符,即計算機能夠識別的數據代碼是ASCII代碼,所以在傳送到串口發(fā)送數據之前要經(jīng)過(guò)代碼轉換,這就意味著(zhù)以十進(jìn)制、二進(jìn)制、十六進(jìn)制表示的數據必須轉化為ASCII字符串才能進(jìn)行傳送和接
收。數據發(fā)送模塊如圖5所示,其中,以0xAA作為握手信號

c.JPG


數據接收模塊CANRead.vi使用VISA Read節點(diǎn)讀取數據,如圖6所示,從緩沖器接收到的數據是ASCII字符串,經(jīng)過(guò)ASCII字符串轉換為十六進(jìn)制字節數組的模塊處理后,最終得到正確的數據。
4.3 監控面板
使用虛擬儀器LabVIEW開(kāi)發(fā)的監控面板如圖7所示??梢钥吹?,左側為數據發(fā)送部分,首先設置NodeID,選擇主從節點(diǎn)類(lèi)型,根據用戶(hù)需要選擇待發(fā)送的報文類(lèi)型,并設置幀類(lèi)型(數據幀/遠程幀)以及具體的發(fā)送數據。右側為數據接收部分,顯示從CAN總線(xiàn)上監聽(tīng)到的CANopen報文。

d.JPG



5 結語(yǔ)
本文將虛擬儀器技術(shù)與現場(chǎng)總線(xiàn)高層通信協(xié)議CANopen相結合,實(shí)現了現場(chǎng)總線(xiàn)上位機監控面板的開(kāi)發(fā),為分布式網(wǎng)絡(luò )控制系統提供了高效、全面的監控環(huán)境,不僅解決了工業(yè)現場(chǎng)不同設備同步監控的問(wèn)題,而且提供了較強的在線(xiàn)可控性。同時(shí),利用LabVIEW提供的各類(lèi)專(zhuān)業(yè)工具軟件包,可以進(jìn)一步對工業(yè)數據進(jìn)行處理,完成波形顯示、信號濾波和頻譜分析等功能。

隔離器相關(guān)文章:隔離器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>