【文章內(nèi)容簡介】
備局部改動,而影響整個系統(tǒng)。(6)“面向窗口”的設計方法,增加了可視性和可操作性。以窗口為單位,構(gòu)造用戶運行系統(tǒng)的圖形界面,使得MCGS的組態(tài)工作既簡單直觀,又靈活多變。用戶可以使用系統(tǒng)的缺省構(gòu)架,也可以根據(jù)需要自己組態(tài)配置,生成各種類型和風格的圖形界面,包括DOS風格的圖形界面、標準Windows風格的圖形界面以及帶有動畫效果的工具條和狀態(tài)條。(7)利用豐富的“動畫組態(tài)”功能,快速構(gòu)造各種復雜生動的動態(tài)畫面。以圖象、圖符、數(shù)據(jù)、曲線等多種形式,為操作員及時提供系統(tǒng)運行中的的狀態(tài)、品質(zhì)及異常報警等有關(guān)信息。用變化大小、改變顏色、明暗閃爍、移動翻轉(zhuǎn)等多種手段,增強畫面的動態(tài)顯示效果。圖元、圖符對象定義相應的狀態(tài)屬性,即可實現(xiàn)動畫效果。同時,MCGS為用戶提供了豐富的動畫構(gòu)件,模擬工程控制與實時監(jiān)測作業(yè)中常用的物理器件的動作和功能。每個動畫構(gòu)件都對應一個特定的動畫功能。如:實時曲線構(gòu)件、歷史曲線構(gòu)件、報警顯示構(gòu)件、自由表格構(gòu)件等。(8)引入“運行策略”的概念。復雜的工程作業(yè),運行流程都是多分支的。用傳統(tǒng)的編程方法實現(xiàn),既繁瑣又容易出錯。MCGS開辟了“策略窗口”,用戶可以選用系統(tǒng)提供的各種條件和功能的“策略構(gòu)件”,用圖形化的方法構(gòu)造多分支的應用程序,實現(xiàn)自由、精確地控制運行流程,按照設定的條件和順序,操作外部設備,控制窗口的打開或關(guān)閉,與實時數(shù)據(jù)庫進行數(shù)據(jù)交換。同時,也可以由用戶創(chuàng)建新的策略構(gòu)件,擴展系統(tǒng)的功能。(9)MCGS系統(tǒng)由五大功能部件組成,主要的功能部件以構(gòu)件的形式來構(gòu)造。不同的構(gòu)件有著不同的功能,且各自獨立。三種基本類型的構(gòu)件(設備構(gòu)件、動畫構(gòu)件、策略構(gòu)件)完成了MCGS系統(tǒng)三大部分(設備驅(qū)動、動畫顯示和流程控制)的所有工作。用戶也可以根據(jù)需要,定制特定類型構(gòu)件,使MCGS系統(tǒng)的功能得到擴充。這種充分利用“面向?qū)ο蟆钡募夹g(shù),大大提高了系統(tǒng)的可維護性和可擴充性。(10)支持OLE Automation技術(shù)。MCGS允許用戶在Visual Basic中操作MCGS中的對象,提供了一套開放的可擴充接口,用戶可根據(jù)自己的需要用VB編制特定的功能構(gòu)件來擴充系統(tǒng)的功能。(11)MCGS中數(shù)據(jù)的存儲不再使用普通的文件,而是用數(shù)據(jù)庫來管理一切。組態(tài)時,系統(tǒng)生成的組態(tài)結(jié)果是一個數(shù)據(jù)庫;運行時,數(shù)據(jù)對象、報警信息的存儲也是一個數(shù)據(jù)庫。利用數(shù)據(jù)庫來保存數(shù)據(jù)和處理數(shù)據(jù),提高了系統(tǒng)的可靠性和運行效率,同時,也使其它應用軟件系統(tǒng)能直接處理數(shù)據(jù)庫中的存盤數(shù)據(jù)。(12)設立“對象元件庫”,解決了組態(tài)結(jié)果的積累和重新利用問題。所謂對象元件庫,實際上是分類存儲各種組態(tài)對象的圖庫。組態(tài)時,可把制作完好的對象(包括圖形對象,窗口對象,策略對象,以至位圖文件等等)以元件的形式存入圖庫中,也可把元件庫中的各種對象取出,直接為當前的工程所用。隨著工作的積累,對象元件庫將日益擴大和豐富,組態(tài)工作將會變得越來越簡單方便。(13)提供對網(wǎng)絡的支持??紤]到工控系統(tǒng)今后的發(fā)展趨勢,MCGS充分運用現(xiàn)今發(fā)展的DCCW(Distributed Computer Cooperator Work)技術(shù),即分布式計算機協(xié)同工作方式,來使分散在不同現(xiàn)場之間的采集系統(tǒng)和工作站之間協(xié)同工作。通過MCGS,不同的工作站之間可以實時交換數(shù)據(jù),實現(xiàn)對工控系統(tǒng)的分布式控制和管理。2. 運用MCGS建立運行程序一般過程[4](1)工程項目系統(tǒng)分析:分析工程項目的系統(tǒng)構(gòu)成、技術(shù)要求和工藝流程,弄清系統(tǒng)的控制流程和測控對象的特征,明確監(jiān)控要求和動畫顯示方式,分析工程中的設備采集及輸出通道與軟件中實時數(shù)據(jù)庫變量的對應關(guān)系,分清哪些變量是要求與設備連接的,哪些變量是軟件內(nèi)部用來傳遞數(shù)據(jù)及動畫顯示的。(2)工程立項搭建框架:MCGS稱為建立新工程。主要內(nèi)容包括:定義工程名稱、封面窗口名稱和啟動窗口(封面窗口退出后接著顯示的窗口)名稱,指定存盤數(shù)據(jù)庫文件的名稱以及存盤數(shù)據(jù)庫,設定動畫刷新的周期。經(jīng)過此步操作,即在MCGS組態(tài)環(huán)境中,建立了由五部分組成的工程結(jié)構(gòu)框架。封面窗口和啟動窗口也可等到建立了用戶窗口后,再行建立。(3)設計菜單基本體系:為了對系統(tǒng)運行的狀態(tài)及工作流程進行有效地調(diào)度和控制,通常要在主控窗口內(nèi)編制菜單。編制菜單分兩步進行,第一步首先搭建菜單的框架,第二步再對各級菜單命令進行功能組態(tài)。在組態(tài)過程中,可根據(jù)實際需要,隨時對菜單的內(nèi)容進行增加或刪除,不斷完善工程的菜單。 (4)制作動畫顯示畫面:動畫制作分為靜態(tài)圖形設計和動態(tài)屬性設置兩個過程。前一部分類似于“畫畫”,用戶通過MCGS組態(tài)軟件中提供的基本圖形元素及動畫構(gòu)件庫,在用戶窗口內(nèi)“組合”成各種復雜的畫面。后一部分則設置圖形的動畫屬性,與實時數(shù)據(jù)庫中定義的變量建立相關(guān)性的連接關(guān)系,作為動畫圖形的驅(qū)動源。(5)編寫控制流程程序:在運行策略窗口內(nèi),從策略構(gòu)件箱中,選擇所需功能策略構(gòu)件,構(gòu)成各種功能模塊(稱為策略塊),由這些模塊實現(xiàn)各種人機交互操作。MCGS還為用戶提供了編程用的功能構(gòu)件(稱之為“腳本程序”功能構(gòu)件),使用簡單的編程語言,編寫工程控制程序。(6)完善菜單按鈕功能:包括對菜單命令、監(jiān)控器件、操作按鈕的功能組態(tài);實現(xiàn)歷史數(shù)據(jù)、實時數(shù)據(jù)、各種曲線、數(shù)據(jù)報表、報警信息輸出等功能;建立工程安全機制等。(7)編寫程序調(diào)試工程:利用調(diào)試程序產(chǎn)生的模擬數(shù)據(jù),檢查動畫顯示和控制流程是否正確。(8)連接設備驅(qū)動程序:選定與設備相匹配的設備構(gòu)件,連接設備通道,確定數(shù)據(jù)變量的數(shù)據(jù)處理方式,完成設備屬性的設置。此項操作在設備窗口內(nèi)進行。(9)工程完工綜合測試:最后測試工程各部分的工作情況,完成整個工程的組態(tài)工作,實施工程交接。 MCGS組態(tài)軟件的系統(tǒng)組成MCGS(Monitor and Control Generated System)是由北京昆侖通態(tài)自動化軟件公司開發(fā)的一套基于Windows平臺,用于快速構(gòu)造和生成上位機監(jiān)控系統(tǒng)的組態(tài)軟件系統(tǒng)。MCGS能夠完成現(xiàn)場數(shù)據(jù)采集、實時和歷史數(shù)據(jù)處理、報警和安全機制、流程控制、動畫顯示、趨勢曲線和報表輸出以及企業(yè)監(jiān)控網(wǎng)絡等功能。MCGS包括組態(tài)環(huán)境和運行環(huán)境兩個部分。組態(tài)環(huán)境是生成應用系統(tǒng)的工作環(huán)境,用戶在組態(tài)環(huán)境中完成動畫設計、設備連接、編寫控制流程、編制工程打印報表等全部組態(tài)工作。運行環(huán)境是用戶應用系統(tǒng)的運行環(huán)境,進行各種處理,完成組態(tài)設計的目標和功能。也就是,您在組態(tài)環(huán)境中根據(jù)您要達到的控制要求去設計,運行環(huán)境運行您設計好的組態(tài)工程。:MCGS組態(tài)軟件系統(tǒng)包括組態(tài)環(huán)境和運行環(huán)境兩大部分,組態(tài)環(huán)境是生成用戶應用系統(tǒng)的工作環(huán)境,其存放于MCGS目錄的Program子目錄中。用戶在MCGS組態(tài)環(huán)境中完成動畫設計、設備連接、編寫控制流程、編制工程打印報表等全部組態(tài)工作后,又稱為組態(tài)結(jié)果數(shù)據(jù)庫,其與運行環(huán)境一起,構(gòu)成了用戶應用系統(tǒng),統(tǒng)稱為“工程” 。運行環(huán)境是用戶應用系統(tǒng)的運行環(huán)境,其存放于MCGS目錄的Program子目錄中。在運行環(huán)境中完成對工程的控制工作。用戶所有組態(tài)配置過程都是在組態(tài)環(huán)境中進行的,用戶組態(tài)后可生成一個組態(tài)結(jié)果數(shù)據(jù)庫,它能按照組態(tài)結(jié)果數(shù)據(jù)庫中的組態(tài)方式進行各種處理,完成用戶組態(tài)設計的目標和功。MCGS系統(tǒng)整體框圖36:圖36 MCGS系統(tǒng)整體框圖:主控窗口:是工程的主要窗口或主框架。在主控窗口中可以放置一個設備窗口和多個用戶窗口,負責調(diào)度和管理這些窗口的打開或關(guān)閉。主要的組態(tài)操作包括:定義工程名稱,編制工程菜單,設計封面圖形,確定自動啟動的窗口,設定動畫刷新周期,指定數(shù)據(jù)庫存盤文件名稱及存盤時間等。設備窗口:是連接和驅(qū)動外部設備的工作環(huán)境。在本窗口內(nèi)配置數(shù)據(jù)采集與控制輸出設備,注冊設備驅(qū)動程序,定義連接與驅(qū)動設備用的數(shù)據(jù)變量。也就是,您要在設備窗口中選擇您所有連接的控制器(如PLC,變頻器,儀表等)的型號,并設定您從設備中讀取哪些變量(如PLC中的寄存器D0)。用戶窗口:本窗口主要用于設置工程中人機交互的界面,諸如:生成各種動畫顯示畫面、報警輸出、數(shù)據(jù)與曲線圖表等。實時數(shù)據(jù)庫:是工程各個部分的數(shù)據(jù)交換與處理中心。在本窗口內(nèi)定義不同類型和名稱的變量,作為數(shù)據(jù)采集、處理、輸出控制、動畫連接及設備驅(qū)動的對象。也就是,您要在實時數(shù)據(jù)庫里定義一些變量與您所要控制的設備中的變量一一對應,以備您建立的各個用戶窗口調(diào)用。當然也可以根據(jù)您的需要建立一些中間變量來存放計算的過渡值或是臨時狀態(tài)。運行策略:本窗口主要完成工程運行流程的控制。包括編寫控制程序(腳本程序),選用各種功能構(gòu)件。比如,當您做的監(jiān)控界面有一段說明文字是根據(jù)PLC的兩個輸入點閉合的情況分別顯示不同的內(nèi)容,您就要在運行策略窗口做一個if....then判斷。圖37為MCGS系統(tǒng)結(jié)構(gòu)圖:圖37 MCGS 系統(tǒng)結(jié)構(gòu)圖 系統(tǒng)的軟件設計本次系統(tǒng)的軟件設計包括系統(tǒng)的顯示畫面程序設計、系統(tǒng)程序設計、流動塊顯示效果設計,系統(tǒng)I/O與A/D程序設計。 系統(tǒng)顯示畫面設計MCGS提供了豐富的圖形對象庫,我們可以方便的從圖庫中選擇需要的元件,還可以根據(jù)實際需要制作自己想要的圖形,充分合理的利用顯示面積,使整副畫面勻稱的布置在顯示器上是畫面設計的關(guān)鍵。 下面來介紹一下MCGS制作畫面的過程:第一步:建立畫面[1]在“用戶窗口”中單擊“新建窗口”按鈕,建立“窗口0”。[2]選中“窗口0”,單擊“窗口屬性”,進入“用戶窗口屬性設置”。[3]將窗口名稱改為:消防控制系統(tǒng);窗口標題改為:消防控制系統(tǒng);窗口位置選中“最大化顯示”,其它不變,單擊“確認”。[4]在“用戶窗口”中,選中“消防控制系統(tǒng)”,點擊右鍵,選擇下拉菜單中的“設置為啟動窗口”選項,將該窗口設置為運行時自動加載的窗口。第二步:編輯畫面選中“消防控制系統(tǒng)”窗口圖標,單擊“動畫組態(tài)”,進入動畫組態(tài)窗口,開始編輯畫面。:[1]單擊工具條中的“工具箱”按鈕,打開繪圖工具箱。[2]選擇“工具箱”內(nèi)的“標簽”按鈕,鼠標的光標呈“十字”形,在窗口頂端中心位置拖拽鼠標,根據(jù)需要拉出一個一定大小的矩形。[3]在光標閃爍位置輸入文字“船用對外消防監(jiān)控系統(tǒng)”,按回車鍵或在窗口任意位置用鼠標點擊一下,文字輸入完畢。[4]選中文字框,作如下設置:①點擊(填充色)按鈕,設定文字框的背景顏色為:沒有填充;②點擊(線色)按鈕,設置文字框的邊線顏色為:沒有邊線。③點擊(字符字體)按鈕,設置文字字體為:宋體;字型為:粗體;大小為:小一號。④點擊(字符顏色)按鈕,將文字顏色設為:暗紅色。選擇圖素 [1]單擊繪圖工具箱中的(插入元件)圖標,彈出對象元件管理對話框,如圖38所示:圖 38 對象元件庫[2]從“儲藏罐”類中選取罐45。[3]從“閥”和“泵”類中分別選取閥(閥57)若干、泵(泵8)5個。[4] 泡沫比例混合器、消防炮、止回閥由于沒有形象的元件,需自己制作,選中工具箱中進行比例混合器和止回閥的制作,如圖:、消防炮的制作通過位圖載入,如圖39所示圖 39 電動雙管消防炮[5]將儲藏罐、閥、泵、比例混合器、消防炮等調(diào)整為適當大小,放到適當位置,參照效果圖。[6]選中工具箱內(nèi)的流動塊動畫構(gòu)件圖標,鼠標的光標呈“十”字形,移動鼠標至窗口的預定位置,點擊一下鼠標左鍵,移動鼠標,在鼠標光標后形成一道虛線,拖動一定距離后,點擊鼠標左鍵,生成一段流動塊。再拖動鼠標(可沿原來方向,也可垂直原來方向),生成下一段流動塊。當用戶想結(jié)束繪制時,雙擊鼠標左鍵即可。當用戶想修改流動塊時,選中流動塊(流動塊周圍出現(xiàn)選中標志:白色小方塊),鼠標指針指向小方塊,按住左鍵不放,拖動鼠標,即可調(diào)整流動塊的形狀。[7]使用工具箱中的圖標,分別對閥、罐、泵、比例混合器、消防炮進行文字注釋。[8]選擇“文件”菜單中的“保存窗口”選項,保存畫面。第三步 動畫連接:由圖形對象搭制而成的圖形畫面是靜止不動的,需要對這些圖形對象進行動畫設計,真實地描述外界對象的狀態(tài)變化,達到過程實時監(jiān)控的目的。MCGS實現(xiàn)圖形動畫設計的主要方法是將用戶窗口中圖形對象與實時數(shù)據(jù)庫中的數(shù)據(jù)對象建立相關(guān)性連接,并設置相應的動畫屬性。在系統(tǒng)運行過程中,圖形對象的外觀和狀態(tài)特征,由數(shù)據(jù)對象的實時采集值驅(qū)動,從而實現(xiàn)了圖形的動畫效果。水泵、閥門的啟停:水泵、閥門的啟停動畫效果是通過設置連接類型對應的數(shù)據(jù)對象實現(xiàn)的。設置步驟如下:[1]雙擊水泵,彈出單元屬性設置窗口。[2]選中數(shù)據(jù)對象標簽中的按鈕輸入,右端出現(xiàn)瀏覽按鈕。[3]單擊瀏覽按鈕,雙擊數(shù)據(jù)對象列表中的左舷水泵 。[4]使用同樣的方法將“填充顏色”對應的數(shù)據(jù)對象設置為“左舷水泵”。 增添倆種顏色紅、綠、黃,對應的狀態(tài)為0、1和2。如圖310所示:圖 310 動畫組態(tài)屬性設置[5]單擊確認,左舷水泵的啟停效果設置完畢。電動蝶閥的啟停效果,和水泵設置類似,應把填充顏色和按鈕動作的表達式設置成響應數(shù)據(jù)庫的閥門名稱。閥門顏色分為紅、黃和綠三種,紅色為閥門關(guān)到位、黃色為閥門有開啟的動作、綠色為閥門開到位。水流效果是通過設置流動塊構(gòu)件的屬性實現(xiàn)的。流動快:,使流體流動更加逼真。本畫面的流動快設有三種顏色,藍色表示水的流動;綠色表示泡沫的流動;淡紫色表示泡沫液的流動。實現(xiàn)步驟如下(以左舷主炮下方流動塊為例):[1]雙擊水泵右側(cè)的流動塊,彈出流動塊構(gòu)件屬性設置窗口。[2]在流動屬性頁中,進行如下設置:表達式:(((左舷水泵入口閥=2 and 左舷水泵=1 and 左舷水泵出口閥=2) or (副炮水泵入口閥=2 and 副炮水泵=1 and 副炮水泵出口閥=2 and 左連通閥=2) or (右舷水泵入口閥=2 and 右舷水泵=1 and 右舷水泵出口閥=2 and 右連通閥=2 and 左連通閥=2) or (((抗容泡沫供給閥=2 and 左舷泡沫泵=1) or (左舷普通泡沫供給閥=2 and 左舷泡沫泵=1)) and 左舷主炮泡沫入口閥=2)) and 左舷主炮混合液入口閥=2) or (((左舷水泵入口閥=2 and 左舷水泵=1 and 左舷水泵出口閥=2) or (副炮水泵入口閥=2 and 副炮水泵=1 and 副炮水泵出口閥=2 and 左連通閥=2) or (右舷水泵入口閥=2 and 右舷水泵=1