隨著PN1-D25系列profinet網(wǎng)關模組產(chǎn)品上市,該profinet網(wǎng)關模組支持profinet協(xié)議轉(zhuǎn)modbus RTU協(xié)議的網(wǎng)關,用于將Modbus數(shù)據(jù)映射到Profinet網(wǎng)關上。該profinet網(wǎng)關使用GSD文件進行集成,免代碼讀取、寫入Modbus設備,可以快速設置數(shù)據(jù)并將其傳輸?shù)絇LC設備中。該Profinet網(wǎng)關提供1路RS485和1路RS422(兼容RS485)接口各支持32個命令節(jié)點,共64個命令節(jié)點。所有Modbus命令以模塊形式加載,Profinet、Modbus間的內(nèi)存映射關系直觀,可在STEP 7或博途軟件中查詢。可加載狀態(tài)字節(jié)查詢Modbus設備的連接狀態(tài),實時監(jiān)控設備狀態(tài)。
最近有很多profinet網(wǎng)關客戶在使用博圖或STEP 7軟件來配置PN1-D25單網(wǎng)口profinet網(wǎng)關設備時,經(jīng)常反饋profinet網(wǎng)關無法讀寫到正確的數(shù)據(jù),同時profinet網(wǎng)關會返回錯誤,表現(xiàn)為profinet網(wǎng)關與PLC設備的錯誤燈都在閃爍。我們在為客戶提供profinet網(wǎng)關設備的技術支持時,大部分客戶都是因為將“寄存器的modbus地址”當成“寄存器地址”配置到了profinet網(wǎng)關,導致profinet網(wǎng)關讀寫到錯誤的寄存器導致報錯。那么如何理解profinet網(wǎng)關“寄存器的modbus地址”與“寄存器地址”,寄存器的modbus地址和寄存器地址有什么區(qū)別。在什么時侯該用那種地址?本文將做profinet網(wǎng)關的寄存器的modbus地址和寄存器地址的詳細介紹。
Modbus地址區(qū)分為的0區(qū)、1區(qū)、3區(qū)、4區(qū)
0區(qū)、1區(qū)、3區(qū)、4區(qū)各是一片數(shù)據(jù)區(qū),是Modbus協(xié)議規(guī)定的地址范圍,各類地址是互相對應的
0區(qū) :離散量輸出,可讀/可寫【對應PLC: DO】線圈類地址:00001~09999。使用功能碼:01、05、15
1區(qū) :離散量輸入16位,只讀【對應PLC: DI】觸點類地址:10001~19999。使用功能碼:02
3區(qū) :輸入寄存器16位,只讀【對應PLC: AI】模擬輸入地址:30001~39999。使用功能碼:04
4區(qū) :保持寄存器,可讀/可寫【對應PLC: AO(或某些參數(shù)區(qū))】模擬輸出地址:40001~49999。使用功能碼:03、06、16
要想理解modbus地址,我們先簡單介紹一下modbus協(xié)議報文,下面是一條讀保持寄存器(地址40001)的modbus報文。Mdobus請求報文基本由從機地址、功能碼、寄存器地址、讀寫的寄存器數(shù)量與CRC16校驗碼組成。讀40001就對應了modubs報文中的功能碼(0x03)與寄存器地址(0x00)
Profinet網(wǎng)關在博圖中使用“Modbus_Master”指令時,”DATA_ADDR”參數(shù)填寫的是寄存器的modbus地址。這樣的好處是開發(fā)者在編寫mdobus指令是不需要關注改用什么功能碼。只需關注是需要讀或?qū)?,與讀寫數(shù)量。PLC會自動根據(jù)參數(shù)調(diào)用對應的功能碼,方便了開發(fā)人員的效率。同時目前各modbus從站設備文檔基本都會提供“modbus地址表”與“寄存器地址表”。
PN1-D25單網(wǎng)口profinet網(wǎng)關的modbus模塊參數(shù)在配置時已經(jīng)劃分好了Coil-線圈-DO-0區(qū)、Discrete Input-離散輸入-DI-1區(qū)、Holding Register-保持寄存器-AO-4區(qū)、Input Register-輸入寄存器-AI-3區(qū),在填寫起始地址(Start Address)時需要填寫寄存器地址,不能寫帶modbus區(qū)的modbus地址。
可以使用DATA_ADDR和MODE參數(shù)來選擇Modbus功能代碼。
DATA_ADDR(從站中的Modbus起始地址):指定在Modbus從站中訪問的數(shù)據(jù)的起始地址。
Modbus_Master指令使用 MODE 輸入,不使用功能代碼輸入。MODE和DATA_ADDR結(jié)合使用可指定在實際Modbus幀中使用的功能代碼。下表顯示了 MODE 參數(shù)、Modbus功能代碼和DATA_ADDR 中Modbus地址范圍之間的關系。
MODE | DATA_ADDR (Modbus地址) | DATA_LEN(數(shù)據(jù)長度) | Modbus 功能代碼 | 運行和數(shù)據(jù) | ||||||
0 |
| 每個請求的位數(shù) | 01 | 讀取輸出位: | ||||||
1 | 到 | 9999 | 1 | 到 | 2000/1992 1 | 0 | 到 | 9998 | ||
0 |
| 每個請求的位數(shù) | 02 | 讀取輸入位: | ||||||
10001 | 到 | 19999 | 1 | 到 | 2000/1992 1 | 0 | 到 | 9998 | ||
0 |
| 每個請求的字數(shù) | 03 | 讀取保持寄存器: | ||||||
40001 | 到 | 49999 | 1 | 到 | 125/124 1 | 0 | 到 | 9998 | ||
400001 | 到 | 465535 | 1 | 到 | 125/124 1 | 0 | 到 | 65534 | ||
0 |
| 每個請求的字數(shù) | 04 | 讀取輸入字: | ||||||
30001 | 到 | 39999 | 1 | 到 | 125/124 1 | 0 | 到 | 9998 | ||
1 |
| 每個請求的位數(shù) | 05 | 寫入一個輸出位: | ||||||
1 | 到 | 9999 | 1 |
|
| 0 | 到 | 9998 | ||
1 |
| 每個請求1 個字 | 06 | 寫入一個保持寄存器: | ||||||
40001 | 到 | 49999 | 1 |
|
| 0 | 到 | 9998 | ||
400001 | 到 | 465535 | 1 |
|
| 0 | 到 | 65524 | ||
1 |
| 每個請求的位數(shù) | 15 | 寫入多個輸出位: | ||||||
1 | 到 | 9999 | 2 | 到 | 1968/1960 1 | 0 | 到 | 9998 | ||
1 |
| 每個請求的字數(shù) | 16 | 寫入多個保持寄存器: | ||||||
40001 | 到 | 49999 | 2 | 到 | 123/122 | 0 | 到 | 9998 | ||
400001 | 到 | 465534 | 2 | 到 | 123/122 1 | 0 | 到 | 65534 | ||
2 2 |
| 每個請求的位數(shù) | 15 | 寫入一個或多個輸出位: | ||||||
1 | 到 | 9999 | 1 | 到 | 1968/1960 1 | 0 | 到 | 9998 | ||
2 2 |
| 每個請求的字數(shù) | 16 | 寫入一個或多個保持寄存器: | ||||||
40001 | 到 | 49999 | 1 | 到 | 123 | 0 | 到 | 9998 | ||
400001 | 到 | 465535 | 1 | 到 | 122 1 | 0 | 到 | 65534 | ||
11 | 此功能將忽略Modbus_Master 的 DATA_ADDR 和 DATA_LEN 操作數(shù)。 | 11 | 讀取從站通信的狀態(tài)字和事件計數(shù)器。狀態(tài)字表示“忙”(0 - 不忙,0xFFFF - 忙)。事件計數(shù)器隨著幀的每次成功處理而遞增。 | |||||||
80 |
| 每個請求1 個字 | 08 | 使用數(shù)據(jù)診斷代碼0x0000 檢查從站狀態(tài)(回送測試 - 從站返回請求的回應) | ||||||
- |
|
| 1 |
|
| - |
|
| ||
81 |
| 每個請求1 個字 | 08 | 利用數(shù)據(jù)診斷代碼0x000A 重新設置從站事件計數(shù)器 | ||||||
- |
|
| 1 |
|
| - |
|
| ||
104 3 |
| 每個請求的字數(shù) | 04 | 讀取輸入字 | ||||||
0 | 到 | 65535 | 1 | 到 | 125/124 1 | 0 | 到 | 65535 | ||
3到10,12到79, | - |
|
| - |
|
|
| 保留 | ||
1 在擴展尋址中(請參見Extended_Adressing 參數(shù)),最大數(shù)據(jù)長度根據(jù)功能的數(shù)據(jù)類型而縮減 1 字節(jié)或 1 個字。 2 MODE 2 允許使用 Modbus 功能 15 和 16 寫入 1 個或多個輸出位和 1 個或多個保持寄存器。 3 以下情況適用于S7-300/400/WinAC:不支持。 |
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多Profinet網(wǎng)關產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進行了解,也可以直接撥打400電話咨詢技術專員!
相關閱讀:
1、淺Profinet網(wǎng)關使用博圖配置Modbus報文
2、Profinet網(wǎng)關使用博圖配置modbus通訊參數(shù)
4、PN1-D25P系列Profinet網(wǎng)關使用博圖加載設備教程
7 X 24 銷售服務熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 無錫辦事處劉經(jīng)理:13558641933
成都總部銷售經(jīng)理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設備):19138800613
胡兵(外貿(mào)銷售經(jīng)理):18584911141、 sales06@ebyte.com
業(yè)務郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權所有】 蜀ICP備13019384號