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

模塊示意

OPC Server端

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

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



修改前Ia的值(A1-01)

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