紫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了leDDE和OPCdengduiwaijiekou。danshizheliangzhongjiekouyouyixiequedian,najiushiduikehuduanyaoqiujiaogao,yibanlaishuozhiyoufuzaderuanjianxitongcainenggoutongguozheliangzhongjiekoucaijizijinqiaoneibudeshuju。erhenduoxiangduijiandandexitonghuogongnengbijiaogudingdexitong,quemeiyoukeyishiyongdeshujujiekou。biru,yixiejiandanchengxu、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服務器的運行
紫金橋的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服務器後,紫金橋係統獲得了全麵的實時變化的數據,同時原來的係統仍然可以穩定的獲得所希望的數據,從而圓滿的完成了任務。