APP下载

高扩展性MES数据采集接口探讨

2014-10-15刘征宇曹路圆

制造业自动化 2014年19期
关键词:扩展性数据量队列

刘征宇,曹路圆,梅 茜

(北京机械工业自动化研究所,北京 100120)

0 引言

随着国内“两化”改革的不断加深,生产企业对MES(Manufacturing Execution System,制造执行系统)的要求也进一步提高,虽然国外有很多成熟的MES产品,与进口生产设备配套很好,但由于成本、适用性、保密性等要求,以致近年来自主研发MES在占有的比重增加。目前国内的MES系统虽然在设计上靠近ISA-95标准(Instrumentation, Systems, and Automation Society,仪器、系统与自动化协会),但该标准只从生产业务需求的角度进行了描述,没有具体的技术实现,导致各家在技术层面区别较大。而现场数据采集模块处于MES系统软硬件相接的位置,负责将生产数据稳定、有效的传输到软件系统中,属于不可或缺的重点模块。但是从手工组装到全自动生产线,采集方式和数据量千差万别,糟糕的设计会使MES产品适用性大打折扣。笔者从事MES系统开发实施多年,总结了一种在以太网结构下,能够适应大多数生产节拍的弹性采集接口,在此共享给各位,希望能抛砖引玉,促进自动化行业的发展。

1 功能需求

要实现一个弹性的数据采集接口,就必须在大多数生产企业中找到数据采集的共性,同时为了各企业的个性化需求,还应该留出扩展余地。因此我们需要对目前的各种数据采集手段进行分类和总结。这方面已有很多著作进行过论述,限于篇幅,不作详细说明,只使用一些结论性的知识:

1)数据采集按采集方式来区分,有手动、半自动、全自动三种方式;其中手动指人工录入,半自动指使用专用设备但是需要人工发起传输,全自动指通过OPC(OLE for Process Control,一种工业控制系统数据传输标准)或者公开、私有协议进行传输。

2)按照生产方式、节拍、数据量来区分,可以分为异步采集和同步采集,对于节拍迅速的企业,可能要求具有更高的实时性。

3)按照采集数据的目的不同,可以分为实时分析与数据储备两类。一般情况下,实时分析主要用作生产实时反馈,所需要的数据并不完全进入历史数据库。而数据储备的实时性要求不强,主要用于企业后期进行追溯、报表及产能分析。

在设计数据采集接口的时候,要综合考虑上述各种情况,结合现代计算机技术,合理构造,才能达到性能稳定、扩展性高的设计目标。

2 基本架构

为了适应不同的采集方式,数据采集接口内部采用分层设计(采集层+转发层)的思路,两层之间使用UDP(User Datagram Protocol,用户数据报协议)网络协议进行数据传递(极端情况可采用内存数据共享提升速度)。采集层面向输入端,提供人机、OPC、各类协议的采集接口,同时使用统一的内部传输规则向转发层进行数据发送;转发层接收到采集层传来的数据,直接放入数据缓存队列,然后再根据不同的逻辑对缓存的数据队列进行计算、转发和存储。这里有两个技术要点:

1)层之间使用UDP协议:提供更快速的传输和响应,要求采集层收集的数据需要带有时间戳记,以克服UDP传输可能带来的数据顺序错位。

2)转发层的数据缓存:根据不同场合的数据量及实时性要求,建立不同大小的数据缓存队列,一方面在高速数据传输过程中不会丢失数据,另一方面便于计算机对批量数据进行分析处理,降低磁盘I/O。

图1是模块的结构示意图。

图1 模块结构示意图

需要说明的两个部分:

1)如果要实现数据实时分析,那么数据队列建议设计成环形数组,数组大小需要根据实际情况进行设计,既保证实时分析的时间片能够覆盖到足够的数据,又保证分析时间内不会产生数据覆盖。

2)UDP在采集层与转发层之间的数据协议尽量简单,保证一个数据包即可传送完成。在作者开发的MES系统中,使用了“ID+时间戳+数据”的简单格式,保证传输速度和解析速度。

3 扩展支持

数据采集接口设计之初,即充分考虑了其扩展性,图A中标有圆圈数字的部分,就是可以加以扩展的地方,这里针对部分典型情况给出思路:

1)协议扩展:数据采集接口的采集层应具备扩展性,以支持除现有协议之外的数据采集。因此我们在图1①的地方留出了扩展余地,使采集层能够集成多种协议,统一进行数据传送。

2)加密传输:军工和高技术企业对保密性要求较高。数据采集过程中的失密,主要发生在传输阶段。大多数MES用明文在局域网中传输数据,很容易被抓包、存储和分析,因此可以在图1②的地方,使用公私密钥等加密技术,确保数据不被破解。

3)高速数据采集:虽然很少遇到,但有些企业实时分析要求较高。在本文所设计的接口中,可以采用共享内存的方式替代UDP进行数据传输,也就是用图1③的部分替换掉UDP传输,把传输和数据缓存集成到了一起,建立在同一台服务器上,延迟可进一步降低至几毫秒。

4)专业数据方案支持:目前,有很多支持高速度、大容量、分布式的缓存和数据库产品。如果企业有这方面需求,可以扩展前面图1④的部分;如果要用的数据缓存产品替代本方案中的数据队列,可以扩展前面图1⑤的部分。

为了适应更多状况,具体实施过程中,即使是数据采集接口内部,也建议按照模块化、接口化来规划各功能,增加系统弹性,以更大的灵活性应对车间技术升级或者流程改造。

4 结束语

文中所提数据采集接口已在本单位自主研发的MES系统中实现并应用到不同客户群体,既包括低节拍离散型装配车间,也包括高速连续制造企业,即可以采集工序、质量、设备、物料等数据,也可以采集变化频繁的设备信号,且效果良好,运行稳定,扩展简单。这种思路不仅限于MES,也可以用到其他SCADA(Supervisory Control And Data Acquisition,监控和数据采集)采集场合。篇幅所限,未提供硬件部署和伪代码,也没有论述高并发和分布式的相关内容。有兴趣可联系作者,希望得到同行指正。

[1]ISA-95国际标准[S].http://www.isa-95.com/subpages/technology/isa-95.php.

[2]顾荣庆,等.分布式数据缓存技术研究[J].计算机应用与软件,2011(06).

猜你喜欢

扩展性数据量队列
基于大数据量的初至层析成像算法优化
高刷新率不容易显示器需求与接口标准带宽
队列里的小秘密
基于多队列切换的SDN拥塞控制*
宽带信号采集与大数据量传输系统设计与研究
在队列里
丰田加速驶入自动驾驶队列
小学语文低年级阅读教学改革探究
比ITX还小华擎推首款Mini—STX主板
基于SpringMVC和Hibernate的企业人事管理系统