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

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

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

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

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

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

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

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

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

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

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

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

比如下圖是定義串口通道的對(duì)話框

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

當(dāng)增加了一個(gè)設(shè)備之后,該設(shè)備就自動(dòng)地?fù)碛辛?個(gè)區(qū)域,,分別是DI,、DO、AR,、HR區(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è)地址。

 

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

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

寄存器的屬性對(duì)話框如下圖所示:

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

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

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

占用地址個(gè)數(shù)

16位有符號(hào)數(shù)

-32768到32767

1

16位無符號(hào)數(shù)

0到65535

1

32位有符號(hào)數(shù)

-2147483648到2147483647

2

32位無符號(hào)數(shù)

0到4294967295

2

32位浮點(diǎn)數(shù)

1.4e-45 到 3.4e+38

2

 

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

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

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

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

意義如下:

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

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

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

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

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

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

列內(nèi)容

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

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

占地址個(gè)數(shù)

BOOL

開關(guān)量

0或1

1

SHORT

16位有符號(hào)數(shù)

-32768到32767

1

WORD

16位無符號(hào)數(shù)

0到65535

1

INT

32位有符號(hào)數(shù)

-2147483648到2147483647

2

DWORD

32位無符號(hào)數(shù)

0到4294967295

2

FLOAT

32位浮點(diǎn)數(shù)

1.4e-45 到 3.4e+38

2

 

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

 

    Modbus服務(wù)器的運(yùn)行

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

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

    系統(tǒng)信息

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

 

    寄存器瀏覽

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

 

    通訊信息

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

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

 

    應(yīng)用實(shí)例

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

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

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

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