——利用紫金橋Modbus Server和GPRS模塊實(shí)現(xiàn)數(shù)據(jù)上傳
在利用紫金橋軟件組建分布式系統(tǒng)的項(xiàng)目中,會(huì)有這樣的情況:要以位于廣州的計(jì)算機(jī)A作為客戶端、位于上海的計(jì)算機(jī)B作為中心服務(wù)器組建分布式系統(tǒng),實(shí)時(shí)數(shù)據(jù)要從客戶端上傳至中心服務(wù)器,但客戶端和中心服務(wù)器并不能連至同一網(wǎng)絡(luò),且僅中心服務(wù)器具有在公網(wǎng)上的固定IP地址,那么數(shù)據(jù)如何從客戶端上傳至中心服務(wù)器呢?根據(jù)客戶端是否能夠?qū)ヂ?lián)網(wǎng)進(jìn)行訪問(wèn),紫金橋提出了兩種解決方案來(lái)解決此問(wèn)題:在客戶端無(wú)法訪問(wèn)互聯(lián)網(wǎng)的情況下,利用紫金橋Modbus Server和GPRS模塊實(shí)現(xiàn)數(shù)據(jù)上傳;在客戶端可進(jìn)行互聯(lián)網(wǎng)訪問(wèn)的情況下,利用紫金橋遠(yuǎn)程數(shù)據(jù)源功能實(shí)現(xiàn)數(shù)據(jù)上傳。
本章主要介紹第一種方案——利用紫金橋Modbus Server和GPRS數(shù)傳模塊實(shí)現(xiàn)數(shù)據(jù)上傳。
首先,我們來(lái)簡(jiǎn)單介紹方案標(biāo)題中提及的兩個(gè)概念和它們具體的工作方式:
存儲(chǔ)于紫金橋數(shù)據(jù)庫(kù)位號(hào)中的數(shù)據(jù),可以通過(guò)多種方式進(jìn)行對(duì)外發(fā)布,提供數(shù)據(jù)訪問(wèn)。 紫金橋的Modbus Server正是紫金橋軟件多個(gè)對(duì)外接口功能中的一種。紫金橋Modbus Server可以將紫金橋的數(shù)據(jù)庫(kù)點(diǎn)映射到Modbus中的寄存器區(qū)域中,使紫金橋數(shù)據(jù)庫(kù)虛擬成一個(gè)支持標(biāo)準(zhǔn)Modbus協(xié)議的仿真設(shè)備,第三方的儀表或控制系統(tǒng)可利用通用、可靠的Modbus協(xié)議來(lái)訪問(wèn)紫金橋數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
GPRS是在現(xiàn)有GSM系統(tǒng)上發(fā)展出來(lái)的一種新的數(shù)據(jù)承載業(yè)務(wù),支持TCP/IP協(xié)議,可以與分組數(shù)據(jù)網(wǎng)(Internet等)直接互通。GPRS模塊是工業(yè)級(jí)無(wú)線數(shù)據(jù)傳輸設(shè)備,通過(guò)移動(dòng)GPRS網(wǎng)絡(luò)為用戶提供透明TCP或者透明UDP無(wú)線遠(yuǎn)距離數(shù)據(jù)傳輸?shù)墓δ。GPRS數(shù)傳模塊通過(guò)接口從客戶系統(tǒng)取得數(shù)據(jù),處理后的GPRS分組數(shù)據(jù)經(jīng)過(guò)封裝和多次處理后發(fā)送到Internet上。數(shù)據(jù)接收端通過(guò)對(duì)應(yīng)GPRS數(shù)傳模塊軟件的網(wǎng)絡(luò)偵聽(tīng),接收GPRS無(wú)線模塊傳來(lái)的數(shù)據(jù)和發(fā)送控制數(shù)據(jù),實(shí)現(xiàn)與GPRS模塊的通信。
方案的整體網(wǎng)絡(luò)架構(gòu)如下圖: 
將客戶端A與GPRS模塊通過(guò)串口網(wǎng)絡(luò)進(jìn)行連接,GPRS模塊傳輸協(xié)議對(duì)數(shù)據(jù)進(jìn)行處理,數(shù)據(jù)處理后經(jīng)無(wú)線網(wǎng)絡(luò)發(fā)送到GSM基站,經(jīng)過(guò)GPRS骨干網(wǎng)的二次處理后發(fā)送到位于Internet上具有公網(wǎng)固定IP的中心服務(wù)器B。
下面,我們對(duì)數(shù)據(jù)傳輸過(guò)程及傳輸過(guò)程中使用到的功能進(jìn)行說(shuō)明,軟件的數(shù)據(jù)通信結(jié)構(gòu)如下: 
通過(guò)紫金橋Modbus Server的數(shù)據(jù)映射,存儲(chǔ)于客戶端A數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)換成虛擬Modbus設(shè)備的數(shù)據(jù)。GPRS設(shè)備對(duì)轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行封裝,經(jīng)GPRS通信協(xié)議的傳輸后,數(shù)據(jù)被時(shí)刻偵聽(tīng)公網(wǎng)端口的紫金橋GPRS驅(qū)動(dòng)程序獲取。獲取的數(shù)據(jù)經(jīng)紫金橋Modbus Client程序的解析后轉(zhuǎn)變?yōu)橛脩粜枰臄?shù)據(jù),交由中心服務(wù)器B的數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。(把上圖中棕色虛線框中的內(nèi)容想象成一段暢通的數(shù)據(jù)傳輸通道,可對(duì)GPRS傳輸數(shù)據(jù)的過(guò)程有更清晰的認(rèn)識(shí)。)
接下來(lái),我們對(duì)客戶端和中心服務(wù)器的軟件配置進(jìn)行詳細(xì)的說(shuō)明:
一、客戶端的軟件配置
客戶端軟件需對(duì)紫金橋的Modbus Server進(jìn)行相關(guān)配置,打開(kāi)軟件的安裝目錄,找到ModbusSerSet.exe文件并打開(kāi)
 
在菜單中選擇“通道”項(xiàng)下面的“添加串口通道”,彈出如下圖所示的對(duì)話框:
 
其中,串口號(hào)要選擇計(jì)算機(jī)上和GPRS進(jìn)行連接的串口號(hào),并記錄波特率、數(shù)據(jù)位、校驗(yàn)位、停止位的參數(shù)設(shè)置,然后選擇菜單“設(shè)備”項(xiàng)下的“增加設(shè)備”。
 
增加設(shè)備后,該設(shè)備自動(dòng)生成了4個(gè)區(qū)域,它們和Modbus命令的對(duì)應(yīng)關(guān)系如下表所示:
區(qū)域
|
對(duì)應(yīng)的可以操作該區(qū)域的Modbus命令號(hào)
|
DI
|
2號(hào)命令讀取
|
DO
|
1號(hào)命令讀取,5號(hào)命令下置
|
AR
|
4號(hào)命令讀取
|
HR
|
3號(hào)命令讀取,6號(hào)命令下置一個(gè)地址,16號(hào)下置多個(gè)地址。
|
選擇菜單“寄存器”項(xiàng)下面的“增加寄存器”。
 
輸入需做映射的點(diǎn)名和對(duì)應(yīng)的寄存器地址。
 
關(guān)閉此界面后,在安裝目錄下找到ModbusServer.exe文件并打開(kāi)
 
至此,客戶端的數(shù)據(jù)映射建立完畢。
二、中心服務(wù)器的軟件配置
服務(wù)器端需建立對(duì)應(yīng)的Modbus驅(qū)動(dòng)程序,雖然中心服務(wù)器是通過(guò)偵聽(tīng)網(wǎng)絡(luò)端口來(lái)獲取客戶端的數(shù)據(jù),但實(shí)際和Modbus Server進(jìn)行通訊的方式還是串口,所以我們要在列表中選擇串口通訊的Modbus驅(qū)動(dòng)程序來(lái)進(jìn)行建立。
 
定義設(shè)備名稱,數(shù)據(jù)更新周期等參數(shù),設(shè)備地址與客戶端中配置的設(shè)備地址一致,連接方式選擇串口。
 
串口設(shè)備定義畫(huà)面中,在附加設(shè)備中的第一項(xiàng)選擇GPRS,第二項(xiàng)選擇與客戶端進(jìn)行串口連接的GPRS設(shè)備的廠家
 
在配置界面中定義GPRS設(shè)備的對(duì)應(yīng)偵聽(tīng)端口,設(shè)備的ID號(hào)等信息
 
完成GPRS設(shè)備的定義后,完成最后一步Modbus驅(qū)動(dòng)程序的最后定義,此處數(shù)據(jù)格式的選擇要與客戶端的Modbus Server配置相同。
 
進(jìn)入點(diǎn)組態(tài),建立對(duì)應(yīng)點(diǎn),增加連接項(xiàng),連接項(xiàng)的具體配置要與客戶端的寄存器配置信息對(duì)應(yīng)。
 
至此,中心服務(wù)器的詳細(xì)配置已完成,運(yùn)行工程后即可進(jìn)行通訊。
|