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