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