随着制造业信息化的快速发展和普及,各类生产和经营数据的采集也越来越引起经营管理者的重视,然而,由于制造业中的各类设备目前尚缺乏统一的标准接口和格式,难以实现以通用的采集方案进行数据采集[1]。本文作者在开发实验室数据自动采集系统中,涉及多种国内外检测仪器,涵盖RS232打印口,以及自带工作站的标准文本存储,ACCESS数据库存储,SQLite数据库存储,二次开发接口和保密文件格式等八种数据接口,因此需研究和设计一种通用的异构设备数据接口集成采集方案,实现异构接口设备实验数据的自动采集。
2 采集方案的分析与设计(Analysis and design of
acquisition scheme)
2.1 设备接口分析
通过对现场仪器接口的分析,其大体可分为三类:
(1)接口设备,此类设备无任何接口,通常只提供观测读数如烘箱。
(2)预留标准接口设备:此类设备预留有串口和并口接口,如薄膜厚度仪、阴燃仪。
(3)配备专用软件设备:此类设备通常已通过硬件接口和专用软件实现数据采集,但未向第三方开放编程接口和数据格式,此类设备种类繁多,接口互异,从最简单的文本文件、到完全加密的数据存储格式,数量众多,典型设备有拉力仪、白度仪、摩擦系数仪等。
2.2 采集方案设计
(1)无接口设备采集方案:对于无接口的仪器设备除另加装相关采集设备,如位移计、温度传感器等扩展设备外,最简单的处理方式是提供纯软件录入界面。
(2)预留标准接口设备采集方案:预留标准接口的设备多留有RS232串口或并口的设备,其中并口可以通过定制接线将其转为串口,而对于串口设备的采集目前主流的方式有直接集成和使用串口服务器集成两种方案。
直接集成方案,即直接使用串口线连接设备,但必须解决串口数量有限和通信距离较短的问题,通常可以使用多串口卡和RS485协议可以来解决串口数量有限和通信距离短的问题,但仍然存在:受PC内置接口数量限制、接线制作和编程复杂的问题。因此,考虑到扩展性和编程方案的一致性,目前对于多串口设备集成采集较为成熟的方案是使用串口服务器集成采集[2]。
串口服务器是串口和以太网之间的一个转换设备,其内置处理器、嵌入式操作系统和完整的网络协议栈,可以完成串口数据和网络IP包之间的格式转换、实现串口设备和以太网之间的数据双向透明传输和设备联网功能,具有不占用主机资源,转换效率高,运行可靠的特点,目前在工业控制领域有着广泛的应用。基于串口服务器的数据采集方案如图1所示。
图1 使用串口服务器的数据采集方案图
Fig.1 Data acquisition scheme based on serial port server
(3)配备专用软件设备采集方案
配备专用软件的设备,其特点是设备数据已采集并存储到工作站中,但存储格式不一,目前典型的接口格式有标准文本文件格式、标准数据库存储格式和加密格式三种,其中对于加密格式又可分为提供二次开发接口和未提供接口两种,因此本文的一个研究重点即是研究如何解析各类数据文件实现此类设备的数据采集。针对文件解析类数据采集的基本要求,设计以下文件解析类设备数据采集方案,如图2所示。
图2 文件解析类设备的数据采集方案图
Fig.2 Data acquisition scheme for file parsing device
对于文件解析类设备的数据采集,一般可以分为三步,即截获、解析和转发。截获是实现此类数据采集的关键和基础,对于多数已知数据文件格式的设备而言,采用基于文件系统的监测是最主要和方便的实现形式,而对于部分加密数据文件格式的设备而言,使用打印驱动截获报表数据是唯一方式。解析是指从截获的数据中获取需要采集的关键数据,可根据数据格式分为标准文本格式解析,标准数据库格式解析和根据二次开发接口进行解析。发送数据,是指将解析的有效数据使用TCP/IP协议发送到指定的数据采集服务程序。
3 采集方案的实现(Implementation of acquisition
scheme)
3.1 总体设计
通过以上分析,本文提出一种针对异构非标准格式数据的集成数据采集方法,即对于提供串口的设备使用串口服务器进行数据采集,对于提供接口文件的设备使用文件解析方式进行数据采集,从而实现了非标准格式的数据采集和保存,系统的总体结构如图3所示。
图3 数据采集系统总体结构图
Fig.3 Architecture of the data acquisition system
其中终端数据采集程序是本系统实现通用数据采集方案的核心模块,需根据设备的接口特性,进行定制,通常需实现数据截获、数据解析和数据发送三大核心功能。数据抽取的方式包括抽取RS232串口设备数据和解析自带工作站和已采集的设备数据两种,其中抽取RS232串口数据采用串口服务器将数据发送到数据采集服务程序,重点是处理异构设备的数据解析,解析方式包括标准文本解析、数据库文件解析、ActiveX控件二次开发和打印驱动数据截取四种方式[3,4]。
3.2 数据文件截获机制的实现
数据文件的截获其目的是截获最新的设备检测数据,从时机上来看应在设备完成相关检测后进行,从目前的实际情况看,多数自带工作站的设备都会将获取的设备数据进行保存,因此通过监视设备数据文件的方式实现数据文件的截获是一种较为可行的方式。文献[5]介绍了一种基于.NET实现的文件系统监控方式,根据此类思路,可以轻易实现Windows平台下的文件监控系统,因此数据采集文件监控系统的流程图设计如图4所示。
图4 文件监控系统流程图
Fig.4 File monitoring system flow chart
使用System.IO.File SystemWatcher可以实现对特定文件或文件夹的监视,当指定文件夹中有新文件被创建,会触发Created事件,如指定文件的文件大小或最后写入时间等属性发生变化则会触发Changed事件,如有文件被删除则会触发Deleted事件。通过Path属性可以指定要监听的文件或文件夹,通过Filter属性可以设置要监视的文件类型,如设为“*.*”则表示监视全部文件。通过NotifyFilter属性可以指定要监视的事件类型,通过EnableRaisingEvents来确定是否启动监听。
3.3 数据文件解析方式的实现
数据文件的解析重点是获取对用户有意义的数据,因此根据数据文件格式的不同可以分为标准文本文件解析、标准数据库文件解析和二次开发方式解析。利用.NET技术可以轻易地实现对文本文件、数据库文件和VBA的编程,本文仅介绍标准文本文件解析方式的实现。
标准文本文件解析,指的是设备配备的数据处理程序会将采集到的数据以标准文本形式存储在工作站上,此类设备会通过其自带数据处理软件生成标准文本格式的文件,通过监测和分析此类文件,可获取相关数据。标准文本文件的读取,在.NET中可使用System.IO.StreamReader对象进行读取。
3.4 数据文件的发送
发送模块负责实现数据的发送功能,可采用标准网络通信协议实现,考虑到实现的可靠性,建议采用TCP协议和并发编程的方式实现,在.NET中可使用TCPClient对象来实现数据的发送。
4 采集方案的应用(Application of acquisition
scheme)
某理化指标实验室管理有天平、长度仪、白度仪等21类检测设备,共计45台仪器,负责进行水分、长度、重量、白度等多个理化指标的检定和产品质量管控,鉴于实验仪器设备众多,地理位置分散,接口繁杂,以往通常采用人工录入的方式填报批次试验指标的平均值,并进行合格判定。然而此种方式只能保存批次平均长度和合格判定,无法存储每次试验的详细数据,同时部分试验存在着大量的反复操作,人工抄填、计算、录入的传统方式工作强度大,枯燥乏味,易出错,因此需建立一套基于通用异构非标准格式数据采集方法的实验室自动化数据采集系统,实现试验数据的自动采集,长期保存和查询、分析。
该系统分为设备端、工作站端和数据查询分析系统三个部分,采用层次递进结构,其整体软件结构如图5所示。
图5 实验室数据自动采集系统软件架构图
Fig.5 Software architecture of laboratory data
automatic acquisition system
设备端程序是主要实现文件解析类数据的采集,通过文件监控和数据解析获取设备数据,通过TCP/IP协议发送到工作站端数据采集服务程序。
工作站端数据采集服务程序是整套数据自动采集系统的中间层,其核心功能是数据接收,指标解析、格式转换和数据转发。其数据接收模块需要接收和处理来自设备端程序和串口服务器两类不同格式的数据,并根据业务规则从中解析出需要保存的有效指标数据,将其统一转换成标准的JSON格式,再通过HTTP协议转送到数据采集分析系统,这里使用HTTP协议可以确保数据可以安全的通过各类防火墙。
图6 数据查询分析系统功能模块图
Fig.6 Function module diagram of data query
analysis subsystem
数据查询分析系统是一个基于Web的B/S结构应用程序,采用经典的多层结构分为视图层和Web服务层、业务逻辑层和数据访问层,负责实现数据分析和数据共享两类核心需求,具有检验数据填报,质量数据预警、历史数据查询和数据趋势分析、数据导出和数据集成等功能,同时还提供数据字典和用户权限管理等基础功能模块,其功能结构如图6所示。
本系统采用微软的Visual Studio 2010作为开发工具,C#作为开发语言,对于设备端程序考虑到其兼容性,使用.NET Framework 2.0运行环境;对于查询分析端,考虑到扩展性和可维护性,采用了基于.NET Framework 4.5的ASP.NET MVC架构进行实现,目前已上线运行,实现了对实验检测数据的自动化采集,有效地减轻了试验人员的重复劳动和工作强度,提高了试验数据采集的准确程度和效率,获得了较好的应用成效。
5 结论(Conclusion)
随着制造业信息化的不断深入发展,各类异构设备接口的联网需求和数据采集需求也日益迫切,本文提出了一种异构设备接口的自动化数据采集方案,并基于该方案实现了一套实验室自动化数据采集系统,结果表明该方案可以有效满足异构非标准设备的数据采集需求。但本文的方法在数据采集层面还必须针对设备进行定制开发,目前系统所涉及的设备种类和接口类型还有待进一步扩展。
参考文献(References)
[1] Grzegorz wika.Methods of Manufacturing Data Acquisition for Production Management-A Review[J].Advanced Materials
Research,2014,2845(837):618-623.
[2] Kim R,Chi S,Yoon W C.Data integration and arrangement in the shop floor based-on time stamp:An illustrative study of CNC machining[C].Ubiquitous and Future Networks (ICUFN),2016 Eighth International Conference on. IEEE,2016:121-124.
[3] Kai Bu,et al.A High Speed and Compact Data Acquisition
and Storage System[J].Advanced Materials Research,2013,
2526(753):3125-3128.
[4] 李水田.一种基于VBA的非标准格式数据采集方法的研究与实现[J].电子技术与软件工程,2014(24):187
[5] 张志杰,刘金胜,谢晓峰.气象水文到报监测的实时性设计[J].计算技术与自动化,2013(03):110-116.
作者简介:
唐 俊(1978-),男,硕士,高级工程师,系统分析师.研究领域:软件工程,系统集成.