松岛吊顶除湿机Modbus通讯协议

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

松岛吊顶除湿机Modbus通讯协议缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 一 function code 01
  2. 2. 二  function code 04
  3. 3. 三  function code 05
  4. 4. 四  function code 06
  5. 5. 厂家信息:

通信协议:

本通讯采用标准Modbus RTU通讯协议,支持01 04 05 06 function code, 数据为整型16位。

通信波特率:1200 2400 4800 9600 可设置(上电默认波特率为1200,),address:1~254可设置(出厂默认地址为01),1位起始位,8位数据位,无奇偶校验

一 function code 01

对远程设备读取线圈状态(开关量数据,每一位代表一个开关量,0=关 1=开,地址以位地址表示,数据以字节表示,不足一字节位,高位以0填充)

对地址 01 读取当前设备开关量状态

主机请求:发送数据为 010100000018
010100000018  
addressfunction codestarting address线圈(开关量)QuantityCRCLCRCH
从机应答:返回数据为 010101
0101030000            007A37
address能码byte countCoil status1Coil status2    Coil status3CRCLCRCH

本通讯设置24个在线读取线圈(开关量),Coil address=0x0000~0x0017

返回线圈状态1,address0~7(一字节数据)

D7=压机开/关    D6=高风开/关   D5=中风开/关    D4=低风开/关

D3=报警开/关  D2=预留   D1=预留    D0=预留

返回线圈状态2,address8~F(一字节数据)

D7=开/关机      D6=化霜        D5=保留       D4=除湿/通风(0=除湿  1=通风)

D3=保留         D2=湿控         D1=保留       D0=保留

返回线圈状态3,address10~17(一字节数据) 保护状态预留

D7=保留        D6=保留       D5=保留        D4=保留

D3=保留        D2=保留       D1=保留        D0=保留

例如主机发送:01 01 00 00 00 18 3c 00

对地址1设备 读取当前设备状态

二  function code 04

对远程设备使用该功能码读取设备信息(每个信息参数影射为一个寄存器),16位数据格式,HEX码,高字节在前

对地址01 读取当前设备参数

主机请求:发送数据为 01040000000271CB
01040000000271CB
addressfunction codeStarting register address输入寄存器数量CRCLCRCH
从机应答:返回数据为 01040400C8012C7A37(temperature:20.0℃  湿度30.0%RH)
01040400C8012C7A37
addressfunction codebyte count设定湿度(HEX)当前湿度(HEX)CRCLCRCH

本通讯设置4个寄存器(数据量),address 0x0000~0x0003  一次读取2个数据,所以输入寄存器数量恒等于 0x0002,address=0x0000 或 0x0002

地址分配:

0x0000: 设定湿度            0x0001: 当前湿度

0x0002: 盘管温度            0x0003: 预留

注1:温湿度数据H(高位字节)和数据L(低位字节)为各自对应的当前温湿度值:

上传数据需除以10,如湿度上传hexadecimal 0311,对应十进制00785,表示78.5%。

注2:零下温度用负数表示 如上传 -11.5℃。则 11.5℃对应十进制正数=115 hexadecimal=0x73

负数用补码,则= 0xFFFF-0x0073= 0Xff8C

注3: 温湿度数据故障时 data=0xFFFF

例如主机发送:01 04 00 00 00 02 71 CB

对地址1设备 读取从00 00 地址开始的 2字节数据 (即设备 设定湿度和当前湿度)

三  function code 05

对远程设备使用该功能码写单个线圈(对单个寄存器写ON/OFFstatus,每个开关量影射为一个寄存器16位数据格式,HEX码,高字节在前 ,FF00=开,0000=关)

对地址1设备写入开机命令

主机请求:发送数据为01050000FF00 
01050000FF00  
addressfunction code预置寄存器

地址高位

预置寄存器

地址低位

置入寄存器数据高位置入寄存器数据低位CRCLCRCH
 从机返回:返回数据为01050000FF00 
01050000FF00  
addressfunction code预置寄存器

地址高位

预置寄存器

地址低位

置入数据高位置入数据低位CRCLCRCH

本通讯设置1个在线写入线圈(开关量),Coil address=0x0000

例如主机发送:01 05 00 00 ff 00 8c 3a

对地址1设备 设置开机

例如主机发送:01 05 00 00 00 00 cd ca

对地址1设备 设置关机

四  function code 06

对远程设备使用该功能码对单个寄存器写数据信息(每个信息参数影射为一个寄存器),16位数据格式,HEX码,高字节在前

本协议定义规定11个参数量写入,分别对应地址如下:

预置寄存器地址:0x0000     写入运行模式  0x0000=除湿  0x0001=通风

0x0001     写入设定湿度 HEX码,带一位小数

0x0002     写入当前时间 HEX码,高字节小时,低字节分

0x0003     写入设定定时开机 HEX码,高字节小时,低字节分

0x0004     写入设定定时关机 HEX码,高字节小时,低字节分

0x0005~0x0008  预留控制

0x0009     写入设备地址修正值HEX码,high byte=0,低字节0~254

0x000a     写入通讯波特率修正值HEX码,

发送例子:

例如: 对地址1写入 通风模式

主机发送: 01 06 00 00 00 01 48 0a

例如: 对地址1写入 设定湿度 48 %

主机发送: 01 06 00 01 01 e0 d8 12

例如: 对地址1写入 当前时间  8:30

主机发送: 01 06 00 02 08 1e af c2

例如: 对地址1写入 定时开机时间  10:40

主机发送: 01 06 00 03 0a 28 7f 74

例如: 对地址1写入 定时关机时间  13:12

主机发送: 01 06 00 04 0d 0c cc 9e

例如: 对地址1写入 把地址1变为 address2

注:地址寄存器=0x0009  机器地址有效数据是单字节,地址值高位=0;低位0~254

主机发送: 01 06 00 09 00 02 d8 09

主机请求:发送数据为01060009000209D8(address1改为2) 
01060009000209D8
addressfunction code预置寄存器

地址高位

预置寄存器

地址低位

置入寄存器数据高位置入寄存器数据低位CRCLCRCH
 从机返回:返回数据为01060009000209D8 
01060009000209D8
addressfunction code预置寄存器

地址高位

预置寄存器

地址低位

置入数据高位置入数据低位CRCLCRCH

例如:对地址1   当前波特率修改为4800(4800的hexadecimal为12C0)

主机发送: 01 06 00 0a 12 c0 a5 38

主机请求:发送数据为0106000A12C0A538(Baud rate9600改成4800) 
0106000A12C0A538
addressfunction code预置寄存器

地址高位

预置寄存器

地址低位

置入数据高位置入数据低位CRCLCRCH
 从机返回:返回数据为0106000A12C0A538 
0106000A12C0A538
addressfunction code预置寄存器

地址高位

预置寄存器

地址低位

置入数据高位置入数据低位CRCLCRCH

注3:错误代码帧格式

address 错误码 Exception Code CRCL CRCH

错误码=function code+0x80

Exception Code=01 或02 或03 或 04

01=无效操作码

02=无效数据地址

03=数据异常

04=MB Error

注4:CRC verification方法

CRC 生成函数

unsigned short CRC16 ( puchMsg, usDataLen )  /* 函数以  unsigned short 类型返回 CRC  */

unsigned char *puchMsg ;  /*  用于计算 CRC  的报文                  */

unsigned short usDataLen ;  /*  报文中的字节数                          */

{

unsigned char uchCRCHi = 0xFF ;  /* CRC  的高字节初始化                    */

unsigned char uchCRCLo = 0xFF ;  /* CRC  的低字节初始化                    */

unsigned uIndex ;  /* CRC 查询表索引                          */

while (usDataLen–)  /* 完成整个报文缓冲区                      */

{

uIndex = uchCRCLo ^ *puchMsgg++ ;  /*  result  CRC                            */

uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex} ;

uchCRCHi = auchCRCLo[uIndex] ;

}

return (uchCRCHi << 8 | uchCRCLo) ;

}

高字节表

/* 高位字节的CRC  值 */

static unsigned char auchCRCHi[] = {

0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,

0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0,

0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,

0x81, 0x40, 0x01,

0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,

0xC0, 0x80, 0x41,

0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,

0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,

0x41, 0x01, 0xC0,

0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,

0x80, 0x41, 0x01,

0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00,

0xC1, 0x81, 0x40,

0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,

0x00, 0xC1, 0x81,

0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0,

0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,

0x81, 0x40, 0x01,

0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01,

0xC0, 0x80, 0x41,

0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,

0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0,

0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,

0x80, 0x41, 0x01,

0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,

0xC0, 0x80, 0x41,

0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,

0x00, 0xC1, 0x81,

0x40

} ;

低字节表

/* 低位字节的CRC  值 */

static char auchCRCLo[] = {

0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,

0x05, 0xC5, 0xC4,

0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB,

0x0B, 0xC9, 0x09,

0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE,

0xDF, 0x1F, 0xDD,

0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2,

0x12, 0x13, 0xD3,

0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,

0x36, 0xF6, 0xF7,

0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E,

0xFE, 0xFA, 0x3A,

0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B,

0x2A, 0xEA, 0xEE,

0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27,

0xE7, 0xE6, 0x26,

0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,

0x63, 0xA3, 0xA2,

0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD,

0x6D, 0xAF, 0x6F,

0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8,

0xB9, 0x79, 0xBB,

0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4,

0x74, 0x75, 0xB5,

0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,

0x50, 0x90, 0x91,

0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94,

0x54, 0x9C, 0x5C,

0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59,

0x58, 0x98, 0x88,

0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D,

0x4D, 0x4C, 0x8C,

0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,

0x41, 0x81, 0x80,

0x40

};

厂家信息:

松岛吊顶除湿机Modbus通讯协议插图

400-0858-758

www.hzsongdao.com

杭州松岛实业有限公司

telephone:0571-85367531 / 传真:0571-85367531

address:杭州市余杭区钱江经济开发区顺风路528号

松岛吊顶除湿机Modbus通讯协议插图1
技术术语(共 5 个)—— Click to Expand
Modbus RTU基于串行链路的ModbusProtocol,使用二进制编码和CRC check
function codeModbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
registerModbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
Baud rate串行通信每秒传输符号数,Modbus RTU常用9600/19200
线圈Modbus位可读写数据,地址从00001开始
来源/工具信息 —— Click to Expand
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category Device register manual 字数 8062 字 · 阅读约 21 分钟 更新 2026-06-30 永久链接 https://www.modbus.cn/24410.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus debugging tool,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 No installation required, WeChat Search「Modbus Debugging Assistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.