EPICS IOC与EtherCAT设备通信的一种方法
2014-03-04何泳成王春红
何泳成 王春红 吴 煊
1(中国科学院高能物理研究所 东莞分部 东莞 523803)
2(东莞中子科学中心 东莞 523808)
3(中国科学院高能物理研究所 北京 100049)
EPICS IOC与EtherCAT设备通信的一种方法
何泳成1,2王春红3吴 煊1,2
1(中国科学院高能物理研究所 东莞分部 东莞 523803)
2(东莞中子科学中心 东莞 523808)
3(中国科学院高能物理研究所 北京 100049)
EtherCAT (Ethernet Control Automation Technology)是一种用于工业自动化的实时以太网现场总线协议。通过使用OPC (Object Linking and Embedding for Process Control) Gateway驱动程序实现了EPICS (Experimental Physics and Industrial Control System) IOC (Input/Output Controller)与EtherCAT设备的通信,从而使EtherCAT成为加速器控制系统中对实时性要求很高的高速控制系统的一种解决方案。在简要介绍EPICS、EtherCAT、OPC及OPC Gateway的基础上,对使用OPC Gateway驱动程序实现EPICS IOC与EtherCAT设备通信进行了测试。结果表明,EPICS IOC可通过OPC Gateway驱动程序与EtherCAT设备正常通信。
EPICS,EtherCAT,OPC Gateway,加速器控制系统
EtherCAT (Ethernet Control Automation Technology)是一种用于工业自动化的实时以太网现场总线协议,具有拓扑结构灵活、高可靠性及高实时性等特点。
北京正负电子对撞机(Beijing Electron-positron Collider, BEPCII)和中国散裂中子源(Chinese Spallation Neutron Source, CSNS)等大科学装置的加速器控制系统均是基于分布式实时控制软件EPICS (Experimental Physics and Industrial Control System)架构设计的。通过使用OPC (Object Linking and Embedding for Process Control) Gateway驱动程序实现了EPICS IOC与EtherCAT设备的通信,从而使EtherCAT成为加速器控制系统中对实时性要求很高的高速控制系统的一种解决方案。
1 EPICS简介
EPICS是一个开源的软件工具集,目前主要用于搭建粒子加速器等大型科学装置的控制系统。EPICS采用分布式控制系统的体系结构,具有可移植性、可互操作性、可裁减性以及可重用性等特点;而且经过大量实例证明,EPICS还具有运行稳定、系统结构灵活、开放性好、可扩展性好、国际交流协作方便等诸多优点;同时对于开发出的版本中大量工具都是免费的且提供技术支持,因此现已逐渐成为国际高能加速器控制系统的一个主流的软件开发工具[1]。
EPICS的分布式结构如图1所示,可分为3个层次:操作员接口层(Operator Interface, OPI)、输入输出控制层(Input/Output Controller, IOC)和设备控制层(Device control layer)。
EPICS采用建立在TCP/IP协议之上的CA (Channel Access)客户端/服务器模式,OPI通过CA客户端程序访问IOC,用于显示并存储I/O设备的运行情况和运行结果;IOC用于运行分布式实时动态数据库,获取I/O设备的状态、信息和参数,控制I/O设备的运行[2]。
图1 EPICS的系统结构框图Fig.1 System structure diagram of EPICS.
2 EtherCAT原理及特点
EtherCAT是德国倍福公司(Beckhoff Automation)提出的一种新型工业以太网现场总线技术,是一种开放的实时以太网通讯协议[3]。
EtherCAT采用主从式结构,系统控制周期由主站发起,EtherCAT主站向从站发出嵌入在标准以太网数据帧中的EtherCAT电报。最大可包含1 498字节EtherCAT电报的以太网数据帧遍历所有EtherCAT从站设备,每个设备的EtherCAT从站控制器在数据帧经过时分析寻址到本设备的报文,根据报文头中的命令对报文中指定位置的数据进行读写。数据帧在遍历位于整个系统逻辑位置的最后一个EtherCAT从站后,该从站将经过充分处理的数据帧发回,这样该数据帧就作为一种响应报文返回到EtherCAT主站。EtherCAT主站收到上行的响应报文后,处理返回数据,一次通信结束。
EtherCAT协议具有拓扑结构灵活的特点,支持线型、树型、星型等各种网络拓扑结构,其在物理层可使用双绞线、光纤等介质传输,一个EtherCAT网络可以连接多达65535个EtherCAT从站设备[4]。
EtherCAT协议还具有高可靠性和高实时性的特点。EtherCAT主站使用标准的以太网控制器,而EtherCAT从站则采用了专门的EtherCAT从站控制芯片,从而大幅提高了数据传输的可靠性和数据帧的处理速度。目前,EtherCAT设备的过程数据刷新周期可以达到100μs,各EtherCAT从站之间的时钟同步精度可以小于1μs[5]。带时间戳的EtherCAT数字量输入/输出模块能以1 ns的精度识别最后边沿改变的时间。
目前,支持EtherCAT协议的设备种类齐全,主要包括工业PC、嵌入式控制器、输入/输出模块和运动控制器等,适用于自动化领域内几乎所有常用的数字量和模拟量信号类型。在加速器控制领域,EtherCAT设备可应用于连锁保护、运动控制和真空、温度、流量控制等系统中。
3 OPC及OPC Gateway
OPC是一个用于过程控制和制造业自动化系统的工业标准,是Windows应用程序和现场过程控制应用间的桥梁。
OPC采用了微软的组件对象模型/分布式组件对象模型(COM/DCOM)技术,基于客户端/服务器模式,规定硬件设备的驱动程序由硬件厂商开发,并提供OPC服务器程序,而软件厂商无需关心底层驱动的细节,只需安装OPC客户端程序即可实现与硬件设备的通信。目前,OPC标准已被大多数工控领域的厂商所接受,并逐渐发展成了工控软件的技术标准[6]。
OPC Gateway是由BESSY (Berlin Electron Synchrotron)的Carsten Winkler和Bernhard Kuner等开发的一种EPICS驱动程序[7]。OPC Gateway驱动程序使安装在Windows操作系统下的EPICS IOC可以通过OPC客户端/服务器模式实现与PLC和其他工业自动化设备的通信。
EPICS IOC通过OPC Gateway驱动程序与OPC服务器通信的原理如图2所示。安装了OPC Gateway驱动程序后,EPICS IOC可看作OPC客户端,可通过OPC客户端/服务器模式与OPC服务器通信,从而实现了其与PLC和其他工业自动化设备通信。
图2 EPICS IOC通过OPC Gateway驱动程序与OPC 服务器通信的原理Fig.2 Principle of communication between EPICS IOC and OPC Server using the OPC Gateway driver.
4 EPICS IOC与EtherCAT设备通信
TwinCAT OPC Server是德国倍福公司提供的OPC服务器程序,可与该公司的EtherCAT设备进行数据交换,为OPC客户端提供数据。因此,EPICS IOC要与EtherCAT设备通信,可通过基于OPC客户端/服务器模式读写TwinCAT OPC Server中的数据来实现,其原理如图3所示。
图3 EPICS IOC与EtherCAT设备通信原理Fig.3 Principle of communication between EPICS IOC and EtherCAT devices.
通过搭建一套温度监测样机对EPICS IOC通过OPC Gateway驱动程序与EtherCAT设备通信进行测试。测试所使用的EtherCAT设备如图4所示,主要包括德国倍福公司的CX1030嵌入式控制器、EL3201温度传感器输入端子模块和EL3124模拟量输入端子模块等。EtherCAT主站和从站间通过双绞线连接。将3个置于室内和1个置于室外的温度传感器分别接到EtherCAT设备相应的端子模块上。
图4 测试使用的EtherCAT设备Fig.4 EtherCAT devices test.
用安装在PC机上的TwinCAT软件完成系统配置并编写相应的样机程序,下载到CX1030嵌入式控制器中。程序运行后,可在TwinCAT软件中观察到4个温度传感器的读数,证明EtherCAT设备已正常运行。使用TwinCAT OPC Configurator配置TwinCAT OPC Server,结果如图5所示,其中OPC Server 名为“BECKHOFF.TwinCATOpcServerDA”。
下载安装OPC Gateway驱动程序,配置与TwinCAT OPC Server对应的启动文件“st.cmd”和EPICS数据库记录后,启动EPICS应用,过程如图6所示。可以看到,所连接的OPC Server 名为“BECKHOFF.TwinCATOpcServerDA”,状态为“connected”和“active”,即EPICS IOC与TwinCAT OPC Server已成功连接。
图5 TwinCAT OPC配置Fig.5 TwinCAT OPC configurator.
图6 EPICS应用启动过程Fig.6 EPICS application start-up process.
用CSS-NSLSII制作的温度监测样机OPI如图7所示。从图7中可见,OPI上显示了4个温度传感器的读数和倍福嵌入式控制器自身的状态,证明EPICS IOC已可通过OPC Gateway驱动程序与EtherCAT设备正常通信。
图7 用CSS-NSLSII制作的温度监测样机OPIFig.7 EPICS OPI created using CSS-NSLSII.
5 结语
本文在简要介绍EPICS、EtherCAT、OPC及OPC Gateway的基础上,通过搭建一套温度监测样机对使用OPC Gateway驱动程序实现EPICS IOC与EtherCAT设备通信进行了测试。测试结果表明,EPICS IOC可通过OPC Gateway驱动程序与EtherCAT设备正常通信。因此,EtherCAT可作为加速器控制系统中有实时性要求的高速控制系统的一种解决方案。
由于OPC现已成为工业界系统互联的缺省方案,所以OPC Gateway驱动程序可使EPICS IOC通过OPC客户端/服务器模式实现与其他大量工业自动化设备的通信。
1 赵籍九, 尹兆升. 粒子加速器技术[M]. 北京: 高等教育出版社, 2005 ZHAO Jijiu, YIN Zhaosheng. Particle accelerator technology[M]. Beijing: Higher Education Press, 2005
2 米清茹, 刘松强. EPICS控制系统的Callback机制[J].核技术, 2010, 33(6): 411–414 MI Qingru, LIU Songqiang. The Callback mechanism in EPICS at SSRF[J]. Nuclear Techniques, 2010, 33(6): 411–414
3 郇极, 刘艳强. 工业以太网现场总线EtherCAT驱动程序设计及应用[M]. 北京: 北京航天航空大学出版社, 2010 HUAN Ji, LIU Yanqiang. Industrial Ethernet fieldbus EtherCAT driver design and application[M]. Beijing: Beihang University Press, 2010
4 单春荣, 刘艳强, 郇极. 工业以太网现场总线EtherCAT及驱动程序设计[J]. 制造业自动化, 2007, 29(11): 79–82 SHAN Chunrong, LIU Yanqiang, HUAN Ji. EtherCAT-industrial Ethernet fieldbus and its driver design[J]. Manufacturing Automation, 2007, 29(11): 79–82
5 顾朝媛. EtherCAT工业以太网从站设备的软件设计与实现[D]. 哈尔滨: 哈尔滨工业大学, 2012 GU Zhaoyuan. Software design and implementation for slave equipment of EtherCAT industrial Ethernet[D]. Harbin: Harbin Institute of Technology, 2012
6 李洪波. 基于西门子PLC的OPC服务器开发[D]. 天津:天津大学, 2007 LI Hongbo. OPC server development based on Siemens PLC[D]. Tianjin: Tianjin University, 2007
7 Ralph Lange. OPC Gateway (device support)[R]. Shanghai: CSNS Controls Mini Workshop, 2008
CLCTL50
A method of communication between EPICS IOC and EtherCAT devices
HE Yongcheng1,2WANG Chunhong3WU Xuan1,2
1(China Spallation Neutron Source, Institute of High Energy Physics, Chinese Academy of Sciences, Dongguan 523803, China)
2(Dongguan Institute of Neutron Science, Dongguan 523808, China)
3(Institute of High Energy Physics, Chinese Academy of Sciences, Beijing 100049, China)
Background:EtherCAT (Ethernet Control Automation Technology) is a kind of real-time Ethernet fieldbus protocol for industrial automation. The control system of many large-scale scientific facilities such as Beijing electron-positron collider (BEPCII), Chinese spallation neutron source (CSNS) was designed based on EPICS (Experimental Physics and Industrial Control System).Purpose:The aim is to implement EtherCAT as a real-time high speed control system solution for the EPICS based control system.MethodsThe communication between EPICS IOC (Input/Output Controller) and EtherCAT devices was realized by using the OPC (Object Linking and Embedding for Process Control) Gateway driver. A real-time temperature monitoring appliance was taken as testing example.Results:The test results show that the communication between EPICS IOC and EtherCAT devices using the OPC Gateway driver is efficiently implemented.Conclusion:EtherCAT devices can be applied to communicate with the EPICS IOC to achieve real-time high-speed control by using the OPC Gateway driver.
EPICS (Experimental Physics and Industrial Control System), EtherCAT (Ethernet Control Automation Technology), OPC (Object Linking and Embedding for Process Control) Gateway, Accelerator control system
TL50
10.11889/j.0253-3219.2014.hjs.37.110102
何泳成,男,1986年出生,2010年于天津大学获硕士学位,检测技术与自动化装置专业
2014-04-30,
2014-07-07