实现虚拟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 编译器的,具有严格的语法和连接检查功能,如果出现语义逻辑错误、数据类型错误、或者连接定义缺乏,系统将提交报警或排错信息。
(5)虚拟参数数据库──虚拟DCS的参数包括输人输出变量、控制器参数、网络变量、人机交互变量等,数据类型包括模拟量、开关量、积算量、字符量等,要求能做到增、 删、改、定义中文描述等。
(6)虚拟算法模块库──虚拟DCS的DPU控制算法模块应完全根据真实DCS定义的模块来开发,每一种DCS的模块类型都有一百左右,包括输人输出模块、模拟控制模块、逻辑控制模典、顺序控制模块和特殊计算模块等。要求采用面向对象的实时控制系统模块编程技术,创建虚拟DCS算法类,体现封装性、继承性和多态性的高级软件技术特点。
(7)人机界面组件库──如采用仿真 hmi方案,则使用第三方的人机界面绘图组态软件来开发。如采用虚拟HMI方案,则要开发各种人机界面的动态组件,包括数据显示、状态显示、按钮、曲线图、棒图和软手操器等。组件库的调用程序也要求自动生成,或在较少的人工干预下实现生成。特别要注意生成与真实DCS相同功能的内嵌逻辑程序或脚本程序,保证虚拟HMI的逼真度。
(8)过程模型接口──虚拟DCS特别要保留全部的DCS输人输出测点位号,与过程对象数学模型的连接也能模拟现场的安装测点和调试工程。
(9)实时调度功能──虚拟DCS同样也是实时程序,在运行时需要执行实时调度。要求在编译转换时保留真实DCS同样的时间片及实时调度结合,使虚拟HMI的逼真度。
(lO)虚拟仿真应用功能──虚拟DCS是在通用和开放的计算机软件平台上进行开发和运行,因此可以与真实DCS系统连接运行,也可以与过程数学模型系统一起闭环运行,还可以与SIS系统实时数据或历史数据联网运行,实现诸如快存、初始条件、接口、检查、返回、重演、对比、统计、预测、模拟、寻优等复杂的虚拟仿真应用功能。