美文网首页
MODBUS RTU协议理解

MODBUS RTU协议理解

作者: 葬歌倾城 | 来源:发表于2019-10-29 12:03 被阅读0次

一、MODBUS 工业上常用的一种串口通讯协议,协议包括RTU、TCP、ASCII;其中MODBUS RTU协议最常用;

二、串口参数

设备地址:1~247  (仪表的设备地址)

波特率:50、75、100、150、300、600、1200、2400、4800、9600、115200、19200、38400;

校验位:偶校验、奇校验、无校验;

数据位:8、7、6

停止位:1、1.5、2

三、报文格式

设备地址(两个字节)、功能码(两个字节)、寄存器地址(四个字节)、寄存器数量(四个字节)、CRC校验码(四个字节)

发报文:01 03 00 00 00 01 84 0A

解释:01:仪表的地址;      03:功能码;

00:寄存器地址高位;  00:寄存器地址低位;

00:寄存器数量高位;  01:寄存器数量低位;

84 0A:校验位

接收报文:01 03 00 02 00 DC 7B F1

解释:01:仪表的地址;        03:功能码;

00:数据字节长度高位;  00:数据字节长度低位;

00:寄存器数据高位;    DC:寄存器数据低位;

7B F1:校验位

四、功能码定义

发数据时:设备地址(两个字节)、功能码(两个字节)、寄存器地址(四个字节)、寄存器数量(四个字节)、数据的字节长度(两个字节)、数据(四个字节)、CRC校验码(四个字节)

接收数据时:设备地址(两个字节)、功能码(两个字节)、寄存器地址(四个字节)、寄存器数量(四个字节)、CRC校验码(四个字节)

根据功能码的不同,主机和从机都可接收数据和发送数据.

CRC校验码

//CRC校验码

static string CRC16(byte[] pDataBytes)

{

ushort crc = 0xffff;

ushort polynom = 0xA001;

for (int i = 0; i < pDataBytes.Length; i++)

{

crc ^= pDataBytes[i];

for (int j = 0; j < 8; j++)

{

if ((crc & 0x01) == 0x01)

{

crc >>= 1;

crc ^= polynom;

}

else

{

crc >>= 1;

}

}

}

byte hi = (byte)((crc & 0xFF00) >> 8);  //高位置

byte lo = (byte)(crc & 0x00FF);

string data = lo.ToString("X2") + hi.ToString("X2");

return data;

}

相关文章

  • MODBUS RTU协议理解

    一、MODBUS 工业上常用的一种串口通讯协议,协议包括RTU、TCP、ASCII;其中MODBUS RTU协议最...

  • python 玩转 modbus

    modbus_tk :完整modbus协议栈的实现,支持modbus tcp/rtu{1.提供slave模拟器,即...

  • Modbus RTU和Modbus TCP区别

    Modbus RTU和Modbus TCP区别: Modbus它的两种主要格式-Modbus RTU和Modbus...

  • 气象站 DTU 格式 modbus 协议说明

    气象站DTU实现协议 标签: Modbus 气象站 Modbus RTU协议说明 设备号:01波特率:9600 设...

  • 简说Modbus-RTU与Modbus-ASCII

    Modbus在串行总线通信中的协议有RTU和ASCII两种。RTU是Remote Terminal Unit的缩写...

  • Modbus RTU转Modbus TCP模块

    RS232/485转WiFi模块 产品特点: ●Modbus RTU协议自动转换成Mobus TCP协议 ●Wi-...

  • ModBus-RTU

    一、概述 Modbus协议包括RTU、ASCII、TCP。ModBus一般是工作在一主多从的场景。半双工通讯模式 ...

  • Modbus RTU转TCP模块

    产品特点: ● Modbus RTU协议自动转换成Mobus TCP协议 ● Wi-Fi支持802.11b/g/n...

  • Modbus通讯协议(二)——RTU

    电力系统是一个综合化的系统,作为一个熟练的电工,对于通信有着一定的认识。否则很多问题,我们将无从下手。首先我们从广...

  • Modbus 创建客户端

    libmodbus 支持 RTU 方式和 TCP/IP 方式; 传感器使用的是modbus RTU方式 构造RTU...

网友评论

      本文标题:MODBUS RTU协议理解

      本文链接:https://www.haomeiwen.com/subject/hdbwvctx.html