APP下载

基于Modbus TCP的工业网关设计

2014-09-06

机械与电子 2014年12期
关键词:字节网关以太网

, ,

(西安航天自动化股份有限公司,陕西 西安 710065)

基于Modbus TCP的工业网关设计

张建奇,陶怡,李墨翰

(西安航天自动化股份有限公司,陕西 西安 710065)

利用Modbus TCP技术,设计一种工业网关,实现了Modbus协议和ZigBee协议转换功能。网关与上位机之间通讯采用了ModBus TCP协议、与各种IO节点之间采用无线ZigBee协议。网关硬件基于STM32F107控制芯片和CC2530 ZigBee芯片,软件基于Keil uVision4开发编译环境和μC/OS-Ⅱ实时操作系统。经过试验测试及现场应用,结果表明,该网关具有工业通讯实时性高、可靠性强和安全性高等优点,同时具有低成本、低能量和高容错性等特点,可以满足工业应用实时性、可靠性和安全性的要求,在提升现有网络性能方面具有很大优势,可以替代传统通讯网络,具有很好的应用前景。

Modbus TCP;工业以太网;ZigBee;网关设计

0 引言

近年来,随着工业自动化领域的发展,工业现场对网络的可靠性及成本有极高的要求[1]。传统基于串口的工业网关可以满足工业现场的应用,但在工业线缆上付出了高额成本[2]。市场上设计的基于Modbus TCP的工业Modbus网关,大多采用单片机加以太网通讯模块的形式,虽然节省了网络线缆的成本,却使网关设计烦琐,可靠性难以保证。这里所述网关可靠性强,稳定性好,实时性高,解决了工业现场布线难题,节约了工业现场的线缆成本。

基于工业以太网,硬件采用STM32F107控制芯片和CC2530 ZigBee芯片,软件采用μC/OS-Ⅱ实时操作系统,内置软件地址映射表,设计了一款新型工业网关,满足工业现场总线可靠性与低成本的要求,且设计集成度高,稳定性和安全性得到了保证。

1 系统设计[3-4]

1.1 硬件架构

硬件架构如图1所示。

图1 硬件架构

a.主控模块。主控模块采用ST公司的STM32F107互联性芯片为主控芯片,采用16Mbit SPI串行闪存芯片SST25VF016B扩充网关存储空间,外接MAX3232串口芯片和DP83848CVV与上位机通讯。主控模块通过串口与ZigBee模块通讯。

b.ZigBee模块。ZigBee模块的无线网络协调器采用TI公司的CC2530PA芯片,射频前端采用TI公司的CC2591芯片。

c.电源模块。设计采用12 V电源板供电。

此外,工业网关有3路工作指示灯,分别指示电源工作状态、主控模块工作状态及ZigBee模块工作状态。

1.2 软件设计

软件部分主要实现了Modbus协议与ZigBee协议的转换及节点信息存储功能,如图2所示。工业网关的核心软件在应用层之下的协议转换和数据存储。

图2 软件结构

1.2.1 优先级及数据结构设计

工业网关并发地接收Modbus协议帧与ZigBee协议帧,并根据协议帧的类型做出相应的处理。在网关内部设置接收处理优先级,当Modbus协议帧与ZigBee协议帧同时达到网关时,由嵌入式操作系统μC/OS-Ⅱ根据优先级进行选择性接收处理。如表1所示,Modbus协议帧接收、处理优先级高于Zigbee协议帧接收、处理的优先级,网关数据映射表的操作优先级高于协议帧的接收、处理,TCP/IP连接建立的优先级处于用户任务优先级最高。在网关运行过程中,由μC/OS-Ⅱ操作系统严格按照优先级对任务次序进行调度。

按照表1所示优先级,仅次于TCP/IP建立连接的是数据映射表操作。数据映射表是存储在工业网关内部用于存储ZigBee网络节点信息的连续存储块。数据映射表向上位机提供ZigBee网络节点的信息,向ZigBee网络记录节点的信息。

表1 工业网关任务优先级

任务名称任务ID优先级TCP/IP建立连接112数据映射表操作214Modbus协议帧接收、处理316ZigBee协议帧接收、处理418

Modbus协议帧接收、处理主要是工业网关通过工业以太网接收上位机发出的Modbus协议帧,根据协议帧中的功能码选择相应的操作。系统所述工业网关设计实现了Modbus协议中的8种功能。Modbus协议帧格式如图3所示。

图3 Modbus协议帧格式

依据图3所示的Modbus协议帧,设计Modbus协议帧数据结构为:

struct ModbusFrm

{

uint8_t ThingIdHi;//事物元标识1,1字节

uint8_t ThingIdLo;//事物元标识2,1字节

uint16_t AgreementId;//协议标识,2字节

uint16_t Length;//长度,2字节

uint8_t UnitId;//单元标识,1字节

uint8_t FunCode;//功能码,1字节

uint16_t StartAdd;//起始地址,2字节

uint16_t Num;//访问数量,2字节

}ModbusFrm;

ZigBee协议帧接收、处理主要是工业网关通过串口接收ZigBee节点信息,更新数据映射表内的节点信息。ZigBee协议帧结构如图4所示。

图4 ZigBee协议帧结构

依据图4 ZigBee协议帧结构,设计ZigBee协议帧数据结构为:

struct Zmbap

{

uint8_t StartCode;//起始码,1字节

uint8_t FrameType; //帧类型,1字节

uint16_t Length;//长度,2字节

}Zmbap;//ZigBee协议帧头

struct Zend

{

uint8_t CheckNum;//校验和,1字节

uint8_t EndCode; //结束位,1字节

}Zend;//zigbee协议帧尾struct Zframe

{

struct Zmbap;//帧头,4字节

uint8_t *DataDomain; //数据域,不定长

struct Zend;//结束位,1字节

} Zframe;//ZigBee协议帧结构

1.2.2 数据映射表设计

工业网关内部采用嵌入式数据映射表。网关对上位机提供的服务就是为上位机查询或修改网关内嵌数据表的数据,网关与ZigBee网络的交互就是网关数据表与ZigBee网络设备数据同步的过程。工业网关为上位机提供的服务包括对离散量的操作、对线圈的操作和对寄存器的操作[5],对应ZigBee网络设备则由数字量设备和模拟量设备向网关内嵌数据库提供数据。工业网关内嵌映射数据模型如图5所示。

图5 工业网关数据映射模型

数字量设备与模拟量设备在网关中的存储如图6所示。

图6 设备信息存储模型

1.2.3 软件流程设计

工业网关软件流程设计描述整个系统之间对象的交互情况。设计将网关分为4个对象描述,分别是上位机PLC、工业网关、工业网关数据映射库和工业网关ZigBee网络。描述采用序列图的形式,具体描述如图7所示。

图7 工业网关软件序列

工业网关上电启动,系统开始运行,工业网关完成初始化之后,启动ZigBee网络设备,并初始化映射数据库。ZigBee网络设备启动后进行设备的查询,即ZigBee节点的信息查询。网关待ZigBee网络设备就绪后,对ZigBee网络设备信息进行查询,ZigBee返回设备信息并更新映射数据库。映射数据库第一次更新完毕后,网关处于等待状态,等待上位机PLC的连接。在网关等待连接的过程中,ZigBee设备按一定的时间间隔对映射数据库进行数据更新。上位机PLC发起连接后,网关与PLC建立连接,等待PLC发送Modbus协议帧,网关接收协议帧后对协议帧进行解析,根据协议帧执行相应的操作。在网关执行完协议帧所制定的操作之后,按照Modbus协议组帧,并向PLC回传协议回复帧。之后如无其他协议帧操作,则释放连接,等待下一次连接或操作。工业网关软件详细流程如图8所示。

图8 工业网关详细流程设计

2 试验测试与现场应用

基于工业以太网的工业网关设计,在网关内部设置了数据映射表,使ZigBee网络设备信息及时存储与更新,有效提高了上位机对节点设备信息访问的实时性;采用嵌入式实时操作系统μC/OS-Ⅱ设计了不同的优先级,保证了上位机访问信息的实时性与准确性,同时也提高了上位机指令和ZigBee网络命令执行效率,缩短了命令执行时间;硬件设计采用SPI闪存芯片,提高了信息存储的容量及存储效率;Modbus协议帧采用TCP/IP传输,传输稳定可靠;网关与ZigBee网络采用带校验码的协议帧进行通讯,为网关与ZigBee网络通讯的可靠性提供保证。

采用1台PLC主站、3台电脑、1个工业网关、3种ZigBee节点设备对工业网关进行测试。PLC主站连接工业网关,3台电脑分别连接3种ZigBee节点。测试结果如表2所示。

表2 工业网关测试结果

测试点测试报文测试结果数字量输出设备网关控制命令及时接收到输出指令数字量输入设备网关查询命令能够查询到设备最新信息模拟量输入设备网关查询命令能够查询到设备最新信息

污水厂现场应用,配置工业网关、数字量节点和模拟量节点各1台。将数采设备布置在欲采集的设备附近,将工业网关布置在控制柜中,通过工业以太网连接工业网关与上位机,通过上位机访问现场数据。经过现场长期应用,工业网关性能稳定、可靠。

3 结束语

经过试验测试与现场应用,结果显示,基于Modbus TCP的工业网关在工业现场可以进行安全、可靠和稳定的数据处理与传输;ZigBee节点信息数据能实时上传、更新和存储;网关与上位机采用工业以太网通讯符合工业自动化发展趋势;基于Modbus TCP的工业网关设计合理、有效、实用,可以取代传统通讯网络,并具有很好的应用前景。

[1] Yu C B,Liu Y F,Wang C.Research on ZigBee wireless sensors network based on Modbus protocol[J].Wireless Sensor Network,2009,1(1):43-47.

[2] 邢伟伟,白瑞林,孟伟.ZigBee无线网关在MODBUS通信中的运用[J].计算机工程与应用,2011,47(29):81-84.

[3] 李佳,谢琦,王庆华.基于网关的ZigBee网络与Internet互联框架[J].计算机工程与设计,2012,33(9):3332-3336.

[4] 涂煊,彭瑜,周怡颋,等.Modbus通信协议的紫蜂无线传输网络的研究[J].自动化仪表,2007,28(7):10-13.

[5] Willig A,Matheus K,Wolisz A.Wireless technology in industrial networks[J].Proceedings of the IEEE,2005,93(6):1130-1151.

Design of Industrial Gateway on Modbus TCP

ZHANGJianqi,TAOYi,LIMohan

( Xi’an Aerospace Automation Co.,Ltd.,Xi’an 710065,China)

Based on Modbus TCP,A new kind of Industrial gateway is designed in this paper.The communication between gateway and epigynous machine is based on TCP/IP protocol of network transport layer,the communication between gateway and various IO nodes is based on wireless ZigBee protocol.The Hardware of gateway is designed based on STM32F107 control unit and CC2530 ZigBee unit,software is based on Keil uVision4 compiler development environment and μC/OS-Ⅱreal-time operating system.The experimental results indicates: The ZigBee gateway based on industrial Ethernet shows some characteristics including industrial communication real-timed,reliability,safety,it also containing low cost,low energy consumption,high fault tolerance.The above results yield the advantage of gateway in the area of network performance,it can replace traditional communication network.

Modbus TCP; industrial ethernet; ZigBee; gateway design

2014-07-03

TP273.5

A

1001-2257(2014)12-0050-04

张建奇(1975-),男,陕西西安人,高级工程师,研究方向为物联网与自动控制技术;陶怡(1986-),男,陕西西安人,软件工程师,研究方向为软件工程与物联网技术;李墨翰(1984-),男,陕西西安人,工程师,研究方向为电子线路板设计及物联网技术。

猜你喜欢

字节网关以太网
No.8 字节跳动将推出独立出口电商APP
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
No.10 “字节跳动手机”要来了?
简谈MC7字节码
谈实时以太网EtherCAT技术在变电站自动化中的应用
LTE Small Cell网关及虚拟网关技术研究
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计