APP下载

一种高性能工厂实时监测系统方案

2022-04-13黄晓虎许东欢张伟林益锋

电子设计工程 2022年6期
关键词:实时性以太网控制器

黄晓虎,许东欢,张伟,林益锋

(上海航天控制技术研究所,上海 200233)

现场数据的采集及通信一直是电子信息领域的热点研究,它促进了生产过程的智能化和网络化[1]。对于制造企业而言,车间占有重要地位,智能工厂[2]依靠大量的现场数据来进行加工生产。随着对生产能力和质量的要求越来越高,伺服电机驱动器也需要更快的响应时间和更高的驱动精度。利用实时工业以太网技术将所有设备连接到一个聚合网络,以实现智能控制及云连接等。因此,通过高性能实时网络,将工业现场大量的数据实时采集、传输及监测对实现智能工厂有重要意义。

1 系统组成

系统采用分布式数据采集监测方式,数据集中处理,一主多从,且有灵活的拓扑结构。实时监测系统一个十分重要的指标为实时性,它决定了信号采样能否恢复原始信号而不产生混叠现象,文中系统的数据采样频率目标为10 kHz,满足多数过程数据采集需求。EtherCAT 以太网因高实时性、高效率及广泛的适用性而快速进入工业领域。图1 中的从站设备指能实现EtherCAT 通信的设备,EtherCAT 从站由物理层器件、EtherCAT 从站控制器(ESC)、从站控制微处理器等构成,从站控制微处理器的性能与通信性能无关,控制任务的要求决定了从站控制微处理器的性能。使用ESC 可以方便地进行EtherCAT通信而不用处理复杂的EtherCAT 协议。由于工厂内设备众多,且型号、年代各不相同,为便于采集生产过程及状态信息数据,设计了一个带有扩展功能的EtherCAT 硬件模块,以采集、传输设备数据。系统由4 个模块组成,即位于从站端的数据采集模块、扩展模块及EtherCAT 通信模块、位于主站端的数据管理模块,系统总体结构如图1所示,最多支持65 535个从站设备。

图1 系统总体结构

从图1 可以看出,从站控制微处理器处理多个任务,从增强系统的实时性、降低GUI的CPU 占用出发,综合考虑经济因素,选择了STM32F429 系列芯片,处理器内核为ARM Cortex-M4,芯片内置Chrom-ART,并且自带显示控制器,可以方便地连接并控制外部显示器,灵活存储控制器也使得ARM 芯片可以高速读写外部存储器,扩展了系统存储容量,可以存储大量图像文件,STM32F429的这些特性使得高速刷新复杂图像成为可能。

1.1 数据采集模块

数据采集模块的关键是将模拟量转换为数字量,针对不同的待测目标有不同的采集方案。系统数据采集流程图如图2 所示。为应对多种采样需求,ADC 器件选用AD7656,它有16 位采样精度,六通道独立AD 转换,转换速度为250 kSPS,支持多种通信方式,性能满足多数数据采集要求。依据芯片手册时序图设计AD 采样程序,其转换时间为3 μs,开始转换后“busy”拉低,即可开始读取数据。

图2 数据采集流程图

1.2 实时操作系统

实时操作系统指具有一定实时资源调度及通信能力的系统,其执行特定操作所消耗时间的上限是可预知的,多应用于工业控制、军事等领域。系统中的EtherCAT 通信程序、采样程序及高性能GUI 程序都需要CPU的及时响应,为协调各程序运行,优化资源分配,使用FreeRTOS 实时操作系统[3]。在该系统中,GUI的刷新频率为50~60 Hz,从站控制器和从站控制微处理器间通过SPI 报文应答的方式实现通信,使用FreeRTOS的时间片调度方式来处理多任务。

1.3 EtherCAT通信模块

智能工厂的大量现场数据传输对数据传输速度提出了更高的实时性要求,目前市场常用的通信协议包括RS485、I2C、CAN、Ethernet、Profibus、EtherCAT[4-6]等,其中EtherCAT 由于优异的性能,在实时以太网领域应用越来越广泛。EtherCAT 使用主从模式介质访问控制(MAC),支持一主多从,主站发送以太网数据帧遍历各从站[7],从站只需在报文经过时读取相应地址上的数据并把发送的数据插入数据帧;即各从站节点只会读取与自己相关的数据,并且写入需发送的数据,相比读取整个报文的时间大大减少,并且读取数据和写入数据的过程由硬件完成,延迟为纳秒级。当数据帧遍历所有从站后,再通过最后一个从站返回报文,由第一个从站发送给主站控制单元,EtherCAT 数据帧的有效数据率可达90%以上[8]。

EtherCAT 网关[9]各运行状态及其转换规律有一定要求,依据EtherCAT 网关状态机,EtherCAT 通信程序流程如图3 所示,上电后主机应用程序开始运行,程序先初始化ARM 各寄存器,配置时钟系统,与此同时从站控制器端依据硬件连接或软件配置,设定操作模式;然后启动驱动程序,驱动程序依据程序中对通信方式、主机端系统情况等的设置配置M40中的网络处理器,待基本初始化完毕,对系统进行检测。若ARM 与控制器端通信正常,则进行网络初始化、过程数据映射,否则进入“空态”,即什么也不做,初始化无法完成;待所有初始化完毕且正常,进入“等待通信态”,此时系统会等待主站发来的以太网通信信号,若主站从站正常连接,则可进入“运行态”,进行数据映射传输;若系统出现例如通信超时等事件或错误时,EtherCAT 通信驱动程序会重启。

图3 EtherCAT程序设计流程

1.4 扩展GUI模块

GUI 模块是实现人与设备对话的窗口,通过GUI模块,用户可更直观地了解设备运行状态,并对设备进行控制。为降低资源使用,目前工业使用的人机交互界面大多只能满足功能使用,界面质量较低,该系统使用基于STM32F429 系列的LCD 架构[10],它充分利用了STM32F429的内部图形资源,Chrom-ART图形加速器使得处理图像的Cortex-M4的负荷大大降低,GUI 模块进一步扩展了系统功能。

1.5 数据处理模块

数据处理模块位于PC 端,接收来自EtherCAT 以太网的数据并处理、显示、存储及远程访问等,并可向各从站端发送控制命令;数据处理模块包括TwinCAT PLC 程序和上位机程序。TwinCAT[11-12]是Beckhoff 公司开发的EtherCAT 主站,运行于TwinCAT 端的PLC 程序可以映射来自EtherCAT 网络中的数据,上位机监测软件使用C#语言开发,处理监测数据。系统数据库平台为Microsoft SQL Server 2008,设计参照数据库第三范式要求[13]。上位机程序流程如图4 所示,首先对界面各控件及ADS 通信参数进行初始化,然后启动定时器,定时时间应小于数据缓存时间。定时时间到达会建立ADS 通信并查询PLC 端是否有数据刷新,发现新数据会进行读取并存储到数据库、波形显示、查询PLC 及设备状态信息;监测软件使用多线程技术,以保证各功能部分的独立性。由于工厂环境十分复杂,在采样、传输过程中总会混入一些高频干扰,数字滤波器能在不增加硬件设备的情况下对离散数字量进行运算处理,该系统在上位机端设计数字滤波器。

图4 上位机程序流程

工厂内各设备数据及历史数据库通过高带宽网络接入服务器,可接入企业云服务,为实现智能工厂打下基础。

2 系统分析

EtherCAT 从站数据刷新有固定的周期,从站端界面的刷新频率也有一定的范围,但程序会响应用户随机性的UI操作,这会导致周期信号的延迟,界面延迟几十微秒刷新对系统没有影响,但通信程序的延迟则会造成数据的丢失,这是不可接受的。为解决这一问题,系统中在从站端和TwinCAT 主站端设计有两个数据缓冲区,以保证数据不丢失,缓冲区的大小应综合考虑资源占用、程序响应延迟时间及通信带宽等因素。

该系统是一个一主多从的群控系统,主站是通信的发起者,一个EtherCAT 数据帧最多可包含1 486字节数据。对于普通应用,主站发出一个EtherCAT数据帧即可遍历所有从站设备,但在使用缓冲区而打包传输的情况下,要遍历所有从站设备,需要更多的数据帧,即主站刷新所有从站设备数据的时间会变长。在数据打包传输情况下,示波器测得从站EtherCAT 数据映射周期约为500 μs。使用网络封包分析软件Wireshark[14-15]分析EtherCAT 数据帧,测得数据帧遍历单个从站并返回的时间约为8 μs,并不是每一据帧都有数据更新;缩短主站发送周期,见图5,可以看出主站在单次刷新数据时发送多条数据帧的间隔为1 μs,主站显示数据帧形成时间约为16 μs,一些因素会影响间隔时间,但都为微秒级。

图5 短周期EtherCAT数据帧抓包

影响实时性的另一个问题是操作系统的任务调度[16-17],为保证数据能真实反映被测量状态,AD 采样任务周期必须是严格的100 μs;从站控制器和从站控制微处理器之间的SPI 报文应答用于控制ESC 状态及传输过程数据,这两点不允许被操作系统的调度机制所延迟。

综上,缓存机制导致的多设备时的数据帧增加对可支持的从站设备数量影响较小,具体的从站设备数量上限与采样周期及单个设备的传输数据量有关。对于从站端,由于多任务导致的从站EtherCAT 数据映射周期较大,会导致多个数据帧没有数据更新,这一问题可通过上位机软件来解决。

3 系统测试

3.1 采样率测试

在程序中设定每次采样时翻转特定I/O,通过测其翻转频率可以得出系统采样率为I/O 翻转频率的两倍。测得示波器波形频率为5 kHz,则确定系统采样率为10 kHz。

3.2 实时性测试

测试实验从站控制微处理器为STM32F429NI,从站控制器为CompactCom 40,信号发生器输出1 kHz 标准正弦信号,系统测得图形见图6,频率过高时,每个周期的数据点变少,波形不够光滑,但仍能正确反映原始信号的状态,系统的实时性得到证明。

图6 1 kHz正弦信号局部放大

4 结束语

采用高性能实时以太网,配合采样、高质量GUI及实时监测软件构成一个完整的实时监测系统,该系统支持多设备多数据的组网实时监测,可应用于多种有实时性要求的监测场合。经过实验验证,系统性能稳定,采样率达到10 kHz,并有进一步提升的空间,为实现智能工厂打下基础。

猜你喜欢

实时性以太网控制器
工商业IC卡控制器改造为物联网控制器实践
PLC可编程控制器相关外置的选择计算研究
航空电子AFDX与AVB传输实时性抗干扰对比
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
谈实时以太网EtherCAT技术在变电站自动化中的应用
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
模糊PID控制器设计及MATLAB仿真
Freescale公司的可编程电磁阀控制器MC33816