火电机组虚拟DCS仿真机的实现
摘 要:以仿真支撑平台DCOSE为依托,对虚拟DCS仿真机的实现过程、实现原理、及技术应用等方面进行了简介。并针对翻译型仿真机的特点,详细介绍了逻辑组态和画面组态的具体翻译的技术方案。
关键词:虚拟DCS;仿真机;火电机组;控制系统
1 引言
随着当前火力发电技术的不断发展创新及机组控制策略日趋复杂与完善,电力行业对电厂仿真培训系统(以下称为仿真机)的要求也越来越高。控制系统是仿真机的核心部分之一,仿真机控制系统和现场DCS(Distributed Control System)系统的相似程度直接决定了仿真机的质量。传统的主要依靠手工搭建来实现的控制仿真方式由于其实施效率低下,仿真精度低等缺陷,已经越来越不满足当前仿真市场的需求。而虚拟DCS仿真机凭借其高效率、高模拟度、可扩展、易修改更新等特点,已经成为火电机组仿真的主要实现方式。
2虚拟DCS的概念
虚拟DCS(Virtual DCS)是相对于在过程工业系统中运行的真实DCS而言的,火电机组仿真中所谓虚拟DCS,是指将实际DCS的组态数据直接输入至仿真机或者转换至仿真机能够识别的格式,使其能直接模拟实际DPU的计算行为。通过这种模拟方式,脱离了DCS硬件系统,将实际DCS的逻辑及画面组态再现于普通的计算机环境下,在保证与实际组态一致的前提下,大大提高了仿真机的实施及使用效率,降低了实施成本。并且由于采用了与实际DCS完全一致的逻辑组态,仿真机除了用于机组操作人员培训外,还可对电厂优化运行、机组改造,控制策略修改等起到良好的指导作用,避免实际机组可能存在的安全问题。
根据仿真机对实际DCS的利用程度及实现方式的不同,虚拟DCS仿真方式大致可分为激励式和翻译式两种。
激励式——仿真机采用由DCS厂商提供的虚拟DCS仿真软件或硬件并使用真实的DCS组态数据,通过实时数据共享接口或网络协议进行实时数据交换及仿真操作来完成仿真机的功能。采用该种仿真方式能提供最高的逼真度,但软硬件实施成本较高,与过程模型结合不够紧密,无法完成复杂的仿真应用功能。
翻译式——在DCS组态完成之后,采用对DCS组态下载文件进行解析并翻译转换的方式,实现平台转换,在仿真平台上再现DCS的功能。此种方式能提供极高的软件功能逼真度,实现成本不高,由于与过程模型使用统一的仿真平台,能够完成比较复杂的仿真应用功能。
由于DCS主要由分散式处理单元DPU(Distributed Process Unit)和操作员站人机界面HMI(Human Machine Interface)构成,根据采用仿真方式的不同也相应地各自分为两种,由此排列组合,构成了虚拟DCS仿真机的细致分类。目前比较通用的仿真机实现方式除了全激励仿真机和全翻译仿真机两种,还包括采用翻译式DPU和激励式HMI相结合的方式,可称之为半激励式仿真机。
3虚拟DCS仿真机的实现
基于虚拟DCS技术的仿真机,就是将真实DCS在非DCS的通用和开放计算机软件和网络系统平台上以某种形式再现。下文将以北京同方电子科技有限公司仿真支撑平台DCOSE(Distributed Component Oriented Simulation Environment)为例,对其虚拟DCS仿真机的实现进行介绍。
3.1 激励式
激励式虚拟DCS仿真主要包含两个类型,即对整个DCS控制系统的全激励和仅对操作员站HMI的半激励。从技术角度来说,这两种类型的实现方式基本相同,主要是根据DCS控制厂商提供的数据访问接口或者通讯协议,编写仿真接口程序以实现仿真平台与虚拟DPU或者虚拟HMI的通讯。
其中,对DPU的激励需要在进行实时数据交换的同时实现虚拟DPU的运行、冻结、保存、和读取工况等仿真功能,对HMI的激励则只需要保证正常的实时数据交换即可。
图1. 激励式仿真机的结构
3.2 翻译式
翻译式虚拟DCS仿真机的实现主要体现在三个方面:实际DCS的控制算法模块实现、实际DCS逻辑组态数据的识别和翻译、实际DCS操作员站HMI的解析和翻译。
3.2.1 控制算法模块
真实DCS系统逻辑组态以控制算法模块作为最小组态单元。一个控制算法模块实现了某个特定的控制算法,包含若干个输入和输出接口以及若干个算法的系数属性。对于某些DCS系统,允许组合模块,即将几个模块连接成组,作为一个功能更为复杂的算法模块使用。
翻译式虚拟DCS系统需要在仿真平台上实现所有真实DCS系统的算法模块。根据面向对象的方法,可以将一个算法模块的算法属性打包定义为一个打包点,称为算法点,打包点的各个字段与算法的属性一一对应。这种设计有利于将实例化后的算法保存在数据库或工况文件中。
具体的算法通过固定原型的函数实现,一个控制系统中的算法模块均编译链接并保存在一个或多个动态链接库中,每个算法有唯一的调用入口,入口参数的均为实时数据的地址引用。算法模块可以使用任何计算机语言实现,如C/C+++或Fortran。一个DCS系统的算法组成了算法库。
3.2.2 控制逻辑组态
真实DCS系统DPU通过装载控制组态文件的形式实现逻辑运算。从本质上说,控制组态文件描述了算法模块的调用序列以及各个模块之间的连接关系。控制组态文件包含如下信息:
* 组态描述信息,包括组态模块在工程师站界面上的显示位置,页面大小等。
* 组态运算信息,一般组态文件按照分页方式组织,每页包含若干模块,组态文件中具体描述了每个模块的调用顺序、调用周期、优先级、参数默认值、及模块之间输入输出关系等信息。
* 数据库信息:包括各个数据采集点的信息等。
对控制逻辑组态的翻译,即使用Visual C++等工具编程解析控制组态文件,根据具体DCS下载文件的特性,采用文本读取、二进制读取、或者API访问等方式提取出有意义的信息,并将之分类处理,转换为DCOSE仿真平台可识别的Microsoft Visio文件格式并通过DCOSE仿真平台中的自动化建模工具,最终生成仿真平台可识别的模块算法调用序列文件(RTE文件)。这些文件的核心是一系列对资源模块的调用,并有和实时数据库的关联信息。
仿真平台计算引擎通过文件提供的静态数据建立相应的动态调用序列并执行其计算功能,这个过程所我们称之为装载过程。通过对每个真实DPU生成相对应的虚拟DPU运算任务(装载RTE文件后形成的进程或线程),可将原本分散的DPU软件集中在一台计算机上运行并统一调配及管理。
图2. 虚拟DPU任务
在逻辑组态转换过程中,对于组态文件中描述的I/O点信息,也采用
面向对象方法,将I/O点的所有属性信息打包生成打包点,包括I/O点的类型、描述、限制以及各种报警信息。在组态文件翻译过程中,I/O点打包点和算法点统一保存在仿真数据库中。
3.2.3 图形操作画面
操作员站的图形操作画面同样作为图形组态文件,由真实DCS系统提供的操作员站组态工具生成。各DCS所生成的图形文件格式可能会有比较大的差别,但所包含的有效信息基本一致,主要包括静态图形和动态图形两个部分。静态图形由点、直线、圆、椭圆、多边形,多折线等基本的几何形状组成,每种几何形状附带颜色、填充等属性;动态图形是指静态图形的属性与动态数据绑定后形成运行时动态,包括隐藏、颜色变化、闪烁等。
针对各种DCS系统不同的图形文件格式,DCOSE提供了统一的翻译方案,即将各种操作画面图形文件转换生成SVG(Scalable Vector Graphic)图形,并通过扩展SVG图元属性,描述动态行为。
目前SVG转换程序支持如下的静态图形关键字:
对于每一种图形元素,支持位置和大小属性x、y、width、height;颜色属性stroke、fill。对于文本元素
此外,为了描述图形之间的链接和跳转,以及弹出子图等操作,使用如下关键字:
:表示链接和跳转,属性target给出了链接的目标,可以是一个新窗口”_new”表示弹出子图,或原有窗口,表示跳转。
为了表示一个图形文件种使用的变量和函数,使用如下关键字:
SVG图形格式在描述动态属性方面有所不足,因此DCOSE扩展增加了以下SVG的图元属性关键字,用于动态属性描述:
visible:图形显示/隐藏控制。
dynamic-fill:动态填充
dynamic-stroke:动态前景色
text-value:动态文本显示
dynamic-scale:动态缩放
dynamic-path:动态位移和旋转
结合动态属性和变量、函数定义,就可以描述图形动态属性。
结束语
随着控制系统仿真机在发电行业的重要性日益提升,针对各主流控制系统的虚拟DCS研究也越来越深入,总体来说,翻译式仿真以其低成本,高仿真度,易实施等特性,已逐渐成为仿真机厂商的主要实施方式。
参考文献:
郝德峰,杨新民等. 虚拟DCS工程翻译的设计与实现. 西安热工研究院有限公司,2007(3),P69-71