APP下载

PROFINET-Modbus通信网关的设计

2020-10-19郭翠娟李中原

仪表技术与传感器 2020年9期
关键词:组态网关以太网

郭翠娟,李中原,荣 锋

(1.天津工业大学电子与信息工程学院,天津 300387;2.天津市光电检测技术与系统重点实验室,天津 300387)

0 引言

传统以太网的数据传输延时一般都在100 ms以上,而自动化行业所需的延时一般都要求10 ms以下,传统以太网无法满足自动化领域对实时性的需求,因此PROFIBUS国际组织提出了PROFINET标准,此标准涵盖了安装技术、实时通信、网络管理以及Web集成功能等方面。[1-2]

PROFINET是基于工业以太网的现场总线通信系统,它包涵一整套完整的标准,PROFINET可以实现工业现场领域对以太网实时性的需求。PROFINET是一种性能卓越的现场总线标准,PROFINET总线具有显著优势。由于PROFINET技术是由传统以太网改进而来的,并且所涉及的通信协议比较复杂,而目前工厂企业广泛使用的传感器、执行器、仪器仪表设备大多是通过单片机的串行接口与外部系统进行通信,企业若放弃原有设备而直接使用PROFINET接口设备,这样会对原有投资造成很大的浪费。短期内如果想要实现PROFINET总线与现有的总线之间的通信,通过网关桥接是一个很好的选择。[3]因此,研发一种高性能,低成本的PROFINET网关设备,将现阶段工厂大量使用的设备接入PROFINET网络。[4-5]

本文在研究了PROFINET通信协议的基础上,提出了PROFINET协议和Modbus协议相互转换的网关硬件设计方案,编写了网关协议转换程序,实现了PROFINET网络和Modbus网络之间数据的双向传输。[6]网关的软件设计是基于eCos操作系统,eCos是一种可配置实时操作系统,它具有高度可配置性,占用资源少、实时性强、开源,并且完全免费。[7-8]其最大的特点是可配置性高,这样极大提高了系统的灵活性与可靠性,能有效缩短开发的周期。测试结果表明,本文设计的网关实现了PROFINET总线与Modbus总线之间的数据交换,从而实现了两种总线的互联互通。[9-10]

1 PROFINET网关设计目标与系统架构

1.1 网关总体设计

网关整体由系统核心模块、PROFINET接口模块、FLASH存储模块、SDRAM存储模块、Modbus接口模块组成。系统核心模块由ERTEC200处理器和电源电路、JTAG调试接口组成。处理器是ERTEC200P芯片,它负责eCos操作系统的运行,协议数据包的解析,协议栈的转换和信息的处理。图1为系统整体结构框图。

图1 系统整体结构框图

ERTEC200P是一款专用的高性能ARM处理器,其内部有2路集成PHY的百兆以太网接口,具有强大的运算能力和协议处理能力,其支持IO设备循环通信时间最小间隔为32.25 μs,其同步传输时循环速率小于1 ms。ERTEC200P性能可以达到网关系统设计的要求。

1.2 网关工作原理

PROFINET协议转Modbus协议网关可以实现RPOFINET数据与Modbus数据的交换,当进行数据交换时,可以通过TIA PORTAL软件实时监测数据的传输。网关在PROFINET一侧作为从站,在Modbus侧作为主站,当网关作为Modbus主站时,即网关主动向Modbus设备发送通信信息,等待设备应答。PROFINET控制器组态完成之后向网关发送组态信息,网关主站解析组态信息,并按组态信息设置波特率、数据长度、奇偶校验、停止位、发送间隔等参数,参数信息设置完成之后网关作为Modbus主站开始与网络中的从站设备进行通信。

2 PROFINET网关硬件平台设计

PROFINET转Modbus网关硬件部分主要包含ERTEC200P模块、PROFINET接口模块、FLASH存储模块、SDRAM存储模块、RS-485模块、GPIO模块。网关硬件电路设计如图2所示。

图2 网关硬件电路框图

2.1 ERTEC200P模块

ERTEC200P是一款增强的实时以太网控制器,ERTEC200P内置了1个PN-IP内核,内部集成了高性能PROFINET通信PHY。ERTEC200P芯片内部还包括ARM926EJ-S处理器,支持125/250 MHz的核心频率、16KB的数据缓存、16KB的指令缓存;片上设备包括6个定时器、 4个UART、2个SPI接口;存储控制器支持8/16/32位数据总线。

2.2 PROFINET接口模块

ERTEC200P处理器内部集成两个以太网接口,支持100Base-TX和100Base-FX并且支持自动交互。芯片内部集成了双端口的 IRT交换机,支持100 Mbps以太网通讯速率,能够工作在全双工和半双工模式。其内部集成的双端口 IRT交换机,可以满足实时性要求苛刻的IRT通信。使用芯片内部的PHY功能不仅可以节省硬件成本,还可以减小板卡的面积;除此之外,选用带有网络隔离变压器的RJ45接口,不但可以实现信号的有效隔离,提高其抗干扰能力,还能通过外围器件实现阻抗匹配。图3为PROFINET接口电路图。

图3 PROFINET接口电路

2.3 RS-485接口电路

RS-485接口电路采用的芯片是MAX13487,它是一款低功耗半双工 RS-485收发器。该芯片在数据传输时可以自动实现方向控制,芯片采用1/4单元负荷允许在总线上最多挂载128个收发器,MAX13487的最大传输速率可以达到16 Mbps,符合系统设计的要求。具体电路图如图4所示。

图4 RS-485接口电路

2.4 FLASH存储模块

FLASH芯片选用W25Q128FV,其容量为128 Mbit,工作电压为 2.7~3.6 V,正常工作时电流仅为4 mA,该FLASH芯片支持标准的SPI总线接口,与处理器的SPI接口相连接,操作简单。该芯片性能优越,而且可以降低网关的成本。 W25Q128FV主要用来存储 eCos操作系统、 PROFINET协议栈和应用程序。具体电路如图5所示。

图5 FLASH存储模块电路

2.5 SDRAM存储模块

SDRAM存储芯片作为程序运行的内存空间,系统上电后会把FLASH中的程序代码复制到SDRAM芯片中,由于本系统需要运行eCos操作系统和PROFINET协议栈,故程序需要的运行内存较大,所以本系统选取外置SDRAM。本系统选用的MT48H32M16LF作为SDRAM芯片,该芯片的工作电压为1.8 V,与ERTEC200P处理器通过EMC(external memory controller)接口相连接,原理图中的地址线 EMC_AB2~EMC_AB14分别连接至SDRAM芯片的A0~A12引脚。系统上电后eCos操作系统、 PROFINET协议栈和应用程序都将在SDRAM中运行。具体电路如图 6所示。

图6 SDRAM存储模块电路

3 PROFINET网关软件平台设计

3.1 网关协议栈架构

图7为PROFINET网关的软件系统架构,PROFINET IO协议栈主要由具有统一接口与系统无关的基本软件包、系统整合包、操作系统抽象层、 eCos实时操作系统和eCos板级包、应用程序部分组成。基本软件包由 ACP、CM、CLRPC、DCP、 EDD、GSY、POF、LLDP、MRP、OHA、TCP/IP Stack和SOCK组成,这些基本包只提供各种库函数功能,只有与系统整合包结合才能成为系统实际可执行部分;系统整合包主要由SYS、LSAS、TSKMA组成,它管理操作系统服务与系统独立基础包之间的通信接口,例如内存管理、任务管理、进程间通信和时间管理等,系统适配器还实现了IO堆栈的软件结构,它决定了每个基础包在哪个任务之中执行以及任务之间相互通信的机制;操作系统抽象层的作用是在系统适配器和特定的操作系统之间形成一个低层的抽象接口,当软件被移植到一个不同的操作系统时,只需要更改操作系统抽象层即可;eCos实时操作系统主要用来管理设备的网卡、串口、 SDRAM、FLASH存储系统以及任务之间的调度等;应用程序部分主要完成PROFINET数据与Modbus数据之间的转换,数据的打包或数据的重组。

图7 网关软件系统架构

3.2 PROFINET组态信息处理部分

PROFINET协议与 Modbus协议通信主要包括两个部分:PROFINET控制器与IO设备之间的通信,IO设备与Modbus设备之间的通信,IO设备即为PROFINET网关设备。为了实现 IO设备与PROFINET控制器之间的通信功能,需要PROFINET网关设备能够正确处理PROFINET控制器下发的组态信息;在自动化系统中PROFINET系统启动是由控制器发起,控制器一般是PLC,图8为PROFINET组态信息的处理过程示意图。

图8 PROFINET组态信息处理示意图

当所有的组态参数都已经下载到设备,则控制器使用参数化结束帧(end of par.req)来标记参数化结束。当设备中所有的数据结构都已经创建并已完成必要的检查,则设备向控制器发送 Appl Ready响应,告知控制器其已准备好进行数据通信。

3.3 Modbus指令处理部分

Modbus网络中有一个主站和多个从站,每个从站都有一个唯一的地址,主站向从站发出命令请求,从站响应主站的请求。Modbus帧由地址域、功能码、数据和差错校验组成,Modbus PDU的定义为功能码加数据。图9为通用Modbus帧结构示意图。

图9 通用Modbus帧结构示意图

Modbus指令分为读指令和写指令两种,读指令包括读线圈和读寄存器指令,写指令包括写线圈和写寄存器指令,具体的指令由通过Modbus数据帧中的功能码决定。当Modbus指令为读指令时,系统发出读请求命令,同时启动读请求超时函数,若在规定的时间内收到应答,则接收数据,若数据校验正确则返回读取的数据;当Modbus指令为写指令时,系统发出写指令请求,同时启动写请求超时函数,若在规定的时间内收到应答,则接收数据,若接收到数据校验正确,则返回写成功。Modbus读写线圈和寄存器的流程如图10所示。

3.4 PROFINET循环数据交换

PROFINET循环数据交换主要是实现IO控制器与IO设备之间数据的双向交换功能,以便用来监视及控制现场设备。PROFINET数据与Modbus数据交换示意图如图11所示。网关设备开始轮询Modbus设备是否有要发送的数据,若有Modbus数据存在,网关设备接收其数据,然后将接收到的数据通过以太网发送给IO控制器;若网关设备接收到PROFINET网络中IO控制器发送的数据,网关设备将PROFINET数据重新打包为Modbus数据帧,然后通过RS-485总线发送给Modbus设备。

图11 网关数据交换示意图

PROFINET IO设备和IO控制器之间进行数据交换时,是通过PROFINET IO协议栈中的输入/输出缓冲区完成的,输入/输出缓冲区分为Indata区和Outdata区,Indata和Outdata是针对IO控制器来说的,Indata区用来存储从网关设备读取的数据,Outdata区用来存储发往网关设备的数据。网关协议转换流程图如图12所示。

图12 网关协议转换流程图

4 PROFINET网关系统测试

本设计采用S7-1200 PLC作为IO控制器,完成PROFINET IO控制器与Modbus从站设备之间动态网关的通信测试。本设计使用TIA Portal V15软件通过以太网向S7-1200 PLC发送组态信息,S7-1200作为IO控制器通过以太网向IO设备即网关发送数据,网关设备收到PROFINET数据后将其转换打包为Modbus帧格式,通过RS-485接口将数据发送给Modbus从机设备。同时使用Wireshark及Modbus Slave协议工具来监视网关通信过程中传输的数据,以验证其通信的正确性及可靠性。测试环境的结构如图13所示。

图13 网关测试环境框图

系统测试工具为:SIMATICH S7-1200,其是一款紧凑型、模块化的PLC,可扩展性强、灵活性高,带有PROFINET接口,可以实现与网关设备之间的PROFINET通信。

MERCURY交换机: MERCURY SG105 Pro交换机带有端口镜像功能,可以将PC、S7-1200、网关设备连接起来,通过端口镜像功能将PROFINET数据映射到交换机特定的端口,通过Wireshark可以方便的监听传输的报文。

Modbus Slave协议软件:该软件是一款集成的Modbus Slave协议工具,通过配置可以设置为从站模式,并且能够进行 Modbus数据的接收和发送,该软件可以实时显示Modbus主站和Modbus从站之间的数据传输过程,同时能够显示和存储要传输的数据。

TIA Protal V15软件:该软件是全集成自动化编程软件,内部集成了STEP7、WINCC等,通过该软件可以实现PLC的组态以及系统的在线监测。

图14为Modbus Slave从站模拟软件要传输的64字节的数据,从机地址是1,功能码是0x03,传输的数据为0x0001~0x0020共计64字节的数据。

图14 Modbus Slave从站3号功能码数据传输

图15为Wireshark捕获的PROFINET网络中传输的PROFINET数据,由图15可知,网关的 MAC源地址是 08:00:06:02:01:10,PLC的MAC地址是e0:dc:a0:4f:6c:c8,PROFIENT帧标识是0x8892,数据传输类型是PROFINET周期实时数据。

图15 Wireshark捕获PROFINET数据

图16为TIA在线监测PLC中传输的数据,由图16可以验证PROFINET控制器通过网关设备可以与Modbus从机设备之间正常通信。

图16 PLC在线监测3号功能码数据传输

5 结束语

本文提出了一种基于PROFINET协议的动态网关的设计方案,实现了PROFINET数据与Modbus数据之间的循环交换,该网关使用ERTEC200P处理器为核心,通过PROFINET协议栈实现PROFINET协议与Modbus协议之间的相互转换。测试结果表明该网关可以实时、可靠的完成数据的通信与转换,解决了PROFINET总线与Modbus总线之间数据通信的问题,推动了传统工业总线通信向工业以太网的发展进程。

猜你喜欢

组态网关以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于PLC及组态技术的恒温控制系统开发探讨
信号系统网关设备的优化
基于PLC和组态的智能电动拧紧系统
谈实时以太网EtherCAT技术在变电站自动化中的应用
铸造行业三维组态软件的应用
基于PLC和组态的新型回转类测试设备的研制
LTE Small Cell网关及虚拟网关技术研究
浅谈EPON与工业以太网在贵遵高速公路中的应用
应对气候变化需要打通“网关”