文|浙江中控研究院有限公司 黄岩峰 张军凯 谢灿华 金伟江 朱 练
现场总线已经在工业自动化领域获得广泛应用;近年来,随着工业过程信息技术的发展,传统的现场总线技术在许多应用场合已经难以满足用户不断增长的需求。基于以太网的通信技术是工业自动化领域的发展方向所在;与传统的现场总线技术相比,工业以太网技术具有应用广泛、软硬件资源丰富、实时性强、易于与Internet或工业控制网络连接等诸多优点。目前,工业以太网技术已成为工业应用领域中的一个研究热点。
由于历史原因,工业过程控制领域存在多种各具特色的通信协议,目前主要的工业以太网标准有Modbus/TCP、EtherNet/IP、PROFINET、Powerlink、EtherCAT以及我国的EPA等多种。工业过程信息化与自动化要求使用这些不同协议的装备、传感器、仪器能够实现互联,这就需要解决不同协议之间信息传送的问题。
协议转换要求能够完整、正确地对不同协议标准的数据进行解析和封装,同时响应迅速,满足实时性和安全性要求。基于精简指令集(RISC)架构的ARM微处理器指令执行效率高,外围扩展电路丰富,能够满足实时多任务的要求。因此,本文基于ARM7技术,设计了EtherCAT与Modbus/TCP的工业以太网协议转换卡,以期解决不同现场总线系统之间互通互连的问题,为企业实现异构系统的综合自动化监控奠定基础。
EtherCAT(Ethernet for Control Automation Technology)是德国Beckhoff公司开发的一种实时工业以太网现场总线技术。该技术在以太网报文经过EtherCAT从站时利用专门的控制芯片直接提取或插入相应的编址数据,同时将报文传输给下一个EtherCAT从站,省去了对接收到的以太网报文进行存储、解码、提取过程数据并复制到各个设备的过程,从而大幅降低了数据任务处理量,同时提高了网络带宽的利用率,缩小了通信总线传输的延迟(整个过程中报文只有几纳秒的时延)。
EtherCAT使用标准的以太网数据报文格式传输,无任何数据压缩;以太网类型使用特定的0x88A4,因此其数据帧可以通过任何以太网MAC发送。EtherCAT数据的报文结构如图1所示。一个EtherCAT帧中可以包含若干个EtherCAT报文,每个报文都服务于一块逻辑过程映射区的特定内存域,该区域最大存储量可达4GB。数据传输时,报文帧头中的命令读取或写入数据到报文指定位置;同时,从站硬件令该报文的工作计数器加1,表示该数据被处理。EtherCAT报文在单个以太网帧中最多可以实现1486个字节的分布式过程数据通信。
Modbus是Modicon公司最早提出的串行链路通信协议;Modbus/TCP协议则是此后Schneider公司基于TCP/IP以太网推出的,问世后迅速成为了工业自动化领域的标准协议。
图1 EtherCAT数据报文格式示意图
Modbus协议本身基于主从模式,即通信双方一方为Master,一方为Slave,双方不能互换角色。Modbus协议数据由四部分组成。
(1)地址域
地址域的长度为一个字节,包含从站地址,有效地址范围为0~247(地址0用于广播)。从站在自身地址与数据包裹中的地址匹配时,作出响应。
(2)功能码域
功能码域的长度为一个字节,用于通知从站执行何种操作。
(3)数据域
数据域长度不定,由具体应用决定;采用大端模式,高字节在前,低字节在后。
(4)校验域
校验域的长度为两个字节,采用CRC-16校验。
Modbus/TCP协议的应用层采用Modbus协议;传输层使用TCP协议,并使用502端口;网络层使用IP协议,使得Modbus/TCP既可以在局域网中使用,也可以在广域网中使用。目前Modbus/TCP协议在以太网中的传输速度为10M/100M。
Modbus/TCP采用标准以太网报文格式。用户数据首先在应用层封装,该层包括MBAP头、功能码、数据部分,其中MBAP头中包含了协议相关的事务标识符、协议标识符、数据长度以及Modbus协议中的地址域信息(校验域由于以太网报文本身已有校验功能而略去);然后在应用层之外再加上20字节的TCP报头,20字节的IP报头,26字节的MAC帧头、帧尾,12字节的以太网报头、报尾,构成完整的以太网报文(最大报文长度为338字节,最小报文长度为87字节)。Modbus/TCP以太网报文封装如图2所示。
图2 Modbus/TCP以太网报文格式
硬件电路设计主要涉及基于NXP公司的LPC2478的ARM7最小核心系统、EtherCAT接口电路、以太网接口电路、CAN接口电路、RS485和RS232电路等。LPC2478是16/32位的ARM7TDMI-S CPU内核的控制器,拥有512kB的片内高速Flash、98kB的内部SRAM,CPU时钟频率可达72MHz,非常适合于通信网关和协议转换器场合。图3即整个系统的框架图。
图3 协议转化卡结构框架
如图3所示,系统硬件电路主要由以下几部分组成:
◆电源转换部分采用专门的电源管理芯片将+5V电压转换为+3.3V(LPC2478以+3.3V供电),为ARM7芯片数字和模拟部分提供电源;
◆时钟电路采用12MHz的有源晶振或无源晶振作为系统主时钟;可以通过LPC2478内部的锁相环电路实现时钟倍频功能,使最高时钟频率达到72MHz;
◆看门狗电路采用专门的硬件产品,以提高系统可靠性;若CPU在1.6s内没有将看门狗清零,系统即复位;
◆JTAG和ISP接口采用ARM公司的标准边界扫描接口,可将用户程序下载到Flash中编译调试;通过ISP接口可实现在系统编程。
(1)EtherCAT接口电路
EtherCAT接口电路主要由从站控制芯片ET1100构成。ET1100是Beckhoff公司开发的EtheCAT从站控制器专用芯片,带有四路物理层接口,支持MII和EBUS两种类型接口,在硬件上实现了EtherCAT协议的数据链路层,并可以很容易地实现级联。LPC2478通过片上外部存储器控制器(EMC)与EtherCAT控制专用芯片ET1100连接,并通过16位并行总线对其内部DPRAM进行数据存取。EtherCAT硬件电路如图4所示。
图4 EtherCAT硬件接口电路
(2)以太网接口电路
LPC2478内部集成了MAC控制器,可以方便地扩展以太网接口电路。接口电路主要由外部PHY接口芯片、网络变压器等组成。PHY接口芯片采用DP83848,可以实现10/100M通信速率,同时也支持MII或RMII接口方式;网络变压器则实现电平隔离和转换,并通过RJ45接口连接上位机或现场总线设备。LPC2478与物理层器件的接口电路如图5所示。
图5 LPC2478以太网接口电路
(3)扩展功能电路
协议转换卡也设计有CAN、RS485、RS232接口电路,可支撑功能扩展。LPC2478内部有两路CAN控制器,每路控制器均提供了CAN收发引脚,为了适应于工业应用环境,CAN控制器外部仍需扩展隔离收发电路才能构成CAN节点。隔离收发电路采用了集成的收发模块CTM1050,实现了电平转换与隔离。RS485和RS232接口电路提供串口通信功能。
协议转换卡主要用于以太网功能扩展,图6为其功能框图。EtherCAT协议的实现基于主从站模式,从站部分功能作为嵌入式实时操作系统的任务实现数据区交互,其中交互区数据直接映射至EtherCAT从站控制器双口RAM中,主站可在扫描周期内实时读取。Modbus/TCP协议的实现基于客户端/服务器模式,客户端以固定周期(20ms)循环读取服务端数据并将之存储于数据I/O交互区,其中TCP/IP协议栈可以采用硬件或软件实现。
图6 程序功能框图
以传输30个点的AI数据(数据值为0x00AA)测试为例,TwinCAT组态软件作为EtherCAT主站,发送下行读取数据报文,Modbus Slave软件作为Modbus/TCP服务端模拟上传的AI数据,协议转换卡分别作为EtherCAT的从站和Modbus/TCP的客户端。在上位机主站观测到的,读取的30个AI数据的EtherCAT报文如图7所示,其中EtherCAT应答报文格式完全符合以太网标准且类型为0x88A4,数据区也正确提取了服务端的30个AI数据。
图7 协议转换卡通信报文
选取两个通道分别接收模拟信号输入和开关量信号输入,协议转换卡通过普通以太网连接异构网络中的Modbus/TCP协议模块,由其采样模拟和数字信号量,并经协议转换卡上传至EtherCAT主站。模拟通道输入信号为正弦电压信号,幅值100mV,频率1Hz。信号经协议转化卡上传至EtherCAT主站后,通过TwinCAT自带的Scope View软件观测到的,采集数据的波形如图8所示;可以看到,在上位机上观测到的波形与模拟端输入信号一致。开关量输入信号为数字DI信号,开关变化周期为1s;通过上位机观测软件观测到的数据波形如图9所示。由此可以验证,协议转换卡满足了数据采集的准确性、完整性和连续性的要求。
图8 模拟输入通道观测波形
图9 数字输入通道观测波形
近些年,随着以太网技术广泛地应用于工业自动化通信领域,控制系统数据传输的带宽与实时性得到了极大的提升;然而,多种现场总线协议并存的现状给工业过程控制中的设备互联与信息互通造成了很大的困难。EtherCAT与Modbus/TCP作为具有代表性的现场总线协议标准,在工业中得到了广泛的应用。本文具体研究了基于EtherCAT与Modbus/TCP的工业以太网协议转换卡的设计与实现,并通过实测,验证了该协议转换卡可以实现上述两种异构网络之间的双向通信,其性能满足工业过程协议转换的实时性和准确性要求。该协议转换卡实际产品已经获得了成功应用。