一种核电厂中的用户管理系统实现方法
2017-07-24马军超袁任重
马军超,郭 伟,袁任重
(中广核研究院有限公司,广东 深圳 518000)
一种核电厂中的用户管理系统实现方法
马军超,郭 伟,袁任重
(中广核研究院有限公司,广东 深圳 518000)
为加强核电厂中安全级设备及其应用软件使用的安全性和规范性、增强对现场操作的监管力度、降低误操作可能带来的风险,提出了一种基于LabVIEW平台的用户管理系统。具体给出了系统的设计原理和实现过程;介绍了在该平台上人机界面的设计、状态机结构、属性和方法节点的使用,以及访问SQL Server数据库的实现方法。阳江核电厂3号机组应用结果表明了该系统的可行性和有效性。
核电厂; LabVIEW; SQL数据库; 状态机; 用户登陆; 权限分级; 用户信息管理
0 引言
堆外核测量仪表系统是核电厂重要的仪表与控制系统,是广义的反应堆保护系统的重要组成部分。它的上位机作为人机交互的主要手段,负责显示反应堆中子注量率水平的监测数据、参数阈值的运算处理、功率轴向分布和变化率、系统状态的报警以及保护机柜通道控制等[1]。在机组日常运行和大修期间,现场操纵员、工作负责人、设备供应商和维修人员都有机会接触到现场设备,执行调节功率限制、参数修改等操作。工作的可靠性依赖于电站的安全运行规程、隔离管理制度以及操作人员培训水平和业务能力等人因要素[2]。据统计,由人为因素导致核电事故所占的比例超过70%[3],因此亟需一套用户管理系统来隔离现场的非专业人员,限制某些用户越权操作,杜绝安全隐患的发生,避免出现非正规操作导致的设备损坏和非故障停堆现象。
本文介绍了一款基于LabVIEW平台开发的用户管理系统,它能够记录用户的登陆信息和操作记录;设计了不同的权限,以有效防止非专业人员的误操作带来的运行风险;增加管理员的用户管理功能,使之能够全局监管系统的使用情况。目前,该系统已在阳江核电厂3号机组进行堆上试验的堆外核测量仪表系统上得到应用。此外,该系统具备一套标准的应用程序接口(application program interface,API),能以多种方式与OPC设备通信。因此,在Windows系统中,该用户管理系统的通用性和可移植性较强。
1 LabVIEW访问数据库
LabVIEW访问关系型数据库的方式有很多种[4],本文使用LabVIEW的数据库连接工具包调用API接口操作SQL Server关系数据库,采用通用数据链接(universal data link,UDL)获取数据库信息,以显示数据库的连接状态[5],避免了系统移植到其他计算机中需要重新建立数据库连接的麻烦。
系统中数据库保存的是用户登陆信息记录表,表中包括五个字段,分别是:登陆名、密码、权限、登录时间和登陆次数。每个段的数据类型是字符串,长度最大为2 000,允许为空。
执行代码时,首先调用Connect.udl文件获取当前数据库链接配置命令,再检查当前数据库中是否存在指定的表名。如不存在,则重新创建新的表,然后定义表中的字段,接着通过API函数获取当前所有用户信息,并将变体数据转变成字符串形式。整个程序执行过程鼠标状态为忙碌,禁止其他操作。
每次打开登陆界面,系统首先执行初始化数据库操作代码,起到创建表、初始化数据库引用、获取用户信息的作用;退出系统时,则关闭数据库连接。
2 系统设计与实现
2.1 系统界面设计
良好的人机界面包括合理的控件排版、协调的颜色搭配、必要的信息提示、突显的软件功能和界面的跳转等[6]。界面设计分为需求分析、功能分配、任务分析和界面设计四个步骤。
需求分析明确系统具备的用户认证登陆、使用权限区分、登陆信息管理三大功能。功能分配是承接需求,把功能细化分配给程序,或者开放端口由人为操作,从而规避因人的局限性导致的误操作,又凸显人统一监管的优势。任务分析一是要求系统开发过程遵循科学合理流程,做到逻辑严密程序规范;二是以核电厂实际应用为导向,形成完整的登陆、验证和管理的动作合集,进而反馈到核电厂的培训教程和操作规程中,起到补充和完善的作用。
界面设计总结以上三点要求,在设计时尽量简化操作。描述信息要满足功能操作的完整流程,具备完成操作的基本信息。
本系统开发的界面有初始化界面、用户登陆界面、功能选择界面和用户管理界面。软件运行后首先进入初始化界面,初始化成功后进入用户登陆界面,操作员输入正确的用户信息,点击确定。如果信息正确,当前界面跳转到功能选择界面,用户可以选择直接进入系统或者进行用户管理操作。具体系统界面切换流程如图1所示。
图1 系统界面切换流程图
2.2 系统详细设计
2.2.1 系统初始化
系统初始化工作包括:鼠标指向默认的用户名输入栏,显示前一次记录的登陆用户信息,默认当前界面控件状态,关联数据库获取已保存的用户信息等。
2.2.2 用户登陆信息验证
用户登陆信息验证的实现方式是:先初始化三个输入控件的引用,将界面中输入的用户名、密码和权限信息进行数组捆绑,再与初始化获取的用户信息数组进行搜索比较。三者均一致即提示登陆成功,否则提示登陆失败。用户登陆验证流程如图2所示。
图2 用户登陆验证流程图
默认的管理员用户名是Admin、密码是123。需要说明的是,系统移交给核电厂时,原始的管理员信息提供给主控室高级操纵员和大修经理,他们作为系统的管理者,在反应堆日常运行和大修期间,执行用户管理程序。
用户输入密码时,在“正常显示”位置打勾,则密码输入控件的显示样式属性为正常,以此来确保用户输入密码的安全性;如勾选“保存用户名和密码”,程序自动将当前用户名、密码和权限保存为缓存文件,下次登陆系统时读取缓存文件内容显示;如不勾选,则自动删除缓存文件。
2.2.3 权限分配
当用户信息验证成功后,对登陆的用户按照三种不同级别进行权限分配,主要体现在:一是对用户信息管理的不同操作,二是对准许登陆系统的不同功能操作[7]。权限级别关系由管理员(Manager)、工程师(Engineer)、操作员(Operator)依次递减。用户权限说明如表1所示。
表1 用户权限说明
用户管理系统和准入登陆系统两个进程的用户登陆信息通过文件变量形式传递,根据当前用户权限,通过属性节点设置功能按钮和显示界面的是否可见、显示样式、变灰禁用等属性,实现某些操作功能的禁用或者视图的不可见。
电厂日常运行期间,高级操纵员具备Manager权限,他依据核电厂运行技术规范的要求,把Engineer和Operator权限授予主控操纵员或现场操纵员,由后者执行对机组实行反应性控制的相关操作。
2.2.4 用户信息管理
登陆用户信息由用户登陆界面传递到用户管理界面中,在该子系统中具体实施对用户管理功能的三种权限分配。
如表1所示,Operator 用户仅查看自身的登陆状态,这里不过多阐述;Manager用户可以对自身和低权限用户进行多种操作。
①从用户管理子系统查看所有用户的信息,包括:用户名、密码、权限、登陆时间和登陆次数。
②点击“增加用户”,输入新的“用户名”、 “权限”和“密码”,需要“再次确认密码”后,方可增加新的用户。
③点击“删除用户”,选择要删除的“用户名”及对应的“权限”,即可删除该用户信息。
④鼠标双击某用户信息行,输入原有密码和执行更改的新密码,并再次输入新密码,可以更换已有用户密码。
在大修期间,大修经理具备Manager权限,根据工作包的方案内容,授予工作负责人和维修人员Engineer或Operator权限,后者依据工作要求,执行设备维修和参数修改等操作。大修结束后,大修经理可以删除原有用户或者更改密码,以此增强设备的监管。
2.2.5 登录信息记录
系统开发使用了状态机结构,它的特点是通过移位寄存器存储下一步要执行的状态,通过事件触发状态跳转的条件,避免了数据的多线程通信[7]。由于Operator用户并不具备用户管理权限,验证成功后直接进入授权登陆的系统,而Manager和Engineer面临两种选择,一是进入授权登陆系统,二是进行用户管理操作,因此状态的跳转会复杂化。在登陆成功后,具体跳转状态如图3所示。
图3 状态跳转示意图
无论哪种用户在进入系统或者退出登陆时都会进入更新寄存器数据“Update User Info”和保存数据“Save in Database”两个状态,从而保存最新的用户登陆记录。
2.3 程序开发总结
本系统设计过程中较多使用了事件结构、属性、方法以及引用,因此总结了一些关于这些技术的用法和注意事项。
①事件结构中最好不作复杂运算,仅执行状态的跳转命令,把复杂程序作为独立状态来执行;超时时间(100~200 ms)不能太长,否则事件触发不够灵敏;在处理事件循环中,设定循环时间或给出明确的循环结束的条件,否则程序会进入死循环,无法跳出。
②打开的引用要关闭,根据“谁创建谁销毁”的原则,退出程序时需关闭所有创建的引用,防止内存泄漏,造成程序崩溃。
③多采用相对路径,相对路径在搜索引擎中表现良好,程序移植到其他计算机,不会出现读取文件路径出错现象。
④通过控件引用和子VI来替换大量的属性节点,而且更新前面板控件的数据时也尽量不使用属性节点。
3 结束语
本文设计的用户管理系统,已成功在阳江核电厂3号机组的堆外核测量仪表系统上位机软件中完成了堆上试验。结果表明,该系统运行良好,它充分考虑了人的因素,减轻了操作员的负担,减少了操作失误,在降低人因失误、提高人因可靠性方面起到了重要的作用。该系统具有高内聚、低耦合特性,又可以作为大型应用程序的组件,应用到核电厂的其他设备或工业测控系统中。
[1] 张力,王以群,黄曙东.人因事故纵深防御系统模型[J].中国安全科学学报,2002,12(1):16-18.
[2] 万文略,崔冰波.LabVIEW在测控系统登录与管理中的应用[J].自动化仪表,2012,33(4):30-34.
[3] 陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2014:398-400,460-473.
[4] BEN S,CATHERINE P.Designing the user interface-strategies for effective human-computer interaction fifth edition [M].Beijing:Publishing House of Electronics Industry Authorized by Pearson Education,Inc,2010.
[5] 覃章荣.缓存在用户权限管理中的研究与应用[J].计算机技术与发展,2011,21(5):163-165.
[6] 化成君,樊 伟,张胜茂.基于角色的用户权限管理和功能模块的动态加载[J].电脑开发与应用,2012,25(8):41-43.
[7] 陈锡辉,张银鸿.LabVIEW程序设计从入门到精通[M].北京:清华大学出版社,2014:359-376.
An Implementation Method for the User Management System
in Nuclear Power Plant
MA Junchao,GUO Wei,YUAN Renzhong
(China Nuclear Power Technology Research Institute Co.,Ltd.,Shenzhen 518000,China)
In order to strengthen the security and normalization of safety class equipment and application software in nuclear power station,enhance the supervision of site operation,reduce the risk of misuse,the design principle and implementation process of a user management system based on LabVIEW platform are given;the design of human machine interface,structure of state machine,the usage of nodes of attributes and methods,and the implementation method of accessing SQL server database on this platform are discussed.The application of this method in the outer-reactor measurement instrument system in Unit 3 of YangJiang nuclear power plant verifies the feasibility and validity of the system.
Nuclear power plant;LabVIEW;SQL database;State machine;User login; Privilege classification; User information management
中广核研究院院级科研基金资助项目(R-2016ZBERC001)
马军超(1987—),男,硕士,工程师,主要从事核电站仪控系统设备的研发工作。E-mail:majunchao@cgnpc.com.cn。
TH-3;TP311
A
10.16086/j.cnki.issn1000-0380.201707023
修改稿收到日期:2017-02-09