馬軍超,郭 偉,袁任重
(中廣核研究院有限公司,廣東 深圳 518000)
一種核電廠中的用戶管理系統(tǒng)實(shí)現(xiàn)方法
馬軍超,郭 偉,袁任重
(中廣核研究院有限公司,廣東 深圳 518000)
為加強(qiáng)核電廠中安全級(jí)設(shè)備及其應(yīng)用軟件使用的安全性和規(guī)范性、增強(qiáng)對(duì)現(xiàn)場(chǎng)操作的監(jiān)管力度、降低誤操作可能帶來(lái)的風(fēng)險(xiǎn),提出了一種基于LabVIEW平臺(tái)的用戶管理系統(tǒng)。具體給出了系統(tǒng)的設(shè)計(jì)原理和實(shí)現(xiàn)過(guò)程;介紹了在該平臺(tái)上人機(jī)界面的設(shè)計(jì)、狀態(tài)機(jī)結(jié)構(gòu)、屬性和方法節(jié)點(diǎn)的使用,以及訪問(wèn)SQL Server數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法。陽(yáng)江核電廠3號(hào)機(jī)組應(yīng)用結(jié)果表明了該系統(tǒng)的可行性和有效性。
核電廠; LabVIEW; SQL數(shù)據(jù)庫(kù); 狀態(tài)機(jī); 用戶登陸; 權(quán)限分級(jí); 用戶信息管理
堆外核測(cè)量?jī)x表系統(tǒng)是核電廠重要的儀表與控制系統(tǒng),是廣義的反應(yīng)堆保護(hù)系統(tǒng)的重要組成部分。它的上位機(jī)作為人機(jī)交互的主要手段,負(fù)責(zé)顯示反應(yīng)堆中子注量率水平的監(jiān)測(cè)數(shù)據(jù)、參數(shù)閾值的運(yùn)算處理、功率軸向分布和變化率、系統(tǒng)狀態(tài)的報(bào)警以及保護(hù)機(jī)柜通道控制等[1]。在機(jī)組日常運(yùn)行和大修期間,現(xiàn)場(chǎng)操縱員、工作負(fù)責(zé)人、設(shè)備供應(yīng)商和維修人員都有機(jī)會(huì)接觸到現(xiàn)場(chǎng)設(shè)備,執(zhí)行調(diào)節(jié)功率限制、參數(shù)修改等操作。工作的可靠性依賴于電站的安全運(yùn)行規(guī)程、隔離管理制度以及操作人員培訓(xùn)水平和業(yè)務(wù)能力等人因要素[2]。據(jù)統(tǒng)計(jì),由人為因素導(dǎo)致核電事故所占的比例超過(guò)70%[3],因此亟需一套用戶管理系統(tǒng)來(lái)隔離現(xiàn)場(chǎng)的非專業(yè)人員,限制某些用戶越權(quán)操作,杜絕安全隱患的發(fā)生,避免出現(xiàn)非正規(guī)操作導(dǎo)致的設(shè)備損壞和非故障停堆現(xiàn)象。
本文介紹了一款基于LabVIEW平臺(tái)開發(fā)的用戶管理系統(tǒng),它能夠記錄用戶的登陸信息和操作記錄;設(shè)計(jì)了不同的權(quán)限,以有效防止非專業(yè)人員的誤操作帶來(lái)的運(yùn)行風(fēng)險(xiǎn);增加管理員的用戶管理功能,使之能夠全局監(jiān)管系統(tǒng)的使用情況。目前,該系統(tǒng)已在陽(yáng)江核電廠3號(hào)機(jī)組進(jìn)行堆上試驗(yàn)的堆外核測(cè)量?jī)x表系統(tǒng)上得到應(yīng)用。此外,該系統(tǒng)具備一套標(biāo)準(zhǔn)的應(yīng)用程序接口(application program interface,API),能以多種方式與OPC設(shè)備通信。因此,在Windows系統(tǒng)中,該用戶管理系統(tǒng)的通用性和可移植性較強(qiáng)。
LabVIEW訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)的方式有很多種[4],本文使用LabVIEW的數(shù)據(jù)庫(kù)連接工具包調(diào)用API接口操作SQL Server關(guān)系數(shù)據(jù)庫(kù),采用通用數(shù)據(jù)鏈接(universal data link,UDL)獲取數(shù)據(jù)庫(kù)信息,以顯示數(shù)據(jù)庫(kù)的連接狀態(tài)[5],避免了系統(tǒng)移植到其他計(jì)算機(jī)中需要重新建立數(shù)據(jù)庫(kù)連接的麻煩。
系統(tǒng)中數(shù)據(jù)庫(kù)保存的是用戶登陸信息記錄表,表中包括五個(gè)字段,分別是:登陸名、密碼、權(quán)限、登錄時(shí)間和登陸次數(shù)。每個(gè)段的數(shù)據(jù)類型是字符串,長(zhǎng)度最大為2 000,允許為空。
執(zhí)行代碼時(shí),首先調(diào)用Connect.udl文件獲取當(dāng)前數(shù)據(jù)庫(kù)鏈接配置命令,再檢查當(dāng)前數(shù)據(jù)庫(kù)中是否存在指定的表名。如不存在,則重新創(chuàng)建新的表,然后定義表中的字段,接著通過(guò)API函數(shù)獲取當(dāng)前所有用戶信息,并將變體數(shù)據(jù)轉(zhuǎn)變成字符串形式。整個(gè)程序執(zhí)行過(guò)程鼠標(biāo)狀態(tài)為忙碌,禁止其他操作。
每次打開登陸界面,系統(tǒng)首先執(zhí)行初始化數(shù)據(jù)庫(kù)操作代碼,起到創(chuàng)建表、初始化數(shù)據(jù)庫(kù)引用、獲取用戶信息的作用;退出系統(tǒng)時(shí),則關(guān)閉數(shù)據(jù)庫(kù)連接。
2.1 系統(tǒng)界面設(shè)計(jì)
良好的人機(jī)界面包括合理的控件排版、協(xié)調(diào)的顏色搭配、必要的信息提示、突顯的軟件功能和界面的跳轉(zhuǎn)等[6]。界面設(shè)計(jì)分為需求分析、功能分配、任務(wù)分析和界面設(shè)計(jì)四個(gè)步驟。
需求分析明確系統(tǒng)具備的用戶認(rèn)證登陸、使用權(quán)限區(qū)分、登陸信息管理三大功能。功能分配是承接需求,把功能細(xì)化分配給程序,或者開放端口由人為操作,從而規(guī)避因人的局限性導(dǎo)致的誤操作,又凸顯人統(tǒng)一監(jiān)管的優(yōu)勢(shì)。任務(wù)分析一是要求系統(tǒng)開發(fā)過(guò)程遵循科學(xué)合理流程,做到邏輯嚴(yán)密程序規(guī)范;二是以核電廠實(shí)際應(yīng)用為導(dǎo)向,形成完整的登陸、驗(yàn)證和管理的動(dòng)作合集,進(jìn)而反饋到核電廠的培訓(xùn)教程和操作規(guī)程中,起到補(bǔ)充和完善的作用。
界面設(shè)計(jì)總結(jié)以上三點(diǎn)要求,在設(shè)計(jì)時(shí)盡量簡(jiǎn)化操作。描述信息要滿足功能操作的完整流程,具備完成操作的基本信息。
本系統(tǒng)開發(fā)的界面有初始化界面、用戶登陸界面、功能選擇界面和用戶管理界面。軟件運(yùn)行后首先進(jìn)入初始化界面,初始化成功后進(jìn)入用戶登陸界面,操作員輸入正確的用戶信息,點(diǎn)擊確定。如果信息正確,當(dāng)前界面跳轉(zhuǎn)到功能選擇界面,用戶可以選擇直接進(jìn)入系統(tǒng)或者進(jìn)行用戶管理操作。具體系統(tǒng)界面切換流程如圖1所示。
圖1 系統(tǒng)界面切換流程圖
2.2 系統(tǒng)詳細(xì)設(shè)計(jì)
2.2.1 系統(tǒng)初始化
系統(tǒng)初始化工作包括:鼠標(biāo)指向默認(rèn)的用戶名輸入欄,顯示前一次記錄的登陸用戶信息,默認(rèn)當(dāng)前界面控件狀態(tài),關(guān)聯(lián)數(shù)據(jù)庫(kù)獲取已保存的用戶信息等。
2.2.2 用戶登陸信息驗(yàn)證
用戶登陸信息驗(yàn)證的實(shí)現(xiàn)方式是:先初始化三個(gè)輸入控件的引用,將界面中輸入的用戶名、密碼和權(quán)限信息進(jìn)行數(shù)組捆綁,再與初始化獲取的用戶信息數(shù)組進(jìn)行搜索比較。三者均一致即提示登陸成功,否則提示登陸失敗。用戶登陸驗(yàn)證流程如圖2所示。
圖2 用戶登陸驗(yàn)證流程圖
默認(rèn)的管理員用戶名是Admin、密碼是123。需要說(shuō)明的是,系統(tǒng)移交給核電廠時(shí),原始的管理員信息提供給主控室高級(jí)操縱員和大修經(jīng)理,他們作為系統(tǒng)的管理者,在反應(yīng)堆日常運(yùn)行和大修期間,執(zhí)行用戶管理程序。
用戶輸入密碼時(shí),在“正常顯示”位置打勾,則密碼輸入控件的顯示樣式屬性為正常,以此來(lái)確保用戶輸入密碼的安全性;如勾選“保存用戶名和密碼”,程序自動(dòng)將當(dāng)前用戶名、密碼和權(quán)限保存為緩存文件,下次登陸系統(tǒng)時(shí)讀取緩存文件內(nèi)容顯示;如不勾選,則自動(dòng)刪除緩存文件。
2.2.3 權(quán)限分配
當(dāng)用戶信息驗(yàn)證成功后,對(duì)登陸的用戶按照三種不同級(jí)別進(jìn)行權(quán)限分配,主要體現(xiàn)在:一是對(duì)用戶信息管理的不同操作,二是對(duì)準(zhǔn)許登陸系統(tǒng)的不同功能操作[7]。權(quán)限級(jí)別關(guān)系由管理員(Manager)、工程師(Engineer)、操作員(Operator)依次遞減。用戶權(quán)限說(shuō)明如表1所示。
表1 用戶權(quán)限說(shuō)明
用戶管理系統(tǒng)和準(zhǔn)入登陸系統(tǒng)兩個(gè)進(jìn)程的用戶登陸信息通過(guò)文件變量形式傳遞,根據(jù)當(dāng)前用戶權(quán)限,通過(guò)屬性節(jié)點(diǎn)設(shè)置功能按鈕和顯示界面的是否可見、顯示樣式、變灰禁用等屬性,實(shí)現(xiàn)某些操作功能的禁用或者視圖的不可見。
電廠日常運(yùn)行期間,高級(jí)操縱員具備Manager權(quán)限,他依據(jù)核電廠運(yùn)行技術(shù)規(guī)范的要求,把Engineer和Operator權(quán)限授予主控操縱員或現(xiàn)場(chǎng)操縱員,由后者執(zhí)行對(duì)機(jī)組實(shí)行反應(yīng)性控制的相關(guān)操作。
2.2.4 用戶信息管理
登陸用戶信息由用戶登陸界面?zhèn)鬟f到用戶管理界面中,在該子系統(tǒng)中具體實(shí)施對(duì)用戶管理功能的三種權(quán)限分配。
如表1所示,Operator 用戶僅查看自身的登陸狀態(tài),這里不過(guò)多闡述;Manager用戶可以對(duì)自身和低權(quán)限用戶進(jìn)行多種操作。
①?gòu)挠脩艄芾碜酉到y(tǒng)查看所有用戶的信息,包括:用戶名、密碼、權(quán)限、登陸時(shí)間和登陸次數(shù)。
②點(diǎn)擊“增加用戶”,輸入新的“用戶名”、 “權(quán)限”和“密碼”,需要“再次確認(rèn)密碼”后,方可增加新的用戶。
③點(diǎn)擊“刪除用戶”,選擇要?jiǎng)h除的“用戶名”及對(duì)應(yīng)的“權(quán)限”,即可刪除該用戶信息。
④鼠標(biāo)雙擊某用戶信息行,輸入原有密碼和執(zhí)行更改的新密碼,并再次輸入新密碼,可以更換已有用戶密碼。
在大修期間,大修經(jīng)理具備Manager權(quán)限,根據(jù)工作包的方案內(nèi)容,授予工作負(fù)責(zé)人和維修人員Engineer或Operator權(quán)限,后者依據(jù)工作要求,執(zhí)行設(shè)備維修和參數(shù)修改等操作。大修結(jié)束后,大修經(jīng)理可以刪除原有用戶或者更改密碼,以此增強(qiáng)設(shè)備的監(jiān)管。
2.2.5 登錄信息記錄
系統(tǒng)開發(fā)使用了狀態(tài)機(jī)結(jié)構(gòu),它的特點(diǎn)是通過(guò)移位寄存器存儲(chǔ)下一步要執(zhí)行的狀態(tài),通過(guò)事件觸發(fā)狀態(tài)跳轉(zhuǎn)的條件,避免了數(shù)據(jù)的多線程通信[7]。由于Operator用戶并不具備用戶管理權(quán)限,驗(yàn)證成功后直接進(jìn)入授權(quán)登陸的系統(tǒng),而Manager和Engineer面臨兩種選擇,一是進(jìn)入授權(quán)登陸系統(tǒng),二是進(jìn)行用戶管理操作,因此狀態(tài)的跳轉(zhuǎn)會(huì)復(fù)雜化。在登陸成功后,具體跳轉(zhuǎn)狀態(tài)如圖3所示。
圖3 狀態(tài)跳轉(zhuǎn)示意圖
無(wú)論哪種用戶在進(jìn)入系統(tǒng)或者退出登陸時(shí)都會(huì)進(jìn)入更新寄存器數(shù)據(jù)“Update User Info”和保存數(shù)據(jù)“Save in Database”兩個(gè)狀態(tài),從而保存最新的用戶登陸記錄。
2.3 程序開發(fā)總結(jié)
本系統(tǒng)設(shè)計(jì)過(guò)程中較多使用了事件結(jié)構(gòu)、屬性、方法以及引用,因此總結(jié)了一些關(guān)于這些技術(shù)的用法和注意事項(xiàng)。
①事件結(jié)構(gòu)中最好不作復(fù)雜運(yùn)算,僅執(zhí)行狀態(tài)的跳轉(zhuǎn)命令,把復(fù)雜程序作為獨(dú)立狀態(tài)來(lái)執(zhí)行;超時(shí)時(shí)間(100~200 ms)不能太長(zhǎng),否則事件觸發(fā)不夠靈敏;在處理事件循環(huán)中,設(shè)定循環(huán)時(shí)間或給出明確的循環(huán)結(jié)束的條件,否則程序會(huì)進(jìn)入死循環(huán),無(wú)法跳出。
②打開的引用要關(guān)閉,根據(jù)“誰(shuí)創(chuàng)建誰(shuí)銷毀”的原則,退出程序時(shí)需關(guān)閉所有創(chuàng)建的引用,防止內(nèi)存泄漏,造成程序崩潰。
③多采用相對(duì)路徑,相對(duì)路徑在搜索引擎中表現(xiàn)良好,程序移植到其他計(jì)算機(jī),不會(huì)出現(xiàn)讀取文件路徑出錯(cuò)現(xiàn)象。
④通過(guò)控件引用和子VI來(lái)替換大量的屬性節(jié)點(diǎn),而且更新前面板控件的數(shù)據(jù)時(shí)也盡量不使用屬性節(jié)點(diǎn)。
本文設(shè)計(jì)的用戶管理系統(tǒng),已成功在陽(yáng)江核電廠3號(hào)機(jī)組的堆外核測(cè)量?jī)x表系統(tǒng)上位機(jī)軟件中完成了堆上試驗(yàn)。結(jié)果表明,該系統(tǒng)運(yùn)行良好,它充分考慮了人的因素,減輕了操作員的負(fù)擔(dān),減少了操作失誤,在降低人因失誤、提高人因可靠性方面起到了重要的作用。該系統(tǒng)具有高內(nèi)聚、低耦合特性,又可以作為大型應(yīng)用程序的組件,應(yīng)用到核電廠的其他設(shè)備或工業(yè)測(cè)控系統(tǒng)中。
[1] 張力,王以群,黃曙東.人因事故縱深防御系統(tǒng)模型[J].中國(guó)安全科學(xué)學(xué)報(bào),2002,12(1):16-18.
[2] 萬(wàn)文略,崔冰波.LabVIEW在測(cè)控系統(tǒng)登錄與管理中的應(yīng)用[J].自動(dòng)化儀表,2012,33(4):30-34.
[3] 陳樹學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,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] 覃章榮.緩存在用戶權(quán)限管理中的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(5):163-165.
[6] 化成君,樊 偉,張勝茂.基于角色的用戶權(quán)限管理和功能模塊的動(dòng)態(tài)加載[J].電腦開發(fā)與應(yīng)用,2012,25(8):41-43.
[7] 陳錫輝,張銀鴻.LabVIEW程序設(shè)計(jì)從入門到精通[M].北京:清華大學(xué)出版社,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
中廣核研究院院級(jí)科研基金資助項(xiàng)目(R-2016ZBERC001)
馬軍超(1987—),男,碩士,工程師,主要從事核電站儀控系統(tǒng)設(shè)備的研發(fā)工作。E-mail:majunchao@cgnpc.com.cn。
TH-3;TP311
A
10.16086/j.cnki.issn1000-0380.201707023
修改稿收到日期:2017-02-09