《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 紫金橋的新版Modbus服務(wù)器介紹
紫金橋的新版Modbus服務(wù)器介紹
摘要: 紫金橋軟件不僅可以從外部的設(shè)備或程序采集數(shù)據(jù)到實時數(shù)據(jù)庫,同時為了良好的開放性,也必須能夠提供一些通用的外部接口,讓其它的系統(tǒng)可以采集自己內(nèi)部的數(shù)據(jù)。為了這一個目的,紫金橋系統(tǒng)提供了DDE和OPC等對外接口。
Abstract:
Key words :

紫金橋軟件不僅可以從外部的設(shè)備或程序采集數(shù)據(jù)到實時數(shù)據(jù)庫,同時為了良好的開放性,也必須能夠提供一些通用的外部接口,讓其它的系統(tǒng)可以采集自己內(nèi)部的數(shù)據(jù)。為了這一個目的,紫金橋系統(tǒng)提供了DDE和OPC等對外接口。但是這兩種接口有一些缺點,那就是對客戶端要求較高,一般來說只有復雜的軟件系統(tǒng)才能夠通過這兩種接口采集紫金橋內(nèi)部的數(shù)據(jù)。而很多相對簡單的系統(tǒng)或功能比較固定的系統(tǒng),卻沒有可以使用的數(shù)據(jù)接口。比如,一些簡單程序、PLC或一些DCS等都要求能有一個相對簡單的接口,來采集紫金橋內(nèi)部的數(shù)據(jù)。Modbus服務(wù)器的出現(xiàn),就解決了這類問題。

Modbus協(xié)議最早是莫迪康公司的PLC設(shè)備支持的一種協(xié)議,用于完成上位機與PLC設(shè)備的通訊過程。后來因為Modbus協(xié)議的通用性、可靠性,現(xiàn)在許多其它的儀表和各種控制系統(tǒng)也都使用此協(xié)議進行通訊。所以Modbus服務(wù)器出現(xiàn)后,紫金橋系統(tǒng)的開發(fā)性大大的提高了,很多儀表或控制系統(tǒng)都可以通過Modbus協(xié)議采集紫金橋系統(tǒng)的內(nèi)部數(shù)據(jù)。

紫金橋的Modbus服務(wù)器從1.0開始到3.1版本,功能不斷提升,但是都只能仿真一個Modbus設(shè)備的HR區(qū)域。新的紫金橋Modbus服務(wù)器為4.0版本,它無論在界面上,還是功能上都有了很大的提高。80%以上的代碼都使用.NET開發(fā)工具進行了重寫?,F(xiàn)在紫金橋Modbus服務(wù)器已經(jīng)可以把實時數(shù)據(jù)庫中的數(shù)據(jù)映射為任意數(shù)量的Modbus設(shè)備的所有區(qū)域。

下面將介紹一下紫金橋新版Modbus服務(wù)器的一些特性。

    紫金橋新版服務(wù)器是使用VC++.Net重新開發(fā)的,界面更加美觀,使用更加方便。 紫金橋新版服務(wù)器可以同時支持多個地址的映射,也就是說可以把實時數(shù)據(jù)庫中的數(shù)據(jù)一部分映射為地址1的Modbus設(shè)備,一部分映射為地址2的Modbus設(shè)備等等。 紫金橋新版服務(wù)器可以同時支持多種通訊介質(zhì)的映射,比如以太網(wǎng)和串口。 紫金橋新版服務(wù)器可以同時映射Modbus設(shè)備的所有區(qū)域,包括DI、DO、HR和AR區(qū)。 紫金橋新版服務(wù)器可以同時映射多種數(shù)據(jù)格式,包括16位無符號數(shù)、16位有符號數(shù)、32位無符號數(shù)、32位有符號數(shù)和32位浮點數(shù)。

紫金橋新版服務(wù)器分為服務(wù)器的配置程序和運行程序,下面分別給于簡單的介紹。

    Modbus服務(wù)器的配置程序

Modbus服務(wù)器的配置程序在紫金橋軟件的安裝目錄中,名為ModbusSerSet.exe,運行時的界面如下圖所示:

Modbus服務(wù)器運行的時候,把紫金橋的數(shù)據(jù)庫點映射到Modbus中的寄存器區(qū)域中,運行時的邏輯結(jié)構(gòu)如下所示:

使用Modbus服務(wù)器配置程序的工具條或菜單就可以定義通訊介質(zhì)和通訊設(shè)備,如下圖所示:

此工具條的前4個按鈕是定義、修改或刪除通道(也就是通訊介質(zhì))的,后三個按鈕是進行設(shè)備相關(guān)操作的。

比如下圖是定義串口通道的對話框

下圖是設(shè)備屬性設(shè)置對話框:

當增加了一個設(shè)備之后,該設(shè)備就自動地擁有了4個區(qū)域,分別是DI、DO、AR、HR區(qū)域。它們和Modbus命令的對應(yīng)關(guān)系如下表所示:

區(qū)域

對應(yīng)的可以操作該區(qū)域的Modbus命令號

DI

2號命令讀取

DO

1號命令讀取,5號命令下置

AR

4號命令讀取

HR

3號命令讀取,6號命令下置一個地址,16號下置多個地址。

 

當定義完通道和設(shè)備之后就可以給設(shè)備增加寄存器了。

可以使用紫金橋Modbus服務(wù)器設(shè)置程序的右側(cè)的、來增加、修改或刪除寄存器。

寄存器的屬性對話框如下圖所示:

當區(qū)域是DI或DO區(qū)域的時候,只可以選擇開關(guān)量格式。當區(qū)域選擇了AR或HR區(qū)域后,可以選擇如下的數(shù)據(jù)格式:

數(shù)據(jù)格式

數(shù)據(jù)范圍

占用地址個數(shù)

16位有符號數(shù)

-32768到32767

1

16位無符號數(shù)

0到65535

1

32位有符號數(shù)

-2147483648到2147483647

2

32位無符號數(shù)

0到4294967295

2

32位浮點數(shù)

1.4e-45 到 3.4e+38

2

 

在定義寄存器的過程中可能需要調(diào)整寄存器的排列,此時可以使用來進行調(diào)整。

紫金橋Modbus服務(wù)器支持寄存器的批量導入導出功能,同老版本相比,導入導出的文件格式更加清晰易懂。

選擇工具條,就可以把當前的內(nèi)容導出為txt文件。

文件的格式如下面Excel表格所示:

意義如下:

第一列是通道名稱,Com1表示通道是串口的,串口號為1,Net502表示通道是以太網(wǎng),端口為502。

第二列是設(shè)備名稱,Dev1表示設(shè)備的地址為1。

第三列是區(qū)域名稱,可以為,DI、DO、AR、HR。

第四列是紫金橋數(shù)據(jù)庫中的點名,注意需要包括參數(shù)名。

第五列是該寄存器的地址,從0開始。

第六列為數(shù)據(jù)格式,可以為BOOL、WORD等,對應(yīng)關(guān)系見下表:

列內(nèi)容

數(shù)據(jù)格式

數(shù)據(jù)范圍

占地址個數(shù)

BOOL

開關(guān)量

0或1

1

SHORT

16位有符號數(shù)

-32768到32767

1

WORD

16位無符號數(shù)

0到65535

1

INT

32位有符號數(shù)

-2147483648到2147483647

2

DWORD

32位無符號數(shù)

0到4294967295

2

FLOAT

32位浮點數(shù)

1.4e-45 到 3.4e+38

2

 

通過Excel,結(jié)合紫金橋軟件的點組態(tài)界面的導出到Excel編輯的功能,可以快速的生成此表格。然后使用批量導入功能,就可以迅速的創(chuàng)建大量的寄存器。

 

    Modbus服務(wù)器的運行

紫金橋的Modbus服務(wù)器運行程序在紫金橋軟件的安裝目錄中,名稱為ModbusServer.exe,運行時的界面如下圖所示:

右側(cè)是信息顯示區(qū),共有3個標簽,它們的意義如下所示:

    系統(tǒng)信息

系統(tǒng)信息頁面顯示系統(tǒng)的總體的運行情況,包括顯示的版本號,系統(tǒng)啟動的時間,系統(tǒng)連接的數(shù)據(jù)庫點個數(shù),和數(shù)據(jù)庫連接的情況,以及各個通道的運行狀態(tài)。其中通道的運行狀態(tài)中顯示通道的打開情況,收發(fā)命令的字節(jié)數(shù),各個設(shè)備處理的讀寫命令的個數(shù)。

 

    寄存器瀏覽

寄存器瀏覽頁面顯示寄存器的詳細信息,包括寄存器的當前數(shù)值。此頁面中顯示的寄存器是由左側(cè)的導航樹來指定的,通過在導航樹上選擇不同的位置,就可以更新此處顯示的寄存器。

 

    通訊信息

通訊信息頁面,顯示了當前的通道收發(fā)的具體的內(nèi)容,可以根據(jù)此內(nèi)容來診斷通訊的情況。它一次只能顯示一個通道的通訊情況,可以通過在左側(cè)導航樹上切換選擇的內(nèi)容來更新此處顯示的通道。

另外,缺省情況下,此處顯示的通訊信息是自動向上滾動的,如果為了方便觀察,可以把通訊的信息保存成文件,這可以通過選擇菜單“文件”項下面的“保存通訊信息”命令來實現(xiàn)。

 

    應(yīng)用實例

紫金橋新版的Modbus服務(wù)器的實際投用是在大慶的某水廠,當時需要從多個支持Modbus協(xié)議的PLC中采集數(shù)據(jù)。但是由于已經(jīng)有系統(tǒng)通過GPRS同時采集這幾個PLC中的數(shù)據(jù),PLC的通訊通道已經(jīng)被占用。而采集數(shù)據(jù)的系統(tǒng)采集的數(shù)據(jù)較少,也比較緩慢,同時很難找到系統(tǒng)的制作人員來對系統(tǒng)進行修改,所以也無法通過正在運行的系統(tǒng)得到數(shù)據(jù)。最后使用紫金橋新版的Modbus服務(wù)器圓滿的解決了這個問題。

采取的方案是,紫金橋首先采用Modbus驅(qū)動從幾個PLC中獲得數(shù)據(jù),然后通過新版的Modbus服務(wù)器完全仿真了原來系統(tǒng)采集的PLC的通訊環(huán)境,讓原來的系統(tǒng)通過紫金橋新版的Modbus服務(wù)器來獲得數(shù)據(jù),由于新版Modbus服務(wù)器的靈活功能,使得原來的系統(tǒng)并不知道采集的已不是原來的幾個PLC了,仍然可以穩(wěn)定的獲得數(shù)據(jù)。

使用紫金橋新版的Modbus服務(wù)器后,紫金橋系統(tǒng)獲得了全面的實時變化的數(shù)據(jù),同時原來的系統(tǒng)仍然可以穩(wěn)定的獲得所希望的數(shù)據(jù),從而圓滿的完成了任務(wù)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。