(轉(zhuǎn))運行時組態(tài)技術探討
--在傳統(tǒng)人機接口實現(xiàn)自由編輯工藝模式的應用實例
一,問題的提出
運行時組態(tài)是組態(tài)軟件技術近些年提出的新概念.運行時組態(tài)是指在運行環(huán)境下編輯工程,或?qū)σ延泄こ踢M行修改,添加新的功能.也就是說運行時組態(tài)是在組態(tài)軟件運行環(huán)境中直接修改工程.運行時組態(tài)改變了已往必須進入復雜的組態(tài)及控制環(huán)境修改工程應用的歷史,給組態(tài)軟件帶來了新的活力,并預示著組態(tài)軟件新的發(fā)展方向.
先以開發(fā)成型機械手實際應用為例來說明什么是運行時組態(tài),為甚么需要應用運行時組態(tài)的技術.
成型機械手是專應用于成型機的取放料的自動化設備,工作環(huán)境要求苛刻,需要長時間高精,高速運行.更主要的是,相對于一般自動化設備按固定工藝模式一步步運行的方式,成型機械手其生產(chǎn)工藝過程變化多端.如果按傳統(tǒng)固定工藝模式編程,一旦需要修改或添加新的工藝,就必須對工程及控制系統(tǒng)進行修改.對于簡單工藝的設備來說這也許可行,但對于像成型機械手這類工藝復雜多變的設備就很費時力,而且極易出錯.
傳統(tǒng)的組態(tài)過程是這樣的,工程組態(tài)好并交付用戶使用后,工程中包括的功能就固定不變了.如果要擴充,修改工程的功能,就必須請熟悉該工程的工程師進入組態(tài)獲控制環(huán)境進行修改.
假如我們換一種編程方式呢?比如提供這樣一個工程環(huán)境,在此環(huán)境中工程師有預見的設計好該工程所有最基本功能(基本動作),實際應用時由現(xiàn)場工藝人員根據(jù)實際需要來自由組合生產(chǎn)工藝以達到最終控制的目的.
如果真的的實現(xiàn)這種方式,這確實比靠工程師預先編好工藝的方式靈活,簡單的多.這種由固定工藝轉(zhuǎn)換到自由工藝編程的模式就是運行時組態(tài)技術所要解決的.
必須說明的是,這種運行時組態(tài)技術雖說在一些通用型人機界面上已有或多或少的應用,但這些都是基于像Microsoft windows這種高級編程環(huán)境的組態(tài)軟件,如紫金橋監(jiān)控組態(tài),昆侖組態(tài)等.但一些設備常用的人機接口如got1000,preface等必竟是專用人饑操作接口,它們不像那些高級組態(tài)環(huán)境的人機接口那樣有豐富的軟件,鏈接庫或數(shù)據(jù)庫來支持.
因而,本文所要解決的就是應用運行時組態(tài)的思路,方法,技術來實現(xiàn)在傳統(tǒng)人機接口由固定工藝到自由工藝編程模式的轉(zhuǎn)變.
二,運行時組態(tài)的優(yōu)點
1,減少編程工作量.對于一具體工程項目,如果能將項目中用到的功能(或動作)歸納出來做成模塊,那么我們無須等到了解整個工程應用并做完才可以將其投入運行了.即只要把工程中需要的模塊準備好,你就可以讓最終用戶(如工藝人員,設備操作員等)在運行時自己增加,編輯模塊了,讓用戶在運行環(huán)境中修改和完善,滿足實際工藝需求.該工作模式充分發(fā)揮了組態(tài)工程師和工藝人員自身的優(yōu)勢,快速完成工程項目.
2,解決了動作及運行參數(shù)不確定問題.有些工程本來就存在這樣的不確定性,我們不可能用常規(guī)的辦法將各種情況事先窮舉出來,也不可能每次改變都要求現(xiàn)場的技術人員進入復雜的開發(fā)環(huán)境進行修改,運行時組態(tài)對此是非常適用的.
3,維護方便.傳統(tǒng)意義的組態(tài)是在工程組態(tài)完成后,應用程序的功能已經(jīng)固化好了.如果需要修改或增加新功能,還必須進入開發(fā)環(huán)境重新配置.這一般需要精通開發(fā)環(huán)境,并且熟悉該工程的工程師來完成.如果工程不是本單位元完成的,還要涉及到升級改造,甚至另立項目的費用.采用運行中組態(tài)技術后就可以由工廠的一般技術人員來完成.
4,實現(xiàn)軟件標準化.自動化控制軟件標準化是管理階層,開發(fā)人員,維護保養(yǎng)甚至應用人員所不斷追求的目標。組態(tài)過程中建立的各個模塊就是實現(xiàn)軟件開發(fā)標準化的基礎.
三,安全性問題
其實運行中組態(tài)技術一個最需要解決的問題就是安全,在運行時可以隨便增加,修改,刪除工程中的模塊或參數(shù),確實是很危險的.如果沒有保護措施,運行時就會帶來很多的麻煩.我們可以通過以下兩項安全措施來保護運行時的工程.
1,控制系統(tǒng)保護措施:
在控制系統(tǒng)層面對一些相互間會產(chǎn)生危險的動作作屏蔽,甚至排他性處理.做好基本安全保護,如軟,硬件上的互鎖.
2,工藝組態(tài)時保護
由于運行時的模塊都是是由組態(tài)工程師生成的,因此運行時組態(tài)的自由度完全由組態(tài)工程師掌握.這就要求組態(tài)工程師對運行時提供的手段要加以限制,不要提供過多的,不必要的靈活性.同時對編輯過程提供必要的保護措施,如錯誤提示,組態(tài)后工藝無法保存等.
總之,組態(tài)人員既要給用戶提供擴展功能的手段,又要對其加以足夠的限制,以保證系統(tǒng)安全運行.
四,運行時組態(tài)的實現(xiàn)
應用于自動化中的人機界面是最基本,最常用的組態(tài)技術.它雖不像那些專門的組態(tài)環(huán)境軟件那樣功能豐富,應用范圍廣;但它以高穩(wěn)定性,強適應性,低價格在自動化領域仍具有不可動搖的地位.好的,貴的并不一定是最有用的或最有效的.正于無論計算技術(特別是軟件技術)怎么發(fā)展,PLC技術平臺在自動化領域永遠也不會過時一樣.
雖說技術,理念在不但發(fā)展,但這并不就意味著舊的技術平臺需要淘汰.其實我們要做的是用哪些新的理念,技術來改造,提升這些舊平臺.因而這些工作需要自動化工程師自己去做,人機接口組態(tài)環(huán)境并沒有提供現(xiàn)成的模版來實現(xiàn)運行時組態(tài)的應用,這種改造當然是很費時力的工作.
我們知道人機接口是實現(xiàn)現(xiàn)場操作人員操作,控制設備的電子接口.它主要提供虛擬的按鈕控制,數(shù)據(jù)輸入,狀態(tài)監(jiān)控等功能.雖說人機接口也提供一些數(shù)據(jù)處理功能,但它畢竟沒有個人計算器那樣強大的數(shù)據(jù)處理能力.因此人機接口僅能看作是一種靜態(tài)處理技術,還不能完全算得上是動態(tài)處理技術.
好在一般人機接口都提供有二次系統(tǒng)開發(fā)接口,如腳本語言(有的稱作宏指令).這些二次開發(fā)接口提供類似高級編程語言的編程環(huán)境,看到那些熟悉的”變量”,”數(shù)組”,”函數(shù)”,”語句”,甚至”指針”,我們是否看到勝利的曙光?
是的,我們有理由相信我們最起碼也成功了一半.有了這些”指令”我們就可實現(xiàn)人機接口對象后臺處理能力,實現(xiàn)各種接口編輯(如插入,刪除)功能,邏輯判斷,數(shù)據(jù)計算,狀態(tài)提醒等能實現(xiàn)運行中組態(tài)所必有的一些基本處理能力.
更一步的,要實現(xiàn)友好,簡潔的組態(tài)界面,我們還要充分應用人機接口組態(tài)環(huán)境本身亦提供的變址(或索引)功能,配方功能等等.
所有這些技術和功能的結(jié)合應用,加上運行中組態(tài)這類新的理念,我們有理由相信:在傳統(tǒng)人機接口上也能(最起碼也是近似)實現(xiàn)運行中組態(tài)的最終目的.
必須補充說明的是,運用配方功能實現(xiàn)數(shù)據(jù)的管理是我們常用到的技術或方法,如對保存各個工藝配方數(shù)據(jù).但必須說明的是這些處理是靜態(tài)的而不是動態(tài)的,這與運行中組態(tài)的思路還是不一樣.但,事實上也正是因為這種配方處理功能讓我找到一個邁向成功的窗口.
下面的成型機械手案例就基本上實現(xiàn)或應用了前面所闡述的一些技術,理念.
五,成型機械手上的應用
下面就是成型機械手實現(xiàn)自由編輯工藝模式這種運行時組態(tài)技術應用的主要畫面.
組態(tài)環(huán)境不但提供各個模塊的組態(tài)功能,還提供各個模塊的參數(shù)配置(如果需要的話)功能.如上面組態(tài)后第5個模塊”主臂升降”,在組態(tài)過程中隨時可以自由修改模快的配置參數(shù),只需要你點擊此模塊.
上面畫面配備有靈活的編輯功能,”模塊”對象,相應序號,指引光標,上下移動顯示頁面等等都可以根據(jù)用戶實際編輯需要靈活使用,即提供所謂”所見即所得”的編輯環(huán)境.
同時組態(tài)環(huán)境還提供組態(tài)過程自動監(jiān)控,錯誤判斷功能供用戶組態(tài)時參考或提供組態(tài)安全保護.
下面是一個組態(tài)模塊其控制系統(tǒng)PLC相對應處理模塊例子.
六,總結(jié)
組態(tài)軟件一般稱為通用組態(tài)軟件.”通用”一詞表示它可以適合各種應用領域.不同的應用領域雖然存在許多共性的東西,但是應用場合特別是工藝的差異是客觀存在的.差異表現(xiàn)在畫面的組織形式,組成部件,構(gòu)建邏輯等等各方面.如果讓組態(tài)軟件能夠包羅萬象來適應中應用,那么呈現(xiàn)給用戶的軟件將過于復雜,最終會使得組態(tài)軟件本身的友好性太差,失去其存在的意義.如前所述,運行時動態(tài)生成的元素是在組態(tài)環(huán)境下生成的,自動化工程師可以在組態(tài)環(huán)境下構(gòu)建其應用領域所需模塊,然后讓工藝人員運用自己熟知的工藝在運行時搭建自己的應用.
脫離具體的PLC控制軟件, 從宏觀角度來理解自動控制系統(tǒng),面向工藝來設計控制系統(tǒng)是自動化工程師應該追求的最高目標.我們知道PLC程序不過是你設計工程項目的工藝而已,有工藝要求才可能有程序,程序只是設備工藝的具體反應.了解了工藝要求也就等于了解了程序.編程不過是個規(guī)則,要你用這個規(guī)則把設備工藝寫出來,因此你重要是了解設備的工藝和具體使用PLC品牌的功能.當你充分了解了設備工藝,設計完電氣圖紙,你的設計任務可以說基本完成了,剩下的就是看看PLC編程規(guī)則,根據(jù)工藝把程序?qū)懗鰜?
運用運行時組態(tài)理念或技術就是實現(xiàn)這個終極目標的具體表現(xiàn)形式.