基于EtherCAT总线的串联型分布式数据采集系统设计
2016-11-17李木国王延国孙慧涛
李木国,王延国,孙慧涛
(大连理工大学 海岸与近海工程国家重点实验室,辽宁 大连 116024)
基于EtherCAT总线的串联型分布式数据采集系统设计
李木国,王延国,孙慧涛
(大连理工大学 海岸与近海工程国家重点实验室,辽宁 大连 116024)
针对海洋工程实验室现场数据采集过程中,数据量大、测点分散、实时性要求高、数据种类不一致的问题,设计了一种基于实时工业以太网EtherCAT总线的串联式数据采集系统;从整体结构、工作原理、主站软件和从站软硬件方面详细介绍了系统的方案设计;在实验水池中,通过采集实际波浪信号对数据采集系统进行了测试;结果表明,系统性能稳定、精度高、实时性好,为分布式数据采集监控系统的研究提供了应用和技术上的参考。
EtherCAT;数据采集;实时性;从站软硬件
0 引言
目前,在很多工业现场环境的监控工作中,需要实时采集和监控的物理量越来越多。这些物理量的测点位置往往很分散,对它们进行统一地数据采集、分析和处理具有现实意义。
传统的现场总线技术在数据采集中很难满足实时性和带载能力的要求。工业以太网技术不断成熟,已经成为分布式数据采集系统设计的首选方案。EtherCAT(Ethernet for Control Automation Technology)是由德国BECKHOFF自动化公司于2003年提出的实时工业以太网技术,它基于标准以太网技术,有灵活的网络拓扑结构,全双工通信,系统配置简单,数据传输具有高速、高效的特点,总线利用率高,其数据有效率可达90%以上[1]。可以很好地满足数据采集方面的各项性能要求。
本文运用工业以太网EtherCAT技术开发了一种串联型的分布式数据采集系统。这种系统采用菊花链型的拓扑结构,不仅可以接入不同类型的传感器,而且能方便地改变系统中的传感器数量,最小数据刷新周期仅为1 ms。
1 系统整体结构设计与工作原理
1.1 系统整体结构
数据采集过程往往具有以下3个特点:
1)测点的位置分布广泛,间隔距离较长;
2)测点的数目众多,且不固定;
3)数据实时性要求高。
为此该数据采集系统采用了菊花链型的拓扑结构。系统整体结构如图1所示。一台主站PC机,集中处理各个传感器的数据信号;多个从站,各个从站依次通过网线串联在一起,每个从站只接一个传感器。菊花链型的拓扑结构具有简单可靠,易于扩充的特点,可根据实际测点的数目,合理增减从站数量,方便、实用。
图1 系统整体结构图
1.2 系统工作原理简介
首先,各个从站接收与自己相连的传感器的电压信号。电压信号为比较微弱且不断变化的模拟量,需要依次经过电压偏置、放大、滤波等处理后再进行A/D转换,获得对应的12位的数字量,并将此数字量传给PIC单片机,单片机再传到从站控制器(ESC)芯片ET1100中。
与此同时,主站周期地发送EtherCAT报文,报文依次经过所有从站,当报文经过第一个从站时,1#从站中的ET1100芯片将之前收到的12位数字量写入到报文中对应1#从站的指定位置。1#从站再将报文发给下一从站,下一从站也进行类似的操作处理,直到最后一个从站将自己的数据写入到报文的对应位置。最后一个从站再将这个报文作为上行报文直接发送给主站,主站处理并解析这个报文,就可以获得所有从站上传的数据。将各数据换算成被测物理量的实际值,存储并显示,一次数据采集过程就完成了。
本数据采集系统每隔1 ms就能采集一次所有传感器的数据,实时性非常高,可以满足很多领域的数据采集要求。
2 EtherCAT总线通信原理
2.1 EtherCAT总线特点与数据帧结构
EtherCAT是一种实时工业以太网技术,它具有高速和高数据有效率的特点,支持多种设备连接拓扑结构[2]。EtherCAT数据帧结构如图2所示。EtherCAT总线网络采用主从式控制,主站使用标准的以太网卡发送EtherCAT报文给各个从站,从站使用专门的EtherCAT从站控制器ESC(数据链路层芯片ET1100)处理数据帧。在数据帧经过时,ESC寻址到本机报文,根据报头中的命令,从数据帧中抽取数据或者插入数据到数据帧的指定位置。此过程无需对数据帧进行编码/解码,且全部由硬件电路完成,处理时间仅为十几纳秒[3]。
图2 EtherCAT数据帧结构
2.2 EtherCAT状态机和通信初始化
EtherCAT状态机(ESM,EtherCAT State Machine)负责协调主站和从站应用程序在初始化和运行时的状态关系。EtherCAT网络一共有5个通信状态,分别是:初始化(Init)、预运行(Pre-Operational)、安全运行(Safe-Operational)、运行状态(Operational)、引导状态(Boot-strap)。
EtherCAT网络系统依次经过初始化,预运行,安全运行,运行状态的状态转换,到达运行状态之后可以进行周期的数据采集通信,这个过程就是EtherCAT通信初始化过程。系统的状态转换命令由主站应用程序发起,从站程序响应主站命令,主站从站一起协同配合来完成状态转换任务。
3 系统主站设计
3.1 主站功能与结构
主站是整个EtherCAT网络的控制核心。选用PC机作为主站时只需用标准的以太网网卡NIC作为硬件接口,控制功能完全由软件实现。主站功能结构如图3所示。主站功能主要有:导入并解析XML设备描述文件,创建主站设备,构造初始化命令帧,进行通信初始化并引导从站完成状态机转换;周期性的发送并解析EtherCAT数据帧,周期性的存储并显示数据,对采集数据进行处理分析;利用最小二乘法计算出每个传感器的标定系数并标定传感器。
图3 EtherCAT主站功能结构框图
3.2 主站软件的关键技术
EtherCAT状态机的转换、数据帧的发送和解析、数据存储和数据显示这4个主站功能都需要周期地独立进行。根据主站的功能特点采用多线程配合多媒体定时器的编程技术来编写主站软件。
线程是计算机程序执行的最小单位,在Windows操作系统下,每个线程被分配不同的CPU时间片,某一时刻,CPU只能执行一个时间片内的线程,多个时间片中的相应线程在CPU内轮流执行,但是时间片时间很短,从宏观上看,每个线程好似是并行执行[4]。
多媒体定时器是Windows系统下精度非常高的定时器,它不依赖于消息响应机制,而是使用TimeSetEvent()函数产生一个独立的线程,在定时周期到达时,直接调用预先设置好的回调函数进行处理操作,不用等到消息队列为空,能够保证定时中断得到及时响应,最小定时周期可达1 ms。
图4 主站软件程序流程图
主站软件使用C++语言来编写,程序流程图如图4所示[5]。把EtherCAT网络状态机转换控制、数据帧的发送和解析、数据存储、数据显示这4个功能分别放到一个线程中去执行。利用多媒体定时器来控制每个功能的循环周期,利用多线程技术来保证各个功能的并行执行。
4 系统从站设计
4.1 从站硬件电路设计
系统从站为自主开发设计的电路板。从功能上主要分为两个模块,模拟电压信号处理模块和EtherCAT网络通信模块[6]。模拟信号处理模块的电路原理图如图5所示。
图5 从站模拟信号处理模块电路原理图
传感器输出的模拟电压信号往往非常微弱且带有一定的干扰噪声。为了使A/D芯片尽可能的满量程转换,在进行A/D转换之前,要对模拟电压信号进行偏置、放大、滤波处理。AD8512芯片是双路精密JFET放大器,具有低失调电压,低输入偏置电流,低输入电压噪声和低输入电流噪声特性。它的一个运算放大器被设计成求差电路,当R11、R12、R13和R14的阻值满足R12/R11=R13/R14时,第一级输出电压Vo1[7]由式(1)决定:
(1)
(2)
(3)
考虑到市场上电容电阻的常用值,各电容电阻的实际取值见图5,根据各项参数的计算公式,实际值FN=63.26 kHz、Q=0.706 5、AO=2,均非常接近理论值,可以满足实际的使用要求。模拟信号Vi1+在依次经过偏置、放大、滤波之后,就可以进行A/D转换了。这里选用美国ADI公司的AD7276作为A/D转换器,AD7276是12位的低功耗、高速逐次逼近型A/D转换器,最高采样频率可达3 MSPS,转换速度快,精度高。A/D转换之后的数字量通过SPI总线发送给PIC单片机。
从站EtherCAT网络通信模块的电路如图6所示。PIC24单片机作为EtherCAT网络通信部分的微控制器,一方面通过SPI总线控制A/D转换芯片(AD7276)的转算速率并接收转换之后的12位数字量;另一方面PIC24单片机还要响应主站的控制命令,通过SPI总线与数据链路层芯片ET1100通信,完成EtherCAT网络的通信初始化配置并周期地将接收到的12位数字量发送给ET1100。ET100为EtherCAT网络的专用数据链路层芯片,它可以处理EtherCAT数据帧实现EtherCAT数据链路层协议。EEPROM中存储了ET1100的配置信息。PHY(0)和PHY(1)是两个物理层芯片,可实现数据的编码、译码和收发。为了提高通信的可靠性它们与RJ45接口之间还要接入网络变压器。
图6 从站EtherCAT通信模块电路示意图
整个从站电路中需要+5 V、3.3 V和-5 V的电源,为了补偿长距离供电的压降,使用+6 V供电。电源线也采用菊花链型的拓扑结构,依次经过各个从站,所有的从站共用一个电源。在从站电路中首先通过稳压芯片LP2952将+6 V电压稳压成+5 V,再通过电荷泵反相器CAT660将+5 V转换成-5 V,同时还要使用稳压芯片LR1106将+5 V转换成3.3 V。
4.2 从站软件程序设计
从站软件程序指的是PIC单片机里面的程序。它的主要功能是:响应主站的命令、执行状态机转换操作、配置ET1100和周期地接收A/D数据并周期地向ET100发送A/D数据。从站PIC单片机程序流程如图7所示。
图7 从站PIC单片机程序流程图
首先程序初始化各相关寄存器,然后循环执行输入输出过程数据模块和EtherCAT状态机处理模块。初始化操作主要包括硬件初始化、EtherCAT从站接口初始化、对象字典初始化和分配过程数据字节空间[8]。在输入输出过程数据模块中,PIC单片机在EtherCAT网络状态是运行状态的情况下,控制A/D芯片进行A/D转换,并将转换得到的数据发送给ET1100。状态机处理模块主要执行网络状态机的状态转换操作:程序先接收主站的状态转换命令,并与当前网络的状态进行比较,若一致则不进行状态转换,否则进行相应的状态转换。系统在不同网络状态下能够进行的通信操作也是不一样的,详细信息可查阅参考文献[2]。
5 性能测试及结果分析
为了测试这种数据采集系统的性能,每个从站接上一个浪高仪(测量波浪高度的传感器),组成一个分布式的浪高采集系统。一共有20个从站,分布在实验水池中的不同位置,1台PC机作为主站放在集控室,并运行自主开发的主站软件。在实验水池中,利用造波机产生周期为1.2 s,波高为30 mm的规则波。系统的数据采集频率为1 000 Hz,动态数据曲线刷新频率为100 Hz。图8为主站软件上显示的1、9、15号从站的实时浪高曲线,从图中可以看出,浪高曲线具有很好地平滑性。采集100 s的波浪信号,主站PC机的本地数据文件中共存储了100 000组数据,没有数据丢失。
图8 主站软件上显示的实时浪高曲线
6 结束语
本文利用工业以太网EtherCAT技术开发的数据采集系统
数据精度高,可靠性好,经实验测试最小数据刷新周期可达1 ms。EtherCAT数据帧一次最多可以传输1486个字节的过程数据,每个从站只占用3个字节,可接入近500个从站,根据实际采集需要,可以灵活增减从站数量。从站的模拟信号接口接上不同类型的传感器就可以采集不同种类的物理量,适用于多种实时性要求高、测点分散的现场数据采集监控场合。
[1]IEC/PAS 62407: Real-Time Ethernet Control Automation Technology (EtherCAT) [S].
[2]郇 极,刘艳强.工业以太网现场总线EtherCAT驱动程序设计及应用[M].北京:北京航空航天大学出版社,2010.
[3]李木国,王 磊,王 静,等. 基于EtherCAT的工业以太网数据采集系统[J]. 计算机工程,2010(3):237-239.
[4]常发亮,刘 静. 多线程下多媒体定时器在快速数据采集中的应用[J]. 计算机应用,2003,S1:177-178.
[5] 单春荣,刘艳强,郇 极,等.工业以太网现场总线EtherCAT及驱动程序设计[J].制造业自动化,2007,29(11):79-82.
[6]李木国,孔丽丽,王 磊,等. EtherCAT网络数据采集系统的设计与实现[J]. 计算机测量与控制,2010(4):961-964.
[7]康华光. 电子技术基础模拟部分(第五版)[M]. 北京:高等教育出版社, 2006.
[8]赵 君,刘卫国,彭 喆. 基于EtherCAT总线的分布式测控系统设计[J]. 计算机测量与控制,2012(1):11-14.
Design of Series-Connection Distributed Data Acquisition System Based on EtherCAT Bus
Li Muguo, Wang Yanguo, Sun Huitao
(State Key Laboratory of Coastal and Offshore Engineering, Dalian University of Technology, Dalian 116024,China)
Aiming at the problems of the large amount of data, geographically fragmented acquisition positions, high real-time performance demanding and a variety of data types in the process of data acquisition, we build a series-connection data acquisition system based on EtherCAT bus. The aspects of over-all structure, operating principle, master station software and hardware and software of slave station were introduced in detail. In order to verify the performance, we captured the height of wave in our lab. The experimental results indicate that the system has high reliability and real-time performance. The designed data acquisition system can provide
for the research of distributed data acquisition and control system.
EtherCAT; data acquisition; real-time performance; hardware and software of slave station
2015-12-15;
2016-01-20。
李木国(1953-),男,辽宁庄河人,教授,博士研究生导师,主要从事海洋工程模拟实验理论、现代控制技术方向的研究。
1671-4598(2016)06-0195-04
10.16526/j.cnki.11-4762/tp.2016.06.054
TP311
A