当前位置:无忧公文网 >范文大全 > 征文 > EtherCAT协议与CANopen协议的网关模块设计与实现

EtherCAT协议与CANopen协议的网关模块设计与实现

时间:2022-03-22 09:18:46 浏览次数:

摘 要:为满足可编程逻辑控制器中EtherCAT协议与CANopen协议之间的数据转换需求,基于国产处理器,VXWorks嵌入式操作系统设计了一种网关模块。赫优讯公司的COMX模块和倍福公司的ET1100芯片构成网关模块的硬件核心,COMX模块实现CANopen主站功能,ET1100芯片实现EtherCAT从站功能。本文重点从硬件设计、软件设计方面进行阐述。最后,对该网关模块进行了单板测试和系统级测试。测试结果表明设计的网关模块功能、性能正常,能满足应用需求。本网关模块所组成的国产化可编程逻辑控制器有望改变此领域由国外公司垄断的现象。

关键词:EtherCAT;CANopen;协议转换;网关模块;可编程逻辑控制器

中图分类号:TP368.2 文献标识码:A 文章编号: 2095-8595(2017) 02-069-07电子科学技术 URL: http://.cn DOI: 10.16453/j.issn.2095-8595.2017.02.018

Abstract: In order to meet the need of data conversion between EtherCATprotocol and CANopen protocol, based on the domestic processor and VXWorks embedded operating system, a gateway module is designed. The COMX modules of Hilscher"sand ET1100 chip of Beckhoff constitutes the core hardware gateway module. The COMX module implements the CANopen master function. The ET1100 chip implements the EtherCAT slave function. This paper focuses on hardware design, software design to elaborate. At last, the gateway module is tested on board test and system test. Test results show that the gateway module function, performance is normal, to meet the application requirements. The homegrown programmable logic controller made up of this gateway module is expected to change the phenomenon of monopoly in this field by foreign companies.

Key words: EtherCAT; CANopen; Protocol Conversion; Gateway Module ;Domestic Control Chip

引言

目前,在PLC系统中,主体网络是EtherCAT,现场有很多其他总线的设备,以CANopen接口的变频器为例。PLC中的通信类型不断增多,为增强PLC对各类数据的兼容能力,网关模块就成了数据转换的重要环节。考虑到这种情况,PLC中需要设计一个CANopen主站接口的网关模块。

CANopen是基于CAN总线的应用层协议。CANopen协议作为在CAN总线物理层基础的应用层协议,除了继承了CAN总线的优点外,还扩张出很多实用的功能,使现场设备之间实现远程控制、通信、组网更加方便[1]。EtherCAT是德国倍福(BECKHOFF)公司提出的一种实时工业以太网技术,它应用了Ethernet具有的全双工工作模式,通过MAC实现了主站(Master)和从站(Slave)之间的连接。由于EtherCAT的数据帧传出延时少且安全性高,成为现在工业控制总线领域里十分出色的一项技术[2]。

所以,作为两种工业协议的通信桥梁,本文提出一种EtherCAT与CANopen互联的通信网关设计方案。

1 硬件的设计与实现

本文介绍的网关模块作为系统的EtherCAT从站,通过EtherCAT总线与控制器进行数据交换,同时作为CANopen主站,通过CAN总线与CANopen从站模块进行数据交换,实现控制器和外部CANopen从站之间的数据交换。根据EtherCAT的原理并采用了直线型、直线连接的主从站连接方式对EtherCAT系统进行了搭建,CANopen主站使用COMX模块实现,EtherCAT从站选择了ET1100作为协议芯片[3]。网关模块硬件原理框图如图1所示。

硬件电路可划分为5个部分:供电电源电路、外设存储电路、DSU调试电路、CANopen主站模块(COMX)电路和EtherCAT从站电路。图2为本文设计介绍的网关模块的硬件结构图。

1.1 供电电源电路

本设计中,5V直流电源由背板总线EBUS提供,在内部通过电源转换芯片转化为3.3V,1.8V的核电压为国产控制芯片、ET1100及其相关外设进行供电,回流地为GND。5V电源部分由四部分组成:电源保护电路、5V转3.3V电路、3.3V转1.8V电源电路,并设计有电源监控电路,同时监控5V、3.3V、1.8V电源,输出复位信号给CPU和FLASH,结构框如图3所示。

1.2 外设存储电路

系统选用772所设计生产的国产控制器作为控制芯片,由于该国产控制器功能强大、功耗低,且为我国自主研发的全国产化控制芯片,保证了网关模块的可靠性与安全性。为满足系统的程序和数据存储需要,外擴了两片128MB(共256MB)的16位Flash芯片S29GL01GP11TFIR20,用于存储程序代码;两片1MB(共2MB)的16位SRAM存储器CY7C1051CV33-10ZSXA,用于堆栈和数据的存储。

1.3 DSU调试电路

国产控制芯片中包含一个硬件调试支持单元DSU,可用于辅助软件调试。DSU状态下,处理器处于调试模式,允许上位机软件对处理器中所有的寄存器和Cache存储体进行读/写操作。且处理器的寄存器和Cache都只能在CPU进入调试模式的状态下访问。在调试模式下,DSU控制处理器时流水线会暂时停止工作

DSU实质上一个RS232的通信,实际调试中,采用串口转USB连接线,将DSU的信号转换为USB的信号与上位机软件相互通信。通过使能管脚DSUEN和DSUBRE进入调试模式。

1.4 CANopen主站通信模块电路(COMX)

在该网关模块中,使用CANopen主站通信模块COMX作为CANopen主站,COMX模块是德国赫优讯(Hilscher)自动化系统有限公司研发的嵌入式CANopen主站通信模块,模块内部已经集成专用的ASIC芯片和固化程序Firmware,由该模块实现CANopen主站协议,主机CPU通过嵌入式模块提供的双端口内存(DPM)接口与模块进行数据通信,不需要关心协议的具体实现,只需往DPM接口读/写数据就可以[4]。

该模块的另一个特点是,同一个硬件模块上就能支持当今各种主流以太网协议:Profinet、EtherCAT、Powerlink等,并且还支持主站或从站,只需下载不同的协议堆栈Firmware[5]。

嵌入式模块COMX通过一个50PIN插槽来连接主控芯片,插槽包含了与主机通信必备的控制线总线,16位数据总线和14位地址总线等。COMX与CPU间通信采用16位并行总线。CPU下发寻址指令到COMX,COMX与CPU双向数据交互,CPU向COMX单向下发读、写信号和片选信号,COMX的BUSY0信号忙碌状态时为低电平,空闲状态时为高电平,BUSY0信号取决于COMX的工作状态,单向向CPU反馈当前状态信息。COMX模块连接外部CAN接口DB9。原理框图如图4所示。

1.5 EtherCAT从站电路

EtherCAT从站中最关键部分是EtherCAT协议控制器,它实现EtherCAT的物理层与数据链路层协议。现在市场上有多种EtherCAT协议控制器可供使用,本文中的网关模块选用德国倍福公司的ESC(EtherCAT Slave Controller)ET1100来作为EtherCAT协议控制器。国产控制芯片和ET1100之间采用的是并口通信的方式进行数据交换,EEPROM用于存储ET1100的配置数据,在从站上电时,由主站根据EEPROM存储的数据配置ET1100[6]。

ET1100是一款功能强大的EtherCAT从站控制器,具有丰富的接口资源。ET1100可提供四个物理层接口,支持两种类型的接口,分别为MII接口和EBUS接口。接口数目和类型选择,可通过对ET1100的外围配置引脚P_MODE和P_CONF接上拉电阻或下拉电阻的方式进行配置,无需软件编程,简单实用[7]。其中,P_MODE引脚决定接口的数目,P_CONF引脚决定接口的类型。在本文中,根据ET100手册,将P_MODE引脚接下拉电阻,配置为00模式,即使用两个接口;将P_CONF引脚接下拉电阻,配置为0000模式,即使用的接口类型为EBUS接口。

ET1100与CPU通信也采用16路并行总线,通信机制与COMX一致,因此不再过多赘述。ET1100芯片通过欧式连接器与整个系统相连,通过EBUS传输信号数据。EtherCAT采用的是全双工的工作模式,其物理连接采用ET1100自带的LVDS低压差分信号,即EtherCAT_EBUS。原理框图如图5所示。

2 软件总体结构设计

本章节主要介绍网关模块软件的总体设计,包括:网关模块的工作流程,如何实现系统的配置,I/O数据的交互以及诊断的上报,对整个系统实现CANopen网络进行概述。

网关模块的工作流程分为两部分,第一部分是网关模块的整体系统流程,第二部分是具体的网关模块工作模式流程。

2.1 网关模块系统流程

如图6所示,首先,将网关模块单板上电。上电后,网关模块进行系统初始化,ET1100初始化,COMX初始化。各部分初始化结束后,进行相关参数配置。如果配置成功,则网关模块进入工作模式;如果配置不成功,则返回到系统初始化,网关模块重新进行系统初始化,ET1100初始化,COMX初始化,直到相关参数配置成功、进入工作模式为止。

2.2 网关模块工作模式流程

如图7所示,当系统完成初始化流程后,网关模块开始进入工作模式。首先,CPU处于检测COMX模块是否有接收到新的数据。当有新的数据,则CPU读取COMX所接收数据,然后CPU驱动ET1100将数据以EtherCAT帧格式发送给EtherCAT主站。ET1100发送数据后,检测ET1100部分是否有数据,如果有数据,则ET1100接收数据,然后由COMX发送数据;如果没有数据,则返回重新检测COMX是否有数据[8]。

2.3 过程数据交互

CANopen I/O数据轮询过程如下:CANopen过程数据在完成CANopen网络配置之后启动,CANopen主站根据为各个从站配置的PDO数据,与各个从站进行数据交换,再经由EtherCAT网络上报给RS,RS根据映射关系映射到PLC的I/O区,供PLC的IEC运算采用[9]。过程数据交互框图如图8所示。

2.4 网络诊断

CANopen网關模块的网络诊断过程如下:CANopen的网络诊断由CANopen从站设备主动上报,CANopen从站设备根据自身运行情况上报诊断,经由EtherCAT主站上报给PLC,最后呈现给上位机软件TwinCAT。

CANopen主站模块通过DPM从赫优讯主卡中获取各个从站的诊断信息后,将通过EtherCAT总线协议上报给主控,进而上报给TwinCAT。CANopen主站通过EtherCAT的邮箱通信上报诊断信息,RS收到诊断信息,在TwinCAT中呈现给用户。

当某从站存在诊断信息或者是诊断信息中的某一位改变时,DPM的协议状态信息abSl_diag[16]对应于该从站的位为1,否则为0.因而我们再获取诊断信息时,首先读取abSl_diag[16]的状态值,当相应的从站位为1时,再通过邮箱服务命令COM_Node_Diag读取一个从站的诊断信息,得到信息后按照赫优讯定义的诊断信息格式进行分析[10]。

3 系统测试结果分析

在完成了网关模块的软硬件设计及实现后,为了验证整个设计的可用性及功能性,对整个模块进行了测试分析,主要包括模块单板测试和系统级测试。在硬件板卡加工完成后,首先进行了模块单板测试,以确定硬件电路能够正常运行。然后进行了系统级测试,通过硬件模块与上位机软件相连,通过上位机软件对硬件模块下发指令,控制硬件模块所带的外部设备正常工作,验证整个系统的运行情况。

要进行网关模块的系统级测试,首先需要搭建相应的测试环境。测试环境中使用本PLC系统中设计的耦合模块、数字量输入DI模块、数字量输出模块DO、模拟量输入模块AI、模拟量输出模块AO和末端模块,通过背板总线组成从站IO栈。然后倍福主站EK1100使用标准网线连接耦合模块,再使用上位机软件TwinCAT与PLC通信,通过上位机软件对网关模块下发指令,控制网关模块的外部设备汇川变频器工作。系统级测试环境如图9所示。

整个测试过程如下所示:

1)首先使用上位机软件发送扫描从站命令,然后倍福主站将扫描结果返回到上位机。

2)扫描得到硬件组态后。本文设计的网关模块在CANopen网络中充当的是CANopen主站功能,网关模块需要添加相应的CANopen从站设备,本文测试用到的从站设备是汇川变频器。

3)从站设备添加完成后,根据汇川变频器手册对变频器进行参数配置。如图10所示。主站地址为0x01,波特率为500K baud,变频器地址为0x02,变频器配置了两个PDO,一个为发送PDO,用来上位机监控变频器的状态,另一个为接收PDO,用来从上位机下发控制命令。

4)根据变频器手册可知,接收PDO的低两字节设为0x0001时,代表正转,如图11所示;接收PDO的低两字节设为0x0002时,代表反转,如图11所示。高两字节表示接收PDO设置的频率值,如图,将0X1388转换为十进制,是5000。变频器的精度为0.01Hz,因此0x1388代表50Hz。

5)根据变频器手册可知,接收PDO的低两字节设为0x0009时,代表上位机软件监控到变频器已正转到预期频率;接收PDO的低两字节设为0x000B时,代表上位机软件监控到变频器已反转到预期频率,如图12所示。高两字节表示接收PDO设置的频率值,将0X1388转换为十进制是5000。变频器的精度为0.01Hz,因此0x1388代表50Hz,如图13所示。0xEC78为0x1388的反码,根据变频器手册可知,反转时上位机软件监控到的数据为反码形式,如图13所示。

4 结论

实验证明,该网关模块实现了由EtherCAT从站向CANopen主站转换的功能,且功能、性能满足设计要求,验证了EtherCAT协议向CANopen协议转换的可行性。系统工作稳定可靠,操作简单,具有较高的工程使用价值,给基于国产控制芯片的网关模块设计提供了参考。

参考文献

李一青,薛吉,奚培峰.基于PLC的CANopen主站功能的实现[B].低压电器,2011(17).

马军贤,周侗,杨志家,吕岩.EtherCAT从站的设计与实现[A].总线与网络,2011(08).

刘波,吴学智,林海涛,何如龙. 一种基于嵌入式技术的VoIP网关设计[J]. 通信及网络元器件.

邓梧鹏.基于赫优讯COMX嵌入式模块开发EtherCAT从站设备[J].国内外机电一体化技术,2013(04):45-49.

曹庆年,赵博,孟开元. CANopen协议在工业控制网络中的应用[A]. 西安石油大学学报(自然科学版),2009(04):0075-04.

王磊,李木国,王静,等. 基于EtherCAT协议现场级实时以太网控制系统研究[J],计算机工程与设计,2011,32(07):2294-2297.

胡世江. 基于ET1100的EtherCAT实时工业以太网从站设计[B].现场总线与工业以太网,1606-5123(2009)11-0067-04.

施大发,刘建林,王辉,阮倩茹.一种高性能EtherCAT实时以太网从站的设计[A].湖南师范大学自然科学学报,1000-2537(2011)03-0037-05.

刘怡,王家乐. CANopen從站协议的设计与实现[A],电子技术设计与应用.

周永峰. 基于EtherCAT的主站软件系统设计及CANopen应用研究[D].哈尔滨工业大学工学硕士论文,2013.

推荐访问: 协议 网关 模块 设计 EtherCAT