|
紫(zi)金(jin)橋(qiao)軟(ruan)件(jian)不(bu)僅(jin)可(ke)以(yi)從(cong)外(wai)部(bu)的(de)設(she)備(bei)或(huo)程(cheng)序(xu)采(cai)集(ji)數(shu)據(ju)到(dao)實(shi)時(shi)數(shu)據(ju)庫(ku),同(tong)時(shi)為(wei)了(le)良(liang)好(hao)的(de)開(kai)放(fang)性(xing),也(ye)必(bi)須(xu)能(neng)夠(gou)提(ti)供(gong)一(yi)些(xie)通(tong)用(yong)的(de)外(wai)部(bu)接(jie)口(kou),讓(rang)其(qi)它(ta)的(de)係(xi)統(tong)可(ke)以(yi)采(cai)集(ji)自(zi)己(ji)內(nei)部(bu)的(de)數(shu)據(ju)。為(wei)了(le)這(zhe)一(yi)個(ge)目(mu)的(de),紫(zi)金(jin)橋(qiao)係(xi)統(tong)提(ti)供(gong)了(le)DDE和OPC等deng對dui外wai接jie口kou。但dan是shi這zhe兩liang種zhong接jie口kou有you一yi些xie缺que點dian,那na就jiu是shi對dui客ke戶hu端duan要yao求qiu較jiao高gao,一yi般ban來lai說shuo隻zhi有you複fu雜za的de軟ruan件jian係xi統tong才cai能neng夠gou通tong過guo這zhe兩liang種zhong接jie口kou采cai集ji紫zi金jin橋qiao內nei部bu的de數shu據ju。而er很hen多duo相xiang對dui簡jian單dan的de係xi統tong或huo功gong能neng比bi較jiao固gu定ding的de係xi統tong,卻que沒mei有you可ke以yi使shi用yong的de數shu據ju接jie口kou。比bi如ru,一yi些xie簡jian單dan程cheng序xu、PLC或一些DCS等都要求能有一個相對簡單的接口,來采集紫金橋內部的數據。Modbus服務器的出現,就解決了這類問題。
Modbus協議最早是莫迪康公司的PLC設備支持的一種協議,用於完成上位機與PLC設備的通訊過程。後來因為Modbus協議的通用性、可靠性,現在許多其它的儀表和各種控製係統也都使用此協議進行通訊。所以Modbus服務器出現後,紫金橋係統的開發性大大的提高了,很多儀表或控製係統都可以通過Modbus協議采集紫金橋係統的內部數據。
紫金橋的Modbus服務器從1.0開始到3.1版本,功能不斷提升,但是都隻能仿真一個Modbus設備的HR區域。新的紫金橋Modbus服務器為4.0版本,它無論在界麵上,還是功能上都有了很大的提高。80%以上的代碼都使用.NET開發工具進行了重寫。現在紫金橋Modbus服務器已經可以把實時數據庫中的數據映射為任意數量的Modbus設備的所有區域。
下麵將介紹一下紫金橋新版Modbus服務器的一些特性。
- 紫金橋新版服務器是使用VC++.Net重新開發的,界麵更加美觀,使用更加方便。
- 紫金橋新版服務器可以同時支持多個地址的映射,也就是說可以把實時數據庫中的數據一部分映射為地址1的Modbus設備,一部分映射為地址2的Modbus設備等等。
- 紫金橋新版服務器可以同時支持多種通訊介質的映射,比如以太網和串口。
- 紫金橋新版服務器可以同時映射Modbus設備的所有區域,包括DI、DO、HR和AR區。
- 紫金橋新版服務器可以同時映射多種數據格式,包括16位無符號數、16位有符號數、32位無符號數、32位有符號數和32位浮點數。
紫金橋新版服務器分為服務器的配置程序和運行程序,下麵分別給於簡單的介紹。
Modbus服務器的配置程序在紫金橋軟件的安裝目錄中,名為ModbusSerSet.exe,運行時的界麵如下圖所示:

Modbus服務器運行的時候,把紫金橋的數據庫點映射到Modbus中的寄存器區域中,運行時的邏輯結構如下所示:

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

此工具條的前4個按鈕是定義、修改或刪除通道(也就是通訊介質)的,後三個按鈕是進行設備相關操作的。
比如下圖是定義串口通道的對話框:

下圖是設備屬性設置對話框:

當增加了一個設備之後,該設備就自動地擁有了4個區域,分別是DI、DO、AR、HR區域。它們和Modbus命令的對應關係如下表所示:
|
區域 |
對應的可以操作該區域的Modbus命令號 |
|
DI |
2號命令讀取 |
|
DO |
1號命令讀取,5號命令下置 |
|
AR |
4號命令讀取 |
|
HR |
3號命令讀取,6號命令下置一個地址,16號下置多個地址。 |
當定義完通道和設備之後就可以給設備增加寄存器了。
可以使用紫金橋Modbus服務器設置程序的右側的 、 或 來增加、修改或刪除寄存器。
寄存器的屬性對話框如下圖所示:

當區域是DI或DO區域的時候,隻可以選擇開關量格式。當區域選擇了AR或HR區域後,可以選擇如下的數據格式:
|
數據格式 |
數據範圍 |
占用地址個數 |
|
16位有符號數 |
-32768到32767 |
1 |
|
16位無符號數 |
0到65535 |
1 |
|
32位有符號數 |
-2147483648到2147483647 |
2 |
|
32位無符號數 |
0到4294967295 |
2 |
|
32位浮點數 |
1.4e-45 到 3.4e+38 |
2 |
在定義寄存器的過程中可能需要調整寄存器的排列,此時可以使用 或 來進行調整。
紫金橋Modbus服務器支持寄存器的批量導入導出功能,同老版本相比,導入導出的文件格式更加清晰易懂。
選擇工具條 ,就可以把當前的內容導出為txt文件。
文件的格式如下麵Excel表格所示:

意義如下:
第一列是通道名稱,Com1表示通道是串口的,串口號為1,Net502表示通道是以太網,端口為502。
第二列是設備名稱,Dev1表示設備的地址為1。
第三列是區域名稱,可以為,DI、DO、AR、HR。
第四列是紫金橋數據庫中的點名,注意需要包括參數名。
第五列是該寄存器的地址,從0開始。
第六列為數據格式,可以為BOOL、WORD等,對應關係見下表:
|
列內容 |
數據格式 |
數據範圍 |
占地址個數 |
|
BOOL |
開關量 |
0或1 |
1 |
|
SHORT |
16位有符號數 |
-32768到32767 |
1 |
|
WORD |
16位無符號數 |
0到65535 |
1 |
|
INT |
32位有符號數 |
-2147483648到2147483647 |
2 |
|
DWORD |
32位無符號數 |
0到4294967295 |
2 |
|
FLOAT |
32位浮點數 |
1.4e-45 到 3.4e+38 |
2 |
通過Excel,結合紫金橋軟件的點組態界麵的導出到Excel編輯的功能,可以快速的生成此表格。然後使用批量導入功能,就可以迅速的創建大量的寄存器。
紫金橋的Modbus服務器運行程序在紫金橋軟件的安裝目錄中,名稱為ModbusServer.exe,運行時的界麵如下圖所示:

右側是信息顯示區,共有3個標簽,它們的意義如下所示:
係(xi)統(tong)信(xin)息(xi)頁(ye)麵(mian)顯(xian)示(shi)係(xi)統(tong)的(de)總(zong)體(ti)的(de)運(yun)行(xing)情(qing)況(kuang),包(bao)括(kuo)顯(xian)示(shi)的(de)版(ban)本(ben)號(hao),係(xi)統(tong)啟(qi)動(dong)的(de)時(shi)間(jian),係(xi)統(tong)連(lian)接(jie)的(de)數(shu)據(ju)庫(ku)點(dian)個(ge)數(shu),和(he)數(shu)據(ju)庫(ku)連(lian)接(jie)的(de)情(qing)況(kuang),以(yi)及(ji)各(ge)個(ge)通(tong)道(dao)的(de)運(yun)行(xing)狀(zhuang)態(tai)。其(qi)中(zhong)通(tong)道(dao)的(de)運(yun)行(xing)狀(zhuang)態(tai)中(zhong)顯(xian)示(shi)通(tong)道(dao)的(de)打(da)開(kai)情(qing)況(kuang),收(shou)發(fa)命(ming)令(ling)的(de)字(zi)節(jie)數(shu),各(ge)個(ge)設(she)備(bei)處(chu)理(li)的(de)讀(du)寫(xie)命(ming)令(ling)的(de)個(ge)數(shu)。
寄(ji)存(cun)器(qi)瀏(liu)覽(lan)頁(ye)麵(mian)顯(xian)示(shi)寄(ji)存(cun)器(qi)的(de)詳(xiang)細(xi)信(xin)息(xi),包(bao)括(kuo)寄(ji)存(cun)器(qi)的(de)當(dang)前(qian)數(shu)值(zhi)。此(ci)頁(ye)麵(mian)中(zhong)顯(xian)示(shi)的(de)寄(ji)存(cun)器(qi)是(shi)由(you)左(zuo)側(ce)的(de)導(dao)航(hang)樹(shu)來(lai)指(zhi)定(ding)的(de),通(tong)過(guo)在(zai)導(dao)航(hang)樹(shu)上(shang)選(xuan)擇(ze)不(bu)同(tong)的(de)位(wei)置(zhi),就(jiu)可(ke)以(yi)更(geng)新(xin)此(ci)處(chu)顯(xian)示(shi)的(de)寄(ji)存(cun)器(qi)。
通(tong)訊(xun)信(xin)息(xi)頁(ye)麵(mian),顯(xian)示(shi)了(le)當(dang)前(qian)的(de)通(tong)道(dao)收(shou)發(fa)的(de)具(ju)體(ti)的(de)內(nei)容(rong),可(ke)以(yi)根(gen)據(ju)此(ci)內(nei)容(rong)來(lai)診(zhen)斷(duan)通(tong)訊(xun)的(de)情(qing)況(kuang)。它(ta)一(yi)次(ci)隻(zhi)能(neng)顯(xian)示(shi)一(yi)個(ge)通(tong)道(dao)的(de)通(tong)訊(xun)情(qing)況(kuang),可(ke)以(yi)通(tong)過(guo)在(zai)左(zuo)側(ce)導(dao)航(hang)樹(shu)上(shang)切(qie)換(huan)選(xuan)擇(ze)的(de)內(nei)容(rong)來(lai)更(geng)新(xin)此(ci)處(chu)顯(xian)示(shi)的(de)通(tong)道(dao)。
另外,缺省情況下,此處顯示的通訊信息是自動向上滾動的,如果為了方便觀察,可以把通訊的信息保存成文件,這可以通過選擇菜單“文件”項下麵的“保存通訊信息”命令來實現。
紫金橋新版的Modbus服務器的實際投用是在大慶的某水廠,當時需要從多個支持Modbus協議的PLC中采集數據。但是由於已經有係統通過GPRS同時采集這幾個PLC中的數據,PLC的(de)通(tong)訊(xun)通(tong)道(dao)已(yi)經(jing)被(bei)占(zhan)用(yong)。而(er)采(cai)集(ji)數(shu)據(ju)的(de)係(xi)統(tong)采(cai)集(ji)的(de)數(shu)據(ju)較(jiao)少(shao),也(ye)比(bi)較(jiao)緩(huan)慢(man),同(tong)時(shi)很(hen)難(nan)找(zhao)到(dao)係(xi)統(tong)的(de)製(zhi)作(zuo)人(ren)員(yuan)來(lai)對(dui)係(xi)統(tong)進(jin)行(xing)修(xiu)改(gai),所(suo)以(yi)也(ye)無(wu)法(fa)通(tong)過(guo)正(zheng)在(zai)運(yun)行(xing)的(de)係(xi)統(tong)得(de)到(dao)數(shu)據(ju)。最(zui)後(hou)使(shi)用(yong)紫(zi)金(jin)橋(qiao)新(xin)版(ban)的(de)Modbus服務器圓滿的解決了這個問題。
采取的方案是,紫金橋首先采用Modbus驅動從幾個PLC中獲得數據,然後通過新版的Modbus服務器完全仿真了原來係統采集的PLC的通訊環境,讓原來的係統通過紫金橋新版的Modbus服務器來獲得數據,由於新版Modbus服務器的靈活功能,使得原來的係統並不知道采集的已不是原來的幾個PLC了,仍然可以穩定的獲得數據。
使用紫金橋新版的Modbus服務器後,紫金橋係統獲得了全麵的實時變化的數據,同時原來的係統仍然可以穩定的獲得所希望的數據,從而圓滿的完成了任務。
|