跳至主要內容

06.ModBus协议

约 336 字大约 1 分钟

软件

1.ModbusPoll
2.ModbusSlave
3.VSPD

Modbus 存储区


只读
    输入线圈(布尔类型)( 1区 )
    输入寄存器        ( 3区 )
读写
    输出线圈(布尔类型)( 0区 )
    输出寄存器        ( 4区 )

每个存储区的最大范围65535

功能码

0x01   读取输出线圈
0x02   读取输入线圈
0x03   读取输出寄存器
0x04   读取输入寄存器
0x05   写入单个线圈
0x06   写入单个寄存器
0x0F   写入多个线圈
0x10   写入多个寄存器

协议分类

ModbusRTU

ModbusASCII

ModbusTCP

Modbus RTU

报文格式
    从站地址( 1个字节 )
    功能码 ( 1个字节 )
    数据部分( N个字节 )
        读取发送
            开始地址
            读取数量
        读取接收
            字节计数
            具体数据
        写入单发送
            具体地址
            写入数据
        写入单接收
            具体地址
            写入数据
        写入多发送
            开始地址
            写入数量
            写入数据
        写入多接收
            写入数量
            写入数据
    校验部分( 2个字节 )
         CRC16

Modbus TCP

MBAP报文头 (7个字节)
    事务处理标识符(报文ID, 2个字节)
    协议标识符 ( 固定 00 00  2个字节 )
    长度 ( 长度之后共的字节数, 2个字节 )
    单元标识符 (1个字节)
功能码( 1个字节 )

数据部分 ( N个字节 )