|
紫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++中該類或結構的一個實際對象。
tongguoyishangkeyikanchu,zijinqiaoshishishujukushimianxiangduixiangde,dianshishujukuchulishujudeluojidanyuan。liyongzijinqiaoshishishujukuzhongdediankeyihenfangbiandewanchengduiwuliliangmoxingdeguanli。zheliduiyuwomendegangpimoxing,jiukeyitongguo“點”的方式進行管理。這裏就要用到紫金橋自定義點類型。
紫金橋自定義點類型的方式
由於紫金橋實時數據庫中沒有針對“鋼坯”的點類型,我們需要通過自定義點的方式添加一個“鋼坯點”,這個點要包含鋼坯的各個參數。
紫金橋自定義點的方式有兩種,一種是在實時數據庫開發係統中直接添加,無須編寫程序;另一種是利用紫金橋數據庫點開發包,通過編成的方式添加點類型。這兩種方式互有優缺,前者比較簡單,但靈活性稍差些;後者較為麻煩,但夠靈活,可以根據具體情況選擇。
調用紫金橋API
外部程序可以通過調用紫金橋API來修改實時數據庫中的點,這裏要注意點名及參數名必須一致。比如利用API接口中的SetDataByName(CStringList& list, CStringList& datList),就可以批量的修改點參數。
畫麵顯示
利用紫金橋開發係統中的“動畫連接”,將各點參數與對應的圖元相關聯,這樣就可以完成外部程序對圖形動畫的控製。
結構框圖
係統的結構框圖如下:

外部程序通過調用API完成對“鋼坯點”的控製,每一個“鋼坯點”對應一個鋼坯對象,並在人機界麵(或遠程客戶端)以圖形的方式顯示。
方案二:利用自定義點類型
這(zhe)裏(li)說(shuo)的(de)自(zi)定(ding)義(yi)點(dian)類(lei)型(xing)方(fang)式(shi)是(shi)指(zhi)利(li)用(yong)紫(zi)金(jin)橋(qiao)點(dian)開(kai)發(fa)包(bao)自(zi)行(xing)開(kai)發(fa)。點(dian)開(kai)發(fa)包(bao)中(zhong)不(bu)僅(jin)可(ke)以(yi)添(tian)加(jia)一(yi)些(xie)點(dian)參(can)數(shu)形(xing)成(cheng)新(xin)的(de)數(shu)據(ju)庫(ku)點(dian)類(lei)型(xing),還(hai)可(ke)以(yi)完(wan)成(cheng)對(dui)該(gai)點(dian)類(lei)型(xing)的(de)數(shu)據(ju)處(chu)理(li)。利(li)用(yong)這(zhe)種(zhong)方(fang)法(fa),可(ke)以(yi)將(jiang)外(wai)部(bu)進(jin)程(cheng)的(de)數(shu)據(ju)處(chu)理(li)等(deng)工(gong)作(zuo),直(zhi)接(jie)嵌(qian)入(ru)到(dao)點(dian)類(lei)型(xing)中(zhong),能(neng)夠(gou)處(chu)理(li)鋼(gang)坯(pi)的(de)各(ge)參(can)數(shu)信(xin)息(xi),在(zai)內(nei)部(bu)完(wan)成(cheng)參(can)數(shu)的(de)讀(du)寫(xie)控(kong)製(zhi)。
結構框圖

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