基于NI CompactRIO平台快速搭建DCS仿真调试系统
时间:2017-09-17 阅读:1828
目前国内许多新建的核电厂一般都采用数字化仪控系统,而数字化仪控系统的重要特征就是采用分布式控制系统(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所示:
图 1系统结构示意图
主控机箱NI cRIO-9082整个设备的核心,主控机箱中预先安装了Windows7 Embedded系统,应用程序使用LabVIEW开发,调试完成的下位机程序固化在主控机箱NI cRIO-9082中。各个功能模块和主控机箱中的FPGA进行数据交互,FPGA通过DMA双向通道实现设置数据交换,包括用户的设置数据和测量模块的采集数据。
由于本设备中使用的功能模块比较多,采用MXI技术扩展了另外一个机箱,两个机箱之间实现透明化管理,在程序上不区分功能模块在哪个机箱。系统框架见图 2。
图 2系统框架
其中:
DC_I: 9475输入电压,zui大输入60V
48V_O: 直流48V电输出,用户客户选择不同的电平输出;
24V_O: 直流24V电输出,用户客户选择不同的电平输出。
针对数字输入,区分两种类型,一种是交流输入,另外一种是直流输入。
交流输入:检测220VAC电源掉、电上电情况,安装在后面板上,使用NI 9435 模块直接输入;
直流输入:检测干接点(24VDC)、24VDC、48VDC电源掉、电上电情况,使用调理电路在检测干接点时通断状态,将电压拉低与否来实现。
3.1 下位机程序
下位机程序主要实现四个功能:
- 状态检测:实时检测机箱温度、TCP连接状态、上传/下载的报数、文件存储状态等;
- 上位机下传数据解析:根据约定协议将上位机下传的数据解析后通过输出板块输出;
- 下位机上传数据打包:根据约定协议将采集模块采集到的数据打包上传;
上传的数据除了定时采集的工况外,还有一种是事件发生的时间测量:
针对数字输入量,当数字输入量当前拍与上一拍的数据不一样时,判定为事件发生;
针对模拟输入量,当模拟输入量的值在设定值之内(AI1≤X≤AI2,其中X:读取值;AI1,AI2为预设值),则判定为事件发送。下位机的数据流见图 3。
图 3数据流框架
- 数据存储:数据根据不同的采样速度分为模拟采集、数字采集(高速)、数字采集(低速)。运行过程中将这个三种类型的数据存放在不同文件夹中,主程序中提供单独的子线程完成数据的存储,各个子线程和主线程之间通过队列进行数据交互,主线程实时判断存放文件夹的大小,如果超过总容量的90%,会提示用于删除或历史数据。
数据格式类似波形文件,每个通道包括t0、dt、Y[]等信息,每个文件约10M大小。数据流见图 4。
图 4下位机文件存储
3.2 上位机程序
上位机分两部分,一部分是调试应用程序,另外一部分是核电厂的仿真模型,两部分独立运行,相互之间没有和数据交互,也不会同时运行。系统设计了一套通讯策略,保证了模拟机即可和调试应用程序配合,也可和核电厂的仿真模型进行配合。
程序流程如图 5所示:
图 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所示。
图 6 RT端界面
4.2 上位机程序
上位机端应用程序主要分为三部分组成,分别是:
- 设置、导入部分:用于导入数据,配置数据进行预处理;
- 显示筛选部分:用于设定特定条件,筛选关注的数据,可筛选列和特定条件的行数据;
- 事件显示部分:针对DI,显示设定值和随动值之间的时间差;
- 上位机程序界面入图 7所示。
图 7 上位机端主界面
4.3 现场成果
NI CRIO-9082和NI 9155固定在机箱内部,面对用户接线端,箱体后部是状态检测屏和其他人机交互接口,包括电源输入、USB、网口等。内部结构图见图 8。
图 8 内部结构图
为了现场使用方便,接口面使用的4mm的香蕉插头,选用普通的香蕉插头即可完成现场电信号的连接。用户接口面实物图见图 9。
图 9用户接口面
状态检测面提供了一块5寸的液晶显示屏,内部通过VGA接口和NI cRIO-9082主机进行对接,实时显示当前的工作状态。整个箱体坚固耐用,提供拉手和滚轮,可由单人拖拉运输,实物图见图 10。
图 10状态检测面
五、结论
利用CRIO平台,我们迅速为客户开发出一个体积小,易于现场维护,又易于扩展的硬件平台,利用LabVIEW FPGA技术,方便开发出数字信号的事件间隙测量功能,目前设备替代部分传统仪器,投入使用。