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