modbus位址型別與功能碼對應關係
當觸控螢幕作為乙個modbusserver主站時,是要對所連線的modbusrtu從站進行讀寫控制。weinview的觸控螢幕支援01—05和16號功能碼。每個裝置位址型別所使用的功能碼如下:
對modbusrtu裝置進行讀寫,觸控螢幕上的元件中使用什麼樣的位址型別,取決於rtu裝置所支援的功能碼、目標物件是位位址還是字位址控制、以及是否要進行寫入;
modbus協議的裝置型別為0x、1x、3x、4x、5x、6x,還有3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分別說明這些裝置型別在modbus協議中支援哪些功能碼。
0x:是乙個可讀可寫的裝置型別,相當於操作plc的輸出點。該裝置型別讀取位狀態的時候,發出的功能碼是01h,寫位狀態的時候發出的功能碼是05h。寫多個暫存器時發出的功能碼是0fh
1x:是乙個唯讀的裝置型別,相當於讀取plc的輸入點。讀取位狀態的時候發出的功能碼為02h。
3x:是乙個唯讀的裝置型別,相當於讀取plc的模擬量。讀資料的時候,發出的功能碼是04h。
4x:是乙個可讀可寫的裝置型別,相當於操作plc的資料暫存器。當讀取資料的時候,發出的功能碼是03h,當寫資料的時候發出的功能碼時10h,可寫多個暫存器的資料。
5x:該裝置型別與4x的裝置型別屬性是一樣的。即發出讀寫的功能碼完全一樣,不同之處在於:當為雙字時,例如32_bitunsigned格式的資料,使用5x和4x兩種裝置型別分別讀取資料時,高字和低字的位置是顛倒的。例如,使用4x裝置型別讀到的資料是0x12345678,那麼使用5x裝置型別讀到的資料0x56781234.
6x:是乙個可讀可寫的裝置型別,讀取資料的時候,發出的功能碼也是03h,與4x不同之處在於寫資料的時候發出的功能碼是06h,即寫單個暫存器的資料。
3x_bit:該裝置型別發出的功能碼與3x裝置型別完全一致,不同之處是,3x是讀資料,而3x_bit是讀資料中的某一位的狀態。
4x_bit:該裝置型別發出的功能碼與4x裝置型別完全一致,不同之處是,4x是讀資料,而4x_bit是讀資料中的某一位的狀態。
6x_bit:該裝置型別發出的功能碼與6x裝置型別完全一致,不同之處是,6x是讀資料,而6x_bit是讀資料中的某一位的狀態。
0x_multi_coils:該裝置型別發出的功能碼與0x裝置型別完全一致,不同之處是,0x是讀16整數倍位數的bit,而0x_multi_coils可讀任意位數的bit。
0x,輸出(線圈)位暫存器1x,輸入(觸點)位暫存器
3x,輸入暫存器
4x,保持暫存器
3x-d,輸入暫存器-雙字
4x-d,保持暫存器-雙字
3x-bit,輸入暫存器-字位
4x-bit,保持暫存器-字位
ModBus功能碼速記
一 0x01 0x04 這四個功能碼都是 讀 操作,可分兩組記憶,0x01和0x02是一組 bool型別 0x03和0x04是一組 暫存器型別 兩組屬性差不多如下 1.都是單數是讀取可讀可寫的資料 coil或者holding 雙數只能讀取唯讀資料 input 2.請求的幀格式類似 功能碼佔乙個位元組...
Modbus支援的功能碼
modbus支援的功能碼 下表是modbus支援的功能碼 功能碼名稱 作用01 讀取線圈狀態 取得一組邏輯線圈的當前狀態 on off 02讀取輸入狀態 取得一組開關輸入的當前狀態 on off 03讀取保持暫存器 在乙個或多個保持暫存器中取得當前的二進位制值 04讀取輸入暫存器 在乙個或多個輸入暫...
Modbus功能碼名詞解釋
功能碼 功能碼在modbus協議用於表示資訊幀的功能 輸入暫存器和保持暫存器 04功能碼的作用就是讀輸入暫存器,而03功能碼的作用則是讀保持暫存器,很多人在看到這兩個功能碼的時候總是希望找到這兩個功能碼的區別,保持暫存器和輸入暫存器到底是什麼區別,modbus協議最開始是用來解決plc的通訊協議問題...