APP下载

实时以太网EtherMAC与Modbus RTU协议通讯*

2013-09-12靳东张承瑞胡天亮赵同亮

组合机床与自动化加工技术 2013年9期
关键词:上位以太网变频器

靳东,张承瑞,胡天亮,赵同亮

(山东大学机械工程学院,济南 250061)

0 引言

随着自动化技术的不断发展,传统的现场总线已不能满足工业控制对加工的精度、速度和同步性的要求,为此,各大公司和标准化组织纷纷推出工业实时以太网技术解决方案,如Ethernet/IP,EtherCAT,Powerlink等。然而目前绝大多数的实时以太网技术解决方案都必须依靠专用网卡或硬实时操作系统来保证实时性,成本较高,限制了系统的开放程度[1-3]。EtherMAC(Ethernet for Manufacture Automation Control)是面向制造自动化控制的国产实时同步工业以太网总线平台,主控制器基于标准以太网,无需专有网卡和硬实时操作系统,从节点使用现场可编程门阵列(Field-Programmable Gate Array,FPGA)实现,利用FPGA的硬实时特性保证系统的实时性,目前已应用在数控机床、机器人、纺织机械等多种自动化设备的运动控制中。

Modbus是目前全球工业控制领域最流行的协议之一,支持RS-232、RS-485和以太网接口设备,协议包括ASCII和RTU两种传输模式,现已成为我国工业自动化网络协议规范的国家标准之一[4-6]。Modbus RTU是国际智能化仪表普遍采用的主流通讯协议,国内外一些知名品牌的智能仪表、变频器、传感器,如施耐德、ABB、三菱、等都采用或兼容Modbus RTU通讯协议,一些伺服电机的通讯接口(如安川、汇川)或绝对值编码器接口也支持Modbus RTU协议[7]。

Modbus RTU传输介质一般采用RS-485,目前控制Modbus设备主要通过PLC或上位机串口实现。PLC的体系结构是封闭的,各PLC厂家的硬件体系和编程语言互不兼容,特定的产品必须学习特定的编程语言。上位机串口一般采用RS-232,需要外接转换器连接Modbus设备,缺少通用性。若设计一种网关实现EtherMAC总线兼容Modbus RTU协议,可将EtherMAC的开放性和Modbus RTU的通用性相结合,对于数控系统等自动化设备,基于标准工业计算机,采用EtherMAC一种总线即可方便实现与Modbus设备的互连。

1 实时以太网EtherMAC通讯原理

EtherMAC总线通常采用链状网络拓扑结构,主控制器基于标准网卡,无需硬实时操作系统,从节点利用FPGA实现,连接方式如图1所示。

图1 EtherMAC总线连接方式

1.1 EtherMAC数据帧格式

EtherMAC数据帧采用集总帧的形式,每个下发和上传的数据帧中包含了所有从节点的数据,数据结构完全遵循IEC802.3标准,具体格式如图2所示。

图2 EtherMAC数据帧格式

EtherMAC数据段中各个节点的数据相互独立,节点数据采用节点号+节点长度+节点内容的方式,操作数据采用地址+长度+指令的方式。主控制器下发数据时,从节点只将属于本节点的数据截获下来并转发;从节点上传数据时,主控制器根据节点号区分各个节点的状态信息并做相应的处理,这种方式简单易行,传输效率高。

1.2 EtherMAC通讯机制

EtherMAC通讯机制分为枚举、配置和周期通讯三个阶段。枚举阶段,主控制器向从节点下发枚举数据包,枚举包遍历每个节点并为其分配节点号,到达末节点后,末节点组织上传反馈数据,并依次返回各从节点的设备类型;配置阶段,主控制器下发配置数据包,设定EtherMAC的通讯周期;周期通讯阶段,主节点开启周期通讯之后,由从节点0管理网络,以后的周期通讯都由从节点0发起。

EtherMAC同步机制采用分布时钟和节点延时补偿的方式,由从节点0启动每一轮的周期通讯,同步机制如图3所示。

图3 EtherMAC同步机制

首先,主控制器将各从节点需要执行的数据组成以太网数据帧下发,该时刻不需要十分精确,各从节点在接收数据包的同时将属于本节点数据保存下来并转发给下一个从节点。当从节点开启新一轮周期通讯T时,向其后的从节点下发同步短帧,该时刻由FPGA精确计算,同时启动节点的延时测量模块,之后每个从节点在收到同步短帧都启动本节点的延时测量模块。当从节点n收到同步短帧后开始组织上传反馈数据,经过各从节点时,各从节点将本节点的反馈数据添加到数据包的末尾继续上传并停止本节点的延时测量模块,此时测量的延时值为ΔT,各节点将延时测量值和物理延时值补偿给本节点时钟,并规定在同一锁存时刻执行同步动作。这样,主控制器无需专用网卡和硬实时操作系统即能保证EtherMAC总线的实时性和各节点的同步性。

2 Modbus RTU协议分析

Modbus是目前全球工业控制领域最流行的协议之一,支持RS-232、RS-485和以太网接口设备,具有简单、开放、帧格式紧凑等优点。Modbus通信遵循主-从方式,在同一个网络中有一个主设备和最多达247台从设备,从设备的地址编码为1~247,协议包括ASCII和RTU两种传输模式[6]。通讯时,主设备发送请求信息,从设备根据主设备下发的数据做出相应的反应,主设备接收到反馈数据后才能进行下一次通讯。目前大多数工业控制器都采用RTU模式和RS-485介质,常用传输速率为2400bps~19200bps。

2.1 Modbus RTU协议帧格式

在Modbus RTU通讯模式下,消息中每个8位字节包含两个4位的十六进制字符,每个字节及前后包含1个起始位、8个数据位、0~1校验位和1~2停止位,在相同的波特率下,比ASCII方式输出效率更高。Modbus报文具有帧起始和结束标识,这使得Modbus设备能够识别一条完整的命令,帧与帧之间的间隔至少为3.5个字符时间并且两个字符之间的间隔不能大于1.5个字符时间,两个条件必须同时满足,否则Modbus数据不能被设备识别[8],如图4所示。

图4 Modbus RTU帧格式和位序列

2.2 Modbus RTU协议功能码

Modbus通讯命令由主设备发送至从设备,符合相应设备地址的从设备根据功能码及相关要求读取信息,若CRC校验无误,则执行相应的任务,然后把执行结果返送给主设备,返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码,常用的功能码如表1所示。

表1 Modbus RTU协议常用功能码

3 协议转换

实时以太网EtherMAC总线在主控制器采用非实时操作系统Windows XP/7时,通讯周期一般采用4ms;主控制器采用软实时操作系统Windows CE时,最短通讯周期可达500us。而Modbus设备一般采用RS-485通信,如果 Modbus RTU通讯波特率选用19200bps时,传输一个字节需要1/19200*11*1000≈0.573ms,假设一条Modbus命令有8个字节,则传输一条Modbus报文大约需要4.6ms,RS-485为半双工模式,所以Modbus RTU进行一次通讯需要超过10ms的时间。由于EtherMAC总线与Modbus RTU通信周期不同步,所以将Modbus数据作为EtherMAC总线的非周期数据通讯。EtherMAC总线的从节点FPGA中有两块内存区域,用于接收上位机指令的Control_RAM(地址范围:0x0000~0x03FF)和上传状态数据的 AppState_RAM(地址范围 0x8000~0x83FF),实现双向读写,数据格式采用地址+长度+数据的方式。为保证兼容Modbus设备的通用性,设计的网关需带有RS-485电气接口,既承担着执行EtherMAC数据工作,也承担着协议转换功能。综合EtherMAC与Modbus协议特点,在网关内开辟一块内存区域,称为 Modbus地址区域,专门用于传输Modbus RTU数据,如图5所示。

网关既作为EtherMAC的从节点,又作为Modbus RTU的主设备,为保证Modbus RTU协议的通用性和开放性,数据的组包过程都交由上位机完成。通讯时,上位机按照EtherMAC数据帧格式组包,并将控制Modbus设备的指令按照Modbus RTU的格式组包放在Modbus地址的数据区内;当连接Modbus设备的网关接收到Modbus指令时,FPGA中的Nios程序从Modbus地址的数据区域内读取Modbus RTU数据帧,利用FPGA内部的Avalon总线将数据赋值给硬件描述语言Verilog编写的Modbus模块;Modbus模块将数据严格按照RS-485的格式和时间要求按位输出;Modbus数据帧传输完毕之后,立即等待接收Modbus设备的反馈信息,待反馈信息接收完毕后,Nios程序将数据从Modbus模块读取写入AppState_RAM中的指定区域,跟随EtherMAC报文上传给上位机。基于RS-485的电气特性,一个网关可以连接多个Modbus设备,如图6所示。上位机接收到Modbus设备反馈的数据才能下发下一条有关Modbus的指令,整个过程不影响EtherMAC的周期通讯。

图5 Modbus RTU内存区域

图6 EtherMAC与Modbus RTU设备连接

4 应用与验证

为验证本设计的可行性和实用性,在Windows环境下利用EtherMAC总线控制施耐德变频器ATV312H075测试。ATV312H075属于小型通用变频器,输出功率为0.75KW,输出频率范围为0~500Hz,广泛应用于数控机床、自动化加工设备等场合。ATV312提供了操作器键盘、模拟量输入、Modbus等多种频率给定方式。传统的控制方式一般采用PLC或模拟量,PLC体系结构封闭,各厂家硬件、指令互不兼容,占用空间较大;模拟量控制无法获取变频器实时状态,接线较复杂。Modbus通讯采用RTU传输模式,物理层为RS-485,电缆连接器为RJ-45。

Modbus控制变频器主要通过读写寄存器实现,施耐德变频器使用的Modbus功能码为03H、06H和10H,为简化控制格式,功能码03H每次只读一个寄存器,则下发数据为8个字节,反馈数据为7个字节;功能码06H和10H功能区别在于一次写寄存器的数量,那么用06H即可对所有寄存器进行写操作,06H下发和反馈数据都为8个字节;若操作过程出现错误,则变频器会反馈5个字节的异常代码。根据以上分析和EtherMAC与Modbus RTU协议转换规定,为Modbus RTU开辟0x0010~0x0020的下发命令地址和0x8010~0x8020的上传数据地址即能满足要求,写操作代码和读操作代码如表2、表3所示。

表2 变频器写操作代码

表3 变频器读操作代码

反馈数据的EtherMAC地址为0x8010,长度为0x08,对变频器进行写操作时,反馈数据内容与发送内容一致;对变频器进行读操作时,反馈数据为设备号、功能码和字节数之后为所读取两个字节的数据(高位在前)。

根据协议,在非实时操作系统Windows 7环境下,利用Visual C#编写上位机测试程序,通讯周期为4ms;下位机选用EtherMAC编码器板卡作为网关,编码器板卡具有 I/O、DA、RS-485、RJ-45 等接口,RS-485 接口用于连接变频器和编码器,上位机通过网线与编码器板卡RJ-45口连接。编码器板卡连接施耐德变频器和相对编码器,设定变频器频率给定方式为Modbus给定,设备地址为0x02,通讯速率为19200bps,通讯格式为8n1(8个数据位,无校验,1个停止位)。上位机界面和实物图连接图如图7、图8所示。

图7 上位机界面

图8 实物连接图

上位机启动EtherMAC通讯之后,可以实时控制变频器动作,并能实时获取变频器的当前状态;在此过程中,不影响EtherMAC周期通讯过程中的I/O、DA和编码器反馈等功能。

经试验验证,EtherMAC总线直接控制施耐德变频器,操作方便,人机交互良好,接线简单,长时间运行无故障,适合于自动化场合的应用。

5 结论

实时以太网技术已经成为工业控制总线的发展方向,开放也是运动控制系统发展的必然趋势。在数控机床、高精度加工设备等场合,EtherMAC总线基于标准工业计算机,无需专用硬件和硬实时操作系统,既保证实时性和同步性,又保证软件系统开发的开放性。设计实现EtherMAC兼容Modbus RTU,使得EtherMAC的开放性和Modbus RTU的通用性相结合,改变了传统的通过PLC或上位机控制智能仪器仪表的方式,接线简单,控制方便,人机交互良好,特别适合于数控系统的网络化生产,使制造加工设备实现真正的“e网到底”。

[1]桑志谦.基于 Windows CE的实时以太网运动控制平台研究及应用[D].济南:山东大学,2011.

[2]缪学勤.论六种实时以太网的通信协议[J].自动化仪表,2005,26(4):1 -6.

[3]刘国营,胡天亮,张承瑞.基于Windows CE和工业以太网的塑窗清角机控制系统设计[J].组合机床与自动化加工技术,2012(6):56-60.

[4]王兴贵,张明智,杜莹.Modbus RTU通信协议在智能仪表与工控机通信中的应用[J].低压电器,2008(2):8-11.

[5]邯朝辉,廖雪超.基于Profibus-Modbus总线桥的Siemens S7系列PLC与Modbus RTU的通信[J].电气自动化,2006,28(5):42 -44.

[6]程雪婷,王海峰.解析Modbus-RTU协议关键内容及其在智能电器中的应用[J].低压电器,2010(1):23-25.

[7]何跃武.ABB变频器与三菱PLC间的Modbus-RTU协议通讯[J].自动化应用,2012(1):51-53.

[8]于正林,张龙,黄勇.Modbus通讯协议的FPGA实现[J].现代电子技术,2010(11):203-207.

[9]姬帅,张承瑞.一种链状以太网节点间的实时同步及动态补偿方法[P].中国:CN102237997A,2011.11.09.

[10]L.Yang,C.R.Zhang.Development of industrial Ethernet Windows driver for motion control system[J].Advanced Materials Research,2011(197),1751-1756.

猜你喜欢

上位以太网变频器
变频器在电气自动化控制中的应用研究
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
变频器在电机控制系统中的选择与应用
浅谈变频器在煤矿中的应用
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
特斯拉 风云之老阿姨上位
简析变频器应用中的干扰及其抑制
谈实时以太网EtherCAT技术在变电站自动化中的应用
基于ZigBee和VC上位机的教室智能监测管理系统
浅谈EPON与工业以太网在贵遵高速公路中的应用