——利用紫金橋遠程數(shù)據(jù)源實現(xiàn)數(shù)據(jù)上傳
在《紫金橋跨網(wǎng)組建分布式系統(tǒng)(一)》中,我們講解了如何利用紫金橋Modbus Server和GPRS數(shù)傳模塊實現(xiàn)數(shù)據(jù)上傳,本章我們主要介紹第二種方案——利用紫金橋遠程數(shù)據(jù)源實現(xiàn)數(shù)據(jù)上傳。
首先,我們對紫金橋的遠程數(shù)據(jù)源的功能進行簡要的說明:
“數(shù)據(jù)源”是紫金橋數(shù)據(jù)庫的一個基本概念。在紫金橋的分布式體系結構中,對于客戶端而言,每一個服務器都是一個數(shù)據(jù)源??蛻舳送ㄟ^數(shù)據(jù)源與紫金橋數(shù)據(jù)庫通訊,數(shù)據(jù)源定義了數(shù)據(jù)庫所在位置、連接方式、通信參數(shù)等。在開發(fā)系統(tǒng)/運行系統(tǒng)中要訪問數(shù)據(jù)源,可以通過兩種方式,一是通過數(shù)據(jù)庫變量可以直接訪問遠程的數(shù)據(jù)源,二是通過一些標準圖元組件,如報警、總貌等可以直接訪問數(shù)據(jù)源中的數(shù)據(jù)。
接下來,我們對方案的具體實現(xiàn)方式進行說明,方案的網(wǎng)絡需求如下圖:

客戶端A能夠正常的進行互聯(lián)網(wǎng)訪問,客戶端A建立數(shù)據(jù)源并指向具有公網(wǎng)固定IP的中心服務器B。
在這里,使用過紫金橋軟件的客戶會感到迷茫:遠程數(shù)據(jù)源功能的使用前提應該是客戶端具有公網(wǎng)IP地址,并且由中心服務器端來定義遠程數(shù)據(jù)源才對,這樣才能在點組態(tài)中對位號進行遠程數(shù)據(jù)源的數(shù)據(jù)連接呀?是的,這樣的用法是正確的,本次我們的用法是:通過指定數(shù)據(jù)源的賦值函數(shù)將數(shù)據(jù)從客戶端上傳至中心服務器。
下面,我們對實現(xiàn)的過程進行說明:
按照上述方式組建網(wǎng)絡后,我們在客戶端的紫金橋軟件中建立數(shù)據(jù)源

對新建的數(shù)據(jù)源對象進行命名

選擇建立遠程節(jié)點,連接方式選擇通過網(wǎng)絡,主機地址填寫中心服務器的公網(wǎng)IP地址和開放紫金橋軟件的對應端口,如下圖中主機名中,“132.145.1.236”為中心服務器B的公網(wǎng)IP地址,“1998”為紫金橋軟件的通訊端口。

數(shù)據(jù)源建立成功后,我們就可以利用通過數(shù)據(jù)源訪問對應數(shù)據(jù)源的位號的方式來完成數(shù)據(jù)從客戶端到服務器的傳遞,具體方法如下:
在客戶端的紫金橋軟件中找到畫面全局腳本

選中“周期執(zhí)行”標簽,間隔時間設置成數(shù)據(jù)采集的周期,在周期執(zhí)行腳本中我們用到了兩個數(shù)據(jù)源對象的函數(shù):SetDataReal()和RegUpdate(),如下圖

SetDataReal()函數(shù)通過指定數(shù)據(jù)源的指定點名,設置實型數(shù)據(jù)到緩存,調用RegUpdate()函數(shù)后,下置到數(shù)據(jù)庫。
當客戶端的軟件運行后,以一秒為間隔,周期的將客戶端中點A1的PV參數(shù)值賦給中心服務器中點B1的PV參數(shù)(因RegUpdate()函數(shù)較耗費系統(tǒng)資源,建議腳本執(zhí)行周期設置長一些)。
至此,相關配置已完成,可進行數(shù)據(jù)上傳。