董 靜,劉德龍,秦 鑫,吳志明
(1.中國水利水電科學研究院,北京 100038;2.四川水利科學研究院,四川 成都 610000;3.北京中水科水電科技開發(fā)有限公司,北京 100038)
隨著信息技術與工業(yè)控制領域的交叉融合,對生產(chǎn)過程自動化水平提出更高要求。由于傳統(tǒng)工業(yè)控制軟件在被控對象發(fā)生改變時必須編寫控制系統(tǒng)源程序,無法滿足隨時變化的需求,組態(tài)軟件(Configuration software)應運而生[1]。由于組態(tài)軟件在SCADA中的成功應用,用戶可通過非編程方式(如特定參數(shù)、圖形連接等)執(zhí)行特定功能,無需再對運行程序源代碼進行大量繁瑣的編程工作。
組態(tài)軟件一直被廣泛應用于工業(yè)控制領域,已經(jīng)有諸多成熟的產(chǎn)品。例如:美國的In Touch功能完善、穩(wěn)定性強,但通信性能較差、實時性不佳,iFIX擁有較為完善的功能和友好的操作界面,但受操作系統(tǒng)影響較大;德國的Win CC具有良好的靈活性和開放性,但操作繁瑣,需對用戶進行專業(yè)培訓;國產(chǎn)組態(tài)軟件有北京亞控公司的組態(tài)王、北京昆侖通態(tài)公司的MCGS等,組態(tài)王圖像功能豐富,接口涵蓋市面上大部分種類,但網(wǎng)絡功能較差,MCGS界面簡潔,但圖庫類型較少[1,2]。
隨著計算機技術的飛速發(fā)展,現(xiàn)代化社會對水利水電工程運維的要求已從自動化逐步演變?yōu)橹悄芑?。智能化要求帶來了從?shù)據(jù)處理、數(shù)據(jù)分析以及控制邏輯的多變性,在常規(guī)的控制系統(tǒng)中,開發(fā)人員往往是應對用戶的個性化需求編寫專門的軟件,通常面臨軟件更新慢、維護難、人員要求高等諸多問題,阻礙了水利水電工程的智能化進程。而目前已有的通用組態(tài)軟件多為基于底層設備及數(shù)據(jù)庫的組態(tài),可完成監(jiān)控畫面定制等基本功能,但對綜合計算、閉鎖條件判定等邏輯處理過程尚無專門的功能組件。因此,急需研發(fā)一套面向水利水電工程運維人員的圖形化編程平臺,實現(xiàn)無需編寫代碼,只通過類似繪圖的圖元拖拽、關系連線、參數(shù)設置等簡單操作,即可完成新增功能的軟件設計,從而滿足數(shù)據(jù)的預處理、數(shù)據(jù)分析、自動控制流程、控制閉鎖、自動巡檢等智能化任務的需求。
作為面向智慧水電廠,圍繞數(shù)據(jù)資源整合化、工程管理智能化、系統(tǒng)互聯(lián)互通等行業(yè)需求進行設計和開發(fā)的iP9000 智能一體化平臺,不僅可以構建功能強大、安全可靠、高速高效的新一代水電廠計算機監(jiān)控系統(tǒng),同時為水電廠各智能應用的開發(fā)和接入提供了一個很好的統(tǒng)一開放的數(shù)據(jù)管理、開發(fā)維護、運行管理平臺[3]。而HCON是為iP9000平臺設計的一款可視化邏輯組態(tài)軟件,主要用于iP9000綜合計算和閉鎖條件(基于SPL)的設計與配置工作、iSMA2000的專家分析模塊邏輯設計(基于python)。
通過對通用的邏輯、算術、系統(tǒng)交互、復雜算法等各種運算過程進行抽象,可將任意一種運算過程抽象為包含輸入和輸出的算法模塊,再通過對多個算法模塊組合連接,理論上能通過圖形組態(tài)出任意復雜的算法或邏輯判斷。HCON正是基于該理念進行設計,其主要工作流程如圖1所示:
圖1 平臺工作流程
隨著工業(yè)控制系統(tǒng)應用的不斷深入,組態(tài)軟件出現(xiàn)了支持跨操作系統(tǒng)平臺運行、支持多種控制算法和腳本語言、支持移動互聯(lián)網(wǎng)等方面的發(fā)展趨勢?;趯嶋H工程應用需求考慮,本平臺應能兼容所有Windows、Linux主流操作系統(tǒng),在我國實施國產(chǎn)化戰(zhàn)略的背景下,更應考慮與凝思、麒麟、統(tǒng)一等國產(chǎn)Linux操作系統(tǒng)的兼容性。因此在技術選型上選擇運用Node.js、Python和HTML5技術完成平臺的開發(fā)工作。其中HTML5前端技術用來構建平臺界面,基于Node.js的Electron將前端界面桌面化,Python語言完成圖形邏輯到目標語言的解析轉換過程。
圖2 HCON技術架構圖
HCON的模型組態(tài)功能主要包括平臺登錄、模型設計、模型檢查、模型發(fā)布及編譯。
(1)平臺登錄
考慮到HCON邏輯組態(tài)工具與iP9000的同步性,需使用在線模式以iP9000平臺的用戶名和密碼登錄,并配置與之一致的SERV_PROXY服務器IP地址及端口號,若使用離線模式登錄,將無法使用模型檢查、對象數(shù)選取對象、發(fā)布、編譯等功能。
(2)模型設計
模型設計功能包括:根據(jù)用戶的操作習慣,采用文件夾的方式在界面的解決方案管理器中管理hcon文件;通過從模型庫拖拽公用模塊元件到工作區(qū),實現(xiàn)模型組件選取操作,使得軟件更加易用,具備人機友好的操作界面;邏輯間的關聯(lián)關系通過連線的方式即可實現(xiàn);實時庫操作模塊,可設置對象名和屬性;為了保證邏輯組態(tài)畫面的可視化效果,可通過內置按鈕對圖形進行對齊和分布。
(3)模型檢查
完成模型設計后,系統(tǒng)可自動對模型進行檢查,檢查內容包括對象名設置是否正確、屬性名是否設置,保證模型的準確性和信息完整性。
(4)模型發(fā)布及編譯
系統(tǒng)在模型檢查完成后即可發(fā)布模型,模型發(fā)布功能主要包括:生成模型描述文件,方便接入平臺的模型解析,HCON中生成.json的 模型描述文件;為了便于腳本/任務運行,HCON中調用腳本轉換程序,生成.spl6文件,iP9000(spl)可解析該運算模型文件;腳本轉換程序將.hcon文件和.spl6文件存至iP9000一體化平臺的配置庫,便于后續(xù)解析和運行調用。
HCON應用于iP9000的過程包括模型設計、模型發(fā)布、模型編譯、模型測試和運行配置。
模型設計過程是在HCON可視化邏輯組態(tài)設計器中,通過拖拽、連接、配置的操作,完成復雜的綜合計算、閉鎖等邏輯設計。設計完成后,HCON將模型一鍵發(fā)布至iP9000的系統(tǒng)配置庫。模型編譯是指在HCON中通過調用iP9000的后臺服務,并通過一鍵操作將發(fā)布的模型編譯成二進制,使其具備測試或運行的條件。模型測試是在HCON中對腳本進行測試,實現(xiàn)在不影響iP9000系統(tǒng)生產(chǎn)環(huán)境的情況下查看各個模塊的計算結果。運行配置是指在HCON中即可對模型的運行方式進行配置,同時支持定時運行或周期運行等方式。
其中發(fā)布生成的.json模型描述文件可直接用于iP9000中的專家分析模塊,編譯生成的.spl6和.hcon文件直接存至iP9000配置庫可直接由iP9000(spl)解析調用。
iP9000解析HCON模型的數(shù)據(jù)流如圖3所示:
圖3 模型解析數(shù)據(jù)流圖
HCON主界面如圖4所示。其中上方區(qū)域為工具欄;左側區(qū)域為元件庫(公用模型算法庫);中間區(qū)域為圖形化編程區(qū)域(畫布);右側區(qū)域上部為解決方案管理器、下部為模型屬性編輯器。
圖4 操作界面
HCON是以iP9000智能一體化平臺為運行容器設計并研發(fā)的圖形化組態(tài)軟件,通過基于Node.js及HTML圖形庫技術實現(xiàn)跨平臺的可視化編程平臺,完善了腳本管理功能,實現(xiàn)腳本函數(shù)庫的可擴展性。用戶只需通過拖拽元件、修改元件參數(shù)、創(chuàng)建功能模塊的連線關系和設置功能模塊運行條件等簡單的繪圖操作,即可完成自動化控制系統(tǒng)中的綜合計算、閉鎖條件等邏輯的設計、發(fā)布、管理、調試及執(zhí)行,為水利水電工程的智能化運維提供有力的技術保障。