关键词: 建模工具;设计数据;逻辑仿真;功能块;设计验证
中图分类号:TP391.9
1 引言
核电厂为了生产过程的安全性和经济性普遍采用了数字化控制系统(DCS)。仪控逻辑系统作为核电厂的中枢神经[1],对于核电厂安全至关重要,由于工程设计作为核电项目建设的源头,提高其工程设计质量是提高核电厂安全性和经济性的最根本最有效的方法[2]。因此,仪控系统控制逻辑的设计,特别是新控制方案的设计都需要进行充分的设计验证。
以往在图纸设计的早期阶段,大多采用人工的静态检查方式进行设计审核,由于设计图纸没有计算引擎也没有数据的动态显示,依靠人工的观察很难发现设计缺陷问题。为此提出了一套闭环的控制逻辑设计验证或辅助设计的解决方案。根据AutoCAD绘图软件的逻辑模块设计数据在仿真支撑平台上建立逻辑功能块算法库,建立算法模块的运行环境,结合工艺过程数学模型进行控制逻辑设计图纸的仿真,验证核电厂控制逻辑的正确性,协助设计者做好设计优化,在设计初期发现设计问题并修改完善,从而提高设计文件的质量,减少了现场施工安装和调试过程中的诸多麻烦。
2 研究与分析
2.1 仿真支撑平台
本文采用的仿真支撑平台具有图形化建模、在线参数修改和编辑组态的特点,它为仪控建模软件提供了运行环境和图形功能,运行机制是基于瘦客户端的C/S模式[3]。如图1所示,其中,服务端是过程仿真平台服务端,用于提供数据存取和逻辑计算服务。服务端首先加载开发的计算任务和对象数据,然后计算任务按控制要求周期性调用统一的函数接口实现逻辑控制。客户端负责读取可视化文件,根据打开的页面及元数据信息向服务端请求数据,并将其中静态信息和动态信息显示在界面上,也可将用户的操作指令发送给服务端。
2.2 DXF文件
DXF文件即图形交换文件(Drawing Exchange File),为了与其他软件共享图形数据,AutoCAD软件提供了DXF格式文件作为数据交互文件,DXF文件是一种具有严格格式的顺序文件,是以ASCII码的形式存放图形信息的数据文件[4]。文件中的每个段在结构上基本相同,只是在具体功能上有着差别。每个段由若干个“组代码”和“组值”组成的“数据对”构造而成,这里的数据对就是通常所说的“组”,每个组占两行。组的第一行为组代码,它是一个非零的正整数,表示数据类型的名字,组的第二行为组值,代表着具体的数据信息。组代码和组值结合起来表示一个数据的含义和它的值。
3. 技术路线
整个逻辑建模工具开发过程最为核心的部分是解析软件设计和建模工具的计算任务开发,解析软件负责对输入的DXF文件内容的格式解析和信息获取,生成各种功能模块的外观信息文件和模块输入输出变量;计算任务负责功能模块的调度和完成各种模块实例的计算功能,图2展示仪控建模工具的开发路线,主要包括以下的几个部分:
1)DXF文件解析和数据提取。
2)生成各种模块参数定义信息。
3)生成各种模块外观,连接点和动态显示特性信息。
4)解析功能模块的逻辑功能。
5)开发模块的具体计算函数。
6)开发基于仿真支撑平台的运行计算任务。
图3 文件读取流程
设计图纸文件中的逻辑功能块外观信息都是定义在ENTITIES段代码中,因此读取实体段的内容很重要,当读取到组值等于“ENTITITES”时,表明实体段开始,随后读取的第一个组值即为图元类型。然后判断该图元类型,根据对应的图元类型,提取该图元的数据信息,就这样反复读取,直到组值为“ENDSEC”时,表示实体段读取结束,即几何图元的实体信息提取完毕。
4.2模块数据文件生成
数据文件定义了模块的参数信息和外观信息。参数作为模块之间的数据接口,包括参数名称、变量类型、输入输出引脚、描述说明、显示颜色、取值范围和初始值等等,外观则是模块的图形信息,一般由线、圆、矩形、多段线、文本和连接点构成,其以图形的形式反映了模块的特定逻辑功能。
根据DXF文件的解析信息自动生成输入、输出和中间参数变量定义文件,功能模块均定义为结构体类型的数据结构,为仿真模型中的实体提供了完整的数据表示。从模块功能的函数调用管理的设计方面考虑,每个模块的结构体都继承自同一个结构体,其参数定义遵循仿真平台的规范要求,示例如下:
struct acTOFF:acLogic//关延时
{
bool &In,_In;COLOR(0xC00000)//输入
bool Out;COLOR(0xa00000)//输出
double CTime;COLOR(0xc0)CONSTANT //延时时间
double CurTime; COLOR(0xc0) VIEWONLY //累计时间
acTOFF():In(_In),_In(false),Out(false),CTime(5), CurTime(0)
{}
GRAPHICS(Bitmap="`0-:TOFF;s:96,68;f:0,0,0,1,Ac\TOFF;" Interval=#DEFAULT Side=all)
}
外观文件自动生成,图形信息采用了矢量的表示方式,整个图形信息由GRAPHICS宏来定义,该信息表达了,如何使用一些基本操作(比如填充,绘制多段线、圆,填写文字等)来完成一个图形的绘制。操作以分号结束。整个图形信息生成的过程就是生成该宏内部信息的过程。
4.3功能块算法开发
功能块是图纸中最基本的组成单元,也是控制逻辑中最底层的程序模块,是为了实现某一特定控制策略具体功能而编写的算法[5]。功能块的设计原则是每个模块完成的功能既明确又单纯、模块的接口简明、模块之间必须相互独立。根据功能块设计图符的功能说明书,编制其功能的运算代码,实现具体模块的功能。功能块算法模块主要有以下几大类:
1)仪表模块类:实现模拟量和数字量的信号接入。
2)信号转接类:包括模拟量和开关量两种信号类型,用于不同控制逻辑图和不同工艺系统之间的信号传递。
3)基本逻辑块:实现基本开关量逻辑运算功能,基本数学运算功能,比较、超前滞后、选择器、积分、微分等功能。
4)操作命令类:用于接收来自于人机界面操作站的操作命令。
5)信息显示类:用于传递数据信息至操作人机界面操作站。
6)设备驱动模块:用于实现执行机构的控制、报警判断。
4.4计算任务开发
控制逻辑模型在仿真支撑平台上运行才能实现控制策略功能,这就需要设计用来实现对仪控系统模型控制和管理的运行计算任务(task)。它可由仿真支撑平台的运行系统自动或用户手动启动、冻结和停止,它处理一组属于其的独立变量或M对象,控制这些对象调度和数据管理操作,其主要实现的功能包括:
1)初始化时,模块对象数据的管理。
2)识别控制逻辑中的功能块类型与连接关系,获取对象之间的逻辑关系。
3)组织和管理模块运行计算顺序。逻辑模型图中功能块的运算顺序必须保证第一个连接的输入对象在输出对象运行之后再运行。从而保证数据流可以正确运行。
4)根据模块类型关联相应的函数,调用其逻辑代码,实现功能块的具体逻辑功能。逻辑功能采用C++语言编写在之前的接口函数中。
5 应用情况
以化学和容积控制系统的设计图纸作为验证对象进行设计验证,验证流程分为开环测试、闭环测试两个环节:开环测试即在控制逻辑图转化的控制模型没有连接工艺过程模型的情况下,对设计的逻辑进行独立测试;闭环测试即在控制逻辑图转化的控制模型连接工艺过程模型连接的情况下,对设计的逻辑进行集成测试。
验证过程着重于控制逻辑的功能性验证,从不同的方面对逻辑图设计进行验证测试,以确保逻辑设计的合理、正确和安全。功能性验证是对设计逻辑的控制过程及其控制效果进行动态演示,以测试其控制策略设计的正确性和安全性。
验证结果发现许多设计问题,包括跨页面信号链接错误、测点名输入错误、开关延时使用错误、定值参数等简单错误,还发现调节过程中的过程量处理、定值设置、信号修正和切换选择等等不合理情况,导致调节效果不理想等复杂错误。通过发现的问题修改了设计图纸,保证了设计图纸的正确性,大大地减少了现场调试和验证时间。
6 结论
本文开发的控制逻辑建模工具,保留了原有设计的外观和输入输出引脚,并且每个功能模块具有特定的计算功能,动态显示输入输出变量数值的变化,具有高度逼真的特点,方便设计人员进行设计的动态演练。工具可用于搭建控制逻辑模型,结合工艺过程仿真模型进行逻辑设计的验证,一方面帮助设计者在开发设计的早期阶段发现设计问题,另一方面辅助设计者进行高级控制策略方案的设计或优化,提高工程设计的质量,最大程度地消除潜在隐患问题,不管是对于核电机组的建设质量和工期,还是对于机组的运行安全性和经济性均具有重大意义。
参考文献:
[1]李延凯,林萌,杨燕华等.核电厂仪控系统设计验证仿真平台开发[J].核动力工程, 2014,35(5):148-152.
[2]段奇志,平嘉临,王春冰等.仿真技术在核电数字化仪控系统设计验证中的应用[J].原子能科学技术, 2014,48(11):904-908.
[3]钟俊,章旋,张学斌等.IEC61131-3标准控制逻辑组态跨平台仿真研究[J].测控技术, 2013,32(6):112-115.
[4]梁海涛,马军林,童创明等.基于DXF模型的数据读取与分析方法[J].空军工程大学学报(自然科学版), 2007,8(2):46-48.
[5]张波,东燕郊.典型虚拟集散控制系统的设计[J].华北科技学院学报, 2010,7(3):49-51.
论文作者:黎知行,钟俊,裴宜星,蔡瑞忠
论文发表刊物:《科技中国》2018年4期
论文发表时间:2018/8/10
标签:逻辑论文; 功能论文; 模块论文; 数据论文; 文件论文; 信息论文; 建模论文; 《科技中国》2018年4期论文;