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