——利用紫金橋Modbus Server和GPRS模塊實現(xiàn)數(shù)據(jù)上傳
在利用紫金橋軟件組建分布式系統(tǒng)的項目中,會有這樣的情況:要以位于廣州的計算機A作為客戶端、位于上海的計算機B作為中心服務(wù)器組建分布式系統(tǒng),實時數(shù)據(jù)要從客戶端上傳至中心服務(wù)器,但客戶端和中心服務(wù)器并不能連至同一網(wǎng)絡(luò),且僅中心服務(wù)器具有在公網(wǎng)上的固定IP地址,那么數(shù)據(jù)如何從客戶端上傳至中心服務(wù)器呢?根據(jù)客戶端是否能夠?qū)ヂ?lián)網(wǎng)進行訪問,紫金橋提出了兩種解決方案來解決此問題:在客戶端無法訪問互聯(lián)網(wǎng)的情況下,利用紫金橋Modbus Server和GPRS模塊實現(xiàn)數(shù)據(jù)上傳;在客戶端可進行互聯(lián)網(wǎng)訪問的情況下,利用紫金橋遠程數(shù)據(jù)源功能實現(xiàn)數(shù)據(jù)上傳。
本章主要介紹第一種方案——利用紫金橋Modbus Server和GPRS數(shù)傳模塊實現(xiàn)數(shù)據(jù)上傳。
首先,我們來簡單介紹方案標題中提及的兩個概念和它們具體的工作方式:
一、紫金橋Modbus Server
存儲于紫金橋數(shù)據(jù)庫位號中的數(shù)據(jù),可以通過多種方式進行對外發(fā)布,提供數(shù)據(jù)訪問。
紫金橋的Modbus Server正是紫金橋軟件多個對外接口功能中的一種。紫金橋Modbus Server可以將紫金橋的數(shù)據(jù)庫點映射到Modbus中的寄存器區(qū)域中,使紫金橋數(shù)據(jù)庫虛擬成一個支持標準Modbus協(xié)議的仿真設(shè)備,第三方的儀表或控制系統(tǒng)可利用通用、可靠的Modbus協(xié)議來訪問紫金橋數(shù)據(jù)庫中的數(shù)據(jù)。
二、GPRS模塊
GPRS是在現(xiàn)有GSM系統(tǒng)上發(fā)展出來的一種新的數(shù)據(jù)承載業(yè)務(wù),支持TCP/IP協(xié)議,可以與分組數(shù)據(jù)網(wǎng)(Internet等)直接互通。GPRS模塊是工業(yè)級無線數(shù)據(jù)傳輸設(shè)備,通過移動GPRS網(wǎng)絡(luò)為用戶提供透明TCP或者透明UDP無線遠距離數(shù)據(jù)傳輸?shù)墓δ堋?/span>GPRS數(shù)傳模塊通過接口從客戶系統(tǒng)取得數(shù)據(jù),處理后的GPRS分組數(shù)據(jù)經(jīng)過封裝和多次處理后發(fā)送到Internet上。數(shù)據(jù)接收端通過對應(yīng)GPRS數(shù)傳模塊軟件的網(wǎng)絡(luò)偵聽,接收GPRS無線模塊傳來的數(shù)據(jù)和發(fā)送控制數(shù)據(jù),實現(xiàn)與GPRS模塊的通信。
方案的整體網(wǎng)絡(luò)架構(gòu)如下圖:
將客戶端A與GPRS模塊通過串口網(wǎng)絡(luò)進行連接,GPRS模塊傳輸協(xié)議對數(shù)據(jù)進行處理,數(shù)據(jù)處理后經(jīng)無線網(wǎng)絡(luò)發(fā)送到GSM基站,經(jīng)過GPRS骨干網(wǎng)的二次處理后發(fā)送到位于Internet上具有公網(wǎng)固定IP的中心服務(wù)器B。
下面,我們對數(shù)據(jù)傳輸過程及傳輸過程中使用到的功能進行說明,軟件的數(shù)據(jù)通信結(jié)構(gòu)如下:
通過紫金橋Modbus Server的數(shù)據(jù)映射,存儲于客戶端A數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成虛擬Modbus設(shè)備的數(shù)據(jù)。GPRS設(shè)備對轉(zhuǎn)換后的數(shù)據(jù)進行封裝,經(jīng)GPRS通信協(xié)議的傳輸后,數(shù)據(jù)被時刻偵聽公網(wǎng)端口的紫金橋GPRS驅(qū)動程序獲取。獲取的數(shù)據(jù)經(jīng)紫金橋Modbus Client程序的解析后轉(zhuǎn)變?yōu)橛脩粜枰臄?shù)據(jù),交由中心服務(wù)器B的數(shù)據(jù)庫進行存儲。(把上圖中棕色虛線框中的內(nèi)容想象成一段暢通的數(shù)據(jù)傳輸通道,可對GPRS傳輸數(shù)據(jù)的過程有更清晰的認識。)
接下來,我們對客戶端和中心服務(wù)器的軟件配置進行詳細的說明:
一、客戶端的軟件配置
客戶端軟件需對紫金橋的Modbus Server進行相關(guān)配置,打開軟件的安裝目錄,找到ModbusSerSet.exe文件并打開

在菜單中選擇“通道”項下面的“添加串口通道”,彈出如下圖所示的對話框:
其中,串口號要選擇計算機上和GPRS進行連接的串口號,并記錄波特率、數(shù)據(jù)位、校驗位、停止位的參數(shù)設(shè)置,然后選擇菜單“設(shè)備”項下的“增加設(shè)備”。
增加設(shè)備后,該設(shè)備自動生成了4個區(qū)域,它們和Modbus命令的對應(yīng)關(guān)系如下表所示:
區(qū)域
|
對應(yīng)的可以操作該區(qū)域的Modbus命令號
|
DI
|
2號命令讀取
|
DO
|
1號命令讀取,5號命令下置
|
AR
|
4號命令讀取
|
HR
|
3號命令讀取,6號命令下置一個地址,16號下置多個地址。
|
選擇菜單“寄存器”項下面的“增加寄存器”。
輸入需做映射的點名和對應(yīng)的寄存器地址。

關(guān)閉此界面后,在安裝目錄下找到ModbusServer.exe文件并打開
至此,客戶端的數(shù)據(jù)映射建立完畢。
二、中心服務(wù)器的軟件配置
服務(wù)器端需建立對應(yīng)的Modbus驅(qū)動程序,雖然中心服務(wù)器是通過偵聽網(wǎng)絡(luò)端口來獲取客戶端的數(shù)據(jù),但實際和Modbus Server進行通訊的方式還是串口,所以我們要在列表中選擇串口通訊的Modbus驅(qū)動程序來進行建立。
定義設(shè)備名稱,數(shù)據(jù)更新周期等參數(shù),設(shè)備地址與客戶端中配置的設(shè)備地址一致,連接方式選擇串口。
串口設(shè)備定義畫面中,在附加設(shè)備中的第一項選擇GPRS,第二項選擇與客戶端進行串口連接的GPRS設(shè)備的廠家

在配置界面中定義GPRS設(shè)備的對應(yīng)偵聽端口,設(shè)備的ID號等信息

完成GPRS設(shè)備的定義后,完成最后一步Modbus驅(qū)動程序的最后定義,此處數(shù)據(jù)格式的選擇要與客戶端的Modbus Server配置相同。

進入點組態(tài),建立對應(yīng)點,增加連接項,連接項的具體配置要與客戶端的寄存器配置信息對應(yīng)。

至此,中心服務(wù)器的詳細配置已完成,運行工程后即可進行通訊。