基于NI CompactRIO平台快速搭建DCS仿真系统

- 正 方, 武汉中创融科科技有限公司

"利用CRIO平台,我们迅速客户开发一个体积小,现场维护,扩展硬件平台,利用LabVIEW FPGA技术,方便开发数字信号事件间隙测量功能,目前设备替代部分传统仪器,投入使用。"

- 正 方, 武汉科技有限公司

挑战:

核电站DCS的调试和验证常需要模拟不同的工况,传统的核电站仿真台,体积巨大,功能齐备,但不具备现场调试验证的能力;传统的仪器仪表,功能单一,通道数有限,仅手动操作,无法实现模型仿真变化的能力。迫切需要一台具备多通道,高采样,多类型,能实现现场调试,并模拟不同工况的便携式调试机。

解决方案:

通过使用NI CompactRIO硬件平台,配合NI LabVIEW FPGA模块,轻松实现多通道、多类型物理量、高采样的采集和输出;配合NI LabVIEW RT模块实现基于TCP/IP协议的多台联动。

作者:

正 方 - 武汉中创融科科技有限公司
盼盼 周 - 武汉中创融科科技有限公司

 

一、 引言

目前国内许多新建的核电厂一般都采用数字化仪控系统,而数字化仪控系统的重要特征就是采用分布式控制系统(DCS),DCS系统的可靠性直接关系到核电厂的安全性与经济性,因此,DCS系统的功能与验证就成为一项重要的工作。目前的DCS的验证工作一般由DCS厂家完成,业主只能跟踪过程,并不能直观的了解DCS的工作状态和性能。而传统的核电厂仿真机(通常称为模拟机)分为原形机、工程模拟机、培训模拟机,但不管是那种仿真机功能完备,但体积巨大不方便作为DCS调试机使用,因此客户需要我们提供一种便携式的DCS验证机用于现场调试和功能、性能验证。

二、系统背景设计原则

核电站通常都设计在靠近水域地带,常是偏远的临海地,DCS工作地点条件差,缺乏完备的调试设备,只能使用便携式的设备完成功能调试;使用传统的仪器仪表,比如万用表、示波器等需要多人协同才能完成某一功能的调试,一般工况的模拟调试基本靠人工操作完成,效率低、易出错;特定工况,比如变化速率在200ms的信号,靠手动去按钮触发开关,基本实现不了。

系统整体实现项目如下:

1) 与核电站仿真模型的接口

解析输出信号的值,并输出,包括模拟输出、数字输出、RTD输出、TC输出;

打包输入信号的值上次给仿真机,包括模拟输入、数字输入。

2) 提供用户操作界面

读取配置文件;更新数据库;显示通道筛选;实际物理量和电信号的换算。

3) 多通道时间间隔测量

针对开关量,测量设置信号与随变信号之间的时间间隔(可从毫秒级到分钟级)

 

三、 总体设计

根据系统的功能要求本系统包括以下几个部分:

 

1)数据采集和输出:

输出包括模拟输出(电流)、继电器输出、24V IO输出、RTD输出、TC输出;

输入包括模拟输入(电流)、24V IO输入。

2)信号调理:

将24V IO输出调理成继电器输出;

将24V IO输入调理成继电器输入;

将模拟电压输出调理成TC输出。

3)下位机程序:

提供显示界面,显示系统当前的温度、文件大小、通讯过程等。

4)上位机程序:

提供用户的各种操作。

设备中的各个机箱和功能模块都固定在加固机箱内部,加固机箱采用标准19英寸的设计,便于携带和使用。加固机箱前部用于设计测试使用的香蕉插头;后部提供电源通信的接插件,系统供电、LAN通信都由后部接入。上位机是另外一台电脑,其中安装了上位机的操作程序,核电厂的仿真模型也运行在其中。其结构如图 1所示:

 


主控机箱NI cRIO-9082整个设备的核心,主控机箱中预先安装了Windows7 Embedded系统,应用程序使用LabVIEW开发,调试完成的下位机程序固化在主控机箱NI cRIO-9082中。各个功能模块和主控机箱中的FPGA进行数据交互,FPGA通过DMA双向通道实现设置数据交换,包括用户的设置数据和测量模块的采集数据。

由于本设备中使用的功能模块比较多,采用MXI技术扩展了另外一个机箱,两个机箱之间实现透明化管理,在程序上不区分功能模块在哪个机箱。系统框架见图 2。

 

 

其中:

DC_I: 9475输入电压,最大输入60V

48V_O: 直流48V电输出,用户客户选择不同的电平输出;

24V_O: 直流24V电输出,用户客户选择不同的电平输出。

针对数字输入,区分两种类型,一种是交流输入,另外一种是直流输入。

交流输入:检测220VAC电源掉、电上电情况,安装在后面板上,使用NI 9435 模块直接输入;

直流输入:检测干接点(24VDC)、24VDC、48VDC电源掉、电上电情况,使用调理电路在检测干接点时通断状态,将电压拉低与否来实现。

 

3.1   下位程序

下位机程序主要实现四个功能:

  • 状态检测:实时检测机箱温度、TCP连接状态、上传/下载的报数、文件存储状态等;
  • 上位机下传数据解析:根据约定协议将上位机下传的数据解析后通过输出板块输出;
  • 下位机上传数据打包:根据约定协议将采集模块采集到的数据打包上传;

上传的数据除了定时采集的工况外,还有一种是事件发生的时间测量:

针对数字输入量,当数字输入量当前拍与上一拍的数据不一样时,判定为事件发生;

针对模拟输入量,当模拟输入量的值在设定值之内(AI1≤X≤AI2,其中X:读取值;AI1,AI2为预设值),则判定为事件发送。下位机的数据流见图 3。

 

 

  • 数据存储:数据根据不同的采样速度分为模拟采集、数字采集(高速)、数字采集(低速)。运行过程中将这个三种类型的数据存放在不同文件夹中,主程序中提供单独的子线程完成数据的存储,各个子线程和主线程之间通过队列进行数据交互,主线程实时判断存放文件夹的大小,如果超过总容量的90%,会提示用于删除或历史数据。

          数据格式类似波形文件,每个通道包括t0、dt、Y[]等信息,每个文件约10M大小。数据流见图 4。

 

 

3.2   上位程序

上位机分两部分,一部分是调试应用程序,另外一部分是核电厂的仿真模型,两部分独立运行,相互之间没有联系和数据交互,也不会同时运行。系统设计了一套通讯策略,保证了模拟机即可和调试应用程序配合,也可和核电厂的仿真模型进行配合。

程序流程如图 5所示:

 

 

核电厂的仿真模型由客户提供,我们主要实现调试应用程序。

调试应用程序主要完成下面三部分功能

  • 配置文件读取:使用Report Generation Toolkit for Microsoft Office工具包可将用户的Excel格式的配置文件读入到系统中。
  • 数据库操作:使用Database Connectivity Toolkit工具包可更新数据库,查询数据库,配合SQL语句,可实现复杂的数据库查询,提供用户数据的筛选显示。
  • 界面更新:实现查询下位机通过TCP/IP上传的数据,更新主界面;用户更新输出的值后,实现实际物理量和电信号的转换。

四、  软件实现现场成果

4.1   下位程序

RT端的主控是NI CRIO-9082,安装的是Windows 7 Embedded操作系统,使用NI CRIO-9082自带的VGA输出,在系统的后端提供一个状态检测的界面,提供TCP/IP连接信息,本次通讯简单统计,以及本地存储状态等信息。下位机界面入图 6所示。

 

 

4.2   上位程序

上位机端应用程序主要分为三部分组成,分别是:

  • 设置、导入部分:用于导入数据,配置数据进行预处理;
  • 显示筛选部分:用于设定特定条件,筛选关注的数据,可筛选列和特定条件的行数据;
  • 事件显示部分:针对DI,显示设定值和随动值之间的时间差;
  • 上位机程序界面入图 7所示。

 

4.3   现场成果

NI CRIO-9082和NI 9155固定在机箱内部,面对用户接线端,箱体后部是状态检测屏和其他人机交互接口,包括电源输入、USB、网口等。内部结构图见图 8。

 

 

五、结论

利用CRIO平台,我们迅速为客户开发出一个体积小,易于现场维护,又易于扩展的硬件平台,利用LabVIEW FPGA技术,方便开发出数字信号的事件间隙测量功能,目前设备替代部分传统仪器,投入使用。

 

作者信息:

正 方
武汉中创融科科技有限公司
China

图 1 系统结构示意图
图 2. 系统框架
图 3. 数据流框架
图 4 下位机文件存储
图 5 上位机流程图
图 6 RT端界面
图 7 上位机端主界面
图 8 内部结构图
图 8 内部结构图
图 9 用户接口面