一种基于W5500的ModbusTCP服务器系统设计

2018-05-14 17:42渠薇韩宗平姜久慧陶为戈潘瑜韩晓新
江苏理工学院学报 2018年2期
关键词:控制系统服务器

渠薇 韩宗平 姜久慧 陆 毅 陶为戈 潘瑜 韩晓新

摘 要:Modbus协议是由Modicon公司在1979年研发的一种完全开放免费的总线通信协议,目前已经在工业领域得到了广泛应用。因为现在将Modbus/TCP传输协议投放于工业控制中是可行而方便的,并且它的帧格式较为简单易懂,所以先是简明扼要地介绍了Modbus/TCP規范以及以太网芯片W5500,最后给出了一个基于W5500的Modbus/TCP服务器的系统设计。

关键词:W5500;Modbus/TCP;服务器;控制系统

中图分类号:TP393.09 文献标识码:A 文章编号:2095-7394(2018)02-0052-05

近年以来,以太网方面的网络技术发展日新月异,工业控制也已经逐渐走向了集中监控、集散控制的形式,并且以以太网为代表的通信技术正逐渐成为工业控制发展中的新兴方向。[1]到如今,利用最新网络技术,为工业控制器连网来进行网络管理提供了方便。

Modbus协议是属于电子控制器上的一种网络协议。因为就现在来看,以太网通信具有价格低、稳定性高和速率高等优点,所以就成为了应用最广而且最受欢迎的通信网络之一[2]。而不管现代工业控制领域持续不断产生怎样先进的概念,Modbus协议的简单性使它能便于在许多通信媒体上实施应用,从而成为了应用最广泛的工业协议。

1 基于工业以太网的 Modbus/TCP协议

1.1 工业以太网通信协议模型

现在常见的工业以太网的通信模型如图 1所示[3]。

目前有两种重要的网络参考模型:开放式通信系统互联网(OSI)七层参考模型和TCP五层参考模型。其中开放式通信系统互联网(OSI)七层参考模型是由国际标准化组织制订,而后者目前则是被国际互联网(Internet)采用的一种通信模型。

OSI参考模型共分为七层,分别是:

(1)应用层(英文缩写为APDU);(2)表示层(英文缩写为PPDU);(3)会话层(英文缩写为SPDU);(4)运输层(英文缩写为TPDU);(5)网络层(报文);(6)数据链路层(以帧为单位);(7)物理层。

1.2 Modbus/TCP通信协议模型

当我们在使用Modbus协议进行有关通信时,此协议的作用是要能够按地址识别发来的消息并判断是否要读取,再决定要产生出的怎样的消息反应;如需要回应,应产生反馈信息并通过协议发送。数据链路层与物理层(见图1)中常用IEEE802.3协议来执行功能。而在网络层采用了IP协议,在传输层采用了TCP协议。它通过三次握手来完成TCP协议的面向连接,从而实现数据报的传输。

目前已知该通信协议比起其它协议具有以下几个特点。

(1)一直以来,Modbus协议都是让用户可以免费获取并且使用其作为通信协议的,内容都是完全公开发布的。

(2)Modbus协议是能够与多种接口适配并且使用的,例如RS485接口、TCP/IP接口等等,应用广泛;还可以使用多种介质进行传输,如红外、双绞线、光纤等等。

(3)在Modbus协议里用来流通的帧的格式较为简单,方便人们理解和使用,厂商也容易开发和集成,方便形成工业控制网络。

所以虽然Modbus协议已经发展到了极为成熟的阶段,但仍是最为普及的通信方式之一,模型如图2所示。

1.3 客户端 / 服务器模式

在使用Modbus/TCP报文来进行各种服务时大多会采用一种客户端/服务器的形式来进行信息交换与传输(但有时也会用于构建主/从架构),而此时所使用的报文模式就基于以下的四种报文类型[4]:

(1)Modbus请求;

(2)Modbus确认;

(3)Modbus指示;

(4)Modbus响应。

该通信模式框图如图 3所示。

1.4 以太网芯片W5500

以太网芯片W5500是目前在市面上推出的一款较新的以太网芯片之一,它的性能很高,其内部有能够同其他许多硬件相结合的全硬件的TCP/IP协议栈。它能更简易地实现互联网的一些连接方案,不仅非常方便可靠,而且还有安全性高以及速度快等优点。我们将系统与W5500以太网芯片相结合,并将完整的Modbus协议栈移植到了里面,从而实现了Modbus /TCP协议的通信功能。

已知W5500的TCP/IP协议栈是可以支持TCP、UDP等多种协议的。我们在使用W5500芯片的时候,只需要使用简单的Socket编程语句就可以实现我们所想要实现的一些以太网的应用[5]。用户能够自己在应用时使用这种芯片来进行网络的配置,由于在以太网芯片W5500中已经存在了TCP/IP协议栈,所以使用W5500芯片比起其他的方案更加的简单、方便。

通过W5500芯片所提供的外设接口,我们能够将其更好地与外设结合起来,从而完成这方面的设计。并且,W5500芯片是使用了新型的SPI协议,这种协议性能较为高效,所以能够达到高达80MHz的速率,体现了它的速率快的特点,并且能很好地且较为平稳地实现网络通信的高速运行。W5500芯片还提供了两种模式来让客户能够有选择更合适的模式:一是网络唤醒(WOL)模式,二是掉电模式 [6] ,这是为了减少系统的功耗。

2 系统介绍与实验分析

2.1 服务器端软件设置

基于Modbus协议的在使用时具有传输实时性好以及可靠性等优点。又由于以太网资源应用广泛,而Modbus协议对何种网络进行通信不做要求,故系统选择以太网作为传输网络,并将TCP/IP作为传输协议,以Modbus协议作为通信协议[7]。

本实施例部分包括:以太网芯片W5500、Modbus协议模块、Socket编程模块(见图4)。

在主函数中,调用Socket状态机来实现Modbus /TCP。但在这之前,要对W5500以及Modbus协议栈进行初始化配置,其步骤如下:

(1)注册W5500SPI接口回调函数;

(2)W5500Socket收发寄存器大小的初始化;

(3)W5500网络初始化,主要配置的有网关地址、IP地址等等;

(4)MCU SPI接口初始化;

(5)FreeModbus的初始化和使能,等等。

2.2 实验环境介绍

实验是设计一种基于W5500的Modbus TCP服务器系统,其包括:以太网芯片W5500、Modbus协议模块、Socket编程模块等。

若开发板是服务器,电脑网络软件就是可以作为客户端来使用,所以选择协议类型为:TCP_Client。客户端需要连接服务器,也就需要服务器的 ip,再次填写ip,这个网络参数,在实验的时候,可以自己设置。服务器的端口号为5000(这是要看你的具体设备属性的),如果要改变端口号的话,要注意使用修改后的端口号,在这里就用5000为端口号。设置好上面的 3 个参数后,点击连接。观察窗口如图5所示。

2.3 实验结果与分析

在测试过程中,采用了工程现场常用的、专业的抓包工具软件Wireshark,来对实验效果来进行进行测试[8],假设我们使用的PC机用来作为客户机,设置实验下载了系统的W5500芯片的部分作为服务器来使用,在此处将IP地址设为192.168.0.60,子网掩码设为255.255.255.0(子网掩码在各个PC机上大多数都是相同的,所以基本上是不会变的),网关地址设置为192.168.0.1。客户机IP地址设为192.168.0.40,而在这里只要设置的客户机的IP地址与服务器的IP地址在同一个网段就可以,子网掩码和网关地址设置与服务器相同。在经过了一段时间的测试网络连接与观察抓包数据后,解决了一些连接和抓取时的问题,最终所测试出来的客户端的情况是:读取数据基本正确、刷新也十分及时,并没有出现超时等异常的情况,可以进行正常的以太网客户端/服务器的数据收发,表明了这款Modbus TCP服务器能够较好地支持与客户端的连接并正确读取数据,保持通信顺畅。

3 结语

基于W5500的ModbusTCP服务器系统设计具有实时性、效率高等特点。介绍了Modbus/TCP协议的各个方面,以及此次需要用到的主要硬件部分也是主要的芯片W5500。设计出了一种基于Mobus/TCP的工業以太网的服务器系统,而在研究协议内容的基础上,还详细地介绍和设计了该服务器系统的各种框图状况、部件结构等。观察串口成功通信和成功抓包验证的结果可以表明,本次设计的控制系统各项功均能基本实现。

参考文献:

[1] 胡文翔,蔡政,郭伟玮,等.面向RS-485控制网络的Modbus协议扩展及应用[J].自动化仪表,2013,34(04):59-61+65.

[2] 姜斌,刘彦呈,孙凡金,等.基于Modbus/TCP的工业控制网络设计[J].低压电器,2007(13):30-33.

[3] 徐银生,王昕.基于以太网的Modbus/TCP协议的实时性研究[J].微计算机应用,2007(12):1256-1259.

[4] 司马莉萍,贺贵明,陈明榜.基于Modbus/TCP协议的工业控制通信[J].计算机应用,2005(S1):29-31.

[5] 王广维,张浩然.基于ARM和W5100的嵌入式以太网通信接口设计[J].微型机与应用,2001 ,30(5):50-53

[6] 黄大昌,丁力.单片机和硬协议栈的Modbus TCP通信方案[J].单片机与嵌入式系统应用,2016,16(6):17-20.

[7] 郑丰收,李艾华,王宝贵.基于MODBUS和TCP/IP协议的温湿度监控系统[J].中国仪器仪表,2011(10):53-56.

[8] 俞野秋,陈坚.Modbus和Modbus-TCP协议转换研究[J].仪表技术,2013(01):28-31.

A ModbusTCP Server System Based on W5500

QU Wei ,HAN Zong-Ping,JIANG Jiou-Hui ,LU Yi ,TAO Wei-Ge,PAN Yu,HAN Xiao-Xin

(School of Electricity and Information Engineering, Jiangsu University of Technology, Changzhou 213001, China)

Abstract: The Modbus protocol, a fully open and free bus communication protocol developed by Modicon company in 1979, has been widely used in the industrial field and has been widely used in the field of [1]. Because it is feasible and convenient to put Modbus/TCP transport protocol in industrial control now, and its frame format is simple and easy to understand, so in this paper, the Modbus/TCP specification and Ethernet chip W5500 are introduced briefly and briefly. Finally, a system design of Modbus/TCP server based on W5500 is given.

Key words: W5500; Modbus/TCP; server; control system

责任编辑 张志钊

猜你喜欢
控制系统服务器
2018年Q4中国x86服务器市场规模大幅增长
2018年全球服务器市场将保持温和增长
DNS权威服务器选择方式研究
基于PLC的自动切蛋糕机的控制方案
Ka频段卫星通信自适应抗雨衰控制系统设计
基于PLC的钢厂热连轧感应加热炉控制系统实现
风力发电机组电气与控制系统快速检修思路探索
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵