资料説明
这是北京京创鑫业科技有限公司 AirTS 系列高大空间空调机组的 Modbus RTU 通信プロトコル,触屏控制系统终端做スレーブ,トップマシン做マスター。协议只有 15 个有效レジスタ,但有几个地方容易踩坑:温度要除 10、启停控制要用不同值写同一1つのレジスタ、書き込み操作。只サポート 0x06 单レジスタ、以及写目标温度/角度/强度时範囲比读出来的範囲窄。
物理層は和对参数
RS-485 两线制,A 接 A、B 接 B。Serial port parameters(注意:PDF 里写的是 9600,实际使用前先確認你デバイス上设的ボーレート,别上来就用デフォルト):
| parameter | Value |
|---|---|
| Interface | RS-485(サポートなし。其他方式) |
| Baud rate | 9600 bps(デフォルト) |
| スタート地点。 | 1 |
| data bit | 8 |
| check | 无 |
| stop bit | 1 |
| slave address | 0x01 ~ 0xFF(1 No.~255 device no.),看触屏上表示的デバイス编号 |
终端内部会把空调的本地データ转发给トップマシン,所以你对空调发任何命令,对象都是这个触屏控制终端。
协议硬ルール
- 只サポート Modbus RTU,サポートなし。 ASCII 或 TCP。
- function code:0x03 Read the hold register(可连续複数読み込み个),0x06 write single register(サポートなし。 0x10 もっと書く。)。
- data format:前の高さ。,低バイト数在后。
- CRC:16 位,低バイト数前に,ハイバイト在后。
- 写範囲受限:目标温度写範囲 0~32℃、出风角度写範囲 0~64、出风强度写範囲 0~64;但读出来表示的是 0~50℃、0~100 度、0~100%。写的时候别超上限,否则デバイス可能不认。
- サポートなし。多デバイスパッキング命令,每条命令只针对一个駅からの住所。
レジスタ点表(完全版)
| 十进制アドレス | 十六进制アドレス | function code | 読み書き | Name | 説明 |
|---|---|---|---|---|---|
| 1 | 0x0001 | 0x03 | 読み取り専用 | 风机ステータス | 0000=过热,0001=正常 |
| 2 | 0x0002 | 0x03 | 読み取り専用 | 备用 | 保留 |
| 3 | 0x0003 | 0x03 | 読み取り専用 | 备用 | 保留 |
| 4 | 0x0004 | 0x03 | 読み取り専用 | 备用 | 保留 |
| 5 | 0x0005 | 0x03 | 読み取り専用 | 回风温度 | 戻り値は÷10,带 1 位小数(例 0x012D=301→30.1℃) |
| 6 | 0x0006 | 0x03 | 読み取り専用 | 出风温度 | 戻り値は÷10,带 1 位小数 |
| 7 | 0x0007 | 0x03 | 読み取り専用 | 工作区温度 | 戻り値は÷10,带 1 位小数 |
| 8 | 0x0008 | 0x03 | 読み取り専用 | 启停ステータス | 0000=停运,0001=Open |
| 8 | 0x0008 | 0x06 | 写 | デバイス开启 | 写 0001 |
| 8 | 0x0008 | 0x06 | 写 | デバイス停运 | 写 0004 |
| 9 | 0x0009 | 0x03/0x06 | 読み書き | 第一温控时段目标温度 | 读 0~50℃,写 0~32℃ |
| 10 | 0x000A | 0x03/0x06 | 読み書き | 第二温控时段目标温度 | 读 0~50℃,写 0~32℃ |
| 11 | 0x000B | 0x03/0x06 | 読み書き | 第三温控时段目标温度 | 读 0~50℃,写 0~32℃ |
| 12 | 0x000C | 0x03/0x06 | 読み書き | 第四温控时段目标温度 | 读 0~50℃,写 0~32℃ |
| 13 | 0x000D | 0x03/0x06 | 読み書き | 出风角度 | 读 0~100 度,写 0~64 |
| 14 | 0x000E | 0x03/0x06 | 読み書き | 出风强度 | 读 0~100(表示加 %),写 0~64 |
| 15 | 0x000F | 0x03 | 読み取り専用 | 控制权限 | 0000=就地,0001=remote,0002=两者均可 |
常用报文サンプル(以 2 号デバイス为例,已逐条 CRC verification)
下面这些フレーム都跟 PDF 原厂サンプル一致(或按协议ルール推算并验证 CRC)。もし你ではない 2 device no.,把第一バイト単位。换成你的アドレス,重新算 CRC 即可。
| 动作 | 下发フレーム | 説明 |
|---|---|---|
| 读风机ステータス | 02 03 00 01 00 01 D5 F9 |
应答 00 01=正常 |
| 读启停ステータス | 02 03 00 08 00 01 05 FB |
应答 00 01=Open |
| デバイス开启 | 02 06 00 08 00 01 C9 FB |
写レジスタ 8 为 0001 |
| デバイス停运 | 02 06 00 08 00 04 09 F8 |
写レジスタ 8 为 0004 |
| 读すべてのレジスタ 1~14 | 02 03 00 01 00 0E 95 FD |
一次读回 14 个ステータスレジスタ |
| 读控制权限 | 02 03 00 0F 00 01 B4 3A |
读レジスタ 15 |
| 設定目标温度 25℃ | 02 06 00 09 00 19 98 31 |
写レジスタ 9 为 25(写範囲 0~32) |
| 設定出风角度 90° | 02 06 00 0D 00 5A 98 01 |
写レジスタ 13 为 90(写範囲 0~64) |
| 設定出风强度 80% | 02 06 00 0E 00 50 E8 06 |
写レジスタ 14 为 80(写範囲 0~64) |
读すべてのレジスタ 1~14 的戻るフレーム拆解
下发 02 03 00 01 00 0E 95 FD 后,收到 33 バイト应答(data area 28 bytes):
02 03 1C 00 01 00 01 01 2D 01 29 01 05 01 28 01 0E 00 01 00 12 00 11 00 10 00 0F 00 5A 00 50 FE 96
按真实バイト顺序拆解(address 1 到アドレス 14,すべてのレジスタ。 2 bytes):
| Address | hexadecimal | decimal | 含义 |
|---|---|---|---|
| 1 风机ステータス | 00 01 | 1 | 正常 |
| 2 备用 | 00 01 | 1 | 备用 |
| 3 备用 | 01 2D | 301 | 备用 |
| 4 备用 | 01 29 | 297 | 备用 |
| 5 回风温度 | 01 2D | 301 | 30.1℃ |
| 6 出风温度 | 01 29 | 297 | 29.7℃ |
| 7 工作区温度 | 01 05 | 261 | 26.1℃ |
| 8 启停ステータス | 00 01 | 1 | Open |
| 9 第一目标温度 | 00 12 | 18 | 18℃ |
| 10 第二目标温度 | 00 11 | 17 | 17℃ |
| 11 第三目标温度 | 00 10 | 16 | 16℃ |
| 12 第四目标温度 | 00 0F | 15 | 15℃ |
| 13 出风角度 | 00 5A | 90 | 90 度 |
| 14 出风强度 | 00 50 | 80 | 80% |
注意:这个戻るフレーム读的是アドレス 1~14 共 14 Registers,不包含アドレス 15(控制权限)。原厂 PDF 在列举「バイト位置→register」对照时,把アドレス 3、4 列成了回风/出风温度,そして本物。バイト顺序对不上——那个对照表本身有错位,上面这版是按实际十六进制バイト顺序重新对齐的,你可以照着数:No. 5~6 バイト才是回风温度 0x012D。
もし要读控制权限,单独发 02 03 00 0F 00 01 B4 3A。
温度解析
address 5、6、7 都是温度,数值放大了 10 倍:
比如戻る 01 2D = 301(decimal),真实温度 = 301 ÷ 10 = 30.1℃。
目标温度(register 9~12)没做缩放,レジスタの値就是温度值,比如 00 19 = 25℃,就是 25℃(但写的时候只能写到 32℃)。
启停控制
同一个レジスター·アドレス 8,写不同值実装不同动作:
| Value | 动作 |
|---|---|
| 0x0001 | Open |
| 0x0004 | 停运 |
不要写 0x0000 去关,PDF 里没定义这个值,写 0x0004 才是停运。
デバッグ注意
- 下发开机、关机、角度、强度这类控制命令后,要留足执行时间:デバイス戻る应答后、或間隔大于 1 秒再发下一条,避免命令没执行完。
- もしすべてのデータ都读通信不可,先用シリアルポート软件连 USB 转 485 直接监听下发指令,看是ではない CRC 算错或アドレス正しくない。
- 書き込み操作。只サポート 0x06 单レジスタ,别用 0x10。
- 控制权限レジスタ 15 表示当前是就地まだリモートコントロール。,もしそうなら就地,远程写命令可能不生效。
- 写目标温度/角度/强度时範囲比读出来窄(temperature 0~32、角度/强度 0~64),别超上限。
もっと見る厂商プロトコルマニュアル
ポイント·テーブル / レジスタ表
按アドレス、function code、データ型和倍率整理,适合デバッグ、アーカイブ和项目交付。