|
紫(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。
結構框圖

這樣對“鋼坯”控製更加有效,並邏輯清晰,每一個“鋼坯點”weizuixiaodekongzhidanyuan,bingqiesuoyoucaozuojunzaishishishujukuneibuwancheng,xitonggengyouxiaolv。ruguo,meiyigegangpizhijianhaiyouguanlian,huozheshouqitafuzatiaojiankongzhidehua,haikeyitianjia“鋼坯管理點”來實現對鋼坯的管理控製。
兩種方案優缺點對比
|
方案
性能 |
方案一 |
方案二 |
|
效率 |
在實時數據庫內部處理,效率較高 |
需要外部進程與實時數據庫一同處理,效率相對低些 |
|
靈活性 |
受到點開發機製的製約,靈活性相對差些 |
獨立的外部程序靈活性較好 |
|
兼容性 |
屬於實時數據庫內部,在其他應用程序無法使用 |
兼容性較好 |
注意:優缺點對比是相對的,並不是說某種方案在該性能上做得不好,隻是相對而言。
|