论虚拟DCS技术
作者:冷 杉
摘要:本文结合国内外火力发电等过程工业系统仿真控制技术的实践,完整定义了
引 言
集散控制系统DCS(Distributed Control System)在电力、石化和冶金等过程工业的全面广泛应用,是上世纪九十年代国际自动控制技术领域最大的成就之一。经过近十多年的快速发展和激烈竞争,美国、德国、日本等的儿个主要自动控制系统供应商都先后推出过三代 DCS产品,我国也出现了具有自主知识产权的DCS产品。目前DCS应用己经趋于成熟, DCS正在进行技术重组和调整,但其技术进步并没有停止[1]。在计算机信息网络技术的促进下,工业界提出"网络化"、"信息化"、"数字化"的需求。作为数字化的基础,DCS将发挥不可替代的作用。DCS系统应用会进一步向控制和管理集成发展,而DCS的全范围仿真正在向所谓"虚拟(Virtual)"技术方向发展。
本文将在有关国际标准起草内容和最新的国外软件开发机构提供内容的基础上,结合多年来国内外火力发电等过程工业系统仿真的技术实践,完整定义"虚拟DCS"技术概念,对其进行细致的分类和论述。本义特别强调开放的计算机软件和网络平台上的"虚拟 DCS"技术开发和应用,全面论述开放平台 "虚拟DCS"技术路径和实现方案,供国内外同行参考和讨论。
一、虚拟DCS的定义 虚拟DCS(Virtual DCS)是相对于在过,程工业系统中运行的真实DCS(Real DCS)而言的,"虚拟DCS"就是将真实DCS在非DCS的计算机系统中以某种形式再现。"虚拟"是现今广泛使用的一种高新技术概念,比如有实现视景模拟的"虚拟现实"、采用CRT交互的"虚拟仪表"、构建远程多媒体双向通信的"虚拟会议"等等。当然,虚拟技术是完全建立在当今高性能的计算机硬件、软件和网络系统之上的。虚拟DCS不同于其它虚拟技术的是,其被虚拟对象也是计算机系统,而不是一般的物理系统。虚拟DCS就是要在计算机系统上再现计算机系统,具体地说,就是要在一种通常为开放平台计算机信息管理系统中,尽可能真实地再现集散控制计算机系统。虚拟DCS正是过程工业数字化的基础之一。
在实际应用中,为了达到设计调试、人员培训、检测诊断等系统应用目标,需要将真实DCS在非DCS的计算机系统中再现。目前共有三种形式,是分别根据DCS的控制设计、离线组态和构成运行系统等生命周期的不同阶段获取系统资源而实现的,如图1。
(1)激励DCS(Stimulation)──通常是简略输人/输出板卡和外设,采用真实DCS的硬件、软件和网络系统的适当或最小配置,再现DCS。激励DCS具有最高的软硬件逼真度,但是软硬件实现成本很高,与对象模型系统连接较难,无法完成复杂的仿真应用功能。
(2)虚拟DCS(Virtual DCS)──在完成 DCS组态之后,采用对DCS网络下载文件迸行智能编译转换的方式,实现DCS的平台转移和再现。虚拟DCS应具有极高的软件功能逼真度,实现成本不高,能够完成复杂的仿真应用功能。
(3)仿真DCS(Simulation)──只要DCS完成控制功能和逻辑设计,就可以根据设计图纸进行仿真。仿真DCS是多年来培训仿真系统的通常采用的形式,虽然实现成本不高、能够完成复杂的培训仿真应用功能,但软件功能逼真度和可信度相对不够高,跟踪修改较难,几乎不能完成人员培训功能以外的高级应用功能。
虚拟DCS的特点,就是控制参数和算法完全来自于下载文件,使用与DCS相同的算法、模块、时间片、位号等,可以同步修改更新,软件功能逼真度很高。可以说,虚拟DCS能够真正有效、经济和广泛地应用于人员培训和在线检测诊断,满足火力发电等过程工业"数字化"的需求。
二、虚拟DCS的分类
在全激励DCS和全仿真DCS之间,存在着各种类型的虚拟DCS。由于DCS主要是由分散处理单元DPU(Distributed Process Unit)和操作员站人机界面HMI(Human Machine Interface)构成的,相应就有所谓 "虚拟DPU"和"虚拟HMI"的分类。虚拟 DPU、虚拟HMT以及部分虚拟的多种不同的排列组合,构成了虚拟DCS的分类。对虚拟DCS的细致分类,有助于统一概念、明确规划和应用开发,对研究和工程实践都是非常必要的。这里列出的分类,可以说,除(1)和 (8)之外,都属于虚拟DCS范围。
(1)全激励DCS──其DPU的数量及运行软件、HMI的数量及运行软件都和真实DCS完全一致,仅需要为过程模型的连接开发接口软件。目前国外使用的仿真系统、国内迸口大型机组的仿真系统,大多数采用这类完全逼真的技术实现方案。
(2)最小配置DPU+真实HMI──将原本分散的DPU软件集中在一台DPU上运行,DPU硬件取最小激励配置,而DPU软件需经过一些虚拟改造,开发实时数据共享接口软件,采用真实HMI,对运行人员操作培训有完全的逼真度。
(3)最小配置DPU+仿真HMI──同样DPU硬件取最小激励配置和DPU软件虚拟改造,但HMI采用第三方的人机界面组态工具进行开发,在开放的计算机软件和网络平台上实现,对管理和检修人员的在线使用有完全的功能逼真度。
(4)虚拟DPU+真实HMI──为了避免复杂的DPU对过程模型接口软件开发,同时获得丰富的再现DCS功能和高逼真度,可采用此类虚拟方案。
(5)虚拟DPU+虚拟HMI──这是完全的虚拟DCS类型,无论DPU还是HMI,其虚拟软件都是通过DCS的下载文件的智能编译转换而获得的,这是节省投资、缩短开发周期、获得最高逼真度和最多应用功能的理想技术方案。
(6)虚拟DPU+仿真HMI──在HMI软件无法实现智能编译转换的情况下,采用第三方的人机界面组态工具进行开发,将 HMI转移到开放的计算机软件和网络平台上实现,对DPU则是采用虚拟的方法,这是对人员培训和在线检测诊断都非常实用的技术方案。
(7)组态图虚拟DPU+仿真HMI──如DPU和HMI的软件都无法实现智能编译转换,实现虚拟的方法是针对组态图软件进行仿真,在开放的计算机软件和网络平台上单独开发一套外观和操作模式上与真实DCS十分接近的图形化组态软件,由系统人员或检修人员迸行真实DPU和虚拟DPU的同步组态和同步修改,组态图虚拟DPU生成软件可输出虚拟程序,并与过程模型的 HMI连接,实现虚拟DCS的功摊。
(8)全仿真DCS──这是目前国内人员培刊仿真系统通常采用的技术方案。
各类虚拟DCS分类处于全激励DCS和全仿真DCS之间,其逼真度、应用功能和节省投资等三方面指标,符合图2所示的分布关系。现在来看,虚拟DCS以其接近激励DCS的逼真度、接近仿真DCS的应用功能和最节省的投资,表现出相对的综合优势。
三、虚拟DCS的技术实现
实现虚拟DCS的技术关键,就是开发智能编译转换软件和建立虚拟运行技术平台。智能编译转换软件和算法模块软件,是采用通用的Visual C++6.0等工具开发,能够在开放的Microsoft Windows平台上运行,这样就能在厂级SIS、MIS和仿真系统连成的管理网络上,应用虚拟DCS再现UNIX等平台上的DCS功能。虚拟DCS连同过程数学模型一起成为运行分析和检修管理人员桌面计算机随 时可调用的检测和诊断技术工具。
虚拟DCS的软件技术开发,要求采用综合统一的软件方法处理各种真实DCS的组态信息,其实质性工作不亚于编制几种DCS软 件运行系统软件。实现虚拟DCS的具体技术 手段和方法有多种多样,各研发机构的软件包 也不尽相同。本文作者认为,虚拟DCS的软件 技术核心,不外乎由以下儿个组成部分:
(l)DCS技术资料──由于虚拟DCS就是要对DCS迸行底层的仿真程序开发,需参考完整的DCS底层技术资料,对DCS的软硬件系统结构、组态方法、算法模块、系统管理、数据库管理、文件管理和通信协议等有深人的了解,经过DCS厂家的技术培训,甚至获得DCS厂家的技术支持,以解决虚拟过程中可能出现的问题。
(2)智能扫描解释──虚拟DCS的智能编译转换软件首先对真实DCS组态或修改完成以后的下载文件代码进行扫插解释,由于这些代码没有标准和统一的模式,是由各个DCS厂家自定义的各不相同的特殊形式汇编语言,所以对它们的扫描解释需要带有一定的智能判断功能,同时智能地解释和处理代码的衔接、通信、冗余、容错、异常、系统管理等特殊内容。扫瞄解释完成后,可建立完整的虚拟DCS组态语义库,为统一的代码转换和输出提供源数据。
(3)代码自动生成──虚拟DCS面临的问题是转换前的下载文件会来自于不同 DCS系统,转换后的代码要适合不同的仿真或分析计算程序要求,最好的解决方法是按扫描解释结果建立的组态语义库自动生成标准的和形式统一的VisualC++6.0程序代码文件,然后在接口程序模块考虑特殊处理。自动生成内容包括数据库定义、初始化定义、信号连接定义、算法模块类之间例化定义、模块组定义、接口定义等。代码自动生成要求无人工干预、无手工修改、连续批量完成。
(4)程序编译排错──虚拟DCS的程序编译系统是基于标准的C++编译器的,具有严格的语法和连接检查功能,如果出现语义逻辑错误、数据类