|
一.前言
運(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、可拉伸的,並且預留了製作牆壁、menchuangdenggouzaofangwusuoxudejiqi,nijiuzijijiukeyijiangpingfangbianchengloufang,jiangloufangjiagao。dangranjianzhushihennanweinizhizuochuzheyangdeshebei,danshizutairuanjianquekeyizuodaozhexie。
組態工程師可以在構建工程後,有預見的設計出該工程的擴展工具。擴展工具用來生成擴展工程時所需的畫麵、畫麵中的構件、連接的硬件設備、新xin的de測ce點dian等deng。擴kuo展zhan工gong具ju完wan全quan是shi跟gen該gai工gong程cheng或huo該gai應ying用yong領ling域yu相xiang關guan,工gong具ju一yi般ban隻zhi包bao含han針zhen對dui該gai應ying用yong的de有you限xian的de幾ji種zhong部bu件jian,但dan是shi卻que能neng夠gou滿man足zu該gai工gong程cheng以yi後hou擴kuo展zhan。因yin為wei讓rang技ji術shu人ren員yuan(非組態工程師)掌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。
二.運行時組態的優點
- 縮短工期。對於一具體工程項目,如果能將項目中用到的模式歸納出來,做成模板(該模板可以通過前麵提到的擴展工具運行時生成),namewomenwuxudengdaozhenggegongchengzuowanjiukeyijiangqitouruyunxingle。jizhiyaogongchengzhongxuyaodezhizuogongjuwanchenghou,nijiukeyirangzuizhongyonghuzaiyunxingshizijizengjiagongnengle。rangyonghuzaiyunxinghuanjingzhongxiugaihewanshan,zhizhizhenggegongchengwancheng。gaigongzuomoshichongfenfahuilezutaigongchengshihejishugongrenzishendeyoushi,kuaisuwanchenggongchengxiangmu。yinweizutaigongchengshiduizutairuanjianshuxi,erjishugongrenduiqiyingyongshuxi,rangtamenfengongzuozijishuxideshiqing,xiangmujindudangranjiukuaile。
- 解決了設備、huamianbuquedingwenti。youxiegongchengbenlaijiucunzaizheyangdexuqiu。ruzaimeikuanganquanjiancezhong,zuoyexianchangjuyouliudongxing,qijiancedeshebeishijingchangbianhuade。zhejiuyaoqiuzutairuanjianzhongdecedianhejianshihuamiangenjuqingkuangbuduantiaozheng。womenbukenengyongchangguidebanfajianggezhongqingkuangshixianqiongjuchulai,yebukenengmeicigaibiandouyaoqiuxianchangdejishurenyuanjinrufuzadekaifahuanjingjinxingxiugai。erxianchangyingyongmoshibijiaowending,zheyangwomenjiuyiyujianzaoqiyunxingshikuozhangongju。yunxingshizutaiduicishifeichangshiyongde。
- 動態生成、精簡畫麵。已往動態場景的實現需要在組態環境中必須一一羅列,然後在畫麵元素中加入隱藏、顯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。
- 精簡組態環境。動態生成點、畫麵所使用的構件都是與當前應用相關的,無關的構件不會出現在運行時的“組態”環境中。運行時的“組態”shiweijutiyingyongliangshenzhizuode。xiangduiyukaifahuanjingzhongdezutaiyaodanyideduo,gongchangdejishurenyuanyehenrongyizhangwo。zhejibaozhenglezuizhongyingyongchengxudekekuozhanxing,youbaozhengleyunxing“組態”的簡單性、方便性。
- 維(wei)護(hu)方(fang)便(bian)。傳(chuan)統(tong)意(yi)義(yi)的(de)組(zu)態(tai)是(shi)在(zai)工(gong)程(cheng)組(zu)態(tai)完(wan)成(cheng)後(hou),應(ying)用(yong)程(cheng)序(xu)的(de)功(gong)能(neng)已(yi)經(jing)固(gu)化(hua)好(hao)了(le)。如(ru)果(guo)需(xu)要(yao)修(xiu)改(gai)或(huo)增(zeng)加(jia)新(xin)功(gong)能(neng),還(hai)必(bi)須(xu)進(jin)入(ru)開(kai)發(fa)環(huan)境(jing)重(zhong)新(xin)配(pei)置(zhi)。這(zhe)一(yi)般(ban)需(xu)要(yao)精(jing)通(tong)開(kai)發(fa)環(huan)境(jing),並(bing)且(qie)熟(shu)悉(xi)該(gai)工(gong)程(cheng)的(de)工(gong)程(cheng)師(shi)來(lai)完(wan)成(cheng)。如(ru)果(guo)工(gong)程(cheng)不(bu)是(shi)本(ben)單(dan)位(wei)完(wan)成(cheng)的(de),還(hai)要(yao)涉(she)及(ji)到(dao)升(sheng)級(ji)改(gai)造(zao),甚(shen)至(zhi)另(ling)立(li)項(xiang)目(mu)的(de)費(fei)用(yong)。動(dong)態(tai)生(sheng)成(cheng)可(ke)以(yi)保(bao)證(zheng)係(xi)統(tong)有(you)一(yi)定(ding)程(cheng)度(du)的(de)擴(kuo)展(zhan)性(xing),並(bing)且(qie)可(ke)以(yi)由(you)工(gong)廠(chang)的(de)一(yi)般(ban)技(ji)術(shu)人(ren)員(yuan)來(lai)完(wan)成(cheng)。
- liyuzutairuanjianxiangxingyehuafazhan。xingyegongchengshikeyizhenduizijidexingyexuqiu,peizhiyunxingshisuoxugoujian,rangputongjishurenyuanshiyong,zhejiuxingchenglesanjiyingyongmoshi。ruanjiangongchengshijizhongjinglikaifalinghuodeshouduan,xingyegongchengshizhiliyuxingyegoujiandegoujian,zuizhongjishurenyuanshixianzijideyingyongluoji。sanjiyingyongmoshijiangdadajiasuzutairuanjianxingyehuajincheng。
三.安全性問題。
如果在運行時可以隨便增加、修改、刪除工程中的畫麵、畫麵中的元素、數(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。
運行時組態包括運行時數據庫組態和運行時圖形組態兩部分,下麵分別說明:
運行時數據庫組態包括:對下列內容動態增加、刪除和修改:
- I/O設備。
- 數據庫點。
- I/O連接項,網絡連接。
- 曆史保存項。
界麵中腳本支持以上操作,並且修改完上述內容後數據庫不需要重新啟動,馬上就能生效,並且不會影響已有數據庫點的正常運行。
一般的應用中隻會涉及到有限的幾種設備類型和幾種點類型。對於每種設備或點類型我們要在畫麵中建立相應的窗口,該窗口用於對I/O設備或點進行維護。下麵是一簡單的點定義窗口:
運行時點組態畫麵示例
2.畫麵組態
運行時加入圖形對象包括腳本創建對象和運行中手工填加圖形對象兩種方式,下麵分別介紹。
2.1腳本動態生成圖形的步驟
- 定義圖形對象樣板。
- 通過下列腳本替換已有對象、增加新對象、替換對象中引用的變量。常用的腳本函數如下:
- 調用RepObj函數替換對象。
- 調用AddObj函數增加新對象。
- 調用RepVar函數替換變量。
- 調用DelObj函數刪除對象。
- 在窗口外部可以通過調用RepVarWin對選定對象進行變量替換。
- 將修改完的畫麵保存到主服務器,其他客戶端的畫麵將自動更新,這一步不是必須的,如果不需要保存到服務器,可以忽略此步。
- 運行時切換到“編輯”模式,這時可以手動加入、修改、刪除調整樣板對象。並可以對圖元對象中引用的變量進行替換。
在運行時手工添加圖形對象相對更為靈活,其操作基本步驟如下:
- 在窗口參數中選中“允許運行編輯”複選框。若啟動了安全管理,那麼還要指定具有“運行時編輯畫麵”權限帳戶,隻有該賬戶能夠進行動態生成對象。
- 製作工具畫麵。在該畫麵中添加運行時需要的工具,每個工具要打成子圖、單元或圖形模板,並將其置於拖拽框對象之下。
- 通過導航樹中的“畫麵”選項卡中的“操作麵板”添加工具畫麵。也可以沒有該步驟。
- 在運行時,通過拖拽工具畫麵中的對象,增加圖形對象。
- 保存修改,將修改內容傳送到服務器端(此步驟不是必須的)。
運行時手工添加的圖形對象,在組態時要預先繪製好,bingjiarudaogongjuhuamianzhong。yunxingshitongguotuozhuaifangshijiangqihuizhidaoxiangyingdehuamian,ranhouxiugaiqiguanlianbianliangdengcaozuo,zuihoubaocundaofuwuqi,shixiandongtaitianjiatuxingduixiangdecaozuo。

運行時生成畫麵示例
五.發展方向 組態軟件行一般稱為通用組態軟件。“通用”一yi詞ci表biao示shi它ta可ke以yi適shi合he各ge種zhong應ying用yong領ling域yu。不bu同tong的de應ying用yong領ling域yu雖sui然ran存cun在zai許xu多duo共gong性xing的de東dong西xi,但dan是shi行xing業ye的de差cha異yi是shi客ke觀guan存cun在zai的de。差cha異yi表biao現xian在zai畫hua麵mian的de組zu織zhi形xing式shi,組zu成cheng部bu件jian,構gou建jian邏luo輯ji。如ru果guo讓rang組zu態tai軟ruan件jian能neng夠gou包bao羅luo萬wan象xiang來lai適shi應ying各ge行xing各ge業ye,那na麼me呈cheng現xian給gei用yong戶hu的de軟ruan件jian將jiang過guo於yu複fu雜za,最zui終zhong會hui使shi得de組zu態tai軟ruan件jian本ben身shen的de友you好hao性xing太tai差cha,失shi去qu其qi存cun在zai的de意yi義yi。如ru前qian所suo述shu,運yun行xing時shi動dong態tai生sheng成cheng的de元yuan素su是shi在zai組zu態tai環huan境jing下xia生sheng成cheng的de。行xing業ye工gong程cheng師shi可ke以yi在zai組zu態tai環huan境jing下xia構gou建jian其qi應ying用yong領ling域yu所suo需xu模mo件jian,然ran後hou讓rang專zhuan業ye技ji術shu人ren員yuan運yun用yong自zi己ji熟shu知zhi的de構gou件jian在zai運yun行xing時shi搭da建jian自zi己ji的de應ying用yong。這zhe樣yang就jiu使shi組zu態tai軟ruan件jian形xing成cheng三san級ji應ying用yong模mo式shi:軟件工程師-行業工程師-zhuanyejishurenyuan。ruanjiangongchengshizhuzhongdeshigeixingyegongchengshitigonglinghuodeshouduan,xingyegongchengshigoujianxingyemojian,zhuanyejishurenyuangoujianzuizhongdeyingyong。zhecaihuishizutairuanjianshenrudaoxingye,zheyezhengshizutairuanjianweilaifazhanzhidao。
|