戴思丹,刘 彬,孙 睿,李 蕃
(核工业理化工程研究院,天津 300180)
新型设备的研制需要开展整机的运行测试试验,用于设备的指标考核、性能验证。就大规模的设备运行测试系统而言,涉及的运行设备多、结构复杂,被考核设备发生指标异常时,需要记录故障数据、并对整个测试系统做出调整。监控系统作为试验的重要组成部分,对于获取宝贵数据,保障被考核设备的长期稳定运行起到至关重要的作用,需要具备极高的准确度和响应速度,同时,长期地不间断运行对于监控系统的稳定性、可靠性亦有极高的要求。文章就某设备试验监控系统的实际研制情况,从总体架构、软硬件设计、数据接口设计、数据分析及存储设计、人机交互等方面进行了阐述。整个监控系统基于Rockwell自动化产品研制,上层管理层采用CS架构设计,现场站控制层由工控一体机和PLC组成,底层设备层由各检测装置、仪表、执行部件组成。监控系统具备较强的稳定性、可靠性。
大规模设备运行试验监控系统结构如图1所示。整个监控系统的主体网络架构基于光纤以太环网构建,下设数条CAN总线和485串行总线,局部控制室采用标准以太网与光纤以太环网进行数据交换。监控系统按照功能划分为上层管理层、现场站控制层和底层设备层。其中上层管理层由构建系统整体工程的冗余画面服务器,用于存储数据的冗余数据服务器,多台人机交互客户端,报表输出打印机,报警信息输出打印机,负责整个监控系统的状态显示、数据存储、报警输出、人机交互等,采用CS架构实现。在服务器中部署基于FactoryTalk View SE研发的监控软件和FactoryTalk Historian数据库。
图1 监控系统结构图
现场站控制层,由工控一体机和PLC组成,与底层设备层之间通过CAN总线、RS485总线、干节点信号、模拟量信号等方式连接。负责采集各子系统的各项运行参数,经过分析运算后,控制子系统内的被控设备。根据系统规模不同可设立多套现场站。现场站之间通过工业以太网通信。该系统共设置了9套现场站。
底层设备层负责各项运行参数的检测,各种泵体、阀门、供电电源的直接控制等。包括用于检测设备运转频率的专用检测装置,压力、温度、流量等参数检测仪表,阀门控制器,泵体控制器,供电电源等。其中专用检测装置将检测的运行参数数据通过CAN总线的方式传输到现场站控制层中的工控一体机,泵体、阀门通过继电器输出和485总线控制两种方式分别接入现场站控制层中的PLC和工控一体机。
整个监控系统主体基于Rockwell自动化产品进行构建,由PLC完成常规工艺参数的采集和控制,软件部分包括系统工程软件FactoryTalk View SE,数据库软件FactoryTalk Historian。PLC设备采用RSlogix 5000系列的CPU和各种输入输出模块,大规模设备的运行参数由非标的专用检测装置实现,数据接口由自研的OPC服务器程序来完成[1-6]。
整个监控系统的软件工程结构如图2所示。上层管理层环节,在数据服务器1和数据服务器2中部署FactoryTalk Historian,构建冗余数据库,用以数据的存储。在画面服务器1和画面服务器2中部署FactoryTalk View SE,分别作100画面的工程授权,建立Network系统工程,并配置冗余。设立一台客户端作为目录服务器,用于区分指向网络中的Network系统工程。在客户端中配置FactoryTalk View SE Client通过目录服务器的指向信息,运行Network系统。
图2 软件工程结构图
现场站控制层环节,在现场站的工控一体机上部署FactoryTalk View SE,作本地的15画面授权,建立本地软件工程,对就地的PLC实现参数采集和设备控制。部署开发的OPC接口程序,用以实现对专用检测装置和部分阀门仪表的读写控制。
整个监控系统工程的构建思路是上层的管理层,由服务器和客户端组成,具有所有设备、参数的远程监视及控制权限,各客户端监测控制功能一致,但可显示不同的监测参数界面。现场站则是具备本工作区域内设备参数的监测和控制,可在现场站进行就地和远程的控制模式切换,就地控制模式优先级最高。
监控系统中被考核设备的核心运行参数检测需要一种非标的专用检测装置,采用分布式的形式部署在设备运行现场,以总线的方式进行串联。每台专用检测装置可以完成多台被考核设备的频率和幅值参数检测,并通过CAN总线的方式进行数据上传。检测装置的研制关键是确保参数测量准确、快速,数据传输稳定。
检测装置整体的硬件如图3所示。采用DSP作为核心处理单元,通过外扩高速AD采集芯片实现信号的采集,输入信号依次通过模拟开关、量程变换送至A/D,DSP对采集的数据进行频谱分析以及一系列计算得出频率、幅值参数。这些数据通过CAN通讯传输到远程上位机进行进一步的显示、分析及存档。
图3 装置的整体的硬件框图
为了提高频率的测量精度,检测装置另外添加了用于测量频率的电路。信号通过模拟开关之后,会同时传送给分支电路,该电路利用比较器将信号转换为同频率的方波,送至DSP的ECAP端口,直接测量其频率,结合150 MHz主频的DSP,保证了被测参数的测量精度,高速的CAN总线保证了整个监控系统关键参数1 s的数据刷新周期。
现场站控制层与下层设备层的数据接口由两部分构成,一部分是通过以太网与PLC直连进行数据交互,以此检测控制泵体阀门等设备;一部分是通过OPC服务器同非标的专用检测装置以及标准的485总线接口的阀门控制器等进行数据交互[7-10]。现场站工控一体机中的CAN通讯卡负责接收该机组中数十个专用检测装置的数据,485串口卡负责485总线设备。然后通过OPC服务器将数据发送到本地软件工程和上层管理层。
OPC是一种基于微软的com/dcom技术来达成自动化控制的协定,包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。作为一种软件之间交换数据的标准,OPC为不同测控系统间建立了数据交换的桥梁。现场站数据接口如图4所示。
图4 现场站数据接口示意图
OPC服务器是数据的提供方,负责为客户端提供所需的数据;OPC客户端是数据的使用方,负责从OPC服务器获取数据并进行处理。OPC服务器的设计采用OPC开发包进行开发,节省时间且开发较为容易。程序采用C#编写,采用多线程设计,同时优化了命令的发送方式,解决了项目开发过程中遇到的延时、占用系统资源的问题。
图5为OPC服务器软件的基本流程图,OPC服务器首先创建一个将要使用的目录并为此服务器进行注册,在注册的过程中,OPC服务器将自身注册到组件目录管理器中,这样OPC客户通过查询组件目录管理器,来获取已注册的OPC服务器的CLSID。注册完成后,启动OPC服务器,并添加OPC变量,包括写入变量、读取变量。OPC服务器包含读/写操作两部分,写操作将统一为标准OPC格式的检测数据共享给SE客户端,用于显示、存储和查询使用,并刷新变量保证数据的实时性;读操作接收SE的按钮指令,用以触发给下位检测装置和阀门的参数测量、开关等命令。
图5 OPC服务器软件流程图
运行试验开展过程中,分析各项参数的变化情况对于判定被考核设备的运行状态以及故障模式具有重要意义,尤其在发生异常时,对于历史数据的追溯尤为重要。因此监控系统设计过程中就更加注重数据存储的可靠性、稳定性,以及数据查询的交互友好性。
监控系统采用建立冗余数据库的方式进行设计,配置Raid模式的两台服务器数据库的硬件载体,数据库软件采用Historian,各现场站工控一体机作为信号的输入源和Historian的节点。数据的流向是Historian的节点将数据采集到,再同时将数据传到服务器间的Historian的主从服务器中。当主服务器发生故障时,从服务器开始工作。当服务器发生故障时,节点处会将服务器无法接收的数据进行缓存,待服务器恢复正常后,缓存的数据会立刻被该服务器接收,从而保障数据的连续性。
为保证数据存储的详尽程度,采用3 s的存储周期,存储数据过滤斜率为0,即无数据过滤存储。
数据查询设计过程中,AB提供了原有的数据查询客户端软件,但所有操作针对于变量名,无法做到分类分间隔,数据导出的格式也需要重新整理,交互友好程度较差,不能满足系统快速、分类的查询要求。因此设计了调用查询程序,定制开发分类检索功能,直接对数据库数据进行操作。程序采用VB编程的方式实现,以脚本的形式嵌入到SE工程中,通过按钮调用。操作人员通过按钮选定要查询的参数和时间段后,点击查询按钮可进行历史数据显示,然后通过Excel输出按钮可实现被查数据到Excel的输出。
以下为使用VB脚本连接AB数据库的程序代码,其中servername为数据库建立时的名字。
Set CN = CreateObject(”ADODB.Connection”)
Strcn =”Provider = PIOLEDB.1; Data Soure = servername; Integrated Security = SSPI”
CN.ConnectionString = strcn
CN.Open
建立数据库的连接后,需要在脚本中添加所有需要查询的变量名称,并通过语句建立变量名称通数据库中变量名称的关联。此时可以根据变量的类型在查询界面的设计过程中进行分类处理,提升查询功能的友好性。
监控系统中需要涉及成千上万个变量的报警分析和统计计算,常规的监控系统设计方案是将这些参数计算放到SE的系统工程中,利用脚本程序实现,采用该方案的实际测试结果并不理想,表现在脚本程序的运行严重影响界面数据的实时刷新速度,造成了界面切换卡顿、报警迟滞。脚本程序虽然处理灵活,但在执行效率上存在先天的短板。
为了解决该问题,在监控系统设计过程中,将这些大数据量的计算分析放在了PLC中进行。SE本身具有一项“衍生TAG”的功能,可以把上层的SE功能获取的各种数据,通过软件底层数据传递功能块传递给到指定变量,实现数据的衍生。在现场站的SE工程中启动衍生TAG功能,将通过OPC服务器数据接口上传的需要计算的数据,衍生下发到本现场站的PLC中,在PLC中进行数据的报警屏蔽执行、分析计算等处理。上层SE功能直接调取处理结果。这种处理方式利用了PLC运算速度快、稳定的特点,不仅有效避免了脚本运行由于效率低占用大量时间,而且由于现场站中OPC服务器不再需要向这个网络上的其他OPC Client提供数据,减小了环网中的数据吞吐量,从而降低了网络通讯负担,提高了整体监控系统的运行实时性和可靠性。
图6为运行数据的中转流程示意图。多台参数检测装置中的数据通过OPC Server和FactoryTalk View SE两层中转,传递到PLC的CPU中。该数据处理的方式保证了监控系统整体数据刷新周期1 s,报警时延低于2 s。
图6 运行数据中转流程示意图
试验过程中,为了掌握某一时刻整个试验系统的运行状态,会将某些特定的重要参数和分析结果汇总到一张或数张表格上,形成运行状态报表。监控系统设计了定时打印输出和人工打印输出两种操作方式,在打印输出的同时增加了电子表格的存储功能,以Excel表格的形式按照日期命名规则进行存储。报表的实现采用在SE工程中绘制报表参数界面,以打印当前屏幕画面的指令实现打印。电子报表的实现,通过绘制Excel的报表固定格式,在点击打印报表按钮的同时执行数据写入Excel指令,并按照日期命名规则给当前文件命名存储[11]。
定时打印的实现通过编写脚本程序完成,检测系统时间满足特定条件后,给中间变量赋值,执行打印报表指令。
监控系统涉及的点数规模大,反映到界面、报警、报表、数据统计、报表存储、报警打印、数据变换等各个环节中的变量数量会十几倍增加,为了验证监控系统的各项功能及技术指标,需要开展一系列的实验测试验证。监控系统的准确稳定是开展整个新型设备运行系统启动运行工作的必要前提。实验测试步骤及方法如下:
1)开展监控系统静态环境实验测试,内容包括系统功能测试、安全性测试、稳定性测试。
(1)系统功能测试,包括参数显示功能(数据准确度、重复度、稳定性)、系统报警功能(声光报警输出、上下限调整、参数报警屏蔽、报警记录、报警查询)、阀门连锁控制功能(开关动作、开关精度、连锁保护、远程本地权限)、数据记录功能(存储周期、存储准确度、存储连续性、数据量大写)、数据查询功能(准确度、查询时间长短、响应时间)、报表功能(数据准确度、纸质与电子版一致性、表格内容格式)、中控客户端与现场站功能一致性等内容。使用过程信号校验仪、函数信号发生器等A类检测设备进行逐点效验,确保监控系统的每一点的检测准确度。
(2)安全性测试,针对操作人员权限、系统外设管理等内容进行测试。测试各操作许可、密码权限、外设接口密码、操作系统安全配置是否功能正常。
(3)稳定性测试,针对监控系统的长期运行情况进行测试,包括系统运行状态和数据传输稳定性。在监控系统正常状态下连续运行168 h,并在期间不定期进行全功能操作,观察系统运行情况,监测各总线上的丢帧率,每条CAN总线上的丢帧率应为0。
2)开展被测设备运行系统整体的试启动运行测试实验。各子系统按正式工况运行,被测设备无负载运行,测试监控系统各功能指标。
经过两轮测试,监控系统各功能指标和技术指标正常稳定,报警延时1 s,数据刷新周期1 s,数据存储间隔3 s,数据库每24小时产生700 M数据,各阀门控制及连锁功能正常稳定,CAN总线丢帧率为0,现场站与上层客户端数据刷新无延时,满足启动运行条件。
文章通过对某设备运行试验监控系统的架构设计、专用检测装置研制、数据接口设计、数据存储与查询设计等内容的阐述,介绍了基于Rockwell自动化产品构建大规模考核试验监控系统的关键技术,该监控系统除了实现显示、控制、分析、报警、存储、查询等功能外,实时性、稳定性好,人机交互友好程度高,为新型设备的研制及试验提供了可靠保障。同时也为其它大规模运行监测系统的设计提供了借鉴。