基于GUI的TXS多功能维护管理软件设计与开发

2021-07-23 03:05管海飞谢国宝
仪器仪表用户 2021年7期
关键词:图形界面图形化脚本

刘 敏,管海飞,谢国宝

(江苏核电有限公司,江苏 连云港 222042)

0 引言

国内外很多核电厂采用Framatome公司生产的TELEPERM XS(TXS)平台作为安全仪控系统来实现反应堆安全保护和控制。TXS系统能否稳定可靠的运行很大程度上取决于维护的效率和维护效果的好坏,因此设计开发一个多功能且易用的图形化维护管理软件,对于提高TXS维护水平,保障核电机组安全稳定运行具有重要意义。

本项目通过对TXS系统运行机理和系统特性进行分析,基于TXS系统自带的命令行工具软件和Linux GUI图形界面编程技术,开发了一套多功能的图形化维护管理软件GMT-TXS。

1 TXS维护方式简介

TXS系统的诊断维护操作主要在SU(Service Unit)服务器上进行,该服务器操作系统为SUSE Linux Enterprise Server 10,在此基础上安装了TXS系统运行环境软件包,其中涉及诊断维护的软件包括SMS(Service Monitor Server)、ASM(Alphanumeric Service Monitor) 和 GSM(Graphic Service Monitor),其运行框图如图1所示。

图1 SU服务器诊断维护软件运行框图Fig.1 Operation block diagram of Su server diagnosis and maintenance software

SMS是SU服务器上的核心服务软件,它建立了SU服务器与在线运行机柜之间的通信连接并且持续监测在线运行的机柜设备状态,然后将状态信息输出记录到日志文件中。另外,SMS还负责将用户输入的操作命令转换成机柜内CPU控制器能够识别的二进制指令,以及将CPU传回的状态数据转换成可读文本。

ASM是一个字符命令行形式的客户端软件,用户可以在字符终端中调用该软件输入命令,然后通过SMS传送给就地机柜内的控制器执行,也可以接收并以字符文本方式显示就地机柜的状态反馈。ASM支持的命令语法类似C语言,包括变量定义、数据结构定义、条件语句以及循环语句等,同时它还内置了40余个专用于TXS诊断维护的预置命令。

GSM则是一个视窗形式的客户端软件,它提供了图形化的人机接口来简化用户的操作,通过鼠标操作即可查看设备状态,或者点击菜单按钮即可自动执行一些常用命令,减少用户需要记忆的命令数量和手动输入次数,提高诊断和维护操作效率。

2 GMT-TXS软件总体需求

在TXS系统维护工作中,很多操作需要用户手动输入命令的方式执行,这就要求维护人员记忆大量的命令语法规则并熟练运用,对于维护人员来说全面学习掌握这些维护命令的难度较大。另外,手动输入命令的方式需要手动查阅功能图获取各种变量名,一旦变量名输入错误,则有可能对核电机组运行产生不可控的严重后果。虽然TXS系统自身已有GSM图形化维护软件,但是GSM仅实现了较少部分维护命令的图形化操作,很多常用的维护操作例如信号隔离、故障分析诊断、信号接口试验辅助操作等,仍然需要用户通过ASM手动输入命令。

为了降低TXS系统维护人员的学习难度,加强维护操作过程中的防人因失误管控,GMT-TXS软件要能够通过图形化人机接口实现常用的系统状态诊断、故障日志分析、信号隔离、脚本自定义管理、信号接口试验辅助操作等维护功能,并且在操作执行过程中进一步加强防人因失误管控,最大限度防止人员操作失误。

3 TXS逻辑组态数据库解析转换

要减少用户手动输入命令行,除了通过软件自动调用命令之外,还需要软件能够自动根据用户的图形界面操作从逻辑组态数据库中获取对应的一些变量名,来最终生成完整的命令语句,例如根据用户选择的信号自动调取其所在逻辑图编号以及隔离功能块的编号。

TXS逻辑组态数据库是基于Oracle数据库定制开发的功能模块,为保证数据库的安全性,数据库字段内容以及在线连接访问接口并未公开,仅提供了用于数据库创建、导入、导出等常规管理操作的dbadmin模块。通过对dbadmin模块内置脚本的分析,解析出逻辑组态数据库的结构[1],并从中导出与GMT-TXS软件需求相关的数据表,见表1。

表1 TXS逻辑组态数据表解析Table 1 Analysis of TXS logic configuration data table

4 GMT-TXS软件开发

4.1 软件框架设计

GMT-TXS软件开发采用的是QT框架,QT是一个跨平台的C++开发库,主要用来开发图形用户界面[2],TXS的很多软件包也是基于QT框架开发,因此采用QT框架开发GMT-TXS有利于与原生TXS软件之间保持兼容。

GMT-TXS软件运行的关键是实现与SMS软件之间的通信,将用户在图形界面上的操作通过SMS软件转换成正确的指令传输到机柜CPU控制器内执行,并通过SMS软件将CPU传回的状态数据正确解析,然后映射到图形界面上显示,形成图形化人机接口响应闭环。

由于SMS软件的调用接口不公开,因而无法通过编程实现直接调用SMS软件接口,但是可以利用TXS自带的AMS软件,通过进程间通信技术[2]实现与SMS软件的间接通信,其原理如图2所示。

图2 GMT-TXS与SMS间接通讯原理Fig.2 Principle of indirect communication between GMT-TXS and SMS

用户在GMT-TXS软件图形界面上进行点击按钮/菜单等操作时,在按钮/菜单对应的响应函数中根据ASM语法规则,软件自动将操作转换成ASM能识别的命令语句,然后通过进程间通信标准输入流将命令语句发送给ASM执行。ASM收到命令语句后通过内置接口调用SMS发送指令到控制机柜CPU执行,执行完的结果数据再通过SMS回传给AMS输出结果文本信息。GMT-TXS收到ASM返回的结果文本信息后会根据之前发出的命令操作类型对结果文本进行针对性的解析,解析后的数据对象与软件图形界面上的显示控件进行关联映射,最终在以图形化的方式动态显示执行结果。

基于上述基本原理设计的GMT-TXS软件框架如图3所示。

图3 GMT-TXS软件框架Fig.3 GMT-TXS Software framework

4.2 软件主要功能模块

4.2.1 信号隔离模块

使用TXS原有的软件进行信号隔离操作,至少要经过信号搜索选择、功能图跳转、启动态在线核实信号状态、查看功能块编号、输入命令行执行和验证6个步骤,GMTTXS软件通过自动处理的方式对上述步骤精简为3步:首先,用户在软件中以精确查询或者模糊查询的方式选择要隔离的信号,软件将自动根据解析的数据库表检索出与该信号冗余的其他信号,并在后台启动在线查询信号状态,然后在界面上显示;当用户确认要隔离该信号后,软件将自动从数据库中检索出功能图和功能块编号,生成信号隔离操作命令语句并发送给ASM执行;信号隔离操作执行完成后,软件后台会再次在线查询信号状态并显示给用户验证。

4.2.2 故障日志分析模块

SU服务器在线运行时会将系统发生过的故障信息记录到日志文件中,但故障记录中往往包含一些需要运维工程师查询手册才能理解其含义的故障代码,甚至有些故障记录中还包含组态数据库中的一些ID号等特殊代码,运维工程师根本无法查询[3]。GMT-TXS软件通过建立静态故障代码表,并结合解析的组态数据库,能够对故障日志进行快速分析解译,告诉维护人员具体的故障类型、故障点以及处理建议,其原理如图4所示。

图4 故障日志分析模块原理示意图Fig.4 Schematic diagram of fault log analysis module

4.2.3 系统状态诊断模块

为了便于维护人员快速了解系统中各个CPU处理器的状态,GMT-TXS软件在后台自动以1 s为周期持续调用ASM软件的stat命令,获取所有CPU处理器的启动时间、运行状态、运行模式、权限、故障记录等信息,并将这些信息动态显示在图形界面的列表中。

4.2.4 脚本自定义管理模块

在涉及一些高级的维护管理操作时,往往需要维护人员自定义一些命令脚本,这就要求维护人员具备较高的C语言编程技能,并熟悉TXS脚本的内置命令用法,这对于一般的维护人员来说难度较大。GMT-TXS软件设计了一个专门的脚本编辑器,将编写脚本时常用的命令语句根据其功能以标准化菜单的形式供用户调用并插入脚本中,用户只需根据功能提示输入相应的参数值即可。该脚本编辑器还具备基础的语法校核功能,帮助用户快速查找语法错误并纠正。

TXS系统中脚本的运行不同于普通的命令操作,它是多个命令的批量快速执行,一旦脚本有误运行失控,很可能对系统产生严重影响。为了严格管控脚本的编辑和使用,GMT-TXS软件设计了脚本管理功能,如图5所示。维护人员可以通过GMT-TXS一键调用TXS的内置SMT(Service Monitor Test Server)模块创建离线测试环境,并自动导入在线运行系统当前的状态数据到离线环境中。用户自定义脚本后,必须在离线测试环境中对脚本进行测试运行,并且将测试运行结果经过其他同级别或更高级的维护工程师审核无误后,才能作为正式版本在在线系统中使用。所有的脚本数据均以数据库的方式存储和版本管理,一旦脚本数据进行过修改,同样需要离线测试后才能再次成为正式版本。

图5 自定义脚本管理流程示意图Fig.5 Flow chart of user defined script management

4.2.5 信号接口试验辅助模块

TXS系统的信号接口试验过程中往往需要同时在线查看多个信号的状态值,一般是通过打开逻辑功能图启动态的方式查看,这种方式需要同时打开多张功能图,并且受屏幕大小限制需要在功能图之间来回切换显示比较耗时。另外,由于TXS的SU服务器没有历史数据存储功能,对于状态值变化较快的信号很容易错过观察时机,导致试验返工。

GMT-TXS的信号接口试验辅助模块采用类似实时曲线记录的方式。试验开始前,用户可以预先选择要记录的信号并根据需要对信号进行分组;试验开始后,用户可以随时选择开始自动记录某个信号、某一组信号或者某几组信号,软件将在后台按设定的周期获取并记录所选信号的实时值,同时在图形界面上动态刷新。这样可以大大简化信号接口试验过程中的记录操作,并且在特殊情况下漏记数据时,可以通过查看历史数据进行补录。另外,该软件能够将选择记录的信号清单进行保存,这样下次进行同样试验时可直接调用。

4.2.6 防人因失误管控功能

TXS系统中执行修改参数、改变CPU运行模式、在线下载代码等改变系统状态的高级操作时,要求输入的命令必须100%准确。以往通过ASM手动输入命令时,用户可以直观看到将要执行的命令语句,然后回车确认执行,但是GMT-TXS采用图形化操作后所有命令后台自动生成,用户无法看到将要执行的命令。为了避免GMT-TXS图形化软件使用过程中用户误操作,设计了防人因失误管控功能。用户在GMT-TXS软件中执行所有改变系统状态的高级操作时,软件会弹出提示当前操作将执行的所有命令语句,并要求用户输入随机指定的4位字符验证码,然后才会真正执行,从而避免误操作导致预期之外的后果。

5 应用验证

GMT-TXS软件开发完成后的界面如图6所示,该软件已在田湾核电站1~4号机组TXS系统维护工作中得到应用验证,使用该软件进行信号隔离操作,比以往的操作方式节省约一半以上的时间。软件的故障日志分析和系统诊断模块能够帮助系统工程师更方便快速地定位故障。脚本自定义管理模块为工程师提供了更高级的维护管理手段,并且使脚本的使用更加规范安全。信号接口试验辅助模块则大大简化了试验过程中信号的记录操作,对于缩短试验工期提供了很大帮助。

图6 GMT-TXS软件界面Fig.6 GMT-TXS Software interface

6 结语

本文在TXS系统原生工具软件的基础上,利用Linux GUI图形界面编程技术设计开发了一套多功能的图形化维护管理软件GMT-TXS。该软件将一些人工手动命令操作转为后台自动化处理,提高了TXS系统维护效率,具有较好的工程实用价值。

猜你喜欢
图形界面图形化脚本
酒驾
RRB电加热器图形化试验程序的设计与实现
安奇奇与小cool 龙(第二回)
用VMRun快速置备千台虚拟机
快乐假期
小编的新年愿望
重看图形界面“扁平化”与“拟物化”之争——关于设计思维的探讨
运用图形化听写式复习,构建高效地理课堂
VxWorks系统下基于WindML的窗口化图形界面设计
图形化地区电网无功优化软件开发与应用