2025年Modbus - ModbusTCP基于Java代码实现的操作真机 (并非模拟)

Modbus - ModbusTCP基于Java代码实现的操作真机 (并非模拟)中央空调集中管控系统 集控系统设备 Modbus 通信协议 https download csdn

大家好,我是讯享网,很高兴认识大家。

中央空调集中管控系统

 

集控系统设备

Modbus通信协议

https://download.csdn.net/download/weixin_/
讯享网

空调地址映射表

说明: 

对应内机编号(自定义协议):

                                00代表00号内机、01代码01号内机、02代码02号内机...

对应内机寄存器(Modbus协议):

                                 读: 0000~0005(对应00号内机) 代表每台内机占用 6 个寄存器, 分别为 0000开关查询、0001模式查询、0002温度查询、0003风速查询、0004室温查询、0005故障查询

                                 写: 0FA0~0FA3(对应00号内机) 代表每台内机占用 4 个寄存器,分别为 0FA0开关设定、0FA1模式设定、0FA2温度设定、0FA3风速设定
                                             
               

                                                   空调内机集控地址
                                         (面板显示值或者内机拨码值)
对应内机编号
(自定义协议)
           对应内机寄存器
             (Modbus 协议)

模拟器
美的
博世
威能
特灵

(十进制)

大金
(十进制)
日立
海信
约克
(十进制)
三菱重工
(十进制)
三菱电机
海尔
格力
东芝
广州松下
大连松下
(十进制)
其他 读/写
(十六进制)

(十六进制)

(十六进制)
0 1-00  0-0 0-0 1 0 00 0000~0005 0FA0~0FA3
1 1-01 0-1 0-1 2 1 01 0006~000B  0FA4~0FA7
2 1-02  0-2 0-2 3 2 02 000C~0011 0FA8~0FAB
3 1-03 0-3 0-3 4 3 03 0012~0017  0FAC~0FAF
4 1-04 0-4 0-4 5 4 04 0018~001D 0FB0~0FB3
5 1-05 0-5 0-5 6 5 05 001E~0023 0FB4~0FB7
6 1-06 0-6 0-6 7 6 06 0024~0029 0FB8~0FBB
7 1-07 0-7 0-7 8 7 07 002A~002F 0FBC~0FBF
8 1-08 0-8 0-8 9 8 08 0030~0035 0FC0~0FC3
... ... ... ... ... ... ... ... ...
15 1-15 0-15 0-15 16 15 0F 005A~005F 0FDC~0FDF
16 2-00 1-0 1-0 17 16 10 0060~0065 0FE0~0FE3
... ... ... ... ... ... ... ... ...
63 4-15 3-15 3-15 64 63 3F 017A~017F 109C~109F

功能码

           功能码                                                            作用
 
0x03(读参数) 用于查询性能信息
 
用于查询单台或多台空调的多项参数。
每次可读操作多个寄存器,每个寄存器保存当前空调的一项状态参数,根据
寄存器读取的数量,可以一次读取单台或多台多台空调的多项参数。
0x06(写单项参数) 用于更改单台空调的一项参数。
每次只能写操作一个寄存器,从而对单台空调的一项参数进行更改。
0x10(写多项参数)
 
用于更改多台空调的一项或多项参数。
每次写操作多个寄存器,从而对单台或者多台空调的多项参数进行更改。

 寄存器地址(十进制)

 读寄存器

                                                                  读性能地址
空调品牌 产品类型 内机数量 温度下限 温度上限
2000 2001 2002 2003 2004
读参数地址(每台内机占用 6 个寄存器)
开关查询 模式查询 温度查询 风速查询 室温查询 故障查询
【内机 0】 0 1 2 3 4 5
【内机 1】 6 7 8 9 10 11
【内机 2】 12 13 14 15 16 17
【内机 3】 18 19 20 21 22 23
... ... ... ... ... ... ...
【内机 n】 6n 6n+1 6n+2 6n+3 6n+4 6n+5
开关 模式 温度 风速 室温 故障
0 关闭  1 制热

无符号数

0 自动

有符号数

不同品牌对应故障代码不同,

1 开启 2 制冷 1 低速
4 送风 2 中速
8 除湿 3 高速
 

 注 :如果有空调系统自带的新风机接入,模式会出现三种 0x10 自动进风 0x20 热交换进风 0x30 旁通进风,风速会出现两种 0x01 低风 0x03 高风,新风机只有开关和风速可控。 

 写寄存器 

                                  写参数地址(每台内机占用 4 个寄存器)
开关设定 模式设定 温度设定 风速设定
【内机 0】 4000 4001 4002 4003
【内机 1】 4004 4005 4006 4007
【内机 2】 4008 4009 4010 4011
【内机 3】 4012 4013 4014 4015
... ... ... ... ...
【内机 n】 4000+4n 4001+4n 4002+4n 4003+4n
开关  温度  模式 风速
0 关闭 

无符号数

1 制热 0 自动
1 开启 2 制冷 1 低速
4 送风  2 中速
8 除湿 3 高速

Java demo

完整版代码链接: 

讯享网https://download.csdn.net/download/weixin_/

 public static void main(String[] args) throws Exception { String ip = "192.168.1.66"; int port = 502; ModbusFactory modbusFactory = new ModbusFactory(); // 设备ModbusTCP的Ip与端口,如果不设定端口则默认为502 IpParameters params = new IpParameters(); params.setHost(ip); if (502 != port) { params.setPort(port); }// 设置端口,默认502 ModbusMaster tcpMaster = null; tcpMaster = modbusFactory.createTcpMaster(params, true); try { tcpMaster.init(); / * 写寄存器: 0FA0~0FA3(对应00号内机) 代表每台内机占用 4 个寄存器。 * 分别为 0FA0开关设定、0FA1模式设定、0FA2温度设定、0FA3风速设定 * * 0FA0~0FA3 的十进制分别为: 4000、4001、4002、4003 */ int address = Integer.parseInt("0FA0", 16); int data = Integer.parseInt("01", 16); writeRegister(tcpMaster, 1, address,data); } finally { tcpMaster.destroy(); Modbus.releaseSharedResources(); } }

测试

1、开关设定: 将0-0号机空调关闭(0 关闭 ,1 开启)

参数: (tcpMaster, 1, 0FA0, 0)

writeRegister(tcpMaster, 1, address,data);

 2、模式设定: 将0-0号机空调制热(1 制热 、2 制冷、4 送风、8 除湿)

参数: (tcpMaster, 1, 0FA1, 1) 

writeRegister(tcpMaster, 1, address,data);

3、温度设定: 将0-0号机空调设置成20°c (20℃对应 0x14、25℃对应 0x19)

参数: (tcpMaster, 1, 0FA2, 14) 

writeRegister(tcpMaster, 1, address,data);

4、风速设定: 将0-0号机空调风速设置成中速(0 自动、1 低速、2 中速、3 高速) 

 参数: (tcpMaster, 1, 0FA3, 2) 

writeRegister(tcpMaster, 1, address,data);

讯享网发送内容: "modbus"

小讯
上一篇 2025-03-19 16:31
下一篇 2025-03-18 12:00

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/29637.html