摘要:圖庫組件的開發(fā)對于工業(yè)自動化軟件的功能實現(xiàn)、易用性以及可維護性方面具有重要的作用。目前,GE Fanuc公司提供的iFix環(huán)境中圖庫組件開發(fā)方法會造成每個畫面在存儲和運行中占用較大的空間,同時在圖庫的自動更新上存在困難。而美國Wonderware公司提出的智能符號SmartSymbol技術(shù)則靈活性不夠。本文提出了一種iFix環(huán)境下采用面向?qū)ο蟮膱D庫組件開發(fā)方法,成功解決了上述的問題。經(jīng)過工程實踐證明,采用這種方法不僅使人機界面中各種圖符風格統(tǒng)一,而且提高了組態(tài)人員和項目實施人員的工作效率。
關(guān)鍵字:iFix軟件;Dynamos圖符組件;VBA程序
中圖分類號:TP273+.5 文獻標識碼:B
1. 背景
隨著計算機應(yīng)用技術(shù)的發(fā)展,工業(yè)自動化軟件廣泛地應(yīng)用于工業(yè)生產(chǎn)現(xiàn)場,工業(yè)自動化軟件系統(tǒng)包含有實時數(shù)據(jù)庫、實時控制、SCADA、通訊及聯(lián)網(wǎng)、開放數(shù)據(jù)庫接口、對輸入輸出設(shè)備的驅(qū)動以及人機交互圖形界面等內(nèi)容,是工業(yè)自動化控制系統(tǒng)一個重要組成部分。
在工業(yè)自動化軟件的人機界面中,編程人員可采用拼圖、搭積木和簡單連線的方式構(gòu)建人機交互界面。圖符是可重復(fù)使用的動態(tài)對象或一組圖形對象,而幾個圖符構(gòu)成了圖庫。組態(tài)軟件包含有一些設(shè)計開發(fā)圖庫,如各種模擬儀表、電動機、控制按鈕等圖符。編程人員也可以利用基本繪圖工具自行設(shè)計圖庫和對象圖符。對現(xiàn)場設(shè)備的啟動和停止,閥門指令等均通過模擬現(xiàn)場圖面上相應(yīng)于對象的圖符進行操作,同時生產(chǎn)過程中的各種狀況下參數(shù)的變化,以及異常情況下的報警等也均通過人機界面軟件反饋給操作人員,便于操作人員及時采取相應(yīng)的措施。從而實現(xiàn)對現(xiàn)場設(shè)備和控制器等的操作和管理,這是組態(tài)軟件的最大優(yōu)點之一。它使編程和操作非常直觀,易于讓具有不同知識背景和水平的人員都能接受。由上述分析可以看出,評價一種組態(tài)軟件優(yōu)劣水平的一個重要標準就是:該種軟件的設(shè)計圖符的豐富性以及圖庫中圖符的直觀代表性。
但是,我們應(yīng)該看到,由于工業(yè)自動化軟件是一種通用型的開發(fā)平臺,并非針對某一個特殊的應(yīng)用行業(yè)背景,也不可能包括全部工業(yè)應(yīng)用領(lǐng)域的圖符,如:發(fā)電行業(yè),石油化工行業(yè)等就對圖符的功能和操作習慣有著不同的要求。因此在實際的項目實施中通常必須對某一個應(yīng)用領(lǐng)域以及客戶的特殊要求自行設(shè)計開發(fā)出一套圖符,構(gòu)成圖庫,從而能夠反復(fù)地使用。采用這種方法有以下幾點好處:
(1) 圖符封裝了動畫顯示,操作等較復(fù)雜的功能,最大限度降低對界面組態(tài)人員、工程實施人員以及最終用戶編程能力的要求。
(2) 圖符使用以及部署方便,降低測試、部署以及時間,節(jié)約成本。
(3) 圖符是可重用的模板圖庫,因此可以將整個工程圖形界面標準化。
因此,對用戶開發(fā)圖符的拓展能力也是評價自動化軟件的一個標準。
2. 主流自動化軟件對圖符功能的實現(xiàn)
GE Fanuc公司的iFix軟件和Wonderware公司的InTouch軟件是目前世界上處于統(tǒng)治地位的工業(yè)自動化軟件,在行業(yè)中技術(shù)一直處于世界最領(lǐng)先的行列。這兩家公司針對用戶圖符的開發(fā)和部署提出了各自的解決方案。
2.1 GE Fanuc公司的iFix軟件的解決方法
iFix是全球最領(lǐng)先的HMI/SCADA自動化監(jiān)控組態(tài)軟件,已有超過300000套以上的軟件在全球運行。iFix提供了一個性能優(yōu)越的設(shè)計開發(fā)平臺,提供了豐富的面向生產(chǎn)流程的動態(tài)圖符和畫圖部件,同時內(nèi)嵌了VBA腳本的功能。這樣的平臺能夠保證生產(chǎn)流程的畫面設(shè)計過程變得十分簡單和高效。對于用戶自己開發(fā)特定應(yīng)用場合下的復(fù)雜圖符,GE Fanuc公司在其全球技術(shù)站點(Global Care)上提供的方法是通過VBA編程方式對動態(tài)圖符進行功能擴充,然后將圖符存放在圖庫目錄下,用戶需要時只要通過鼠標的拖曳,將圖符從圖庫中放置到畫面中需要的位置,同時進行簡單的配置就可以。雖然這種方法通過VBA嵌入編程以及配置窗體的方式解決了圖符的開發(fā)和配置,但是這種方法產(chǎn)生兩個問題:
(1) 如果一幅監(jiān)控畫面中包含有各種不同類型的操作和顯示圖符,那么這個畫面中就會保存多種類型圖符的配置窗體。通常一個工程項目中有許多幅監(jiān)控畫面,這些重復(fù)的圖符以及配置窗體就會占用存儲空間,同時在自動化軟件運行時會影響到監(jiān)控畫面的響應(yīng)速度。
(2) 如果在圖庫使用過程中需要修改功能或者發(fā)現(xiàn)錯誤需要更改時,在圖符的同步更新上存在困難。開發(fā)人員必須逐一打開用到這些圖符的畫面,然后再重新對圖符進行引用以使新的更改生效。對于圖符在許多監(jiān)控畫面中引用的情況,圖符的更改成為開發(fā)人員的“噩夢”。
2.2 Wonderware公司的InTouch軟件的解決方案
Wonderware公司的InTouch 軟件的9.0 版本以創(chuàng)新的智能符號-SmartSymbol技術(shù)為特點,將面向?qū)ο蠹夹g(shù)與InTouch圖形相集成,并將它們轉(zhuǎn)化為可復(fù)用的模板。在一個智能符號實例被部署后,如果用戶需要改變一個實例只需更改智能符號模板,這個改變就會自動應(yīng)用到所有應(yīng)用程序及用了智能符號實例的每一個窗口。這使得升級和更改應(yīng)用程序變得快速和簡單。智能符號標志著一個應(yīng)用程序中的圖形元素創(chuàng)建、部署和更改的巨大進步。使用智能符號管理器,應(yīng)用程序的開發(fā)人員可以創(chuàng)建圖形模板,可以與ArchestrA Objects、就地的InTouch標記和遠程引用的InTouch 標記連接。這些符號模板存儲在智能符號庫里,通過選擇和調(diào)用它們到InTouch窗口來進行實例化。通過鼠標右鍵,InTouch 窗口中的任何圖形都可以轉(zhuǎn)換成一個智能符號。此外,智能符號庫可以導(dǎo)出給其它的應(yīng)用和工廠,這樣以來,可以使公司圖形界面標準化。但是由于軟件架構(gòu)上與GE iFix不一樣,InTouch軟件SmartSymbol中用戶編程的支持不如iFix軟件靈活,在一定程度上限制了SmartSymbol應(yīng)用于更加復(fù)雜的工程應(yīng)用場合。
2.3 基于面向?qū)ο蟮膱D符組件開發(fā)方法
通過總結(jié)和分析iFix軟件和InTouch軟件中對于圖符的開發(fā)方法以及各自的特點,我們提出了一種基于iFix開發(fā)平臺下面向?qū)ο蟮膱D符組件開發(fā)方法,采用圖符元素和配置窗體代碼相分離的辦法,成功解決了開發(fā)中的難點,使開發(fā)出的圖符同時具有iFix以及InTouch環(huán)境下的優(yōu)點,克服了缺點。其開發(fā)解決方法具體如下:
(1) 使用提供的作圖工具畫出需要設(shè)計的圖符的外觀,這時的圖符沒有任何動態(tài)的顯示,也不會響應(yīng)任何操作而觸發(fā)事件。在圖符外觀設(shè)計過程中注意圖符中每個元件以及圖符組件應(yīng)該符合的一定的命名規(guī)則,應(yīng)清晰明了,不要使用系統(tǒng)缺省的命名。比如在工業(yè)生產(chǎn)流程中用于數(shù)值顯示的圖符組件有許多種類型,有的只有顯示,有的既要顯示也要有報警提示功能,有的還要帶點的注釋和描述等,因此可以將不同類型的數(shù)值顯示分別命名為DigiDispA1,DigiDispB1,DigiDispC1等。符合現(xiàn)場實際使用習慣的圖符外觀設(shè)計以及良好的命名習慣是成功的第一步。
(2) 圖符配置窗體的設(shè)計,這一步驟是程序員實現(xiàn)設(shè)計圖符功能的關(guān)鍵。所有的動態(tài)顯示功能,如生產(chǎn)流程參數(shù)的變化顯示的數(shù)值也隨之變化的功能,數(shù)值超過一定范圍顏色變化以引起注意以及鼠標單擊后圖符操作窗體的彈出等均在這里實現(xiàn)。它封裝圖符的屬性,方法以及消息的響應(yīng)。其中用到的圖符的初始化以及部分屬性設(shè)置和讀取的部分源代碼如下圖1所示。應(yīng)該注意是,圖符配置窗體應(yīng)該放在全局工程如:project user或者project plugandsolve中,這樣全部的工程畫面文件均可以訪問到,而iFix公司提供的方案是將配置放置在單個畫面中,從而引起了畫面尺寸以及更新的問題。而放置在全局工程中就可以避免這種情況。

圖1:配置窗體中源代碼開發(fā)的范例
(3) 由于配置窗體放置在全局工程中,因此在調(diào)用配置窗體以及圖符響應(yīng)事件上應(yīng)該添加響應(yīng)的代碼。主要是根據(jù)圖符組件名通過上面的InitializeDynamo方法調(diào)用和初始化圖符。
通過以上三個基本的開發(fā)步驟,再加上設(shè)計人員的行業(yè)背景知識和編程,一套美觀和專業(yè)的圖符就開發(fā)出來了。開發(fā)出的圖符組件脫離了iFix軟件自帶的配置方式,取而代之的是符合實際項目需要的用戶定制窗體,圖符既可以是只有簡單動畫的圖符,也可以是具有復(fù)雜、強大功能的圖符,比如運行時響應(yīng)鼠標單擊事件彈出對應(yīng)的操作窗體的圖符,組態(tài)過程自動完成需要的VBA腳本,無需專業(yè)人員編寫對應(yīng)的VBA代碼。圖2就是開發(fā)出來的一套圖庫,以及用圖庫中的圖符開發(fā)出來的一張流程畫面的例子。
圖2:圖庫和圖符配置窗體以及使用圖庫中的圖符開發(fā)出的流程界面
雖然開發(fā)圖符一次性投入的時間和精力是較多的,但是對于使用者來說是非常方便的,過去需要由自動化軟件組態(tài)工程師通過作圖,鏈接,編寫腳本程序才能完成的復(fù)雜工作,現(xiàn)在只要普通的工程人員就可以完成。這些對于工程實施中人員成本,作業(yè)效率以及設(shè)計的標準化是大有裨益的。
3. 結(jié)論
圖符元素和配置窗體實現(xiàn)代碼相分離的辦法,充分利用iFix環(huán)境下靈活方便的編程環(huán)境,實現(xiàn)了完整的圖符設(shè)計過程,解決了主流工業(yè)自動化軟件在實現(xiàn)圖符功能上的不足,滿足了實際工程應(yīng)用的需要。經(jīng)過工程實踐證明,采用這種方法不僅使人整個工程機界面中各種圖符風格統(tǒng)一,而且提升了軟件的自動化水平,使現(xiàn)場調(diào)試人員從繁雜的編程中“解放”出來,提高了組態(tài)人員和項目實施人員的工作效率。
參考文獻:
1. GE Fanuc公司, iFix Electronic Book , GE Fanuc公司, 2005
2. GE Fanuc公司, iFix Database Access Toolkit Help , GE Fanuc公司, 2005
3. Eric Brierley, Anthony Prince, David Rinaldi ,Visual Basic 6開發(fā)人員指南, 機械工業(yè)出版社, 2001
4. Renee Brandt , InTouch 9.0 SmartSymbol and IOSetRemote References, Wonderware公司, 2006