壹 Modbus協議功能碼及格式簡述

2021-07-15 08:43:46 字數 896 閱讀 2474

目錄

一:modbus暫存器種類說明

二:modbus功能碼簡述

四:modbus彙總

正文

一:modbus暫存器種類說明

1:線圈狀態

輸出埠,可設定埠的輸出狀態,也可以讀取該位的輸出狀態;

2:離散輸入狀態

輸入埠,通過外部設定改變輸入狀態,可讀但不可寫;

3:保持暫存器

控制器執行時被設定的某些引數,可讀可寫;

4:輸入暫存器

控制器執行時從外部裝置獲得的某些引數,可讀不可寫;

二:modbus功能碼簡述

功能碼可以分為位操作和位元組操作,位操作的最小單位是bit,位元組操作的最小單位為2個位元組(byte).

1:位操作指令

讀線圈狀態01h、讀離散輸入狀態02h、寫單個線圈05h、寫多個線圈0fh.

2:位元組操作指令

讀儲存暫存器03h、讀輸入暫存器04h、寫單個儲存暫存器06h、寫多個儲存暫存器10h.

1:暫存器plc位址

plc位址是控制器中的位址,採用十進位制數表示,共5位,第一位表示暫存器的型別,詳見下表;

2:暫存器協議位址

由於功能碼和plc位址的字首(5位資料的最高位)相對應,所以不區分字首,用後邊的四位資料表示,且需要轉換成16進製制;

四:modbus彙總

Modbus通訊協議格式以及功能碼

功能碼 名稱 作用 1 讀取線圈狀態 取得一組邏輯線圈的當前狀態 on off 2 讀取輸入狀態 取得一組開關輸入的當前狀態 on off 3 讀取保持暫存器 在乙個或多個保持暫存器中取得當前的二進位制值 4 讀取輸入暫存器 在乙個或多個輸入暫存器中取得當前的二進位制值 5 強置單線圈 強置乙個邏輯...

Modbus常用功能碼協議詳解

01h 讀線圈狀態 1 描述 讀從機線圈暫存器,位操作,可讀單個或者多個 2 傳送指令 假設從機位址位0x01,暫存器開始位址0x0023,暫存器結束抵制0x0038,總共讀取21個線圈。協議圖如下 3 響應 返回資料的每一位對應線圈狀態,1 on,0 off,如下圖 上表中data1表示0x002...

ModBus功能碼速記

一 0x01 0x04 這四個功能碼都是 讀 操作,可分兩組記憶,0x01和0x02是一組 bool型別 0x03和0x04是一組 暫存器型別 兩組屬性差不多如下 1.都是單數是讀取可讀可寫的資料 coil或者holding 雙數只能讀取唯讀資料 input 2.請求的幀格式類似 功能碼佔乙個位元組...