APP下载

MODBUS与CANBUS总线在环保物联网的现场应用研究

2014-09-24陈天运赵宁社

软件工程 2014年6期
关键词:CAN总线污染源

陈天运+赵宁社

摘 要:就目前环境监测现场中总线技术的采用,分析了在应用中使用MODBUS总线的状况。从环境监测的体系架构出发,通过分析CAN总线的高层和底层通信协议,描述其在现场替代MODBUS的优势,提出了污染源在线实时监测系统现场的总线实施方案,给出了适于环境监测现场应用的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)

在当今时代,建设集可定制、安全、稳定、易部署于一身的环保物联网具有重要意义。污染源监测是其中一项重要内容,它以监测为手段确定污染物的排放来源、浓度和污染物种类等。目前我国的环保物联网建设与应用中还面临诸多挑战,存在传感器种类多、数据多源异构、技术综合等问题,同时其应用具有高复杂性[1],恶劣的监测环境还易影响到系统稳定性。

现场总线是许多工业用通讯协定的总称,一般用在DCS(分布控制系统),其协议定制简单,安全性较高,成本较低,维护方便,是污染源监测现场通讯方式的首选。目前监测环境现场总线大多为MODBUS串口组网。但受MODBUS通信方式所限,其总线工作存在着较大的不足,因而在实践中有了改进的考虑。

2 MODBUS通信分析(Analysis of MODBUS

communication)

MODBUS是OSI模型第7层上的应用层报文传输协议,其采用双绞线实现多个设备之间的通信。它在连接的不同类型网络设备或者总线之间提供主从问答式通信协议,常用RS-232/RS-485总线实现[2],主从站之间以查询/应答方式工作。

2.1 国家环保标准对MODBUS的支持

我国环保总局的《污染源在线自动监控(监测)系统数据传输标准》(HJ/T212-2005)中推荐使用MODBUS作为数据采集传输仪与现场设备的传输方式,兼容RS-232C串行接口,定义了针脚、波特率、奇偶校验、停止位等规范。协议工作分RTU和ASCII模式,较之后者,RTU模式在相同的比特率下有较高的传输效率,通常工业智能仪器仪表大多采用RTU模式。控制器通信使用Master/Slave技术,Master设备可以初始化查询,并对Slave设备发送命令,而Slave设备则可以根据Master设备发出的信号做出响应。

2.2 MODBUS通信的不足

RS-232C传输比特率最高为115200bps,但MODBUS协议需要定义地址、CRC校验位等,实际传输速率大约为8kB/s,传输速率较低。同时非平衡电路使得RS-232容易受到设备之间基点电压的影响,RS-232对于信号的上升期和下降期的控制能力较差,故RS-232被推荐在短距离(15m以内)通信。而污染源监控现场数据流量较大,且下位仪器距离较远,使用RS-232作为通信方式显然增加了布线难度。

3 CAN总线通信协议分析(Analysis of CAN bus

communication protocol)

CAN(Controller Area Network)以其高可靠性、高性能和实时性著名,被广泛用于工业控制、军事等众多领域[3]。作为一种多主总线系统,CAN的传输距离较长,可达10kM左右,抗干扰能力出色,在恶劣环境下也能保证安全快速地传输。

3.1 CAN总线的底层协议

CAN的层定义与OSI(开放系统互联模型)一致,其主要描述了设备之间的通讯方式。CAN的规范规定了OSI的物理层和数据链路层,如表1所示。

表1 OSI开放系统互联模型低两层

Tab.1 PHY & data link layers of OSI model

层序 名称 定义

1 物理层 规定传输介质的物理特性,包括电气特性和信号解析等endprint

2 数据链路层 管理来自第一层的数据,确保其传输路线为正确路线

CAN可兼容多种通信介质(双绞线、光纤、同轴线缆等)[4],最常用的通信介质是双绞线,接口有两条线,一条是CAN_H,另一条是CAN_L。CAN收发接口静态电位约为2.5V,此时状态表示为逻辑“1”,也可叫做“隐形”;用CAN_H比CAN_L高表示逻辑“0”,此时各引脚的电压为:CAN_H=3.5V,CAN_L=1.5V。

3.2 CANBUS的高层协议

现场总线通信从OSI模型的角度看,只规定了物理层、数据链路层及应用层。由于一般没有路由等要求,且通信模式为总线式,所以不需要传输层、网络层、会话层、描述层。如在TI ISO1050芯片中只规定了最低两层,并且这两层的功能完全由硬件实现,程序员无需为此再开发固件或软件。

CAN总线没有对应用层进行定义,仅依赖硬件不能完成正常通信,其报文中的11位标识符和8B的数据块仍需要软件设计与实现。目前,CAN-in Automation定义的标准有很多种,不过随着CAN总线发展,CAL协议与基于CAL扩展的CANopen协议已成一种被欧洲地区和多个国家广泛承认的协议,CANopen协议也成为了CAN总线的工业应用标准。从应用来看,CAL的协议比较完善,与MODBUS相比较,CAN总线能够实现更可靠的数据传输。

CANopen通讯方式可分三种:(1)主从模型;(2)客户端/服务器模型;(3)生产者/消费者。对比来看,主从模型结构较容易使用,布线简单,配套软件开发也相对便捷,本文推荐使用主从模型作为污染源监测系统现场总线结构。

4 现场总线拓扑结构与通信设计(Fieldbus topology

& communicative design)

污染源监测系统是一个系统工程,工业仪表将采集到的数据传输至现场环境监控终端,进一步上报给数据/通信服务器。通讯终端需要具备一些常用的功能,如控制设备的开关,上报数据频率的设定,自身健康监测等。工作人员通过工作站的客户端向监控终端下发命令,命令通过通讯服务器将指令下达给监控终端。

以太网传输速率较快,使用此方法上报现场实时数据较妥当。但需要考虑布线与维修会增加成本。若环境较恶劣,可通过无线通讯方式(2G或3G网络)来传输现场数据,通讯链路可以由通讯模块或在主板上增加通讯电路来实现。

4.1 现场总线拓扑结构

图1 现场总线拓扑图 图2 CAN总线布置方法

Fig.1 Fieldbus topography Fig.2 CAN layout

如图1所示,现场总线遵从主从模式,下位机为支持通过CAN总线、EIA-485、EIA-232或模拟信号数据上报的工业仪表。对于上报的模拟信号数据需要进行数模(A/D)转换后再通过CAN总线发送至监控终端。视具体情形也可在需要的地方加入控制模块、收集模拟/数字信号,统一通过232/485上报数据至监控终端。

监控终端将收集到的数据通过通讯链路发送至数据/通讯服务器。同时监控终端需响应用户发来的指令(设定数据采集时间间隔、仪器动作等),还需要上报本机的健康状态(电量、CPU、内存、存储设备的使用率等)。

4.2 CAN总线布置及通信协议的设定

现场总线的CAN收发器采用TI公司的ISO1050芯片。该芯片为隔离式5V CAN收发器,该芯片在CAN通信领域表现出色,其功能已经完全满足ISO11898的要求。监控终端是采用Cortex v7架构处理器的嵌入式系统,搭载Linux/MiniGUI。由于现场环境恶劣,CAN总线需选用质量较好的屏蔽双绞线以减少电磁干扰和酸碱环境的腐蚀。现场CAN总线布置如图2所示。

本系统中的CAN总线通信应用层协议参照《中华人民共和国环境保护行业标准》(HJ/T212-2005)进行设计[5]。标准中定义了传输数据的格式(应用层),且有建议的通信方式(数据的获取与上报)。故通信协议按照表2所示方式进行。

表2 通信包结构组成

Tab.2 Structure of communication package

名称 类型 长度 描述

包头 字符 2 固定为##

数据段长度 十进制整数 4 数据段的ASCII长度

数据段 字符 0≤n≤1024 变长的数据(短信息长度为140)

CRC校验 十六进制数 4 数据段的校验结果

包尾 字符 2 固定为

该通信标准详细定义了关于数据传输的格式,包括系统编号,命令编号和数据区的描述,在文献[5]中有详细说明。

5 结论(Conclusion)

本文分析了总线通信在污染源监测自动化上的应用,对MODBUS通信在传输距离与带宽上的不足进行了剖析,阐述了CAN总线通信在污染源监测应用上的实施方案,并且针对环境监测现场的应用给出了总线通信的拓扑结构图及布置方法。

参考文献(References)

[1] 郭慧鹏.如何破解环保物联网应用难题[J].高科技与产业化,

2012(2):22-24.

[2] 叶欣,陈文艺,赵健.基于Matlab物联网网关的Modbus协议实

现[J].测控技术,2013(2):77-80.

[3] 赵强,等.CAN总线控制器IP核设计实现[J].计算机技术与发

展,2013(8):230-233.

[4] 孔祥通,等.基于CAN总线的嵌入式监控设备的设计[J].中国

测试,2013(4):85-87;96.

[5] HJ/T212-2005.污染源在线自动监控(监测)系统数据传输标

准[S].

作者简介:

陈天运(1994-),男,本科.研究领域:嵌入式计算.

赵宁社(1975-),男,博士.讲师.研究领域:分布计算.

2 数据链路层 管理来自第一层的数据,确保其传输路线为正确路线

CAN可兼容多种通信介质(双绞线、光纤、同轴线缆等)[4],最常用的通信介质是双绞线,接口有两条线,一条是CAN_H,另一条是CAN_L。CAN收发接口静态电位约为2.5V,此时状态表示为逻辑“1”,也可叫做“隐形”;用CAN_H比CAN_L高表示逻辑“0”,此时各引脚的电压为:CAN_H=3.5V,CAN_L=1.5V。

3.2 CANBUS的高层协议

现场总线通信从OSI模型的角度看,只规定了物理层、数据链路层及应用层。由于一般没有路由等要求,且通信模式为总线式,所以不需要传输层、网络层、会话层、描述层。如在TI ISO1050芯片中只规定了最低两层,并且这两层的功能完全由硬件实现,程序员无需为此再开发固件或软件。

CAN总线没有对应用层进行定义,仅依赖硬件不能完成正常通信,其报文中的11位标识符和8B的数据块仍需要软件设计与实现。目前,CAN-in Automation定义的标准有很多种,不过随着CAN总线发展,CAL协议与基于CAL扩展的CANopen协议已成一种被欧洲地区和多个国家广泛承认的协议,CANopen协议也成为了CAN总线的工业应用标准。从应用来看,CAL的协议比较完善,与MODBUS相比较,CAN总线能够实现更可靠的数据传输。

CANopen通讯方式可分三种:(1)主从模型;(2)客户端/服务器模型;(3)生产者/消费者。对比来看,主从模型结构较容易使用,布线简单,配套软件开发也相对便捷,本文推荐使用主从模型作为污染源监测系统现场总线结构。

4 现场总线拓扑结构与通信设计(Fieldbus topology

& communicative design)

污染源监测系统是一个系统工程,工业仪表将采集到的数据传输至现场环境监控终端,进一步上报给数据/通信服务器。通讯终端需要具备一些常用的功能,如控制设备的开关,上报数据频率的设定,自身健康监测等。工作人员通过工作站的客户端向监控终端下发命令,命令通过通讯服务器将指令下达给监控终端。

以太网传输速率较快,使用此方法上报现场实时数据较妥当。但需要考虑布线与维修会增加成本。若环境较恶劣,可通过无线通讯方式(2G或3G网络)来传输现场数据,通讯链路可以由通讯模块或在主板上增加通讯电路来实现。

4.1 现场总线拓扑结构

图1 现场总线拓扑图 图2 CAN总线布置方法

Fig.1 Fieldbus topography Fig.2 CAN layout

如图1所示,现场总线遵从主从模式,下位机为支持通过CAN总线、EIA-485、EIA-232或模拟信号数据上报的工业仪表。对于上报的模拟信号数据需要进行数模(A/D)转换后再通过CAN总线发送至监控终端。视具体情形也可在需要的地方加入控制模块、收集模拟/数字信号,统一通过232/485上报数据至监控终端。

监控终端将收集到的数据通过通讯链路发送至数据/通讯服务器。同时监控终端需响应用户发来的指令(设定数据采集时间间隔、仪器动作等),还需要上报本机的健康状态(电量、CPU、内存、存储设备的使用率等)。

4.2 CAN总线布置及通信协议的设定

现场总线的CAN收发器采用TI公司的ISO1050芯片。该芯片为隔离式5V CAN收发器,该芯片在CAN通信领域表现出色,其功能已经完全满足ISO11898的要求。监控终端是采用Cortex v7架构处理器的嵌入式系统,搭载Linux/MiniGUI。由于现场环境恶劣,CAN总线需选用质量较好的屏蔽双绞线以减少电磁干扰和酸碱环境的腐蚀。现场CAN总线布置如图2所示。

本系统中的CAN总线通信应用层协议参照《中华人民共和国环境保护行业标准》(HJ/T212-2005)进行设计[5]。标准中定义了传输数据的格式(应用层),且有建议的通信方式(数据的获取与上报)。故通信协议按照表2所示方式进行。

表2 通信包结构组成

Tab.2 Structure of communication package

名称 类型 长度 描述

包头 字符 2 固定为##

数据段长度 十进制整数 4 数据段的ASCII长度

数据段 字符 0≤n≤1024 变长的数据(短信息长度为140)

CRC校验 十六进制数 4 数据段的校验结果

包尾 字符 2 固定为

该通信标准详细定义了关于数据传输的格式,包括系统编号,命令编号和数据区的描述,在文献[5]中有详细说明。

5 结论(Conclusion)

本文分析了总线通信在污染源监测自动化上的应用,对MODBUS通信在传输距离与带宽上的不足进行了剖析,阐述了CAN总线通信在污染源监测应用上的实施方案,并且针对环境监测现场的应用给出了总线通信的拓扑结构图及布置方法。

参考文献(References)

[1] 郭慧鹏.如何破解环保物联网应用难题[J].高科技与产业化,

2012(2):22-24.

[2] 叶欣,陈文艺,赵健.基于Matlab物联网网关的Modbus协议实

现[J].测控技术,2013(2):77-80.

[3] 赵强,等.CAN总线控制器IP核设计实现[J].计算机技术与发

展,2013(8):230-233.

[4] 孔祥通,等.基于CAN总线的嵌入式监控设备的设计[J].中国

测试,2013(4):85-87;96.

[5] HJ/T212-2005.污染源在线自动监控(监测)系统数据传输标

准[S].

作者简介:

陈天运(1994-),男,本科.研究领域:嵌入式计算.

赵宁社(1975-),男,博士.讲师.研究领域:分布计算.

2 数据链路层 管理来自第一层的数据,确保其传输路线为正确路线

CAN可兼容多种通信介质(双绞线、光纤、同轴线缆等)[4],最常用的通信介质是双绞线,接口有两条线,一条是CAN_H,另一条是CAN_L。CAN收发接口静态电位约为2.5V,此时状态表示为逻辑“1”,也可叫做“隐形”;用CAN_H比CAN_L高表示逻辑“0”,此时各引脚的电压为:CAN_H=3.5V,CAN_L=1.5V。

3.2 CANBUS的高层协议

现场总线通信从OSI模型的角度看,只规定了物理层、数据链路层及应用层。由于一般没有路由等要求,且通信模式为总线式,所以不需要传输层、网络层、会话层、描述层。如在TI ISO1050芯片中只规定了最低两层,并且这两层的功能完全由硬件实现,程序员无需为此再开发固件或软件。

CAN总线没有对应用层进行定义,仅依赖硬件不能完成正常通信,其报文中的11位标识符和8B的数据块仍需要软件设计与实现。目前,CAN-in Automation定义的标准有很多种,不过随着CAN总线发展,CAL协议与基于CAL扩展的CANopen协议已成一种被欧洲地区和多个国家广泛承认的协议,CANopen协议也成为了CAN总线的工业应用标准。从应用来看,CAL的协议比较完善,与MODBUS相比较,CAN总线能够实现更可靠的数据传输。

CANopen通讯方式可分三种:(1)主从模型;(2)客户端/服务器模型;(3)生产者/消费者。对比来看,主从模型结构较容易使用,布线简单,配套软件开发也相对便捷,本文推荐使用主从模型作为污染源监测系统现场总线结构。

4 现场总线拓扑结构与通信设计(Fieldbus topology

& communicative design)

污染源监测系统是一个系统工程,工业仪表将采集到的数据传输至现场环境监控终端,进一步上报给数据/通信服务器。通讯终端需要具备一些常用的功能,如控制设备的开关,上报数据频率的设定,自身健康监测等。工作人员通过工作站的客户端向监控终端下发命令,命令通过通讯服务器将指令下达给监控终端。

以太网传输速率较快,使用此方法上报现场实时数据较妥当。但需要考虑布线与维修会增加成本。若环境较恶劣,可通过无线通讯方式(2G或3G网络)来传输现场数据,通讯链路可以由通讯模块或在主板上增加通讯电路来实现。

4.1 现场总线拓扑结构

图1 现场总线拓扑图 图2 CAN总线布置方法

Fig.1 Fieldbus topography Fig.2 CAN layout

如图1所示,现场总线遵从主从模式,下位机为支持通过CAN总线、EIA-485、EIA-232或模拟信号数据上报的工业仪表。对于上报的模拟信号数据需要进行数模(A/D)转换后再通过CAN总线发送至监控终端。视具体情形也可在需要的地方加入控制模块、收集模拟/数字信号,统一通过232/485上报数据至监控终端。

监控终端将收集到的数据通过通讯链路发送至数据/通讯服务器。同时监控终端需响应用户发来的指令(设定数据采集时间间隔、仪器动作等),还需要上报本机的健康状态(电量、CPU、内存、存储设备的使用率等)。

4.2 CAN总线布置及通信协议的设定

现场总线的CAN收发器采用TI公司的ISO1050芯片。该芯片为隔离式5V CAN收发器,该芯片在CAN通信领域表现出色,其功能已经完全满足ISO11898的要求。监控终端是采用Cortex v7架构处理器的嵌入式系统,搭载Linux/MiniGUI。由于现场环境恶劣,CAN总线需选用质量较好的屏蔽双绞线以减少电磁干扰和酸碱环境的腐蚀。现场CAN总线布置如图2所示。

本系统中的CAN总线通信应用层协议参照《中华人民共和国环境保护行业标准》(HJ/T212-2005)进行设计[5]。标准中定义了传输数据的格式(应用层),且有建议的通信方式(数据的获取与上报)。故通信协议按照表2所示方式进行。

表2 通信包结构组成

Tab.2 Structure of communication package

名称 类型 长度 描述

包头 字符 2 固定为##

数据段长度 十进制整数 4 数据段的ASCII长度

数据段 字符 0≤n≤1024 变长的数据(短信息长度为140)

CRC校验 十六进制数 4 数据段的校验结果

包尾 字符 2 固定为

该通信标准详细定义了关于数据传输的格式,包括系统编号,命令编号和数据区的描述,在文献[5]中有详细说明。

5 结论(Conclusion)

本文分析了总线通信在污染源监测自动化上的应用,对MODBUS通信在传输距离与带宽上的不足进行了剖析,阐述了CAN总线通信在污染源监测应用上的实施方案,并且针对环境监测现场的应用给出了总线通信的拓扑结构图及布置方法。

参考文献(References)

[1] 郭慧鹏.如何破解环保物联网应用难题[J].高科技与产业化,

2012(2):22-24.

[2] 叶欣,陈文艺,赵健.基于Matlab物联网网关的Modbus协议实

现[J].测控技术,2013(2):77-80.

[3] 赵强,等.CAN总线控制器IP核设计实现[J].计算机技术与发

展,2013(8):230-233.

[4] 孔祥通,等.基于CAN总线的嵌入式监控设备的设计[J].中国

测试,2013(4):85-87;96.

[5] HJ/T212-2005.污染源在线自动监控(监测)系统数据传输标

准[S].

作者简介:

陈天运(1994-),男,本科.研究领域:嵌入式计算.

赵宁社(1975-),男,博士.讲师.研究领域:分布计算.

猜你喜欢

CAN总线污染源
气相色谱法测定固定污染源有组织废气中的苯系物
持续推进固定污染源排污许可管理全覆盖
基于污染源解析的空气污染治理对策研究
十二五”期间佳木斯市污染源排放状况分析
看不见的污染源——臭氧
论网络通信技术
基于嵌入式的汽车辅助制动系统研究
CAN总线通信技术在电梯监控系统中的应用
基于CANoe的J1939协议在ECU通信中的应用
实施工业污染源全面达标排放计划适时开征环境保护税