|
紫(zi)金(jin)橋(qiao)實(shi)時(shi)數(shu)據(ju)庫(ku)有(you)良(liang)好(hao)的(de)擴(kuo)展(zhan)性(xing),利(li)用(yong)各(ge)種(zhong)接(jie)口(kou)能(neng)夠(gou)實(shi)現(xian)多(duo)種(zhong)數(shu)據(ju)處(chu)理(li)功(gong)能(neng),這(zhe)裏(li)以(yi)鋼(gang)坯(pi)的(de)物(wu)料(liao)跟(gen)蹤(zong)模(mo)型(xing)為(wei)例(li),介(jie)紹(shao)基(ji)於(yu)紫(zi)金(jin)橋(qiao)實(shi)時(shi)數(shu)據(ju)庫(ku)的(de)外(wai)置(zhi)模(mo)型(xing)設(she)計(ji)方(fang)案(an)。
方案一:利用紫金橋自定義點類型+調用紫金橋API
首先不管使用哪種方案都用到了紫金橋實時數據庫的“點”,這裏先介紹下“點”的概念。
“點”的概念
紫(zi)金(jin)橋(qiao)實(shi)時(shi)數(shu)據(ju)庫(ku)中(zhong)的(de)點(dian)是(shi)一(yi)個(ge)邏(luo)輯(ji)組(zu)合(he),包(bao)含(han)很(hen)多(duo)參(can)數(shu),每(mei)一(yi)個(ge)參(can)數(shu)描(miao)述(shu)該(gai)點(dian)的(de)一(yi)個(ge)屬(shu)性(xing)。舉(ju)例(li)說(shuo)一(yi)下(xia),比(bi)如(ru)關(guan)係(xi)數(shu)據(ju)庫(ku),其(qi)中(zhong)有(you)很(hen)多(duo)表(biao),每(mei)一(yi)種(zhong)表(biao)中(zhong)會(hui)有(you)若(ruo)幹(gan)字(zi)段(duan),各(ge)字(zi)段(duan)會(hui)描(miao)述(shu)一(yi)種(zhong)屬(shu)性(xing),這(zhe)裏(li)的(de)每(mei)一(yi)種(zhong)表(biao)都(dou)可(ke)以(yi)看(kan)作(zuo)為(wei)紫(zi)金(jin)橋(qiao)實(shi)時(shi)數(shu)據(ju)庫(ku)中(zhong)的(de)一(yi)種(zhong)點(dian)類(lei)型(xing),每(mei)一(yi)個(ge)字(zi)段(duan)可(ke)以(yi)看(kan)作(zuo)為(wei)點(dian)類(lei)型(xing)的(de)一(yi)種(zhong)參(can)數(shu),而(er)實(shi)際(ji)的(de)每(mei)條(tiao)記(ji)錄(lu)就(jiu)可(ke)以(yi)看(kan)作(zuo)為(wei)用(yong)戶(hu)定(ding)義(yi)的(de)一(yi)個(ge)實(shi)際(ji)的(de)點(dian)。
比如關係數據庫中有一種表,是一個物理量的信息表,其中包含物理量的名稱、測量值、報警高限、最小量程、最大量程等字段(當然關係數據庫中一般少有這種表結構),並存有“壓力、1.2Mpa、2Mpa、0MPa、3Mpa”這麼一條記錄,那麼對應到紫金橋實時數據庫中就是一種叫做“模擬I/O點”的點類型,該點類型具有DESC(點說明)、PV(測量值)、HI(報警高限)、EULO(最小量程)、EUHI(最大量程)等參數,並且用戶實際定義壓力點P,即P.DESC=“壓力”、P.PV=1.2(一般要連接實際設備,顯示現場實際值)、P.HI=2、P.EULO=0、P.EUHI=3。
換個角度,其實紫金橋實時數據庫中的每一種點類型相當於C++中的一個類或者一個結構體,每一種點參數相當於C++中類或結構體的成員變量,而每一個實際定義的點就相當於C++中該類或結構的一個實際對象。
通(tong)過(guo)以(yi)上(shang)可(ke)以(yi)看(kan)出(chu),紫(zi)金(jin)橋(qiao)實(shi)時(shi)數(shu)據(ju)庫(ku)是(shi)麵(mian)向(xiang)對(dui)象(xiang)的(de),點(dian)是(shi)數(shu)據(ju)庫(ku)處(chu)理(li)數(shu)據(ju)的(de)邏(luo)輯(ji)單(dan)元(yuan)。利(li)用(yong)紫(zi)金(jin)橋(qiao)實(shi)時(shi)數(shu)據(ju)庫(ku)中(zhong)的(de)點(dian)可(ke)以(yi)很(hen)方(fang)便(bian)的(de)完(wan)成(cheng)對(dui)物(wu)理(li)量(liang)模(mo)型(xing)的(de)管(guan)理(li)。這(zhe)裏(li)對(dui)於(yu)我(wo)們(men)的(de)鋼(gang)坯(pi)模(mo)型(xing),就(jiu)可(ke)以(yi)通(tong)過(guo)“點”的方式進行管理。這裏就要用到紫金橋自定義點類型。
紫金橋自定義點類型的方式
由於紫金橋實時數據庫中沒有針對“鋼坯”的點類型,我們需要通過自定義點的方式添加一個“鋼坯點”,這個點要包含鋼坯的各個參數。
紫金橋自定義點的方式有兩種,一種是在實時數據庫開發係統中直接添加,無須編寫程序;另一種是利用紫金橋數據庫點開發包,通過編成的方式添加點類型。這兩種方式互有優缺,前者比較簡單,但靈活性稍差些;後者較為麻煩,但夠靈活,可以根據具體情況選擇。
調用紫金橋API
外部程序可以通過調用紫金橋API來修改實時數據庫中的點,這裏要注意點名及參數名必須一致。比如利用API接口中的SetDataByName(CStringList& list, CStringList& datList),就可以批量的修改點參數。
畫麵顯示
利用紫金橋開發係統中的“動畫連接”,將各點參數與對應的圖元相關聯,這樣就可以完成外部程序對圖形動畫的控製。
結構框圖
係統的結構框圖如下:

外部程序通過調用API完成對“鋼坯點”的控製,每一個“鋼坯點”對應一個鋼坯對象,並在人機界麵(或遠程客戶端)以圖形的方式顯示。
方案二:利用自定義點類型
zhelishuodezidingyidianleixingfangshishizhiliyongzijinqiaodiankaifabaozixingkaifa。diankaifabaozhongbujinkeyitianjiayixiediancanshuxingchengxindeshujukudianleixing,haikeyiwanchengduigaidianleixingdeshujuchuli。liyongzhezhongfangfa,keyijiangwaibujinchengdeshujuchulidenggongzuo,zhijieqianrudaodianleixingzhong,nenggouchuligangpidegecanshuxinxi,zaineibuwanchengcanshudeduxiekongzhi。
結構框圖

這樣對“鋼坯”控製更加有效,並邏輯清晰,每一個“鋼坯點”為wei最zui小xiao的de控kong製zhi單dan元yuan,並bing且qie所suo有you操cao作zuo均jun在zai實shi時shi數shu據ju庫ku內nei部bu完wan成cheng,係xi統tong更geng有you效xiao率lv。如ru果guo,每mei一yi個ge鋼gang坯pi之zhi間jian還hai有you關guan聯lian,或huo者zhe受shou其qi他ta複fu雜za條tiao件jian控kong製zhi的de話hua,還hai可ke以yi添tian加jia“鋼坯管理點”來實現對鋼坯的管理控製。
兩種方案優缺點對比
|
方案
性能 |
方案一 |
方案二 |
|
效率 |
在實時數據庫內部處理,效率較高 |
需要外部進程與實時數據庫一同處理,效率相對低些 |
|
靈活性 |
受到點開發機製的製約,靈活性相對差些 |
獨立的外部程序靈活性較好 |
|
兼容性 |
屬於實時數據庫內部,在其他應用程序無法使用 |
兼容性較好 |
注意:優缺點對比是相對的,並不是說某種方案在該性能上做得不好,隻是相對而言。
|