|
一、前言
運(yun)行(xing)時(shi)組(zu)態(tai)是(shi)組(zu)態(tai)軟(ruan)件(jian)新(xin)近(jin)提(ti)出(chu)的(de)新(xin)的(de)概(gai)念(nian)。運(yun)行(xing)時(shi)組(zu)態(tai)是(shi)在(zai)運(yun)行(xing)環(huan)境(jing)下(xia)對(dui)已(yi)有(you)工(gong)程(cheng)進(jin)行(xing)修(xiu)改(gai),添(tian)加(jia)新(xin)的(de)功(gong)能(neng)。它(ta)不(bu)同(tong)於(yu)在(zai)線(xian)組(zu)態(tai),在(zai)線(xian)組(zu)態(tai)是(shi)在(zai)工(gong)程(cheng)運(yun)行(xing)的(de)同(tong)時(shi),進(jin)入(ru)組(zu)態(tai)環(huan)境(jing),在(zai)組(zu)態(tai)環(huan)境(jing)中(zhong)對(dui)工(gong)程(cheng)進(jin)行(xing)修(xiu)改(gai)。而(er)運(yun)行(xing)時(shi)組(zu)態(tai)是(shi)在(zai)運(yun)行(xing)環(huan)境(jing)中(zhong)直(zhi)接(jie)修(xiu)改(gai)工(gong)程(cheng)。運(yun)行(xing)時(shi)組(zu)態(tai)改(gai)變(bian)了(le)已(yi)往(wang)必(bi)須(xu)進(jin)入(ru)複(fu)雜(za)的(de)組(zu)態(tai)環(huan)境(jing)修(xiu)改(gai)工(gong)程(cheng)應(ying)用(yong)的(de)曆(li)史(shi),給(gei)組(zu)態(tai)軟(ruan)件(jian)帶(dai)來(lai)了(le)新(xin)的(de)活(huo)力(li),並(bing)預(yu)示(shi)著(zhe)組(zu)態(tai)軟(ruan)件(jian)新(xin)的(de)發(fa)展(zhan)方(fang)向(xiang)。
weileshuomingshenmeshiyunxingshizutairangwomenxiandagebifang。womenkeyijianggongchengzutaibizuoshijianzaofangwu。fangwuzaijianzaoqianxianshejihaotuzhi,ranhouanzhaotuzhijinxingshigong,gongchengyanshouhoufangwudedaxiao、結構就固定下來了。交付住戶使用後,住戶自己是不能輕易改變房屋的結構(除非他本人就是建築師且有合法手續),更不能擴展房屋的大小。如果對房屋進行改造,必須請建築師設計,由建築工人來施工。
傳統的組態與之類似,工程組態好並交付用戶使用後,工程中包括的功能就固定不變了。如果要擴充、修改工程的功能,就必須請熟悉該工程的組態工程師進入組態環境進行修改。
如ru果guo房fang屋wu建jian好hao後hou,用yong戶hu能neng夠gou根gen據ju自zi己ji的de需xu要yao方fang便bian的de改gai變bian房fang間jian的de內nei部bu結jie構gou,或huo者zhe擴kuo大da房fang屋wu的de空kong間jian,那na將jiang是shi多duo麼me愜qie意yi的de事shi。假jia如ru建jian造zao師shi將jiang房fang間jian的de牆qiang壁bi做zuo成cheng可ke移yi動dong、可拉伸的,並且預留了製作牆壁、門men窗chuang等deng構gou造zao房fang屋wu所suo需xu的de機ji器qi,你ni就jiu自zi己ji就jiu可ke以yi將jiang平ping房fang變bian成cheng樓lou房fang,將jiang樓lou房fang加jia高gao。當dang然ran建jian築zhu師shi很hen難nan為wei你ni製zhi作zuo出chu這zhe樣yang的de設she備bei,但dan是shi組zu態tai軟ruan件jian卻que可ke以yi做zuo到dao這zhe些xie。
組態工程師可以在構建工程後,有預見的設計出該工程的擴展工具。擴展工具用來生成擴展工程時所需的畫麵、畫麵中的構件、連接的硬件設備、xindecediandeng。kuozhangongjuwanquanshigengaigongchenghuogaiyingyonglingyuxiangguan,gongjuyibanzhibaohanzhenduigaiyingyongdeyouxiandejizhongbujian,danshiquenenggoumanzugaigongchengyihoukuozhan。yinweirangjishurenyuan(非組態工程師)掌(zhang)握(wo)這(zhe)些(xie)工(gong)具(ju)比(bi)掌(zhang)握(wo)包(bao)羅(luo)萬(wan)象(xiang)的(de)開(kai)發(fa)環(huan)境(jing)要(yao)容(rong)易(yi)得(de)多(duo),因(yin)此(ci)用(yong)戶(hu)自(zi)己(ji)稍(shao)加(jia)指(zhi)導(dao)就(jiu)很(hen)容(rong)易(yi)完(wan)成(cheng)工(gong)程(cheng)的(de)後(hou)期(qi)維(wei)護(hu)工(gong)作(zuo)了(le)。另(ling)外(wai)由(you)於(yu)擴(kuo)展(zhan)工(gong)具(ju)隻(zhi)提(ti)供(gong)有(you)限(xian)的(de)功(gong)能(neng),讓(rang)用(yong)戶(hu)犯(fan)錯(cuo)誤(wu)的(de)機(ji)會(hui)也(ye)就(jiu)小(xiao)多(duo)了(le)。
二.運行時組態的優點
縮短工期。對於一具體工程項目,如果能將項目中用到的模式歸納出來,做成模板(該模板可以通過前麵提到的擴展工具運行時生成),那na麼me我wo們men無wu須xu等deng到dao整zheng個ge工gong程cheng做zuo完wan就jiu可ke以yi將jiang其qi投tou入ru運yun行xing了le。即ji隻zhi要yao工gong程cheng中zhong需xu要yao的de製zhi作zuo工gong具ju完wan成cheng後hou,你ni就jiu可ke以yi讓rang最zui終zhong用yong戶hu在zai運yun行xing時shi自zi己ji增zeng加jia功gong能neng了le。讓rang用yong戶hu在zai運yun行xing環huan境jing中zhong修xiu改gai和he完wan善shan,直zhi至zhi整zheng個ge工gong程cheng完wan成cheng。該gai工gong作zuo模mo式shi充chong分fen發fa揮hui了le組zu態tai工gong程cheng師shi和he技ji術shu工gong人ren自zi身shen的de優you勢shi,快kuai速su完wan成cheng工gong程cheng項xiang目mu。因yin為wei組zu態tai工gong程cheng師shi對dui組zu態tai軟ruan件jian熟shu悉xi,而er技ji術shu工gong人ren對dui其qi應ying用yong熟shu悉xi,讓rang他ta們men分fen工gong做zuo自zi己ji熟shu悉xi的de事shi情qing,項xiang目mu進jin度du當dang然ran就jiu快kuai了le。
解決了設備、畫(hua)麵(mian)不(bu)確(que)定(ding)問(wen)題(ti)。有(you)些(xie)工(gong)程(cheng)本(ben)來(lai)就(jiu)存(cun)在(zai)這(zhe)樣(yang)的(de)需(xu)求(qiu)。如(ru)在(zai)煤(mei)礦(kuang)安(an)全(quan)監(jian)測(ce)中(zhong),作(zuo)業(ye)現(xian)場(chang)具(ju)有(you)流(liu)動(dong)性(xing),其(qi)監(jian)測(ce)的(de)設(she)備(bei)是(shi)經(jing)常(chang)變(bian)化(hua)的(de)。這(zhe)就(jiu)要(yao)求(qiu)組(zu)態(tai)軟(ruan)件(jian)中(zhong)的(de)測(ce)點(dian)和(he)監(jian)視(shi)畫(hua)麵(mian)根(gen)據(ju)情(qing)況(kuang)不(bu)斷(duan)調(tiao)整(zheng)。我(wo)們(men)不(bu)可(ke)能(neng)用(yong)常(chang)規(gui)的(de)辦(ban)法(fa)將(jiang)各(ge)種(zhong)情(qing)況(kuang)事(shi)先(xian)窮(qiong)舉(ju)出(chu)來(lai),也(ye)不(bu)可(ke)能(neng)每(mei)次(ci)改(gai)變(bian)都(dou)要(yao)求(qiu)現(xian)場(chang)的(de)技(ji)術(shu)人(ren)員(yuan)進(jin)入(ru)複(fu)雜(za)的(de)開(kai)發(fa)環(huan)境(jing)進(jin)行(xing)修(xiu)改(gai)。而(er)現(xian)場(chang)應(ying)用(yong)模(mo)式(shi)比(bi)較(jiao)穩(wen)定(ding),這(zhe)樣(yang)我(wo)們(men)就(jiu)易(yi)於(yu)建(jian)造(zao)其(qi)運(yun)行(xing)時(shi)擴(kuo)展(zhan)工(gong)具(ju)。運(yun)行(xing)時(shi)組(zu)態(tai)對(dui)此(ci)是(shi)非(fei)常(chang)適(shi)用(yong)的(de)。
動態生成、精簡畫麵。已往動態場景的實現需要在組態環境中必須一一羅列,然後在畫麵元素中加入隱藏、顯(xian)現(xian)動(dong)畫(hua),製(zhi)作(zuo)維(wei)護(hu)非(fei)常(chang)繁(fan)瑣(suo)。在(zai)運(yun)行(xing)時(shi)這(zhe)些(xie)元(yuan)素(su)不(bu)管(guan)用(yong)到(dao)與(yu)否(fou)都(dou)要(yao)為(wei)其(qi)分(fen)配(pei)空(kong)間(jian),造(zao)成(cheng)一(yi)定(ding)浪(lang)費(fei)。動(dong)態(tai)生(sheng)成(cheng)技(ji)術(shu)可(ke)以(yi)在(zai)需(xu)要(yao)時(shi)創(chuang)建(jian),不(bu)但(dan)使(shi)畫(hua)麵(mian)簡(jian)化(hua),同(tong)時(shi)也(ye)減(jian)小(xiao)了(le)係(xi)統(tong)開(kai)銷(xiao)。
精簡組態環境。動態生成點、畫麵所使用的構件都是與當前應用相關的,無關的構件不會出現在運行時的“組態”環境中。運行時的“組態”是(shi)為(wei)具(ju)體(ti)應(ying)用(yong)量(liang)身(shen)製(zhi)作(zuo)的(de)。相(xiang)對(dui)於(yu)開(kai)發(fa)環(huan)境(jing)中(zhong)的(de)組(zu)態(tai)要(yao)單(dan)一(yi)得(de)多(duo),工(gong)廠(chang)的(de)技(ji)術(shu)人(ren)員(yuan)也(ye)很(hen)容(rong)易(yi)掌(zhang)握(wo)。這(zhe)即(ji)保(bao)證(zheng)了(le)最(zui)終(zhong)應(ying)用(yong)程(cheng)序(xu)的(de)可(ke)擴(kuo)展(zhan)性(xing),又(you)保(bao)證(zheng)了(le)運(yun)行(xing)“組態”的簡單性、方便性。
weihufangbian。chuantongyiyidezutaishizaigongchengzutaiwanchenghou,yingyongchengxudegongnengyijingguhuahaole。ruguoxuyaoxiugaihuozengjiaxingongneng,haibixujinrukaifahuanjingzhongxinpeizhi。zheyibanxuyaojingtongkaifahuanjing,bingqieshuxigaigongchengdegongchengshilaiwancheng。ruguogongchengbushibendanweiwanchengde,haiyaoshejidaoshengjigaizao,shenzhilinglixiangmudefeiyong。dongtaishengchengkeyibaozhengxitongyouyidingchengdudekuozhanxing,bingqiekeyiyougongchangdeyibanjishurenyuanlaiwancheng。
利(li)於(yu)組(zu)態(tai)軟(ruan)件(jian)向(xiang)行(xing)業(ye)化(hua)發(fa)展(zhan)。行(xing)業(ye)工(gong)程(cheng)師(shi)可(ke)以(yi)針(zhen)對(dui)自(zi)己(ji)的(de)行(xing)業(ye)需(xu)求(qiu),配(pei)置(zhi)運(yun)行(xing)時(shi)所(suo)需(xu)構(gou)件(jian),讓(rang)普(pu)通(tong)技(ji)術(shu)人(ren)員(yuan)使(shi)用(yong),這(zhe)就(jiu)形(xing)成(cheng)了(le)三(san)級(ji)應(ying)用(yong)模(mo)式(shi)。軟(ruan)件(jian)工(gong)程(cheng)師(shi)集(ji)中(zhong)精(jing)力(li)開(kai)發(fa)靈(ling)活(huo)的(de)手(shou)段(duan),行(xing)業(ye)工(gong)程(cheng)師(shi)致(zhi)力(li)於(yu)行(xing)業(ye)構(gou)件(jian)的(de)構(gou)建(jian),最(zui)終(zhong)技(ji)術(shu)人(ren)員(yuan)實(shi)現(xian)自(zi)己(ji)的(de)應(ying)用(yong)邏(luo)輯(ji)。三(san)級(ji)應(ying)用(yong)模(mo)式(shi)將(jiang)大(da)大(da)加(jia)速(su)組(zu)態(tai)軟(ruan)件(jian)行(xing)業(ye)化(hua)進(jin)程(cheng)。
三.安全性問題。
如果在運行時可以隨便增加、修改、刪除工程中的畫麵、畫麵中的元素、數(shu)據(ju)庫(ku)中(zhong)的(de)點(dian)。這(zhe)豈(qi)不(bu)是(shi)很(hen)危(wei)險(xian)嗎(ma)?是(shi)的(de),確(que)實(shi)很(hen)危(wei)險(xian)。如(ru)果(guo)沒(mei)有(you)保(bao)護(hu)措(cuo)施(shi),運(yun)行(xing)時(shi)生(sheng)成(cheng)就(jiu)會(hui)帶(dai)來(lai)很(hen)多(duo)的(de)麻(ma)煩(fan)。我(wo)們(men)可(ke)以(yi)通(tong)過(guo)以(yi)下(xia)兩(liang)項(xiang)安(an)全(quan)措(cuo)施(shi)來(lai)保(bao)護(hu)運(yun)行(xing)時(shi)的(de)工(gong)程(cheng)。
1.係統保護措施:
隻有具有特定權限的用戶才能進行運行時組態。
隻有畫麵的創建者可以修改畫麵元素,其他用戶無權修改。
特權用戶可以在工程完善後,禁止運行組態功能。
2.設計時保護
由you於yu運yun行xing時shi的de工gong具ju是shi由you組zu態tai工gong程cheng師shi生sheng成cheng的de,因yin此ci運yun行xing時shi組zu態tai的de自zi由you度du完wan全quan由you組zu態tai工gong程cheng師shi掌zhang握wo。這zhe就jiu要yao求qiu組zu態tai工gong程cheng師shi對dui運yun行xing時shi提ti供gong的de手shou段duan要yao加jia以yi限xian製zhi,不bu要yao提ti供gong過guo多duo的de、不bu必bi要yao的de靈ling活huo性xing,同tong時shi對dui修xiu改gai對dui象xiang提ti供gong必bi要yao的de保bao護hu措cuo施shi。例li如ru提ti供gong了le運yun行xing時shi組zu態tai點dian的de工gong具ju,就jiu有you必bi要yao對dui已yi有you的de點dian進jin行xing保bao護hu,同tong時shi對dui用yong戶hu添tian加jia的de點dian的de數shu量liang要yao進jin行xing限xian製zhi。同tong樣yang對dui於yu畫hua麵mian修xiu改gai也ye是shi如ru此ci,不bu需xu要yao運yun行xing時shi修xiu改gai的de畫hua麵mian就jiu不bu要yao設she置zhi“運行時編輯”權限。
總之,組態人員既要給用戶提供擴展功能的手段,又要對其加以足夠的限製,以保證係統安全運行。
四.運行時組態的實現
目前,無論是國內還是國外組態軟件對運行時組態支持都很少,尤其是運行時添加設備、添加變量等各家組態軟件基本沒有提供任何支持。對於支持VBA腳jiao本ben的de組zu態tai軟ruan件jian,雖sui然ran可ke通tong過guo編bian寫xie程cheng序xu實shi現xian畫hua麵mian的de動dong態tai生sheng成cheng,但dan是shi這zhe畢bi竟jing是shi非fei可ke視shi化hua的de手shou段duan。紫zi金jin橋qiao監jian控kong組zu態tai軟ruan件jian在zai這zhe方fang麵mian做zuo了le初chu步bu嚐chang試shi。下xia麵mian以yi紫zi金jin橋qiao監jian控kong組zu態tai軟ruan件jian為wei例li說shuo明ming運yun行xing時shi組zu態tai的de實shi現xian方fang法fa。
運行時組態包括運行時數據庫組態和運行時圖形組態兩部分,下麵分別說明:
1.數據庫組態
運行時數據庫組態包括:對下列內容動態增加、刪除和修改:
- I/O設備。
- 數據庫點。
- I/O連接項,網絡連接。
- 曆史保存項。
界麵中腳本支持以上操作,並且修改完上述內容後數據庫不需要重新啟動,馬上就能生效,並且不會影響已有數據庫點的正常運行。
一般的應用中隻會涉及到有限的幾種設備類型和幾種點類型。對於每種設備或點類型我們要在畫麵中建立相應的窗口,該窗口用於對I/O設備或點進行維護。下麵是一簡單的點定義窗口:
運行時點組態畫麵示例
2.畫麵組態
運行時加入圖形對象包括腳本創建對象和運行中手工填加圖形對象兩種方式,下麵分別介紹。
2.1腳本動態生成圖形的步驟
定義圖形對象樣板。
通過下列腳本替換已有對象、增加新對象、替換對象中引用的變量。常用的腳本函數如下:
- 調用RepObj函數替換對象。
- 調用AddObj函數增加新對象。
- 調用RepVar函數替換變量。
- 調用DelObj函數刪除對象。
- 在窗口外部可以通過調用RepVarWin對選定對象進行變量替換。
將修改完的畫麵保存到主服務器,其他客戶端的畫麵將自動更新,這一步不是必須的,如果不需要保存到服務器,可以忽略此步。
運行時切換到“編輯”模式,這時可以手動加入、修改、刪除調整樣板對象。並可以對圖元對象中引用的變量進行替換。
2.2運行時手工添加圖形對象
在運行時手工添加圖形對象相對更為靈活,其操作基本步驟如下:
(1)在窗口參數中選中“允許運行編輯”複選框。若啟動了安全管理,那麼還要指定具有“運行時編輯畫麵”權限帳戶,隻有該賬戶能夠進行動態生成對象。
(2)製作工具畫麵。在該畫麵中添加運行時需要的工具,每個工具要打成子圖、單元或圖形模板,並將其置於拖拽框對象之下。
(3)通過導航樹中的“畫麵”選項卡中的“操作麵板”添加工具畫麵。也可以沒有該步驟。
(4)在運行時,通過拖拽工具畫麵中的對象,增加圖形對象。
(5)保存修改,將修改內容傳送到服務器端(此步驟不是必須的)。
運行時手工添加的圖形對象,在組態時要預先繪製好,bingjiarudaogongjuhuamianzhong。yunxingshitongguotuozhuaifangshijiangqihuizhidaoxiangyingdehuamian,ranhouxiugaiqiguanlianbianliangdengcaozuo,zuihoubaocundaofuwuqi,shixiandongtaitianjiatuxingduixiangdecaozuo。

運行時生成畫麵示例
五.發展方向
組態軟件行一般稱為通用組態軟件。“通用”yicibiaoshitakeyishihegezhongyingyonglingyu。butongdeyingyonglingyusuirancunzaixuduogongxingdedongxi,danshixingyedechayishikeguancunzaide。chayibiaoxianzaihuamiandezuzhixingshi,zuchengbujian,goujianluoji。ruguorangzutairuanjiannenggoubaoluowanxianglaishiyinggexinggeye,namechengxiangeiyonghuderuanjianjiangguoyufuza,zuizhonghuishidezutairuanjianbenshendeyouhaoxingtaicha,shiquqicunzaideyiyi。ruqiansuoshu,yunxingshidongtaishengchengdeyuansushizaizutaihuanjingxiashengchengde。xingyegongchengshikeyizaizutaihuanjingxiagoujianqiyingyonglingyusuoxumojian,ranhourangzhuanyejishurenyuanyunyongzijishuzhidegoujianzaiyunxingshidajianzijideyingyong。zheyangjiushizutairuanjianxingchengsanjiyingyongmoshi:軟件工程師-行業工程師-專zhuan業ye技ji術shu人ren員yuan。軟ruan件jian工gong程cheng師shi注zhu重zhong的de是shi給gei行xing業ye工gong程cheng師shi提ti供gong靈ling活huo的de手shou段duan,行xing業ye工gong程cheng師shi構gou件jian行xing業ye模mo件jian,專zhuan業ye技ji術shu人ren員yuan構gou件jian最zui終zhong的de應ying用yong。這zhe才cai會hui使shi組zu態tai軟ruan件jian深shen入ru到dao行xing業ye,這zhe也ye正zheng式shi組zu態tai軟ruan件jian未wei來lai發fa展zhan之zhi道dao。
有任何關於組態軟件的技術問題或需要更多的技術資料,可以在微信(微信號:Realinfo)留下聯係方式或者到http://www.realinfo.cc/交流。
|