基于嵌入式CAN總線的遠(yuǎn)程工業(yè)監(jiān)控系統(tǒng)設(shè)計(jì)
點(diǎn)擊:980
A+ A-
所屬頻道:新聞中心
1 引言
Internet飛速發(fā)展,已成為信息交流的重要渠道,而基于Web B/S(Browser/Server)的遠(yuǎn)程監(jiān)控技術(shù)應(yīng)用也越來越廣泛。將這種技術(shù)應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制,用戶在Internet接人的地方,實(shí)現(xiàn)對(duì)工業(yè)現(xiàn)場(chǎng)設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控,是當(dāng)前倍受關(guān)注和研究熱點(diǎn)的真正意義上的工業(yè)控制遠(yuǎn)程監(jiān)控系統(tǒng)。
2 監(jiān)控系統(tǒng)整體結(jié)構(gòu)
本文設(shè)計(jì)了基于CAN總線的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng),可以把工業(yè)現(xiàn)場(chǎng)的實(shí)時(shí)控制數(shù)據(jù)通過HTTP協(xié)議發(fā)送到遠(yuǎn)程瀏覽器,用于把工業(yè)設(shè)備接入Internet以實(shí)現(xiàn)在遠(yuǎn)程監(jiān)控。系統(tǒng)的整體結(jié)構(gòu)如圖1所示。
圖1 監(jiān)控系統(tǒng)整體結(jié)構(gòu)圖
嵌入式CAN-HTTP轉(zhuǎn)換與現(xiàn)場(chǎng)數(shù)據(jù)采集節(jié)點(diǎn)組成主從系統(tǒng),由主站按授權(quán)用戶要求向指定MCU系統(tǒng)發(fā)出查詢信息,實(shí)現(xiàn)對(duì)工控現(xiàn)場(chǎng)節(jié)點(diǎn)查詢功能,而數(shù)據(jù)結(jié)構(gòu)參考CAN總線通訊協(xié)議。各個(gè)CAN節(jié)點(diǎn)隨時(shí)監(jiān)聽總線,當(dāng)發(fā)現(xiàn)總線上有地址段與自己的地址相同的幀時(shí),繼而判斷是遠(yuǎn)程幀還是數(shù)據(jù)幀。如果為遠(yuǎn)程幀,則由CAN節(jié)點(diǎn)按既定協(xié)議發(fā)送數(shù)據(jù)到總線上;否則節(jié)點(diǎn)開始接收CAN總線上的數(shù)據(jù)。而嵌入式CAN-HTTP轉(zhuǎn)換與Internet的互聯(lián)以及與用戶的交互功能,則由其嵌入式操作系統(tǒng)中的網(wǎng)絡(luò)服務(wù)器來完成。嵌入式CAN—HTTP轉(zhuǎn)換上配有無線網(wǎng)卡,當(dāng)把CAN-HTTP轉(zhuǎn)換與Internet連接,配置好IP地址并運(yùn)行網(wǎng)絡(luò)服務(wù)器,被授權(quán)的用戶在Internet上任何一臺(tái)機(jī)器上就可以在瀏覽器中輸入IP地址,訪問存在嵌入式Emtranslate中的主頁(yè)。用戶與服務(wù)器的交互是通過CGI程序來完成的。用戶可以通過點(diǎn)擊頁(yè)面,查詢來自現(xiàn)場(chǎng)的數(shù)據(jù)。
3 監(jiān)控系統(tǒng)硬件設(shè)計(jì)
3.1 CAN總線-HTTP協(xié)議連接器
本文要實(shí)現(xiàn)CAN-HTTP轉(zhuǎn)換的功能有:1在硬件上要設(shè)計(jì)PCMCIA-CAN適配卡;2在軟件上要編寫適配卡的驅(qū)動(dòng)程序,CAN協(xié)議到UDP協(xié)議的轉(zhuǎn)換。其CAN-HTTP轉(zhuǎn)換的結(jié)構(gòu)如圖2所示。
從圖2可以看出,通過PCMCIA—CAN適配卡IXP42 5可以訪問CAN總線上的數(shù)據(jù),從而可以把CAN協(xié)議的數(shù)據(jù)轉(zhuǎn)換成UDP數(shù)據(jù)通過無線網(wǎng)卡轉(zhuǎn)發(fā)到Internet上,在遠(yuǎn)程就可以監(jiān)控CAN總線上設(shè)備的狀態(tài)。
3.2 PCMCIA—CAN適配卡
本文選用Zilog公司的接口芯片Z86017設(shè)計(jì)了PCMCIA-CAN卡。PCMCIA—CAN的結(jié)構(gòu)如圖3所示。
圖3 PCMCIA-CAN卡結(jié)構(gòu)框圖
4 監(jiān)控系統(tǒng)軟件設(shè)計(jì)
4.1 監(jiān)控系統(tǒng)整體軟件結(jié)構(gòu)
監(jiān)控系統(tǒng)的整體軟件流程如圖4所示。用戶程序一開始要檢測(cè)PCMCIA-CAN適配卡的工作狀態(tài),工作正常的話才繼續(xù)后面的操作,不正常就報(bào)警循環(huán)等待。適配卡工作正常后再加載適配卡的設(shè)備驅(qū)動(dòng)程序來初始化適配卡,后從適配卡的接口讀取CAN總線上的數(shù)據(jù),進(jìn)行協(xié)議轉(zhuǎn)換,把CAN轉(zhuǎn)換成UDP數(shù)據(jù)包通過無線網(wǎng)卡轉(zhuǎn)發(fā)到Intemet上。實(shí)現(xiàn)在遠(yuǎn)程監(jiān)控本地CAN設(shè)備的功能。
圖4 監(jiān)控系統(tǒng)整體軟件流程
4.2 協(xié)議轉(zhuǎn)換模塊
系統(tǒng)實(shí)現(xiàn)了BasicCAN模式,CAN到UDP數(shù)據(jù)的封裝過程如圖5所示。從圖5可以看出用戶數(shù)據(jù)每經(jīng)一層就加了一些數(shù)據(jù)報(bào)頭,等數(shù)據(jù)到了遠(yuǎn)程的監(jiān)控端在把這些報(bào)頭剝離,監(jiān)控程序得到的就是用戶數(shù)據(jù),剝離過程對(duì)于監(jiān)控程序都是透明的,它根本不用理會(huì)加上去的報(bào)頭,這些都由下層的協(xié)議完成。
圖5CAN到UDP數(shù)據(jù)的封裝過程
4.3 PCMCIA-CAN適配器模塊
系統(tǒng)加電后,系統(tǒng)將完成插槽初始化、PCCard檢測(cè)和PCCard配置。軟件設(shè)計(jì)包括2方面,一方面是PCCard側(cè)微控制器對(duì)CIS的初始化程序;另一方面是主機(jī)側(cè)驅(qū)動(dòng)程序。PCCard側(cè)微控制器對(duì)CIS的初始化程序的主要問題是:在PCCard正常工作前,必須由卡上的微控制器對(duì)設(shè)備進(jìn)行初始化,即將CIS信息寫入屬性空間,從而經(jīng)過主機(jī)識(shí)別,使主機(jī)明確PC Card的應(yīng)用類型。主機(jī)側(cè)驅(qū)動(dòng)程序分為3個(gè)層次:用戶驅(qū)動(dòng)、插槽服務(wù)和卡服務(wù)。PCCard側(cè)微控制器對(duì)CIS的初始化程序流程如。圖6所示。
圖6 PCCard側(cè)微控制器對(duì)CIS的初始化程序流程圖
5 結(jié)束語
本文在stareast開發(fā)板的基礎(chǔ)上,添加了PCMCIA-CAN適配卡,設(shè)計(jì)了遠(yuǎn)程監(jiān)控系統(tǒng),基于CAN和HTTP的無縫連接,用戶可以在遠(yuǎn)程使用瀏覽器監(jiān)控現(xiàn)場(chǎng)CAN總線上設(shè)備工作狀態(tài)。系統(tǒng)把工業(yè)現(xiàn)場(chǎng)總線接入企業(yè)的Internet網(wǎng)絡(luò)實(shí)現(xiàn)企業(yè)網(wǎng)絡(luò)的一體化,實(shí)現(xiàn)了整個(gè)生產(chǎn)的無人監(jiān)管,大大提高了生產(chǎn)效率,具備良好的實(shí)用價(jià)值和商業(yè)價(jià)值。
(審核編輯: 智匯張瑜)
分享