
简介《美的空调协议调试手册》是一份面向暖通空调与智能建筑领域工程师、技术支持人员的协议调试文档聚焦KF-120LW/K2SRY型号美的空调的远程监控与485通讯调试帮助读者理清Modbus协议对接、通信参数配置与地址设置等关键环节。资源包共1个文件为doc格式文档压缩包约47KB内容涵盖设备勘察信息、接口连接方式、通信格式设定、测试工具与16进制命令说明以及常见故障排除方法。目前已有710人学习下载适合需要现场调试或协议开发参考的技术人员。手册中给出了2400波特率、无校验、8数据位、1停止位的通信参数以及双机切换、风速、工作模式、温度设置等命令码并提示多台空调接入数据转换器时更改地址需断开另一台的注意事项可作为调试过程中的对照依据与排错思路参考。1. 一份 2003 年的空调协议调试手册为什么现在还有人翻出来用机房老改造项目里最怕遇到那种“设备还在跑、厂家早不认”的空调。上个月帮一个朋友看现场两台老柜机挂在墙上面板能调、遥控能用但动环系统就是采不到数据。翻遍资料最后能对上号的是一份 2003 年由某网络能源公司编写的《美的空调协议调试手册》对象是 KF-120LW/K2SRY 这个型号走的是 RS232 转四芯线的私有协议不是标准 Modbus。这份手册的价值不在于它多新而在于它把“怎么接线、怎么发码、地址怎么改、双机怎么切”这些现场细节写死了属于那种拿到手就能照着发十六进制命令的落地文档。适合谁做机房动环、智能建筑弱电、老设备协议对接的工程师尤其是手里有一批非标串口设备、又不想换空调的场合。下面按“先看懂接口、再跑通命令、最后避开坑”的顺序拆。2. 接口与通信参数先把物理层和 2400 8N1 钉死2.1 非标 RS232 口和四芯线的真实接法这份手册里最容易翻车的地方是它用的不是标准九针直连。监控侧是一个外置的四方形乳白色数据转换器朝外那端是标准 RS232 九针头朝空调那端是九针扁平插头再通过四芯水晶头线接到空调通讯板。手册给了一张扁插头到标准九针母头的对应表从右到左数针脚1 对 1、2 对 2 一路对到 9。现场实操时我一般会先拿万用表量三根线TXD、RXD、GND确认扁插头的 2、3、5 针确实通到九针母头的对应位置再上电。因为这种非标口一旦插反或者线序错表现不是“完全没反应”而是偶尔收到乱码很容易误判成波特率不对。两台空调的场景要特别注意每台空调从各自通讯板引一根四芯线出来到转换器那头用一个四芯一拖二接口盒并接。这个盒子是厂家安装时接好的手册明确写了“无需再连”但如果你在现场看到有人把它拆开重新压线基本可以判定之前有人动过地址或者换过板子后面调地址时就要多留个心眼。2.2 通信格式为什么是 2400,N,8,1手册给的常用通信格式是 RS232、2400 波特率、无校验、8 数据位、1 停止位。这个参数组合在 2003 年的空调控制板里很典型主控芯片资源有限2400 足够传几十字节的状态帧又不容易因为线长和干扰丢包。现场配置串口工具时把这四项填死之后还要确认流控是“无”。我见过有人默认开了 RTS/CTS结果发出去的命令设备收到了回的数据被流控卡住超级终端里一片空白折腾半天以为是协议不对。提示2400 波特率下一帧十几字节的命令在线上要跑几十毫秒发完命令别立刻读给设备留 100 到 200 毫秒的响应窗口否则读到的可能是上一帧的尾巴。2.3 地址设置双机并联时的断开规则手册里专门用一段强调两台空调同时接在数据转换器上时要改其中一台的地址必须先断开另一台与转换器的连接。这条不是建议是硬约束。原因是这个私有协议在地址变更命令下发后转换器会把新地址广播到总线上如果另一台还在线可能出现两台同时响应或者地址表错乱。现场做法是拔掉另一台的四芯线改完地址、断电重启转换器再把线接回去。改地址用的命令是命令号 12参数就是新地址后面第 3 章会给具体帧格式。3. 用 Tools99 发十六进制命令六条控制码逐条跑通3.1 测试工具链和最小验证顺序手册点名的工具是 Tools99.EXE、TsrTest.EXE 和超级终端。我的习惯是先用超级终端确认物理链路通——发任意字符看有没有回显或者设备有没有反应再用 Tools99 发十六进制命令做功能验证。Tools99 的好处是能直接输入十六进制字节流不用自己拼串口程序。验证顺序建议按“读状态 → 改风速 → 改温度 → 改模式 → 改地址 → 双机切换”来因为前四条是单机可控的后两条涉及总线上的多设备关系放最后跑出问题好回退。3.2 六条命令的帧结构与参数含义手册列了六条命令号功能和控制参数如下表。注意这里的“命令号”是协议帧里的一个字节实际发送时还要按设备帧格式补帧头、地址和校验手册没给完整帧模板现场常见做法是抓一帧设备主动上报的数据把帧头帧尾套用到控制帧上。命令号功能参数范围现场注意0x10双机切换控制另一台空调地址的最后一位参数只取地址末位别填完整地址0x11取消双机切换同上取消后两台恢复独立0x12设置空调地址新地址必须先断开另一台0x13风速0 固定风 / 1 高 / 2 中 / 4 低 / 5 自动注意没有 3别按顺序猜0x14工作模式0 制冷 / 1 抽湿 / 2 自动 / 3 制热 / 4 送风模式切换后等状态回读确认0x15温度设置17 到 30整数摄氏度无半度风速参数里缺 3 这个细节值得单独说。很多人写解析程序时按 0 到 5 连续映射结果现场设“低风”发 3空调没反应回头查半天。手册写的是 4 低风那就老老实实按 0、1、2、4、5 建映射表。3.3 一段可直接改的发送脚本现场没有 Tools99 的时候我一般用 Python 的 pyserial 顶上去逻辑和 Tools99 发码一致只是把帧拼装写成代码方便批量验证。下面这段是骨架帧头帧尾和校验要按你抓到的实际帧替换。import serial import time # 2400 8N1无流控和手册参数一致 ser serial.Serial( portCOM3, baudrate2400, bytesize8, parityserial.PARITY_NONE, stopbits1, timeout0.5 ) def build_frame(addr, cmd, param): # 帧头 0xAA 0x55 为示例务必用抓包得到的真实帧头替换 frame bytes([0xAA, 0x55, addr, cmd, param]) checksum sum(frame) 0xFF # 示例校验按实际协议改 return frame bytes([checksum]) def send_and_read(addr, cmd, param): frame build_frame(addr, cmd, param) ser.reset_input_buffer() ser.write(frame) time.sleep(0.2) # 2400 波特率下留足响应窗口 return ser.read(64) # 设温度 24 度命令号 0x15参数 24 resp send_and_read(0x01, 0x15, 24) print(resp.hex())这段代码里三个参数要按现场改port换成实际串口build_frame里的帧头和校验算法换成抓包结果addr换成空调当前地址。time.sleep(0.2)不是随便写的2400 波特率下一帧往返加上设备处理200 毫秒是比较稳的下限设成 0.05 会偶发读到空。跑通单条命令后把六条命令做成一个循环表逐条发、逐条打印回帧比在 Tools99 里手敲快得多。4. 避坑排查五条现场血泪记录4.1 现象发命令有回帧但空调不动原因多半是命令帧里的地址字节和空调实际地址对不上。这个协议的控制帧带地址回帧的地址可能和请求一致看起来“通信正常”但设备侧因为地址不匹配直接丢弃执行。解决先用读状态命令确认回帧里的地址字段再拿这个地址去发控制命令别拿手册示例地址直接套。4.2 现象两台空调数据串了A 的状态出现在 B 的通道这是双机并联没做地址隔离的典型表现。手册在地址设置那段已经预警过改一台地址时另一台必须断开。现场如果两台地址相同或者转换器地址表没刷新采集上来的数据就会互相覆盖。解决断开一台用命令 0x12 逐台重设地址每改一台断电重启转换器最后两台都接上再验证。4.3 现象超级终端能收到数据Tools99 发出去没反应先查流控。超级终端默认可能不开硬件流控而某些串口工具会默认勾上 RTS/CTS导致发送被挂起。其次查 Tools99 的十六进制输入模式有的版本要在字节间加空格有的不加输错格式等于发了一串 ASCII 字符。解决统一关流控Tools99 里先用一条已知能回帧的读命令验证输入格式。4.4 现象温度设 17 到 30 之间某个值设备回帧正常但实际温度不变这个型号的温控有内部延时和条件判断手册在测试注意事项里提到“设备控制内部延时”。连续快速下发温度命令时后一条可能被前一条的执行窗口吞掉。解决两条控制命令之间至少隔 1 秒改完温度后用读状态命令回读确认别只看控制帧的回执。4.5 现象动态库 MiDeDCM2.dll 加载失败或采集全空手册只给了动态库名没给 TSR 名和模板库名这是这份文档的已知缺口。现场遇到 dll 加载失败先确认位数匹配32 位采集程序配 32 位 dll再确认 dll 依赖的运行库是否齐全。如果 dll 能加载但采集全空回到串口层用 Tools99 验证物理链路别在 dll 层死磕。解决串口通、命令通、再查 dll 配置顺序不能反。5. 从单机验证到批量接入把六条命令做成回归清单单台调通只是起点真正花时间的是批量接入时的回归验证。我的做法是把第 3 章那六条命令固化成一个回归脚本每接一台空调跑一遍输出一张对照表地址、风速回读、模式回读、温度回读、双机状态。这样做的原因是这个私有协议没有标准 Modbus 那种统一的功能码语义每条命令的回帧格式要靠现场抓包确认一旦换批次或者换转换器回帧字段位置可能变靠人眼比对容易漏。具体技巧上抓包时把读状态帧连续抓 20 帧看哪些字节在变、哪些固定变的那几位大概率是温度和模式固定的就是帧头和地址。温度字段常见做法是直接存摄氏度整数值但也不排除偏移量编码拿遥控器设 24 度抓一帧、设 25 度再抓一帧两帧一减就能定位。风速字段同理按 0、1、2、4、5 五个值各抓一帧建一张值到档位的映射表存进配置比在代码里写死 if-else 好维护。注意批量接入时每台空调改完地址都要单独断电重启转换器再验证不要一次改完所有地址再统一上电否则地址表刷新顺序不可控串数据的问题会反复出现。还有一个容易被忽略的点这份手册的测试工具是 2003 年的 Windows 程序在新系统上跑 Tools99 可能需要兼容模式串口驱动也要确认支持老式 USB 转串口芯片。我一般会备一个原生串口的工控机做基准USB 转串口只做辅助因为不同芯片在 2400 低波特率下的时序差异偶尔会让本来能通的链路变得时通时不通这种玄学问题排查起来最耗时间。从那以后我每次接这类非标串口设备都强制先走一遍“量线序 → 超级终端验物理层 → Tools99 发单条读命令 → 再上控制命令”的流程不跳步。这份手册虽然老但把接口、参数、命令号、地址规则写得很实照着跑能少走不少弯路。希望帮到你。本文还有配套的精品资源点击获取