张光昱,吴帆,刘航宇
(中广核(北京)仿真技术有限公司技术开发部,北京 100094)
基于虚拟DCS的核电站DCS人机界面仿真技术方案
张光昱,吴帆,刘航宇
(中广核(北京)仿真技术有限公司技术开发部,北京100094)
目前实现核电站模拟机DCS(Distributed Control System,数字化分布式控制系统)仿真分别根据DCS的控制设计、离线组态和构成运行系统等生命周期的不同阶段获取系统资源而分为三种,如图1所示。
图1 核电站DCS仿真模型
●激励DCS(Stimulation):通常是简略输人/输出板卡和外设,采用真实DCS的硬件、软件和网络系统的适当或最小配置,再现DCS。激励DCS具有最高的软硬件逼真度,但是软硬件实现成本很高,与对象模型系统连接较难,无法完成复杂的仿真应用功能。
●虚拟DCS(Emulation):在完成 DCS组态之后,采用对DCS网络下载文件迸行智能编译转换的方式,实现DCS的平台转移和再现。虚拟DCS应具有极高的软件功能逼真度,实现成本不高,能够完成复杂的仿真应用功能。
●仿真DCS(Simulation):只要DCS完成控制功能和逻辑设计,就可以根据设计图纸进行仿真。仿真DCS是多年来培训仿真系统的通常采用的形式,虽然实现成本不高、能够完成复杂的培训仿真应用功能,但软件功能逼真度和可信度相对不够高,跟踪修改较难,几乎不能完成人员培训功能以外的高级应用功能。
其中虚拟DCS方式由于无论是控制参数,算法还是流程图都来源于下载文件,使用与真实DCS相同或者相似的算法、模块、时间片、位号等,可以同步修改更新,软件功能的逼真度很高,相比激励DCS,其又不用支付过高的软硬件使用权,因此具有较高的性价比,本文则针对虚拟DCS中的虚拟HMI论述一种技术路线和实现方式。
DCS主要是由分散处理单元 DPU(Distributed Process Unit)和操作员站人机界面HMI(Human Ma-chine Interface)构成的,两部分均可以独立采用虚拟方式进行仿真,而采用虚拟方式对HMI的仿真即是虚拟HMI。本文将论述把和利时公司的Hollias的HMI部分转换成自主开发的NSView上实现虚拟HMI的一种技术路线和方案,从而达到核电站DCS人机界面仿真的目的。
虚拟HMI的实现是通过DCS的下载文件(主要是图形文件),智能转换成可识别的中间文件(这里用的是XML格式文件),导入到自主开发的人机界面平台中从而实现DCS的人机界面虚拟方式仿真目的。虚拟HMI的实现主要需要解决图形文件的解析与转换的问题,其中转换包括动态特性的实现和交互特性的实现。图2展示了实现虚拟HMI的一个大致流程。
图2 虚拟HMI实现流程
3.1图形文件解析
图形文件解析的目标是从图形文件中提取出所有图元对象以及其所具备的特性的完备信息,根据所提取的信息能够从逻辑上完整的描述和复原所有图元对象以及其所具备的特性,并且在任意其他平台复现图元对象以及其所具备的特性。
图形文件解析一般可以具体细分为若干类图形对象的识别。图形文件内图元在内存中以都是以对象形式存在的,在硬盘中则以按照对象序列化方式保持的。因此一类图形对象在一个图形文件中可以有多个实例化对象,但同类实例化对象在硬盘中的存储结构是相同的。例如,直线作为最基本的图形对象,在一个图形文件中可以包含多根直线,但每根直线的文件存储结构是一致的,不同的是每根直线在每个存储单元所存储的具体属性数值。
图形系统的图元类型一般有:页面图元、点、直线、弧、矩形、文本、多边线、曲线、圆角矩形、饼型、Bezier曲线、图表、图片、组合图元、ActiveX控件等;
各图形对象一般包含若干数目的属性数据,因此各图形对象的解析可以进一步细分为对各个属性数据的识别,要对图形对象进行彻底的解析首先必须保证所归纳总结的属性数据是否充分完整。解析之前应根据所有资料分析出尽量完备的图形对象及其属性数据清单,然后在具体文件识别过程中,针对碰到的新图元及新属性不断补充和完善。不过图形文件解析的前提条件是需要有验证平台,一般来说也就是真实DCS的工程师站,通过在工程师站上进行组态,直接验证解析结果。
(1)解析步骤
①文件结构解析
图形文件虽然都是二进制文件,但是实质都是对内存中的图元对象进行序列化保存的结果,因此其保存方式都有规律可行。我们首先要对图形文件的存储结构了解清楚。具体解析过程从逻辑结构上说是一个由粗到细的过程,从层次结构上是一个从上到下的识别过程。其大致的解析步骤为:
●文件头信息识别
●各图元类型边界识别,起始、结束
●动态特性边界、交互特性边界识别
●具体数据属性的识别
图3是hollias的图形文件的基本结构。
通过图3所示的存储结构,我们可以识别图元以及其所具备的各种属性,从而可以针对图元内信息进行解析。基于该结构,我们展开单个图元内信息的解析。
②图元内信息解析
图元的信息都是由各种属性构成,各种数据具有不同的数据类型,这些数据类型是数据存储的基础,不同数据类型在文件中的存储方式是不同的。所以在图形文件中要识别出各种属性就首先识别各种数据类型在文件中的存储方式。
图3 文件存储结构示意图
各种数据类型基本与其在语言中定义的长度一致,通过比较我们解析出Hollias中的图形文件中数据类型的存储方式如下
●整型数,4个字节;
●浮点数,4个字节;
●BOOL型,4个字节;
●字符串,1+N,第一个字节存字符串长度,后依次存各字符;
●数组类型,1+N,第一个字节存数组长度,后依次存各数组对象;
●颜色类型,4个字节,R、G、B值分别存在0-8、8-16、16-24位;
●二进型数,位图对象存储
根据上面的解析结果来对照实际文件中的存储信息,图4是图形文件二进制示意图。
图4 图形文件二进制示意图
从图中我们可以看到各种类型数据在二进制文件中的存储方式,例如上图中的0000803F标识为浮点数1.0,通过明确各种类型数据的存储方式,从而解析出图元中各个属性。
3.2中间文件的生成
通过图形文件的解析,可以获取所需的所有图元对象以及其所具备的特性的完备信息。根据这些信息我们生成可识别的中间文件做为信息的新载体,用于下一步文件转换,同时可以把不同的DCS的图形文件转换成中间文件,这样虚拟HMI所用的HMI的平台就只用把中间文件转换成本平台的图形文件就可以完成对不同的DCS的HMI的虚拟仿真。对于中间文件的要求是直观,简洁,便于读取和修改。这里我们选用了通用的XML(可扩展标记语言)作为中间文件的格式。
下面是一个文本对象的信息存储范例。
定义了该文本对象具备的各种静态信息,例如位置、颜色等,这些信息可以完整在虚拟DCS的HMI平台上再现出这个文本对象。
2.3文件转换
文件转换主要是把中间文件转换成虚拟DCS的HMI平台上的文件格式,通过虚拟HMI平台再现真实DCS上图元对象以及其所具有的静态特性、动态特性和交互特性。在核电DCS中由于操作员需要控制各种功能复杂的阀门、泵等,这些设备在操作流程图上面都是以组合图元的形式存在,并且具有复杂的动态特性进行描述该设备的不同状态。针对核电DCS的特性,以及综合评定复杂程度,我们采用自动创建图库+手动组态动态特性的方案来实现转换。也就是先导入中间文件建立各种设备的图库,然后手动配置动态特性,最后导入中间文件生成图形文件。
首先我们分析一下核电站DCS中的人机界面的构成。下图是真实DCS的画面。
图5 DSC流程图
从画面中我们可以看出图主要由一些设备图符、线、文字等组成,一般情况下只有设备图符具备动态特性和交互特性的需求,根据其构成特点,我们确定转换技术路线。这里我们用仿真公司自主研发的NSView模拟机HMI仿真平台进行转换,该平台具有组态、在线模拟、报警、日志等DCS人机界面功能。
(1)图元转换及图库建立
对于基本图元,例如点、线,圆等、用于虚拟HMI平台都具备,因此直接从中间文件获取信息生成即可。对于用于表示设备等的组合图元,转换分成两个阶段,第一个阶段根据中间文件信息,生成图库。第二个阶段根据图库生成组合图元的信息。这样通过转换过程,不仅可以实现流程图页面的再现,还可以建立核电DCS的HMI的图库,从而手动组态新的流程图。
图6是根据中间文件在NSView内生成的图库。
图6 NSView内图库
(2)动态特性转换
现在主流DCS对于动态特性的实现分为两种,一种是表达式方式(例如ovation),一种是脚本方式(例如Hollias)。由于核电站DCS中所操作的设备比较复杂而且种类繁多,如果采用表达式来描述设备的各种状态,不仅表达式复杂而且不直观,而且维护困难,因此NSView平台对于动态特性的实现和Hollias保持一致采用脚本方式,并且支持简单表达式。
Hollias内部实现动态特性机制是在每个页面内加入工程内所有脚本,然后在图元进行设置。下图是Hollias设置动态特性的界面。
可以看到这是一个模拟量值特性(AN)的动态特性,并且有点名(AB1ASG113MT)等参数。在NSView平台中有支持全局函数的机制,我们NSView平台中定义其全局变量函数(GlobalDeclaretions),导入的时候根据不同的设备类型进行自动匹配对应的动态脚本,这样导入后的流程图上图符就具备了动态特性。这样当真实DCS中图元的动态特性升级的时候,在虚拟DCS这边只需要修改脚本,就可以再现真实DCS中的动态特性。
图7 Hollias内动态特性实现
图8 NSView内全局函数
(3)交互特性转换
在DCS中交互特性一般有弹出操作面板,切换底图,鼠标点击事件几类,这些都属于事件触发机制,所以首先我们需要是平台内部支持消息触发机制,然后建立对应的操作面板,底图,最后在导入组合图元的同时导入交互特性的参数即可。其中最为复杂的交互特性是弹出操作面板,这里用一个例子来说明弹出操作面板的实现。
图10是Hollias中对于一个模拟量组合图元设置的推出窗口的交互特性,其对应的模板为AN_WIN,具有点名(AB1ASG113MT),格式(%5.1f)等参数。
图9 NSView内调用全局函数
图10 Hollias内弹出窗口交互特性
在NSView内首先需要创建模板,这里名字为了对应Hollias,我们也创建名为AN_WIN,因为模板是可以重用的,所以相同的模板只需要创建一个即可。同时模板是需要对应实例的,实例可以创建多个,这里对应上面需要翻译的内容,需要在导入XML文件的过程创建名为AB1ASG113MT的实例,并把点名、格式等参数信息设置到该实例内,最后流程图内组合图元关联到该实例上就可以完成交互特性的转换。
图11即是在NSView平台内创建的模板和自动生成的实例。
图11 NSView内弹出模板交互特性
从上所述,采用虚拟HMI的方式进行核电站DCS人机界面仿真不仅具有较高逼真度,而且开发费用和开发周期相对于传统模拟机的开发来说具有一定优势。并随着进入核电的DCS产品越来越多,如何快速地开发出高质量的核电站模拟机成为一项重要课题。而采用虚拟DCS方式来进行核电站DCS仿真的开发将成为一种性价比高的技术路线,值得进一步研究。
Virtual DCS;HMI
A Proposal of DCS HMI Simulation Based on Virtual DCS
ZHANG Guang-yu,WU Fan,LIU Hang-yu
(China(Beijing)Nuclear Power Simulator Technology Co.,Ltd.,Beijing 100094)
1007-1423(2015)28-0055-06
10.3969/j.issn.1007-1423.2015.28.014
张光昱(1979-),男,湖北武穴人,本科,工程师,研究方向为DCS人机界面仿真及仿真平台
吴帆(1968-),男,江苏苏州人,硕士,高级工程师,研究方向为自动化控制及软件开发与管理
刘航宇(1990-),男,广东深圳人,硕士,助理工程师,研究方向为DCS人机界面仿真及软件开发
2015-08-05
2015-09-10
随着DCS在核电站控制系统中越来越广泛的使用,DCS仿真成为核电模拟机的重要课题,将着重论述基于虚拟HMI在仿真公司自主研发的NSView平台上进行核电站DCS人机界面仿真的技术方案,并以和利时的Hollias系统作为范例验证可行性和正确性。
虚拟DCS;人机界面
国家能源应用技术研究及工程示范项目
With the development of DCS,it is important to simulate DCS for the nuclear station simulator.Introduces how to use NSView which is a platform developed by CGNPC to simulate the HMI of DCS,and verifies this solution with an example of Hollias system.