文│ 中國汽車工業(yè)工程公司自控工程院 張成禮 龐洛明 曾 鵬
基于組態(tài)軟件的人機監(jiān)控系統(tǒng)開發(fā)過程
文│ 中國汽車工業(yè)工程公司自控工程院 張成禮 龐洛明 曾 鵬
組態(tài)軟件是一種面向工業(yè)自動化領(lǐng)域的通用數(shù)據(jù)采集與過程控制的技術(shù)軟件,具備對工業(yè)自動化系統(tǒng)的監(jiān)視、控制、管理等功能,同時也提供豐富的、易于使用的手段和工具來實現(xiàn)這些功能。
使用組態(tài)軟件作為二次開發(fā)平臺,通過類似“搭積木”的簡單方式可以快速構(gòu)建人機監(jiān)控系統(tǒng),開發(fā)效率高、性能穩(wěn)定可靠。本文提出如何利用軟件工程思想開發(fā)基于組態(tài)軟件的人機監(jiān)控系統(tǒng),來保證開發(fā)質(zhì)量和開發(fā)進度。
需求分析就是提出監(jiān)控系統(tǒng)需要實現(xiàn)的功能及技術(shù)要求,是系統(tǒng)開發(fā)的首要階段。
這個階段是根據(jù)監(jiān)控系統(tǒng)每個被控環(huán)節(jié)對應的工藝流程圖、自動控制原理圖、設備布置圖,進行需求分析、資料收集,以獲得對系統(tǒng)的初步了解。需求調(diào)查可以參考以下內(nèi)容:
◆ 要監(jiān)視哪些現(xiàn)場設備的那些實時運行數(shù)據(jù);
◆ 要控制哪些現(xiàn)場設備、設置哪些被控參數(shù);
◆ 要建立哪些現(xiàn)場設備的哪些報警信息;
◆ 哪些數(shù)據(jù)需要采集保存,要保存的模擬數(shù)據(jù)采樣頻率是多少;
◆ 哪些關(guān)鍵數(shù)據(jù)變化需要用趨勢圖進行表示;
◆ 需要打印哪些報表,報表格式是什么;
◆ 用戶權(quán)限如何設置;
◆ 是否需要把監(jiān)控數(shù)據(jù)上傳到管理部門或接收管理部門的管理數(shù)據(jù)?如果需要,哪些數(shù)據(jù)需要上傳或接收,采用什么傳輸方式;
◆ 是否需要多種語言界面切換;
◆ 是否需要通過因特網(wǎng)實現(xiàn)遠程監(jiān)控。
對需求調(diào)查獲得的初始需求進行分析描述。
針對需求分析的結(jié)果,經(jīng)相關(guān)人員討論、評審,形成需求分析文檔。
總體設計的主要任務是將系統(tǒng)進行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系,制定命名規(guī)范、界面設計原則,為詳細設計提供基礎。
業(yè)主有具體要求的,使用業(yè)主要求的變量命名規(guī)范;公司內(nèi)部有具體規(guī)范或標準的,使用公司規(guī)范或標準命名規(guī)范;其他情況時,遵循以下原則制定適合項目的命名規(guī)范:
◆ 規(guī)范要統(tǒng)一、層次結(jié)構(gòu)清晰明了;
◆ 參考項目設備命名規(guī)范;
◆ 參考PLC變量命名規(guī)范;
◆ 參考行業(yè)標準、國家標準、軟件編程命名規(guī)范(如駱駝式命名法、匈牙利命名法)。
人機界面是人與機器進行交互的操作方式,要求操作簡單且具有引導功能,使用戶感覺方便、增強用戶興趣,從而提高工作效率。
①總體布局設計
屏幕總體布局應力求簡潔、平衡、一致。典型的屏幕總體布局界面從上到下分為三部分:標題區(qū)、圖形顯示區(qū)以及導航按鈕區(qū)。
②結(jié)構(gòu)體系設計
一個界面顯示的信息是有限的,當需要顯示的信息較多時,為了保證界面的簡明性和友好性,通常采用分層布置方式把需要顯示的信息在多個界面中進行顯示,然后通過導航按鈕在多個界面中進行切換。分層布置方式可按功能相似性分層、按所屬子系統(tǒng)分層、按所屬區(qū)域分層等方式。簡單合理的結(jié)構(gòu)體系能夠使用戶快速打開要查看的界面。
系統(tǒng)結(jié)構(gòu)要按照分級瀏覽、逐級細化的原則進行設計。典型系統(tǒng)通常采用三層結(jié)構(gòu):第一層為總覽界面,顯示系統(tǒng)總體信息、重要信息、協(xié)同信息及各部分之間的相互關(guān)系等;第二層為過程界面,顯示指定部分的詳細信息,并顯示設備狀態(tài)信息、報警信息等;第三層為詳細界面,顯示指定設備的信息,如控制開關(guān)、控制閥、控制電機等,并顯示消息、狀態(tài)和過程值。
③ 一致性原則
人機界面一致性有助于用戶學習操作、減少操作出錯率,它通常表現(xiàn)在以下幾個方面。
◆ 風格的一致性:如色彩搭配、系統(tǒng)術(shù)語、圖標與符號等;
◆ 控件的一致性:將控件根據(jù)操作習慣和交互需要進行分類組合;
◆ 操作的一致性:對于常用或重要功能,要保持操作方式的一致性,同時還須注意要符合用戶的使用習慣。
在總體設計階段,制定出屏幕上所有對象的設計原則,如按鈕對象要制定出按鈕的顏色、大小、凹凸效果、字體、字號等。
④信息反饋
信息反饋是指系統(tǒng)對用戶的操作所做出的反應,表明用戶的操作是否為系統(tǒng)所接受、是否正確以及操作的效果如何。反饋可以是文本、圖形和聲音等形式。
⑤顏色搭配
人機界面上合理使用顏色可以更好地進行提示操作,還能緩解操作者的視覺疲勞。使用顏色時應注意以下幾點:
◆ 所用顏色一般為3~5種;
◆ 人機界面中活動對象的顏色應鮮明,而非活動對象應暗淡;前景色宜鮮艷一些,背景則應暗淡。提示和警告等信息的標志宜采用紅色、黃色;
◆ 避免不兼容的顏色放在一起(如黃與藍、紅與綠等),除非作對比時用。
⑥ 圖形利用
圖形具有直觀、形象、信息量大等優(yōu)點,在人機界面中使用圖形可增強操作的可理解性及易學易用性。使用圖形時應力求簡單化、標準化,并優(yōu)先選用已經(jīng)創(chuàng)建并普遍被大眾認可的標準化圖形和圖標。
⑦字體及大小選用
一個人機界面中,最好不要有太多的字體,更不宜選用字型太復雜字體,宜選用簡潔、清晰、易辨識的字體。
人機界面設計中常用字體有中文宋體、中文楷體、英文“Times New Roman”等,這些字體容易辨認、可讀性好。文字的大小常選用2~3種字號,使顯示信息清晰并保證風格統(tǒng)一。
組態(tài)軟件都提供完善的安全機制,讓用戶能夠自由組態(tài)來控制菜單、按鈕和退出系統(tǒng)的操作權(quán)限,只允許有操作權(quán)限的操作員才能對某些功能進行操作。
組態(tài)軟件采用與Windows NT類似的操作權(quán)限機制,即采用用戶組和用戶的概念進行操作權(quán)限的控制。操作權(quán)限的分配是對用戶組進行的,某個用戶具有什么樣的權(quán)限由該用戶所隸屬的用戶組來確定。典型的用戶組劃分包括操作員組、技術(shù)員組、維修員組、負責人組、管理員組。
某些比較重要的操作(如可能危及生產(chǎn)安全或可靠性的操作),在人機界面設計中要注意連鎖控制和保護診斷。對于不符合正常運行操作或邏輯順序的控制信息輸入要給出提示或警告信息,按分類和級別拒絕執(zhí)行或等待進一步確認后才執(zhí)行。
組態(tài)軟件本身通常都具有報表生成及處理的能力,但是存在國外組態(tài)軟件的報表格式不符合國內(nèi)用戶要求、組態(tài)軟件處理復雜報表比較困難的情況。這時,可以采用以下兩種方法實現(xiàn)報表功能:一是使用高級編程語言開發(fā)報表打印程序(如VB、VC、PB、Delphi等),編譯成可執(zhí)行程序后在組態(tài)軟件中調(diào)用;二是使用組態(tài)軟件的腳本語言,與Excel相結(jié)合,利用Excel強大的制表功能,實現(xiàn)報表打印功能。
根據(jù)總體設計,嚴格執(zhí)行制定的規(guī)范或原則,在組態(tài)軟件中進行完整、嚴密的詳細設計及編程,并及時進行單元測試,完成需求分析所要實現(xiàn)的功能。
①使用接口數(shù)據(jù)塊
建議在PLC中建立用于接口功能的數(shù)據(jù)塊,作為組態(tài)軟件獲取變量的中介。這樣,可以保證監(jiān)控系統(tǒng)和PLC編程人員同步工作。當PLC程序完成后,只需在PLC中將PLC變量賦值到DB變量或?qū)B變量賦值到PLC變量。不僅保證了工程進度,而且也起到隔離作用。
②恰當使用結(jié)構(gòu)變量
在實際的工業(yè)現(xiàn)場及應用中,經(jīng)常會遇到多個設備需要顯示相同參數(shù)(組)的情況,如現(xiàn)場有多個電機,每個電機需要顯示和控制的參數(shù)(組)都相同,只是不同電機的參數(shù)(組)數(shù)值不同。這時,可以使用結(jié)構(gòu)變量,不僅提高了工作效率,還減少了錯誤的可能性。
③充分使用導入導出功能
通常,PLC編程軟件和組態(tài)軟件都具有導入導出功能或工具,要熟練和靈活運用這些功能,快速定義PLC中的接口數(shù)據(jù)塊和組態(tài)軟件中的變量。
◆ 操作權(quán)限用戶組定義;
◆ 根據(jù)工藝過程,繪制、設計人機界面的結(jié)構(gòu)和框架;
◆ 人機界面設計及調(diào)試;
◆ 實時及歷史報警界面設計及調(diào)試;
◆ 實時及歷史趨勢界面設計及調(diào)試;
◆ 報表系統(tǒng)設計。
對于多個設備的相同界面,要使用畫面模板功能。畫面模板和結(jié)構(gòu)變量配合使用,能夠避免重復組態(tài)相同的畫面,減少組態(tài)人員的工作量,還能減少項目維護的工作量,提高系統(tǒng)的可維護性。
為了加快開發(fā)進度,建議在界面設計過程中,圖形對象的變量連接、權(quán)限分配、界面調(diào)試同時進行;如要求多語言界面,也要同步進行。避免出現(xiàn)所有界面設計完成后再進行變量連接,變量連接全部完成后再進行權(quán)限分配的情況。
每個界面的測試都要與設計同步進行,界面測試方法如下:
◆ 把與PLC連接的驅(qū)動程序設置為仿真狀態(tài);
◆ 建立一個專門用于測試的界面,根據(jù)被測試界面上的變量,在測試界面上相應地設置開關(guān)控件或數(shù)據(jù)控件;
◆ 在測試界面上改變變量的數(shù)值,觀察被測試界面的顯示是否符合設計要求。
(4)腳本語言編程
大部分組態(tài)軟件都提供了腳本語言,其中以VBScript最為廣泛。當某些復雜的動作或不同的功能通過簡單的組態(tài)實現(xiàn)時,就需要使用腳本語言編程實現(xiàn)。正確地編寫腳本程序,可簡化組態(tài)過程,大大提高工作效率,優(yōu)化控制過程,提高系統(tǒng)的靈活性。
主要對監(jiān)控系統(tǒng)的整體結(jié)構(gòu)及其調(diào)用關(guān)系進行測試。
把與PLC連接的驅(qū)動程序設置為硬件狀態(tài),正確設置IP地址及相應的參數(shù)。測試監(jiān)控系統(tǒng)和PLC中的接口數(shù)據(jù)塊是否通信正常。
建立PLC變量與接口數(shù)據(jù)塊中的對應關(guān)系:在PLC中將PLC變量賦值到DB變量或?qū)B變量賦值到PLC變量。對應關(guān)系建立后即可進行運行測試。
監(jiān)控系統(tǒng)經(jīng)過測試和完善可以投入試運行。
根據(jù)試運行的結(jié)果,診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;根據(jù)用戶的要求改進或擴充系統(tǒng)。
人機監(jiān)控系統(tǒng)不僅要保證功能性,對界面質(zhì)量也提出了更高的要求。開發(fā)人員不但要熟悉組態(tài)軟件的使用,還要熟悉生產(chǎn)工藝及控制原理、PLC編程、軟件設計、美術(shù)等方面的知識。
人機監(jiān)控系統(tǒng)的過程中,只有在需求分析、設計、開發(fā)等各個環(huán)節(jié)實施質(zhì)量保證措施,才能保證監(jiān)控系統(tǒng)的質(zhì)量。監(jiān)控系統(tǒng)開發(fā)全程要做到“有法可依,有法必依”,并要高度重視各個環(huán)節(jié)輔助工具的使用,這樣才能較好地保證最終產(chǎn)品的質(zhì)量。