1.MODBUS功能代碼概要
下表列出了MODBUS支持的部分功能代碼。 用十進(jìn)制表示。
表1.1 MODBUS的部分功能代碼
代碼
中文名稱
寄存器PLC地址
位操作/字操作
操作數(shù)
01
讀取線圈的狀態(tài)
00001-09999
位操作
單個(gè)或多個(gè)
02
讀取離散輸入狀態(tài)
10001-19999
位操作
單個(gè)或多個(gè)
03
讀保持寄存器
40001-49999
字操作
單個(gè)或多個(gè)
04
讀取輸入寄存器
30001-39999
字操作
單個(gè)或多個(gè)
05
寫單個(gè)線圈
00001-09999
位操作
個(gè)
06
寫入單一保持寄存器
40001-49999
字操作
個(gè)
15
寫多個(gè)線圈
00001-09999
位操作
復(fù)數(shù)
16
寫入多個(gè)保持寄存器
40001-49999
字操作
復(fù)數(shù)
1.1功能碼說明功能碼可以分為位操作和字操作兩種。 位操作的最小單位是位,字操作的最小單位是2個(gè)字節(jié)。
位操作包命令包括線圈狀態(tài)01H的讀出、輸入狀態(tài)02H的讀出(離散)、單個(gè)線圈06H的寫入、多個(gè)線圈0FH的寫入。
字操作命令包括讀取保持寄存器0至3h、寫入單個(gè)寄存器0至6h和寫入多個(gè)保持寄存器10H。
1.2寄存器地址分配表1.2 MODBUS寄存器地址分配
寄存器PLC地址
寄存器協(xié)議地址
適用的功能
寄存器的種類
讀寫狀態(tài)
00001-09999
0000H-FFFFH
01H 05H 0FH
線圈狀態(tài)
可寫入
10001-19999
0000H-FFFFH
02H
離散輸入狀態(tài)
可讀取
30001-39999
0000H-FFFFH
04H
輸入寄存器
可讀取
40001-49999
0000H-FFFFH
03H 06H 0FH
保持寄存器
可寫入
1.3寄存器類型說明
表1.3 MODBUS寄存器類型說明
寄存器
種類
說明
電腦
類比
舉例說明
線圈狀態(tài)
輸出端口。 可以設(shè)定端口的輸出狀態(tài),也可以讀取該位的輸出狀態(tài)。 分為保持型和邊沿觸發(fā)型兩種不同的執(zhí)行狀態(tài)。
DO
數(shù)字量輸出
電磁閥輸出、MOSFET輸出、LED顯示等。
離散
輸入狀態(tài)
輸入端口。 通過外部設(shè)定改變輸入狀態(tài),可以讀取但不能寫入。
DI
數(shù)值輸入
撥盤開關(guān)、接近開關(guān)等。
保持
寄存器
輸出參數(shù)或保持參數(shù)、控制器運(yùn)行中設(shè)定的部分參數(shù)。 能讀寫。
帥府
模擬輸出
模擬輸出設(shè)定值、PID運(yùn)行參數(shù)、變量閥輸出尺寸、傳感器警報(bào)上限、下限。
輸入
寄存器
輸入?yún)?shù)。 執(zhí)行控制器時(shí)從外部設(shè)備獲取的參數(shù)。 但是,不會(huì)寫。
人工智能
模擬輸入
模擬輸入
1.4 PLC地址與協(xié)議地址的區(qū)別PLC地址可理解為協(xié)議地址的變種,廣泛應(yīng)用于觸摸屏和PLC編程。
1.4.1寄存器PLC地址寄存器PLC地址是存儲(chǔ)在控制器中的地址,這些控制器可以是PLC、觸摸屏、文本顯示器。 PLC地址一般用十進(jìn)制表示,共有5位,是其中第1位的代碼寄存器類型。 第一位數(shù)字和寄存器類型的對(duì)應(yīng)關(guān)系如表1所示。 PLC地址例如是40001、30002等。
1.4.2寄存器協(xié)議地址寄存器協(xié)議地址是指通信時(shí)所使用的寄存器地址,例如PLC地址40001對(duì)應(yīng)于地址0x0001,40001對(duì)應(yīng)于地址0 x 0001,寄存器地址為例如,PLC寄存器地址40003對(duì)應(yīng)于協(xié)議地址0002,而PLC寄存器地址30003對(duì)應(yīng)于協(xié)議地址0002,則在兩個(gè)PLC寄存器通信時(shí)使用同一地址,但通過不同的命令進(jìn)行訪問