——利用紫金橋遠程數據源實現數據上傳
在《紫金橋跨網組建分布式系統(一)》中,我們講解了如何利用紫金橋Modbus Server和GPRS數傳模塊實現數據上傳,本章我們主要介紹第二種方案——利用紫金橋遠程數據源實現數據上傳。
首先,我們對紫金橋的遠程數據源的功能進行簡要的說明:
“數據源”是紫金橋數據庫的一個基本概念。在紫金橋的分布式體系結構中,對于客戶端而言,每一個服務器都是一個數據源。客戶端通過數據源與紫金橋數據庫通訊,數據源定義了數據庫所在位置、連接方式、通信參數等。在開發系統/運行系統中要訪問數據源,可以通過兩種方式,一是通過數據庫變量可以直接訪問遠程的數據源,二是通過一些標準圖元組件,如報警、總貌等可以直接訪問數據源中的數據。
接下來,我們對方案的具體實現方式進行說明,方案的網絡需求如下圖:
 
客戶端A能夠正常的進行互聯網訪問,客戶端A建立數據源并指向具有公網固定IP的中心服務器B。
在這里,使用過紫金橋軟件的客戶會感到迷茫:遠程數據源功能的使用前提應該是客戶端具有公網IP地址,并且由中心服務器端來定義遠程數據源才對,這樣才能在點組態中對位號進行遠程數據源的數據連接呀?是的,這樣的用法是正確的,本次我們的用法是:通過指定數據源的賦值函數將數據從客戶端上傳至中心服務器。
下面,我們對實現的過程進行說明:
按照上述方式組建網絡后,我們在客戶端的紫金橋軟件中建立數據源
 
對新建的數據源對象進行命名
 
選擇建立遠程節點,連接方式選擇通過網絡,主機地址填寫中心服務器的公網IP地址和開放紫金橋軟件的對應端口,如下圖中主機名中,“132.145.1.236”為中心服務器B的公網IP地址,“1998”為紫金橋軟件的通訊端口。
 
數據源建立成功后,我們就可以利用通過數據源訪問對應數據源的位號的方式來完成數據從客戶端到服務器的傳遞,具體方法如下:
 
選中“周期執行”標簽,間隔時間設置成數據采集的周期,在周期執行腳本中我們用到了兩個數據源對象的函數:SetDataReal()和RegUpdate(),如下圖
 
SetDataReal()函數通過指定數據源的指定點名,設置實型數據到緩存,調用RegUpdate()函數后,下置到數據庫。
當客戶端的軟件運行后,以一秒為間隔,周期的將客戶端中點A1的PV參數值賦給中心服務器中點B1的PV參數(因RegUpdate()函數較耗費系統資源,建議腳本執行周期設置長一些)。
至此,相關配置已完成,可進行數據上傳。
|