牛颖蓓
摘 要:针对不同数据接口进行数据采集实现统一控制问题,设计与实现一套测试过程控制系统。硬件采用计算机网络技术,异构数据集成技术,通过OPC接口、通过现场总线、通过RS485接口、通过文件接口、通过ODBC接口和其他标准接口或非标准协议接口采集多个测点信息。软件采用主流的C/S架构和面向对象技术设计,通过多客户端、分布式运行模式,实现数据采集进行集成处理显示,并可以实现软件平台控制各个测点进行远程管理。该设计已在某工程上得到应用,实验结果表明,该系统能完成多个测点信息采集和处理的测试过程控制。
关键词:测试过程;异构数据集成;C/S架构;数据采集
中图分类号:TP31 文献标识码:A 文章编号:1671-2064(2019)22-0046-03
1 概述
为了实现多个参量的动态联合诊断,要求测量手段具有一定的全面性和完整性。能包含多个方面,能够同时完成响应过程的测量。这就需要在各个测量点的基础上,构建测试过程控制系统,通过对同一时基下测量数据的汇总和分析,给出测量的综合信息,为系统性能测试评价提供依据。测试过程控制系统用于对测试过程的监视和控制,并能够进行采集、显示、存储、分析等。系统能完成各个测量点的参数设置、控制、状态监测、数据采集和记录,将各个测量点的功能和信息等集成到相互关联的、统一和协调的系统之中,通过对该信息的综合分析,获得测试过程性能评估[1]。快速准确地获取和记录完整的数据,实现各测试点集中、高效、便利的管理,并有助于帮助快速诊断出故障状态。
2 硬件实现
测试过程控制系统通过计算机网络技术,异构数据集成技术[2],实现信息、信号(数据)的接入及整合,消除各设备的信息壁垒,实现基于数据和设备参数的统一数据中心,实现关键设备的远程集中监测和控制和过程自动化管理,辅助更加有效、准确地完成测试过程控制的集中监测、管理及数据分析工作。
2.1 系统组成
系统由服务器、客户端构成SCADA C/S结构,该系统的分布式体系结构由主、备两台SCADA实时数据服务器、1台关系库服务器、1台报表服务器和若干台HMI客户端构成,彼此分工协同,形成一个整体。如图1所示。
SCADA服务器是功能完备的计算机控制与数据采集系统[3],它综合利用了计算机技术、通信与网络技术和控制技术,完成对监测设备分散的各种过程或设备的实时数据采集,本地或远程的自动控制,SCADA服务器直接连接到物理I/O点,通过数据集成服务将实时数据传至关系数据库,形成过程的历史数据,以提供数据的分析、报表等功能,完成数据采集并维护过程实时数据库(PDB),HMI客户端实现各装备的监测监控功能,提供全局概貌、报警、数据分析、报表和各监测装备的监测监控等功能。
SCADA數据采集服务器和数据库服务器配置为:2路4核处理器,16G,300G*8(RAID 5),4端口千兆Flex-LOM以太网,DVD光驱,WINDOWS 2012标准版操作系统。报表服务器配置为:2路4核处理器,16G,300G*2,4端口千兆Flex-LOM以太网,DVD光驱,WINDOWS 2012标准版操作系统。
为了增强系统的可靠性,SCADA服务器采用双机热备系统。一台作主站,另一台机器作副站,主站完成服务器的正常工作,另一台与它同步。当主站故障时,副站接管主站的工作,双机热备包括I/O通道热备,多个客户端共同访问一个服务器端。
网络要承载测试过程控制系统和其他信息化业务,对网络传输带宽占用较多。为保证测试过程控制系统信息传输的及时性,本文网络定义为信息网[4]。信息网主要负责测试过程控制系统、信息化的数据传输,有效保证各类数据上传互不影响,提高网络的整体性能。选用H3C S3100V2-16TP-EI网络设备作为以太网交换机主机,网络主体采用千兆主干、百兆接入的架构,可以实现各控制统一数据交换和数据实时共享,为测试过程信息化打好基础。
由于特殊环境,对系统的通讯可能造成干扰,因此各系统之间的通讯连接采用光纤连接。多模光纤通讯可以应用于2公里内的情况,同时比单模具有更大的经济型。系统采用了两个信息传输系统:(1)因为要尽量减少信号传输延时,同步触发信号传输系统采用信号直接传输;(2)主控系统具有多个控制终端,同时与各分系统进行通讯,保证了一定的实时性及安全性,单独组建一个网络。
2.2 客户端接口
客户端数据采集接口主要由OPC接口、现场总线、RS485接口、文件接口、ODBC接口和其他标准接口或非标准协议接口几种。
2.2.1 通过OPC接口采集数据
对于具有OPC Server功能的自动监控模块,有监测监控系统的提供OPC Server功能的机器安装SCADA DA For OPC/DDE,作为OPC Client与集控系统的OPC Server连接,进行实时数据采集,同步将采集到的数据传输到实时数据库进行存储,由实时数据库实现到监控端的数据下发。
2.2.2 通过现场总线采集数据
对于采用现场总线又不能提供OPC Server功能的自动化系统,在数据采集工作站安装RTDB DA For CAN/Modbus,可直接进行实时的数据采集,将采集到的数据传输到实时数据库中进行保存,由实时数据库实现到监控端的数据下发。实时数据库支持以下总线数据的直接采集:CAN、BACnet、Profibus、LonWorks、Modbus、FF、ControlNET。
2.2.3 通过RS485接口采集数据
对于不能提供OPC Server功能的采用RS485传输的自动化系统,将RS485转换为以太网协议,在数采工作站安装RS485驱动和RTDB DA For RS485/232,根据与子系统厂商共同约定的数据协议进行实时的数据采集,同步将采集的数据直接传输到实时数据库进行存储,由实时数据库完成到监控端的数据下发。
2.2.4 通过文件接口采集数据
对于提供交换文件的监控子系统,在数据采集工作站安装FTP Server和SCADA DA For File,通过与分系统约定文件格式和访问控制机制,便可通过文件进行数据采集,同时将采集到的数据直接传输到实时数据库进行存储,由实时数据库完成到监控端的数据下发。
2.2.5 通过ODBC接口采集数据
对于只提供数据库支持的系统,在数采工作站安装SCADA DA For ODBC,通过数据库访问进行数据采集,同时将采集的数据直接传输到实时数据库进行保存,由实时数据库实现到监控端的数据下发。
对于提供其他标准接口或非标准协议接口的子系统采集数据,定制开发数据采集程序完成实时数据的采集和保存。
3 软件实现
3.1 软件构成
系统软件采用C/S架构和面向对象技术设计[5],实现多客户端、分布式运行模式。主要包含数据库服务器、主控服务器程序、主控控制端、主控配置程序、实验数据处理终端。控制系统和各子系统的本地控制系统建立基于TCP/IP网络通信机制。基于该通信机制,制定一套控制系统和子系统间的通信协议,实现主控制系统和子系统的实时连接和互动,用于整个测试过程的状态监测、过程控制、数据管理和决策支持。系统软件组成框图如图2所示。
主控制系统具备对整个实验测试过程的控制和对各子系统的远程控制。主要体现在以下两个方面:
(1)系统的总体控制:包括实验前的视频、语音管理,实验中各子系统间的逻辑控制和时序配合控制,实验后的数据汇集与存储,紧急情况下的急停和故障处理等。(2)子系统的远程过程控制:包括各子系统的参数设置、启动、过程监控、停止以及异常退出处理等。
组态开发平台ProficyiFIX是HMI/SCADA自动化监控组态软件[6],iFIX客户端应用包括实时动态画面、趋势、报表、批次控制、MES等。过程实时数据库中有多种功能块可供选择,包括模拟量、数字量输入输出块、计算块、报警块、累计块、计时器块、连续控制块、统计块及SQL功能块等。各设备运行参数、工作状态的统一监测,集中管理和部分设备集中远程控制,建立实时数据中心及历史数据库,并进行数据整合、分析和处理。
主控控制端是直接进行控制操作的平台,也是各子系统实时状态显示的平台。通过主控控制端发送控制命令,并监视操作结果及各状态量,主要对控制系统进行控制和监视。作为人性化的人机交互界面,主控控制端采用先进的图形界面软件编写[7],能对设备状态进行图形化、仪表化显示。主控软件框架如图3所示。
主控服务器是处理和各子系统的通讯,接受控制端的控制命令并转发到响应的子系统;接受子系统的状态,转发到主控控制端呈献给用户;处理各子系统之间的控制联锁逻辑,实现实验过程的有效控制,防止人工误操作。
主控服务器程序是整个主控程序的核心,通过服务器处理,可以实现多台客户端登录程序,实现主控和分控同时监视系统状态,通过内部互锁,可以分别进行控制。
配置程序负责用户管理、装置地址配置、系统结构配置等配置工作,配置的信息保存在数据库服务器中。
数据库及文件服务器保存系统配置信息、运行信息、实验记录等;实验数据曲线(如温度、速度、压力)、x光照片、3维图像等实验数据以文件方式存放在文件服务器,以合理的方式进行组织,方便查询显示。
实验数据处理终端用于在试验结束后将实验数据呈现在界面上,查询检索历史实验数据,分析评估实验结果。
3.2 数据分析和管理
该系统具有完备的数据管理功能,实现对测试信息的采集、存储和分析管理。
(1)数据采集包括测试信息,诸如测试时间、测试数据、测试内容等。测试过程信息,诸如各子系统参数信息、测试过程情况等;(2)数据存储通过主控制软件获取各子系统的测试数据,在主控制系统的数据库服务器上进行集中存储,具备双机热备份功能,保证数据的安全性和可靠性。在数据量达到一定限度后,将进行数据备份,实现测试历史数据的海量存储和动态恢复;(3)分析与管理在主控制软件具有完善的数据分析和管理功能,为后期的评估提供数据依据和决策支持。建立系统运行模型,基于该系统的分析功能,可对各种情况、子系统运行情况进行查询统计,分析系统运行情况和效果,为子系统的状态维护提供决策依据。
3.3 主控制程序人机交互界面
人机交互界面模块主要实现程序的整体架构运行[8],包括项目创建、打开、保存和关闭,项目视图导航,配置参数、控制用例的编辑窗口显示和操作维护,控制执行过程的运行、暂停、停止控制等。
主控制程序人机交互界面布局由菜单栏、状态栏、工具栏、项目视图、编辑视图和控制视图组成。人机交互界面的组成和功能定义如下,菜单栏给出包括项目管理、运行控制、配置参数和文件设置、窗口维护和帮助索引在内软件功能按钮。工具栏给出对应菜单栏的一些按钮,包括工程建立、打开和保存,以及运行启动和停止控制等[9]。项目视图以树状拓扑顯示当前打开工程的各功能项,包括各检测终端的IP地址、用户建立的控制用例索引等[10]。编辑视图以多文档窗口形式提供控制用例的编辑或导入窗口,实验数据显示窗口,控制用例执行控制和操作窗口等。控制台视图打印软件的运行信息,包括后台每个控制用例操作的执行过程信息,返回控制的状态信息,以及运行错误时的报告信息。状态栏显示当前软件的运行状态,运行时间及提示信息。
4 实验验证
针对本文设计与实现的测试过程控制系统,设置通过现场总线和RS485接口采集数据,在主控控制软件配置基础上进行实验验证。通过主控制程序设置指令StopCollect停止数据采集,可以快速完成测试过程控制功能。
5 结语
本文设计与实现一套针对不同数据接口进行数据采集且实现统一控制的系统,已完成全部软硬件开发、测试,并成功应用于某工程项目中。该系统经过实验验证,运行稳定。该系统具有良好的通用性、实时性、丰富的接口及可扩展性。
参考文献
[1] 宿斯.软件项目管理[M].机械工业出版社,2010.
[2] 李永平.数据处理方法与技术[M].国防工业出版社,2009.
[3] 李念强.数据采集技术与系统设计[M].机械工业出版社,2009.
[4] 毛吉魁,等.计算机网络技术[M].北京理工大学出版社,2017.
[5] JING Guan,JEFF O,PAUL A. An industrial case study of structural testing applied to safety-critical embedded software[C]//Proceedings of ACM/IEEE International Symposium on Empirical Software Engineering. New York,USA:ACM Press,2006:273-276.
[6] 伊拉希.网络通信技术[M].科学出版社出版,2007.
[7] Paul C.Jorgensen Software Testing[C]//A Craftsman,s Approach China Machine Press,2009:166-167.
[8] Sodani,A.,and G.Sohi .Dynamic instruction reuse[S].Proc.24th Annual Int,l.Symposium on Computer Architecture(ISCA),June2-4,1997,Denver,Colo.
[9] 年福忠,等.面向对象技术(c++)[M].清华大学出版社,2015.
[10] 新语,译.有限软件测试[M].清华大学出版社,2003.