一、引言
在某些應(yīng)用場合里,現(xiàn)場對模塊和設(shè)備都會有冗余。例如遠(yuǎn)航大洋里的郵輪,船上如果某個模塊通道故障,需要切換到模塊另一個通道上或者其他模塊的通道上。那么工程里點的外部連接也需要對應(yīng)的切換修改。但不可能會讓技術(shù)人員去上船修改,因為這很不現(xiàn)實。那么如何解決這問題呢?利用紫金橋動態(tài)修改連接項即可實現(xiàn)上面功能。
數(shù)據(jù)連接是實時數(shù)據(jù)庫的一項重要內(nèi)容。它把實時數(shù)據(jù)庫中的點參數(shù)與其它的數(shù)據(jù)連接起來。數(shù)據(jù)庫的數(shù)據(jù)連接可以分成三類:IO連接、遠(yuǎn)程數(shù)據(jù)庫、內(nèi)部連接。IO連接:該項表示點參數(shù)與實際物理設(shè)備的IO單元連接起來。連接后,數(shù)據(jù)庫會啟動相應(yīng)的IO驅(qū)動程序,讀取/設(shè)置相應(yīng)的IO設(shè)備,數(shù)據(jù)庫中組態(tài)數(shù)據(jù)連接的點數(shù)據(jù)就可以與實際IO單元的數(shù)據(jù)一致,同時對數(shù)據(jù)庫點參數(shù)的操作就相當(dāng)于對實際IO的操作。遠(yuǎn)程數(shù)據(jù)庫:可以與遠(yuǎn)程數(shù)據(jù)庫進(jìn)行連接。把當(dāng)前的點參數(shù)與已經(jīng)定義的數(shù)據(jù)源的點參數(shù)連接。內(nèi)部連接:把當(dāng)前點參數(shù)與當(dāng)前系統(tǒng)的另一個點參數(shù)連接。連接后兩個參數(shù)可以認(rèn)為在邏輯上等效,對其中的一個參數(shù)的讀寫就相當(dāng)于對另一個參數(shù)的讀寫。內(nèi)部連接一般在運算點用的比較多。
二、功能演示
1、簡述
假設(shè)現(xiàn)場有4個模擬IO模塊,1個數(shù)字IO模塊,數(shù)據(jù)采集到OPC Server里,紫金橋軟件從OPC Server里取數(shù)。紫金橋客戶端初始時采集A1的01-06通道,A2的01-02,A3的01-02,用戶可動態(tài)選擇模塊通道,且程序完全退出下次再次運行時修改依然有效。

模塊示意

OPC Server端

紫金橋客戶端運行界面
程序運行時,對應(yīng)模塊通道采集的數(shù)據(jù)可以從表上看出。
2、切換通道
假設(shè)A1模塊1號通道壞了(Ia),將該通道改接到A4的1號通道上。如下圖:

選擇切換后通道A4—01
點擊確定后,動態(tài)修改點的連接項。數(shù)據(jù)庫重新讀取所有點的數(shù)據(jù)。



修改前Ia的值(A1-01)

修改成功后Ia的值變成A4模塊1通道的數(shù)值
三、功能函數(shù)介紹
1、系統(tǒng)函數(shù)AddIOLink函數(shù)介紹
該示例主要應(yīng)用到了紫金橋軟件系統(tǒng)函數(shù)AddIOLink函數(shù)。
int AddIOLink(string DataSource,string
ParVals,bool OverWrite)
說明:
增加連接項。
參數(shù):
DataSource : 字符串類型。數(shù)據(jù)源名,指示向哪個數(shù)據(jù)庫增加歷史項。為空表示向缺省數(shù)據(jù)庫。
ParVals : 字符串類型。連接項參數(shù)及其值列表。參數(shù)間以制表符分隔,參數(shù)名與參數(shù)值間以"="連接,以回車作為點間分隔。格式如下:
參數(shù)項\t參數(shù)項...\t參數(shù)項\r參數(shù)項\t參數(shù)項...\t參數(shù)項\r...
參數(shù)項間以\t分隔;各連接項間以\r分隔
參數(shù)項 參數(shù)名=值
\t:表示制表符(9);\r:表示回車(13)
OverWrite : BOOL類型。表示如果點已經(jīng)存在時是否對其修改,1:表示修改;0:表示不修改。
返回值:
整型類型。1表示成功,否則失敗。
2、其他函數(shù)介紹
除了上面的那個函數(shù),紫金橋軟件還有增加內(nèi)部連接項或網(wǎng)絡(luò)連接函數(shù)AddLink函數(shù)。
int AddLink(string DataSource,string
ParVals,bool OverWrite)
說明
增加內(nèi)部連接項或網(wǎng)絡(luò)連接。
參數(shù)
DataSource : 字符串類型。數(shù)據(jù)源名,指示向哪個數(shù)據(jù)庫增加歷史項。為空表示向缺省數(shù)據(jù)庫。
ParVals : 字符串類型。連接項參數(shù)及其值列表。參數(shù)間以制表符分隔,參數(shù)名與參數(shù)值間以"="連接,以回車作為點間分隔。格式如下:
參數(shù)項\t參數(shù)項...\t參數(shù)項\r參數(shù)項\t參數(shù)項...\t參數(shù)項\r...
參數(shù)項間以\t分隔;各連接項間以\r分隔
參數(shù)項 參數(shù)名=值
\t:表示制表符(9);\r:表示回車(13)
OverWrite : BOOL類型。表示如果點已經(jīng)存在時是否對其修改,1:表示修改;0:表示不修改。
返回值
整型類型。1表示成功,否則失敗。
四、總結(jié)
紫金橋軟件強大的函數(shù)庫可滿足用戶復(fù)雜苛刻的系統(tǒng)要求,實現(xiàn)和完成更多的系統(tǒng)功能。