陳天運(yùn)+趙寧社
摘 要:就目前環(huán)境監(jiān)測(cè)現(xiàn)場(chǎng)中總線(xiàn)技術(shù)的采用,分析了在應(yīng)用中使用MODBUS總線(xiàn)的狀況。從環(huán)境監(jiān)測(cè)的體系架構(gòu)出發(fā),通過(guò)分析CAN總線(xiàn)的高層和底層通信協(xié)議,描述其在現(xiàn)場(chǎng)替代MODBUS的優(yōu)勢(shì),提出了污染源在線(xiàn)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)現(xiàn)場(chǎng)的總線(xiàn)實(shí)施方案,給出了適于環(huán)境監(jiān)測(cè)現(xiàn)場(chǎng)應(yīng)用的CAN總線(xiàn)接入系統(tǒng)拓?fù)洳⒃斒鲈颉?/p>
關(guān)鍵詞:污染源;MODBUS現(xiàn)場(chǎng)總線(xiàn);CAN總線(xiàn)
中圖分類(lèi)號(hào):TP334 文獻(xiàn)標(biāo)識(shí)碼:A
Application of MODBUS vs. CANBUS in Area for Environmental Protection IOT
CHEN Tianyun,ZHAO Ningshe
(Software Institute,Xi'an University,Xian 710065,China)Abstract:As the case that bus technology using on situ environmental monitoring stands,the status of using MODBUS is analyzed.From the fact of environmental monitoring architecture,the protocols of CANBUS at high and low layer are analyzed.So the advantage that it takes place of MODBUS on the spot is described.And a bus implement solution for in-situ real-time monitoring system of pollution source is put forwards.Further the system topological structure of CANBUS area application suitable for environmental monitoring and the reason is given out in detail.
Keywords:pollution source;MODBUS fieldbus;CANBUS
1 引言(Introduction)
在當(dāng)今時(shí)代,建設(shè)集可定制、安全、穩(wěn)定、易部署于一身的環(huán)保物聯(lián)網(wǎng)具有重要意義。污染源監(jiān)測(cè)是其中一項(xiàng)重要內(nèi)容,它以監(jiān)測(cè)為手段確定污染物的排放來(lái)源、濃度和污染物種類(lèi)等。目前我國(guó)的環(huán)保物聯(lián)網(wǎng)建設(shè)與應(yīng)用中還面臨諸多挑戰(zhàn),存在傳感器種類(lèi)多、數(shù)據(jù)多源異構(gòu)、技術(shù)綜合等問(wèn)題,同時(shí)其應(yīng)用具有高復(fù)雜性[1],惡劣的監(jiān)測(cè)環(huán)境還易影響到系統(tǒng)穩(wěn)定性。
現(xiàn)場(chǎng)總線(xiàn)是許多工業(yè)用通訊協(xié)定的總稱(chēng),一般用在DCS(分布控制系統(tǒng)),其協(xié)議定制簡(jiǎn)單,安全性較高,成本較低,維護(hù)方便,是污染源監(jiān)測(cè)現(xiàn)場(chǎng)通訊方式的首選。目前監(jiān)測(cè)環(huán)境現(xiàn)場(chǎng)總線(xiàn)大多為MODBUS串口組網(wǎng)。但受MODBUS通信方式所限,其總線(xiàn)工作存在著較大的不足,因而在實(shí)踐中有了改進(jìn)的考慮。
2 MODBUS通信分析(Analysis of MODBUS
communication)
MODBUS是OSI模型第7層上的應(yīng)用層報(bào)文傳輸協(xié)議,其采用雙絞線(xiàn)實(shí)現(xiàn)多個(gè)設(shè)備之間的通信。它在連接的不同類(lèi)型網(wǎng)絡(luò)設(shè)備或者總線(xiàn)之間提供主從問(wèn)答式通信協(xié)議,常用RS-232/RS-485總線(xiàn)實(shí)現(xiàn)[2],主從站之間以查詢(xún)/應(yīng)答方式工作。
2.1 國(guó)家環(huán)保標(biāo)準(zhǔn)對(duì)MODBUS的支持
我國(guó)環(huán)??偩值摹段廴驹丛诰€(xiàn)自動(dòng)監(jiān)控(監(jiān)測(cè))系統(tǒng)數(shù)據(jù)傳輸標(biāo)準(zhǔn)》(HJ/T212-2005)中推薦使用MODBUS作為數(shù)據(jù)采集傳輸儀與現(xiàn)場(chǎng)設(shè)備的傳輸方式,兼容RS-232C串行接口,定義了針腳、波特率、奇偶校驗(yàn)、停止位等規(guī)范。協(xié)議工作分RTU和ASCII模式,較之后者,RTU模式在相同的比特率下有較高的傳輸效率,通常工業(yè)智能儀器儀表大多采用RTU模式??刂破魍ㄐ攀褂肕aster/Slave技術(shù),Master設(shè)備可以初始化查詢(xún),并對(duì)Slave設(shè)備發(fā)送命令,而Slave設(shè)備則可以根據(jù)Master設(shè)備發(fā)出的信號(hào)做出響應(yīng)。
2.2 MODBUS通信的不足
RS-232C傳輸比特率最高為115200bps,但MODBUS協(xié)議需要定義地址、CRC校驗(yàn)位等,實(shí)際傳輸速率大約為8kB/s,傳輸速率較低。同時(shí)非平衡電路使得RS-232容易受到設(shè)備之間基點(diǎn)電壓的影響,RS-232對(duì)于信號(hào)的上升期和下降期的控制能力較差,故RS-232被推薦在短距離(15m以?xún)?nèi))通信。而污染源監(jiān)控現(xiàn)場(chǎng)數(shù)據(jù)流量較大,且下位儀器距離較遠(yuǎn),使用RS-232作為通信方式顯然增加了布線(xiàn)難度。
3 CAN總線(xiàn)通信協(xié)議分析(Analysis of CAN bus
communication protocol)
CAN(Controller Area Network)以其高可靠性、高性能和實(shí)時(shí)性著名,被廣泛用于工業(yè)控制、軍事等眾多領(lǐng)域[3]。作為一種多主總線(xiàn)系統(tǒng),CAN的傳輸距離較長(zhǎng),可達(dá)10kM左右,抗干擾能力出色,在惡劣環(huán)境下也能保證安全快速地傳輸。
3.1 CAN總線(xiàn)的底層協(xié)議
CAN的層定義與OSI(開(kāi)放系統(tǒng)互聯(lián)模型)一致,其主要描述了設(shè)備之間的通訊方式。CAN的規(guī)范規(guī)定了OSI的物理層和數(shù)據(jù)鏈路層,如表1所示。
表1 OSI開(kāi)放系統(tǒng)互聯(lián)模型低兩層
Tab.1 PHY & data link layers of OSI model
層序 名稱(chēng) 定義
1 物理層 規(guī)定傳輸介質(zhì)的物理特性,包括電氣特性和信號(hào)解析等endprint
2 數(shù)據(jù)鏈路層 管理來(lái)自第一層的數(shù)據(jù),確保其傳輸路線(xiàn)為正確路線(xiàn)
CAN可兼容多種通信介質(zhì)(雙絞線(xiàn)、光纖、同軸線(xiàn)纜等)[4],最常用的通信介質(zhì)是雙絞線(xiàn),接口有兩條線(xiàn),一條是CAN_H,另一條是CAN_L。CAN收發(fā)接口靜態(tài)電位約為2.5V,此時(shí)狀態(tài)表示為邏輯“1”,也可叫做“隱形”;用CAN_H比CAN_L高表示邏輯“0”,此時(shí)各引腳的電壓為:CAN_H=3.5V,CAN_L=1.5V。
3.2 CANBUS的高層協(xié)議
現(xiàn)場(chǎng)總線(xiàn)通信從OSI模型的角度看,只規(guī)定了物理層、數(shù)據(jù)鏈路層及應(yīng)用層。由于一般沒(méi)有路由等要求,且通信模式為總線(xiàn)式,所以不需要傳輸層、網(wǎng)絡(luò)層、會(huì)話(huà)層、描述層。如在TI ISO1050芯片中只規(guī)定了最低兩層,并且這兩層的功能完全由硬件實(shí)現(xiàn),程序員無(wú)需為此再開(kāi)發(fā)固件或軟件。
CAN總線(xiàn)沒(méi)有對(duì)應(yīng)用層進(jìn)行定義,僅依賴(lài)硬件不能完成正常通信,其報(bào)文中的11位標(biāo)識(shí)符和8B的數(shù)據(jù)塊仍需要軟件設(shè)計(jì)與實(shí)現(xiàn)。目前,CAN-in Automation定義的標(biāo)準(zhǔn)有很多種,不過(guò)隨著CAN總線(xiàn)發(fā)展,CAL協(xié)議與基于CAL擴(kuò)展的CANopen協(xié)議已成一種被歐洲地區(qū)和多個(gè)國(guó)家廣泛承認(rèn)的協(xié)議,CANopen協(xié)議也成為了CAN總線(xiàn)的工業(yè)應(yīng)用標(biāo)準(zhǔn)。從應(yīng)用來(lái)看,CAL的協(xié)議比較完善,與MODBUS相比較,CAN總線(xiàn)能夠?qū)崿F(xiàn)更可靠的數(shù)據(jù)傳輸。
CANopen通訊方式可分三種:(1)主從模型;(2)客戶(hù)端/服務(wù)器模型;(3)生產(chǎn)者/消費(fèi)者。對(duì)比來(lái)看,主從模型結(jié)構(gòu)較容易使用,布線(xiàn)簡(jiǎn)單,配套軟件開(kāi)發(fā)也相對(duì)便捷,本文推薦使用主從模型作為污染源監(jiān)測(cè)系統(tǒng)現(xiàn)場(chǎng)總線(xiàn)結(jié)構(gòu)。
4 現(xiàn)場(chǎng)總線(xiàn)拓?fù)浣Y(jié)構(gòu)與通信設(shè)計(jì)(Fieldbus topology
& communicative design)
污染源監(jiān)測(cè)系統(tǒng)是一個(gè)系統(tǒng)工程,工業(yè)儀表將采集到的數(shù)據(jù)傳輸至現(xiàn)場(chǎng)環(huán)境監(jiān)控終端,進(jìn)一步上報(bào)給數(shù)據(jù)/通信服務(wù)器。通訊終端需要具備一些常用的功能,如控制設(shè)備的開(kāi)關(guān),上報(bào)數(shù)據(jù)頻率的設(shè)定,自身健康監(jiān)測(cè)等。工作人員通過(guò)工作站的客戶(hù)端向監(jiān)控終端下發(fā)命令,命令通過(guò)通訊服務(wù)器將指令下達(dá)給監(jiān)控終端。
以太網(wǎng)傳輸速率較快,使用此方法上報(bào)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)較妥當(dāng)。但需要考慮布線(xiàn)與維修會(huì)增加成本。若環(huán)境較惡劣,可通過(guò)無(wú)線(xiàn)通訊方式(2G或3G網(wǎng)絡(luò))來(lái)傳輸現(xiàn)場(chǎng)數(shù)據(jù),通訊鏈路可以由通訊模塊或在主板上增加通訊電路來(lái)實(shí)現(xiàn)。
4.1 現(xiàn)場(chǎng)總線(xiàn)拓?fù)浣Y(jié)構(gòu)
圖1 現(xiàn)場(chǎng)總線(xiàn)拓?fù)鋱D 圖2 CAN總線(xiàn)布置方法
Fig.1 Fieldbus topography Fig.2 CAN layout
如圖1所示,現(xiàn)場(chǎng)總線(xiàn)遵從主從模式,下位機(jī)為支持通過(guò)CAN總線(xiàn)、EIA-485、EIA-232或模擬信號(hào)數(shù)據(jù)上報(bào)的工業(yè)儀表。對(duì)于上報(bào)的模擬信號(hào)數(shù)據(jù)需要進(jìn)行數(shù)模(A/D)轉(zhuǎn)換后再通過(guò)CAN總線(xiàn)發(fā)送至監(jiān)控終端。視具體情形也可在需要的地方加入控制模塊、收集模擬/數(shù)字信號(hào),統(tǒng)一通過(guò)232/485上報(bào)數(shù)據(jù)至監(jiān)控終端。
監(jiān)控終端將收集到的數(shù)據(jù)通過(guò)通訊鏈路發(fā)送至數(shù)據(jù)/通訊服務(wù)器。同時(shí)監(jiān)控終端需響應(yīng)用戶(hù)發(fā)來(lái)的指令(設(shè)定數(shù)據(jù)采集時(shí)間間隔、儀器動(dòng)作等),還需要上報(bào)本機(jī)的健康狀態(tài)(電量、CPU、內(nèi)存、存儲(chǔ)設(shè)備的使用率等)。
4.2 CAN總線(xiàn)布置及通信協(xié)議的設(shè)定
現(xiàn)場(chǎng)總線(xiàn)的CAN收發(fā)器采用TI公司的ISO1050芯片。該芯片為隔離式5V CAN收發(fā)器,該芯片在CAN通信領(lǐng)域表現(xiàn)出色,其功能已經(jīng)完全滿(mǎn)足ISO11898的要求。監(jiān)控終端是采用Cortex v7架構(gòu)處理器的嵌入式系統(tǒng),搭載Linux/MiniGUI。由于現(xiàn)場(chǎng)環(huán)境惡劣,CAN總線(xiàn)需選用質(zhì)量較好的屏蔽雙絞線(xiàn)以減少電磁干擾和酸堿環(huán)境的腐蝕。現(xiàn)場(chǎng)CAN總線(xiàn)布置如圖2所示。
本系統(tǒng)中的CAN總線(xiàn)通信應(yīng)用層協(xié)議參照《中華人民共和國(guó)環(huán)境保護(hù)行業(yè)標(biāo)準(zhǔn)》(HJ/T212-2005)進(jìn)行設(shè)計(jì)[5]。標(biāo)準(zhǔn)中定義了傳輸數(shù)據(jù)的格式(應(yīng)用層),且有建議的通信方式(數(shù)據(jù)的獲取與上報(bào))。故通信協(xié)議按照表2所示方式進(jìn)行。
表2 通信包結(jié)構(gòu)組成
Tab.2 Structure of communication package
名稱(chēng) 類(lèi)型 長(zhǎng)度 描述
包頭 字符 2 固定為##
數(shù)據(jù)段長(zhǎng)度 十進(jìn)制整數(shù) 4 數(shù)據(jù)段的ASCII長(zhǎng)度
數(shù)據(jù)段 字符 0≤n≤1024 變長(zhǎng)的數(shù)據(jù)(短信息長(zhǎng)度為140)
CRC校驗(yàn) 十六進(jìn)制數(shù) 4 數(shù)據(jù)段的校驗(yàn)結(jié)果
包尾 字符 2 固定為
該通信標(biāo)準(zhǔn)詳細(xì)定義了關(guān)于數(shù)據(jù)傳輸?shù)母袷?,包括系統(tǒng)編號(hào),命令編號(hào)和數(shù)據(jù)區(qū)的描述,在文獻(xiàn)[5]中有詳細(xì)說(shuō)明。
5 結(jié)論(Conclusion)
本文分析了總線(xiàn)通信在污染源監(jiān)測(cè)自動(dòng)化上的應(yīng)用,對(duì)MODBUS通信在傳輸距離與帶寬上的不足進(jìn)行了剖析,闡述了CAN總線(xiàn)通信在污染源監(jiān)測(cè)應(yīng)用上的實(shí)施方案,并且針對(duì)環(huán)境監(jiān)測(cè)現(xiàn)場(chǎng)的應(yīng)用給出了總線(xiàn)通信的拓?fù)浣Y(jié)構(gòu)圖及布置方法。
參考文獻(xiàn)(References)
[1] 郭慧鵬.如何破解環(huán)保物聯(lián)網(wǎng)應(yīng)用難題[J].高科技與產(chǎn)業(yè)化,
2012(2):22-24.
[2] 葉欣,陳文藝,趙健.基于Matlab物聯(lián)網(wǎng)網(wǎng)關(guān)的Modbus協(xié)議實(shí)
現(xiàn)[J].測(cè)控技術(shù),2013(2):77-80.
[3] 趙強(qiáng),等.CAN總線(xiàn)控制器IP核設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)
展,2013(8):230-233.
[4] 孔祥通,等.基于CAN總線(xiàn)的嵌入式監(jiān)控設(shè)備的設(shè)計(jì)[J].中國(guó)
測(cè)試,2013(4):85-87;96.
[5] HJ/T212-2005.污染源在線(xiàn)自動(dòng)監(jiān)控(監(jiān)測(cè))系統(tǒng)數(shù)據(jù)傳輸標(biāo)
準(zhǔn)[S].
作者簡(jiǎn)介:
陳天運(yùn)(1994-),男,本科.研究領(lǐng)域:嵌入式計(jì)算.
趙寧社(1975-),男,博士.講師.研究領(lǐng)域:分布計(jì)算.
2 數(shù)據(jù)鏈路層 管理來(lái)自第一層的數(shù)據(jù),確保其傳輸路線(xiàn)為正確路線(xiàn)
CAN可兼容多種通信介質(zhì)(雙絞線(xiàn)、光纖、同軸線(xiàn)纜等)[4],最常用的通信介質(zhì)是雙絞線(xiàn),接口有兩條線(xiàn),一條是CAN_H,另一條是CAN_L。CAN收發(fā)接口靜態(tài)電位約為2.5V,此時(shí)狀態(tài)表示為邏輯“1”,也可叫做“隱形”;用CAN_H比CAN_L高表示邏輯“0”,此時(shí)各引腳的電壓為:CAN_H=3.5V,CAN_L=1.5V。
3.2 CANBUS的高層協(xié)議
現(xiàn)場(chǎng)總線(xiàn)通信從OSI模型的角度看,只規(guī)定了物理層、數(shù)據(jù)鏈路層及應(yīng)用層。由于一般沒(méi)有路由等要求,且通信模式為總線(xiàn)式,所以不需要傳輸層、網(wǎng)絡(luò)層、會(huì)話(huà)層、描述層。如在TI ISO1050芯片中只規(guī)定了最低兩層,并且這兩層的功能完全由硬件實(shí)現(xiàn),程序員無(wú)需為此再開(kāi)發(fā)固件或軟件。
CAN總線(xiàn)沒(méi)有對(duì)應(yīng)用層進(jìn)行定義,僅依賴(lài)硬件不能完成正常通信,其報(bào)文中的11位標(biāo)識(shí)符和8B的數(shù)據(jù)塊仍需要軟件設(shè)計(jì)與實(shí)現(xiàn)。目前,CAN-in Automation定義的標(biāo)準(zhǔn)有很多種,不過(guò)隨著CAN總線(xiàn)發(fā)展,CAL協(xié)議與基于CAL擴(kuò)展的CANopen協(xié)議已成一種被歐洲地區(qū)和多個(gè)國(guó)家廣泛承認(rèn)的協(xié)議,CANopen協(xié)議也成為了CAN總線(xiàn)的工業(yè)應(yīng)用標(biāo)準(zhǔn)。從應(yīng)用來(lái)看,CAL的協(xié)議比較完善,與MODBUS相比較,CAN總線(xiàn)能夠?qū)崿F(xiàn)更可靠的數(shù)據(jù)傳輸。
CANopen通訊方式可分三種:(1)主從模型;(2)客戶(hù)端/服務(wù)器模型;(3)生產(chǎn)者/消費(fèi)者。對(duì)比來(lái)看,主從模型結(jié)構(gòu)較容易使用,布線(xiàn)簡(jiǎn)單,配套軟件開(kāi)發(fā)也相對(duì)便捷,本文推薦使用主從模型作為污染源監(jiān)測(cè)系統(tǒng)現(xiàn)場(chǎng)總線(xiàn)結(jié)構(gòu)。
4 現(xiàn)場(chǎng)總線(xiàn)拓?fù)浣Y(jié)構(gòu)與通信設(shè)計(jì)(Fieldbus topology
& communicative design)
污染源監(jiān)測(cè)系統(tǒng)是一個(gè)系統(tǒng)工程,工業(yè)儀表將采集到的數(shù)據(jù)傳輸至現(xiàn)場(chǎng)環(huán)境監(jiān)控終端,進(jìn)一步上報(bào)給數(shù)據(jù)/通信服務(wù)器。通訊終端需要具備一些常用的功能,如控制設(shè)備的開(kāi)關(guān),上報(bào)數(shù)據(jù)頻率的設(shè)定,自身健康監(jiān)測(cè)等。工作人員通過(guò)工作站的客戶(hù)端向監(jiān)控終端下發(fā)命令,命令通過(guò)通訊服務(wù)器將指令下達(dá)給監(jiān)控終端。
以太網(wǎng)傳輸速率較快,使用此方法上報(bào)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)較妥當(dāng)。但需要考慮布線(xiàn)與維修會(huì)增加成本。若環(huán)境較惡劣,可通過(guò)無(wú)線(xiàn)通訊方式(2G或3G網(wǎng)絡(luò))來(lái)傳輸現(xiàn)場(chǎng)數(shù)據(jù),通訊鏈路可以由通訊模塊或在主板上增加通訊電路來(lái)實(shí)現(xiàn)。
4.1 現(xiàn)場(chǎng)總線(xiàn)拓?fù)浣Y(jié)構(gòu)
圖1 現(xiàn)場(chǎng)總線(xiàn)拓?fù)鋱D 圖2 CAN總線(xiàn)布置方法
Fig.1 Fieldbus topography Fig.2 CAN layout
如圖1所示,現(xiàn)場(chǎng)總線(xiàn)遵從主從模式,下位機(jī)為支持通過(guò)CAN總線(xiàn)、EIA-485、EIA-232或模擬信號(hào)數(shù)據(jù)上報(bào)的工業(yè)儀表。對(duì)于上報(bào)的模擬信號(hào)數(shù)據(jù)需要進(jìn)行數(shù)模(A/D)轉(zhuǎn)換后再通過(guò)CAN總線(xiàn)發(fā)送至監(jiān)控終端。視具體情形也可在需要的地方加入控制模塊、收集模擬/數(shù)字信號(hào),統(tǒng)一通過(guò)232/485上報(bào)數(shù)據(jù)至監(jiān)控終端。
監(jiān)控終端將收集到的數(shù)據(jù)通過(guò)通訊鏈路發(fā)送至數(shù)據(jù)/通訊服務(wù)器。同時(shí)監(jiān)控終端需響應(yīng)用戶(hù)發(fā)來(lái)的指令(設(shè)定數(shù)據(jù)采集時(shí)間間隔、儀器動(dòng)作等),還需要上報(bào)本機(jī)的健康狀態(tài)(電量、CPU、內(nèi)存、存儲(chǔ)設(shè)備的使用率等)。
4.2 CAN總線(xiàn)布置及通信協(xié)議的設(shè)定
現(xiàn)場(chǎng)總線(xiàn)的CAN收發(fā)器采用TI公司的ISO1050芯片。該芯片為隔離式5V CAN收發(fā)器,該芯片在CAN通信領(lǐng)域表現(xiàn)出色,其功能已經(jīng)完全滿(mǎn)足ISO11898的要求。監(jiān)控終端是采用Cortex v7架構(gòu)處理器的嵌入式系統(tǒng),搭載Linux/MiniGUI。由于現(xiàn)場(chǎng)環(huán)境惡劣,CAN總線(xiàn)需選用質(zhì)量較好的屏蔽雙絞線(xiàn)以減少電磁干擾和酸堿環(huán)境的腐蝕。現(xiàn)場(chǎng)CAN總線(xiàn)布置如圖2所示。
本系統(tǒng)中的CAN總線(xiàn)通信應(yīng)用層協(xié)議參照《中華人民共和國(guó)環(huán)境保護(hù)行業(yè)標(biāo)準(zhǔn)》(HJ/T212-2005)進(jìn)行設(shè)計(jì)[5]。標(biāo)準(zhǔn)中定義了傳輸數(shù)據(jù)的格式(應(yīng)用層),且有建議的通信方式(數(shù)據(jù)的獲取與上報(bào))。故通信協(xié)議按照表2所示方式進(jìn)行。
表2 通信包結(jié)構(gòu)組成
Tab.2 Structure of communication package
名稱(chēng) 類(lèi)型 長(zhǎng)度 描述
包頭 字符 2 固定為##
數(shù)據(jù)段長(zhǎng)度 十進(jìn)制整數(shù) 4 數(shù)據(jù)段的ASCII長(zhǎng)度
數(shù)據(jù)段 字符 0≤n≤1024 變長(zhǎng)的數(shù)據(jù)(短信息長(zhǎng)度為140)
CRC校驗(yàn) 十六進(jìn)制數(shù) 4 數(shù)據(jù)段的校驗(yàn)結(jié)果
包尾 字符 2 固定為
該通信標(biāo)準(zhǔn)詳細(xì)定義了關(guān)于數(shù)據(jù)傳輸?shù)母袷剑ㄏ到y(tǒng)編號(hào),命令編號(hào)和數(shù)據(jù)區(qū)的描述,在文獻(xiàn)[5]中有詳細(xì)說(shuō)明。
5 結(jié)論(Conclusion)
本文分析了總線(xiàn)通信在污染源監(jiān)測(cè)自動(dòng)化上的應(yīng)用,對(duì)MODBUS通信在傳輸距離與帶寬上的不足進(jìn)行了剖析,闡述了CAN總線(xiàn)通信在污染源監(jiān)測(cè)應(yīng)用上的實(shí)施方案,并且針對(duì)環(huán)境監(jiān)測(cè)現(xiàn)場(chǎng)的應(yīng)用給出了總線(xiàn)通信的拓?fù)浣Y(jié)構(gòu)圖及布置方法。
參考文獻(xiàn)(References)
[1] 郭慧鵬.如何破解環(huán)保物聯(lián)網(wǎng)應(yīng)用難題[J].高科技與產(chǎn)業(yè)化,
2012(2):22-24.
[2] 葉欣,陳文藝,趙健.基于Matlab物聯(lián)網(wǎng)網(wǎng)關(guān)的Modbus協(xié)議實(shí)
現(xiàn)[J].測(cè)控技術(shù),2013(2):77-80.
[3] 趙強(qiáng),等.CAN總線(xiàn)控制器IP核設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)
展,2013(8):230-233.
[4] 孔祥通,等.基于CAN總線(xiàn)的嵌入式監(jiān)控設(shè)備的設(shè)計(jì)[J].中國(guó)
測(cè)試,2013(4):85-87;96.
[5] HJ/T212-2005.污染源在線(xiàn)自動(dòng)監(jiān)控(監(jiān)測(cè))系統(tǒng)數(shù)據(jù)傳輸標(biāo)
準(zhǔn)[S].
作者簡(jiǎn)介:
陳天運(yùn)(1994-),男,本科.研究領(lǐng)域:嵌入式計(jì)算.
趙寧社(1975-),男,博士.講師.研究領(lǐng)域:分布計(jì)算.
2 數(shù)據(jù)鏈路層 管理來(lái)自第一層的數(shù)據(jù),確保其傳輸路線(xiàn)為正確路線(xiàn)
CAN可兼容多種通信介質(zhì)(雙絞線(xiàn)、光纖、同軸線(xiàn)纜等)[4],最常用的通信介質(zhì)是雙絞線(xiàn),接口有兩條線(xiàn),一條是CAN_H,另一條是CAN_L。CAN收發(fā)接口靜態(tài)電位約為2.5V,此時(shí)狀態(tài)表示為邏輯“1”,也可叫做“隱形”;用CAN_H比CAN_L高表示邏輯“0”,此時(shí)各引腳的電壓為:CAN_H=3.5V,CAN_L=1.5V。
3.2 CANBUS的高層協(xié)議
現(xiàn)場(chǎng)總線(xiàn)通信從OSI模型的角度看,只規(guī)定了物理層、數(shù)據(jù)鏈路層及應(yīng)用層。由于一般沒(méi)有路由等要求,且通信模式為總線(xiàn)式,所以不需要傳輸層、網(wǎng)絡(luò)層、會(huì)話(huà)層、描述層。如在TI ISO1050芯片中只規(guī)定了最低兩層,并且這兩層的功能完全由硬件實(shí)現(xiàn),程序員無(wú)需為此再開(kāi)發(fā)固件或軟件。
CAN總線(xiàn)沒(méi)有對(duì)應(yīng)用層進(jìn)行定義,僅依賴(lài)硬件不能完成正常通信,其報(bào)文中的11位標(biāo)識(shí)符和8B的數(shù)據(jù)塊仍需要軟件設(shè)計(jì)與實(shí)現(xiàn)。目前,CAN-in Automation定義的標(biāo)準(zhǔn)有很多種,不過(guò)隨著CAN總線(xiàn)發(fā)展,CAL協(xié)議與基于CAL擴(kuò)展的CANopen協(xié)議已成一種被歐洲地區(qū)和多個(gè)國(guó)家廣泛承認(rèn)的協(xié)議,CANopen協(xié)議也成為了CAN總線(xiàn)的工業(yè)應(yīng)用標(biāo)準(zhǔn)。從應(yīng)用來(lái)看,CAL的協(xié)議比較完善,與MODBUS相比較,CAN總線(xiàn)能夠?qū)崿F(xiàn)更可靠的數(shù)據(jù)傳輸。
CANopen通訊方式可分三種:(1)主從模型;(2)客戶(hù)端/服務(wù)器模型;(3)生產(chǎn)者/消費(fèi)者。對(duì)比來(lái)看,主從模型結(jié)構(gòu)較容易使用,布線(xiàn)簡(jiǎn)單,配套軟件開(kāi)發(fā)也相對(duì)便捷,本文推薦使用主從模型作為污染源監(jiān)測(cè)系統(tǒng)現(xiàn)場(chǎng)總線(xiàn)結(jié)構(gòu)。
4 現(xiàn)場(chǎng)總線(xiàn)拓?fù)浣Y(jié)構(gòu)與通信設(shè)計(jì)(Fieldbus topology
& communicative design)
污染源監(jiān)測(cè)系統(tǒng)是一個(gè)系統(tǒng)工程,工業(yè)儀表將采集到的數(shù)據(jù)傳輸至現(xiàn)場(chǎng)環(huán)境監(jiān)控終端,進(jìn)一步上報(bào)給數(shù)據(jù)/通信服務(wù)器。通訊終端需要具備一些常用的功能,如控制設(shè)備的開(kāi)關(guān),上報(bào)數(shù)據(jù)頻率的設(shè)定,自身健康監(jiān)測(cè)等。工作人員通過(guò)工作站的客戶(hù)端向監(jiān)控終端下發(fā)命令,命令通過(guò)通訊服務(wù)器將指令下達(dá)給監(jiān)控終端。
以太網(wǎng)傳輸速率較快,使用此方法上報(bào)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)較妥當(dāng)。但需要考慮布線(xiàn)與維修會(huì)增加成本。若環(huán)境較惡劣,可通過(guò)無(wú)線(xiàn)通訊方式(2G或3G網(wǎng)絡(luò))來(lái)傳輸現(xiàn)場(chǎng)數(shù)據(jù),通訊鏈路可以由通訊模塊或在主板上增加通訊電路來(lái)實(shí)現(xiàn)。
4.1 現(xiàn)場(chǎng)總線(xiàn)拓?fù)浣Y(jié)構(gòu)
圖1 現(xiàn)場(chǎng)總線(xiàn)拓?fù)鋱D 圖2 CAN總線(xiàn)布置方法
Fig.1 Fieldbus topography Fig.2 CAN layout
如圖1所示,現(xiàn)場(chǎng)總線(xiàn)遵從主從模式,下位機(jī)為支持通過(guò)CAN總線(xiàn)、EIA-485、EIA-232或模擬信號(hào)數(shù)據(jù)上報(bào)的工業(yè)儀表。對(duì)于上報(bào)的模擬信號(hào)數(shù)據(jù)需要進(jìn)行數(shù)模(A/D)轉(zhuǎn)換后再通過(guò)CAN總線(xiàn)發(fā)送至監(jiān)控終端。視具體情形也可在需要的地方加入控制模塊、收集模擬/數(shù)字信號(hào),統(tǒng)一通過(guò)232/485上報(bào)數(shù)據(jù)至監(jiān)控終端。
監(jiān)控終端將收集到的數(shù)據(jù)通過(guò)通訊鏈路發(fā)送至數(shù)據(jù)/通訊服務(wù)器。同時(shí)監(jiān)控終端需響應(yīng)用戶(hù)發(fā)來(lái)的指令(設(shè)定數(shù)據(jù)采集時(shí)間間隔、儀器動(dòng)作等),還需要上報(bào)本機(jī)的健康狀態(tài)(電量、CPU、內(nèi)存、存儲(chǔ)設(shè)備的使用率等)。
4.2 CAN總線(xiàn)布置及通信協(xié)議的設(shè)定
現(xiàn)場(chǎng)總線(xiàn)的CAN收發(fā)器采用TI公司的ISO1050芯片。該芯片為隔離式5V CAN收發(fā)器,該芯片在CAN通信領(lǐng)域表現(xiàn)出色,其功能已經(jīng)完全滿(mǎn)足ISO11898的要求。監(jiān)控終端是采用Cortex v7架構(gòu)處理器的嵌入式系統(tǒng),搭載Linux/MiniGUI。由于現(xiàn)場(chǎng)環(huán)境惡劣,CAN總線(xiàn)需選用質(zhì)量較好的屏蔽雙絞線(xiàn)以減少電磁干擾和酸堿環(huán)境的腐蝕。現(xiàn)場(chǎng)CAN總線(xiàn)布置如圖2所示。
本系統(tǒng)中的CAN總線(xiàn)通信應(yīng)用層協(xié)議參照《中華人民共和國(guó)環(huán)境保護(hù)行業(yè)標(biāo)準(zhǔn)》(HJ/T212-2005)進(jìn)行設(shè)計(jì)[5]。標(biāo)準(zhǔn)中定義了傳輸數(shù)據(jù)的格式(應(yīng)用層),且有建議的通信方式(數(shù)據(jù)的獲取與上報(bào))。故通信協(xié)議按照表2所示方式進(jìn)行。
表2 通信包結(jié)構(gòu)組成
Tab.2 Structure of communication package
名稱(chēng) 類(lèi)型 長(zhǎng)度 描述
包頭 字符 2 固定為##
數(shù)據(jù)段長(zhǎng)度 十進(jìn)制整數(shù) 4 數(shù)據(jù)段的ASCII長(zhǎng)度
數(shù)據(jù)段 字符 0≤n≤1024 變長(zhǎng)的數(shù)據(jù)(短信息長(zhǎng)度為140)
CRC校驗(yàn) 十六進(jìn)制數(shù) 4 數(shù)據(jù)段的校驗(yàn)結(jié)果
包尾 字符 2 固定為
該通信標(biāo)準(zhǔn)詳細(xì)定義了關(guān)于數(shù)據(jù)傳輸?shù)母袷?,包括系統(tǒng)編號(hào),命令編號(hào)和數(shù)據(jù)區(qū)的描述,在文獻(xiàn)[5]中有詳細(xì)說(shuō)明。
5 結(jié)論(Conclusion)
本文分析了總線(xiàn)通信在污染源監(jiān)測(cè)自動(dòng)化上的應(yīng)用,對(duì)MODBUS通信在傳輸距離與帶寬上的不足進(jìn)行了剖析,闡述了CAN總線(xiàn)通信在污染源監(jiān)測(cè)應(yīng)用上的實(shí)施方案,并且針對(duì)環(huán)境監(jiān)測(cè)現(xiàn)場(chǎng)的應(yīng)用給出了總線(xiàn)通信的拓?fù)浣Y(jié)構(gòu)圖及布置方法。
參考文獻(xiàn)(References)
[1] 郭慧鵬.如何破解環(huán)保物聯(lián)網(wǎng)應(yīng)用難題[J].高科技與產(chǎn)業(yè)化,
2012(2):22-24.
[2] 葉欣,陳文藝,趙健.基于Matlab物聯(lián)網(wǎng)網(wǎng)關(guān)的Modbus協(xié)議實(shí)
現(xiàn)[J].測(cè)控技術(shù),2013(2):77-80.
[3] 趙強(qiáng),等.CAN總線(xiàn)控制器IP核設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)
展,2013(8):230-233.
[4] 孔祥通,等.基于CAN總線(xiàn)的嵌入式監(jiān)控設(shè)備的設(shè)計(jì)[J].中國(guó)
測(cè)試,2013(4):85-87;96.
[5] HJ/T212-2005.污染源在線(xiàn)自動(dòng)監(jiān)控(監(jiān)測(cè))系統(tǒng)數(shù)據(jù)傳輸標(biāo)
準(zhǔn)[S].
作者簡(jiǎn)介:
陳天運(yùn)(1994-),男,本科.研究領(lǐng)域:嵌入式計(jì)算.
趙寧社(1975-),男,博士.講師.研究領(lǐng)域:分布計(jì)算.