第13卷第18期2013年6月1671—1815(2013)18-5191-06
科学技术与工程
Science Technology and Engineering
Vol.13No.18Jun.2013 2013Sci.Tech.Engrg.
Modbus 协议RTU 模式与TCP
模式的通信转换设计
刘紫燕
冯
亮
詹志辉
(贵州大学计算机科学与信息学院,贵阳550025)
摘要Modbus 通信协议运用于电能优化管理系统中,需要将串行链路通信模式转换为以太网通信模式。在详细分析Mod-
bus 串行链路通信协议的基础上,分别实现了Modbus RTU 模式和Modbus TCP 模式的通信,然后完成了Modbus RTU 与Modb-us TCP 模式的通信转换。该方法为电能优化管理系统的通信和系统集中控制提供了良好的技术支持。关键词
Modbus 通信协议
电能优化管理系统
RTU 模式
TCP 模式
中图法分类号
TN929.5;
文献标志码
A
2013年3月6日收到
贵州省自然科学基金项目([2011]2193号)资助
第一作者简介:刘紫燕(1977—),女,贵州都匀人,副教授,硕士生导
师。研究方向:无线通信、嵌入式通信、下一代网络等。E-mail :374936833@qq.com 。
随着信息技术和工业现场控制技术的发展,电能优化管理系统将融合多种学科、结合多种技术。在电能优化管理系统中,各种智能模块和现场设备互连成通信网络,
以便最大限度的进行集中监控,因此网络通信和通信协议的运用是工业控制不可或缺的重要组成部分[1]
。Modbus 通信协议作为工
业控制领域最为流行的协议,
可以使用在电能优化管理系统集成之中。
目前常用的Modbus 通信分为两种物理接口方式,一种是经由RS-232C 兼容串行接口(或通过RS-232/485转换器转换成RS-485接口)组成Modbus 网络进行通信,另一种通过以太网结合TCP /IP 协议组成Modbus TCP 网络进行通信
[2]
。在Modbus
协议运用于电能优化管理系统中,需要实现串行链路通信模式向以太网模式的转换。现结合电能优化管理系统的通信需求,
分别实现了RTU 和TCP 模式的通信,并完成了RTU 与TCP 模式的通信转换,成功将Modbus 协议应用于电能优化管理系统中。随着工业以太网传输效率的不断提高、技术的不断完善,
Modbus 协议在电能管理领域的应用也将更加突出。
1Modbus 通信模式
Modbus 协议是由Modicon 公司在1979年开发
出来的网络协议,是第一个真正意义上用于工业现场的总线协议。它定义了设备与设备之间的信息传输方式,使控制器之间、控制器和其它设备之间可以进行通信和传输数据[3]
。
1.1
Modbus RTU 模式
Modbus 串行链路通信分RTU 和ASCII 两种协议传输模式
[4]
。ASCII 是早期的模式,现在已经很
少使用。由于RTU 模式在相同通信速率下具有更大的数据流量,所以现在几乎所有工业仪表都采用RTU 模式。RTU 模式规定了消息、数据的结构、命令和应答的方式,
在校验上,RTU 模式采用16位CRC 校验。表1为Modbus RTU 信息帧结构。
表1
Modbus RTU 信息帧结构
RTU 模式采用主-从方式进行通信,即主机发出查询命令数据帧,而从机响应查询命令数据帧作为对主机的响应信息。主机可单独和从机进行通信,在通信过程中,从机将返回一个消息帧。若主机采用广播方式进行查询,则从机对主机不作回应。主从设备查询、响应通信过程如图1所示。
图1主从设备查询、响应1.2Modbus TCP模式
Modbus TCP协议是基于Modbus协议的一种工业现场总线的自动化标准,是运行在TCP/IP上的用于控制和监督自动化设备的Modbus报文传输协议,该协议定义了在一个使用TCP/IP协议中如何对Modbus消息进行传输。通过此协议,主机和从机相互之间通过以太网等网络和其它设备进行通信。
Modbus TCP模式是将Modbus帧嵌入到TCP 帧,其数据帧格式如图2所示。MBAP报文头由传输标志、协议标志、长度和单元标志组成。Modbus 协议TCP模式相比RTU模式报文格式,多了前缀,少了后面的CRC校验,它是采用TCP/IP和链路层(以太网)校验和机制来校验分组交换的准确性[5]。
图2Modbus TCP信息帧格式
在Modbus TCP通信系统中可以包含两种不同类型的主机和从机:一种为连接至TCP/IP网络的Modbus TCP/IP主机和从机设备;另一种为互联设备,如TCP/IP网络和串行链路子网之间互联的路由器、网桥或
网关等,该子网允许将Modbus串行链路的主机和从机连接起来。Modbus TCP/IP通信结构如图3所示。
图3Modbus TCP/IP通信结构
2Modbus RTU模式的实现
在电能优化管理系统中,各种EOMS-Station以及能源监测Station等都是以串行链路的形式挂接在厂级Sever上,由厂级Server对EOMS-Station和能源监测Station进行监控以及通信控制。本节将通过RS232串口连接两台计算机构成所需的硬件平台,利用Modbus Poll和Modbus Slave软件模拟主从机来实现RTU模式通信的实现。
由电能优化管理系统的通信机制和需求可知,其实现主要包括两个部分:RTU模式主设备端程序和从设备端程序开发。程序开发的具体过程为:首先为Modbus RTU模式主设备编写串口通信程序,另一台计算机运行Modbus Slave软件作为RTU模式从设备;其次为RTU模式从设备编写串口通信程序,另一台计算机运行Modbus Poll软件作为RTU 模式主设备;最后,脱离Modbus Slave和Modbus Poll 软件来进行Modbus RTU串口通信的实现,从而完成电能优化管理系统的Modbus RTU模式的通信实现。
在使用Modbus Slave软件模拟RTU模式从设备时,应对其做出一些设置。在进行通信前,还要设置Modbus Slave的相关串口参数以及功能码的选取。主设备则对应从设备的相关参数进行设置,如:数据位、停止位、波特率、奇偶校验位以及功能
2915科学技术与工程13
16进制字符串转16进制数组卷
码的选取等。在本通信实现中,主机的参数设置是直接通过编程语言来进行设置,相关参数设置如表2所示。
表2Modbus Slave相关参数设置
属性意义/值
Port端口为COM1
port BaudRate9600
port DataBits8
port Parity Panty None
port StopBits StopBits one
slaveld表示需要被访问的从机号
startAddress表示主设备访问从设备的起始地址
Register表示主设备访问从设备的寄存器数
当编写好Modbus主设备的参数设置后,首先运行Modbus Slave从机模拟软件,使其处于监听的状态。然后运行Modbus RTU主设备端串口通信程序,程序将根据设置好的参数,发送相应请求帧,从机接收到主机发送的请求帧后,根据请求帧的请求内容,向主机发送相应的响应帧。在主机和从机通信过程中,Modbus RTU通信协议中的CRC校验能保证数据传输的准确性,可以根据主机请求帧中的功能码和从机响应帧中的功能码来确定串口通信内容是否正确[6]。图4为RTU模式主设备端程序运行显示的数据。
完成以上通信后即可得到RTU模式主设备端串口通信程序。然后为RTU模式从设备编写串口通信程序,另一台计算机运行Modbus Poll主机模拟软件作为RTU模式主设备来验证从机串口程序的正确性。以上工作完成后,可得到RTU模式主、从设备串口程序,从而实现电能优化管理系统中RTU 模式的通信。
3Modbus TCP模式的实现
在电能优化管理系统中,各种服务器(集团Server、监管部门Server、厂级Server等)都挂接在以太网上,通过以太网来实现服务器之间的通信。本节将通过两台计算机组成一个小型局域网来构成协议实现所需的硬件平台,利用Modbus Poll和Modbus Slave软件模拟主从机设备来实现Modbus TCP模式通信的实现。
与RTU模式通信的实现一样,TCP模式通信的实现也主要包括两个部分:TCP模式主机程序和从机程序开发。在Modbus Slave模拟从机的通信实现过程中,先对Modbus Slave进行设置,使其工作在Modbus TCP协议下,运行Modbus Slave的计算机即为Modbus TCP模式的从机。然后在另一台计算机运行Modbus TCP模式主机程序,所运行的主机程序应设置好被访问的从机的IP地址和端口号,这样两台计算机就可以分别当作主机和从机进行Modbus TCP模式的通信。图5为TCP模式主机端程序运行显示的数据。
由主机请求帧中的功能码和从机响应帧中的功能码等分析可得:Modbus TCP模式主机端通信程序运行
正确,Modbus TCP主机可以和Modbus Slave 从机模拟器进行通信。下面将对Modbus TCP模式从机通信程序的实现进行研究和分析。
图4RTU模式主设备端程序运行显示的数据3915
18期刘紫燕,等:Modbus协议RTU模式与TCP 模式的通信转换设计
图5TCP模式主机端程序运行显示的数据
在进行Modbus TCP模式从机通信程序实现过程中,需设置Modbus TCP模式从机的相关参数,然后运行Modbus TCP从机程序,等待Modbus TCP主机的访问。Modbus TCP主机通过Modbus Poll主机模拟器来实现,在Modbus Poll运行之前应对Modb-us Poll进行设置,使其工作在Modbus TCP模式下,并且在从机上设置好IP和相应的通信端口号。这样两台计算机分别作为基于Modbus TP模式的从机和主机进行通信,验证Modbus TCP模式从机通信程序正确性,从而实现电能优化管理系统中TCP模式的通信。
4Modbus RTU与TCP模式的通信转换的实现
如何使各种智能模块和现场设备互连成通信网络,最大限度的进行集中监控,成为电能优化管理系统中关键技术难题。所以必须将工业以太网在工业控制中发挥主干线网络作用,使其对串行链路通信集中控制。本节对Modbus RTU串行链路模式向TCP模式通信转换的研究也就可以解决上面这个问题,从而使
电能优化管理系统中各种智能模块和现场设备互连成通信网络等难题得到解决[7]。
电能优化管理系统中Modbus协议RTU模式与TCP模式的通信转换,目的要让RS—232/485等串口设备转化成具有TCP/IP网络界面的网络外设。在其实现过程中,本文使用了ZNE—300T/TI模块,它是周立功公司开发的一款全功能嵌入式以太网串口数据转换模块,内部集成了TCP/IP协议栈,可以完成嵌入式设备的网络功能,具有TCP Server、TCP Client、UDP和Real COM driver等多种工作模式,在本协议通信转换过程中主要运用到了TCP Server工作模式。图6为协议转换硬件连接图。
图6协议转换硬件连接图
连接好设备和模块后,通过ZNetCom软件对ZNE—300T/TI的IP地址信息、网络参数、串口参等进行设置。在Modbus通信协议转换实现前,应进一步确认整个连接环境的通信是否处于正常状态,以避免在通信协议转换实现的过程中带来不必要的困扰。
在Modbus协议TCP模式与RTU模式通信转换的实现过程中,其原理是将Modbus通信协议与以太网和串行链路分离。Modbus主机在TCP上传输至中间模块ZNE—300T/TI,然后ZNE—300T/TI将获得的信息帧通过串行链路透明传输给Modbus从机,从机接收到Modbus TCP信息帧进行解析,并将响应的信息帧返回给ZNE—300T/TI模块,ZNE—300T/TI模块将获得的串行链路的帧透明传输给Modbus主机,最后Modbus主机通过协议解析,将获得的Modbus RTU串行链路的信息帧解析为Modbus TCP信息帧。这样,
就完成了整个Modbus TCP与Modbus RTU模式通信的实现。图7为Modbus RTU
4915科学技术与工程13
卷
模式从机数据显示图,图8为Modbus主机发送和接收数据显示图。
图7Modbus RTU模式从机数据显示
由图8可知,主机基于Modbus TCP模式发送的命令帧为0,179,0,0,0,6,1,3,0,0,0,10。由Modb-us TCP的信息帧格式可以得出主机将向地址为1的从机设备读保持寄存器,读取起始地址为02,连续读取10个数据。并且读取的数据分别为21,22,23,24,25,26,27,28,29,30。对照图8从机数据可知读取数据正确。对照从机接收、发送的数据帧界面可知基于Modbus RTU模式接收和发送的数据帧正确。由此可知该通信正常,达到通信的预期效果,实现了Modbus TCP模式和RTU模式之间的通信。
图8Modbus主机发送和接收数据显示图
5结束语
在满足对电能优化管理系统通信需求的情况下,结合硬件设备和仿真软件,设计并实现了Modb-us RTU模式、Modbus TCP模式的通信,并完成了Modbus协议RTU与TCP模式的通信转换。从而可以解决电能优化管理系统中各种智能模块和现场设备互连成通信网络、最大限度进行集中监控等关键技术难题。随着工业以太网传输效率的不断提高、技术的不断完善,相信Modbus在电能管理领域的应用也将更加突出。
参考文献
1贾东耀,汪仁煌.工业控制网络结构的发展趋势.工业仪表与自动化装置,2002;(5):12—14
2刘沛津,谷立臣,韩行,等.基于Modbus/TCP的火电厂实时数据集成及网络通信控制器研制.电力自动化设备,2009;29(8):128—131
3中华人民共和国国家质量监督检验检疫总局,中国国家标准化管理委员会.基于Modbus协议的工业自动化网络规范GB/ Z19582.1—2004.北京:中国标准出版社,2004
4彭道刚,张浩,李辉,等.基于Modbus协议的ARM嵌入式监测平台设计与实现.电力自动化设备,2009;29(1):115—120 5R W Stevens.TCP/IP详解卷1:协议.北京:机械工业出版社,2000
6刘生辉,王克英,廖颜深.智能开关柜操控装置Modbus-RTU通讯协议的设计.电测与仪器,2010;47(7):77—80
7邹红利,葛洲.简化的Modbus通讯协议在实时通讯控制中的应用.武汉工业学院学报,2009;28(4):90—93
5915
18期刘紫燕,等:Modbus协议RTU模式与TCP
模式的通信转换设计
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论