串口通讯Modbus协议
在工业上位机通讯中串口通讯传输层 Modbus-RTU 协议应用层是常见的组合下面几张表展示串口通讯和Modbus协议常用的一下概念。表 1常见串口通讯方式对比类型电平标准传输方式典型通讯距离特点TTL 串口低电平 0V高电平 3.3V/5V单端非差分短距离1米常见于单片机、USB转TTLRS-232低电平 -15V ~ -3V高电平 3V ~ 15V单端非差分约 15 米早期 PC 串口标准RS-485差分电压正A-B 200mV为高电平负A-B -200mV为低电平差分信号可达千米以上1200米抗干扰强支持多节点表 2Modbus 四种数据对象按标准名称Modbus 标准名称别名位宽访问类型示例地址范围线圈Coil输出线圈1 bit可读写00001 ~ 09999离散输入Discrete Input输入线圈1 bit只读10001 ~ 19999保持寄存器Holding Register输出寄存器16 bit可读写40001 ~ 49999输入寄存器Input Register输入寄存器16 bit只读30001 ~ 39999表 3Modbus 常用功能码读取功能码Hex功能码Dec操作对象作用0x011读取线圈输出线圈读取可读写线圈1 bit0x022读取离散输入输入线圈读取只读离散输入1 bit0x033读取保持寄存器读取可读写寄存器16 bit0x044读取输入寄存器读取只读输入寄存器16 bit表 4Modbus 常用功能码写入功能码Hex功能码Dec操作对象说明0x055写入单个线圈写入单个输出线圈1 bit0x0F15写入多个线圈连续写入多个输出线圈0x066写入单个保持寄存器写入单个保持寄存器16 bit0x1016写入多个保持寄存器连续写入多个保持寄存器表 5Modbus-RTU 帧结构查询/应答示例字段长度字节说明从站地址10x01 ~ 0xF70为广播功能码1如 0x03、0x10 等数据主体N取决于功能码寄存器地址、数量、数据等CRC 校验2CRC-16低字节在前高字节在后