幫助文檔
本文介紹佰馬工業(yè)級(jí)無線網(wǎng)關(guān)BMG200驅(qū)動(dòng)構(gòu)件用于通過ModbusRTU協(xié)議讀寫支持Modbus設(shè)備的各種寄存器的數(shù)據(jù); 同時(shí)也可用于對(duì)支持ModbusRTU標(biāo)準(zhǔn)協(xié)議的各類PLC、儀表、控制器數(shù)據(jù)的讀寫。
設(shè)備簡介
本驅(qū)動(dòng)構(gòu)件用于通過ModbusRTU協(xié)議讀寫支持Modbus設(shè)備的各種寄存器的數(shù)據(jù);
同時(shí)也可用于對(duì)支持ModbusRTU標(biāo)準(zhǔn)協(xié)議的各類PLC、儀表、控制器數(shù)據(jù)的讀寫。
本驅(qū)動(dòng)可以設(shè)置讀寫寄存器的長度、單個(gè)寫的功能碼。
本驅(qū)動(dòng)支持01、02、03、04、05、16常用功能碼,對(duì)功能碼支持請(qǐng)參見附錄1。
驅(qū)動(dòng)類型 | 串口設(shè)備 |
通訊協(xié)議 | 采用莫迪康ModbusRTU協(xié)議 |
通訊方式 | 一主一從、一主多從方式。驅(qū)動(dòng)構(gòu)件為主,設(shè)備為從。 |
硬件連接
與設(shè)備通訊之前,必須保證工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)BMG200通訊連接正確。
通訊連接方式:與設(shè)備之間采用標(biāo)準(zhǔn)的RS485或RS232通訊。
設(shè)備的通訊連接,具體請(qǐng)參考對(duì)應(yīng)設(shè)備手冊。
設(shè)備通訊參數(shù)
“ModbusRTUCustomV2”端口參數(shù)設(shè)置如下:
串口通訊參數(shù)設(shè)置如下:
設(shè)置項(xiàng) | 參數(shù)項(xiàng) |
通訊波特率 | 9600 (默認(rèn)值)、19200、38400 |
數(shù)據(jù)位位數(shù) | 7、8(默認(rèn)值) |
停止位位數(shù) | 1(默認(rèn)值)、2 |
奇偶校驗(yàn)位 | 奇校驗(yàn)、偶校驗(yàn)(默認(rèn)值)、無校驗(yàn) |
其中通訊參數(shù)設(shè)置應(yīng)與設(shè)備的通訊參數(shù)相同,否則無法正常通訊。
設(shè)備參數(shù):
通道變量屬性
本驅(qū)動(dòng)構(gòu)件可支持ModbusRTU寄存器類型及對(duì)應(yīng)功能碼如下:
寄存器 | 數(shù)據(jù)類型 | 讀取功能碼 | 寫入功能碼 | 操作方式 |
[0]輸出繼電器 | BIT | 01 | 05 | 讀寫 |
[1]輸入繼電器 | BIT | 02 | — | 只讀 |
[3]輸入寄存器 | SHORT,LONG,FLOAT | 04 | — | 只讀 |
[4]輸出寄存器 | SHORT,LONG,FLOAT | 03 | 16 | 讀寫 |
說明:
功能碼:[1]、[3]區(qū)不支持寫操作;[4] 區(qū)在雙字(32位)時(shí),使用16功能碼進(jìn)行數(shù)據(jù)寫操作。
數(shù)據(jù)類型:
16位整數(shù)解碼順序:調(diào)整字元件的解碼順序,對(duì)于Modicon PLC及標(biāo)準(zhǔn)PLC設(shè)備,使用默認(rèn)值即可。
0—12:表示字元件高低字節(jié)不顛倒(默認(rèn)值)。
例如:解碼0x0001 表示1
1—21:表示字元件高低字節(jié)顛倒。
例如:表示0x0100 (即256)
32位整數(shù)解碼順序:調(diào)整雙字元件的解碼順序,對(duì)于Modicon PLC,請(qǐng)?jiān)O(shè)置為“0-3412”順序解碼。
0—3412:表示雙字元件高低字顛倒,但字內(nèi)高低字節(jié)不顛倒。
例如:解碼0x0000 0001 表示 0x0001 0000 (即65536)
1—1234:表示雙字元件不做處理直接解碼(默認(rèn)值)。
例如:解碼0x0000 0001 表示 1
2—2143:表示雙字元件高低字不顛倒,但字內(nèi)高低字節(jié)顛倒。
例如:解碼0x0000 0001 表示 0x0000 0100 (即256)
3—4321:表示雙字元件內(nèi)4個(gè)字節(jié)全部顛倒。
例如:解碼0x0000 0001 表示 0x0100 0000 (即1677 7216)
32位浮點(diǎn)數(shù)解碼順序:調(diào)整雙字元件的解碼順序,對(duì)于Modicon PLC,請(qǐng)?jiān)O(shè)置為“0-3412”順序解碼。
0—3412:表示雙字元件高低字顛倒,但字內(nèi)高低字節(jié)不顛倒。
例如:解碼 0x3F80 0000 表示 2.27795e-041
1—1234:表示雙字元件不做處理直接解碼(默認(rèn)值)。
例如:解碼 0x3F80 0000 表示 1.0
2—2143:表示雙字元件高低字不顛倒,但字內(nèi)高低字節(jié)顛倒。
例如:解碼 0x3F80 0000 表示 -5.78564e-039
3—4321:表示雙字元件內(nèi)4個(gè)字節(jié)全部顛倒。
例如:解碼 0x3F80 0000 表示 4.60060e-041
注釋:
1. 對(duì)于PLC及控制器等可編程設(shè)備,在需要讀取大量數(shù)據(jù)的時(shí)候,請(qǐng)?jiān)谠O(shè)計(jì)下位程序時(shí),盡量將要采集的數(shù)據(jù)放在相同寄存器的連續(xù)地址中,這樣即可以提高每次采集的效率,又可以避免因地址不連續(xù)而導(dǎo)致的采集分塊過多,通訊速度慢的問題,從而有效的提高采集速度。
2. 對(duì)于32未解碼順序,需要設(shè)置內(nèi)存變量MODBUSTYPECOM1(代表COM1),在系統(tǒng)啟動(dòng)時(shí)設(shè)置腳本置內(nèi)存變量為0,1,2,3即可,默認(rèn)為0,可以不設(shè)置。
特殊應(yīng)用的開發(fā)
本設(shè)備構(gòu)件目前只實(shí)現(xiàn)部分通訊功能,如需要用作其它用途或本構(gòu)件不能滿足要求時(shí),可自行進(jìn)行開發(fā),也可以提出具體的技術(shù)要求,由佰馬科技Baiamtech為您定制。
附表:
附錄1
本驅(qū)動(dòng)構(gòu)件支持的寄存器及功能碼說明如下:
寄存器 | 讀取功能碼 | 寫入功能碼 | 功能碼說明 |
[1區(qū)]輸入繼電器 | 02 | — | 02: 讀取輸入狀態(tài) |
[0區(qū)]輸出繼電器 | 01 | 05 | 01: 讀取線圈狀態(tài) 05: 強(qiáng)制單個(gè)線圈 |
[3區(qū)]輸入寄存器 | 04 | — | 04: 讀輸入寄存器 |
[4區(qū)]輸出寄存器 | 03 | 16 | 03: 讀保持寄存器 16: 預(yù)置多個(gè)寄存器 |
說明:
1.本驅(qū)動(dòng)構(gòu)件支持01、02、03、04、05、16等常用功能碼,對(duì)于其它非數(shù)據(jù)通訊用功能碼暫不支持。
2.以上功能碼均以10進(jìn)制標(biāo)注。功能碼15和16分別對(duì)應(yīng)16進(jìn)制的0x0F和0x10。
注意:添加寄存器通道時(shí),起始地址均為1,這是遵從Modbus協(xié)議的,即所謂的“協(xié)議地址”,對(duì)于部分寄存器起始地址為0的設(shè)備,通道添加時(shí),地址應(yīng)加1處理。
佰馬Baimatech,集M2M產(chǎn)品研發(fā)、IoT平臺(tái)服務(wù)、國際化運(yùn)營于一體,讓我們聯(lián)接,共創(chuàng)未來