点击上面的小方框下载串口调试工具,及指令表
逸树Apro系列8位 智能PDU modbus 指令
Modbus-Rtu协议,波特率9600,所有指令CRC校验。
软件版本 v1.3.16 后(包括1.3.16)才有。
/* 01H 读强制单线圈 */
/* 05H 写强制单线圈 */
/* 0FH 写强制单线圈 */
#define REG_D010x0000
#define REG_D020x0001
#define REG_D030x0002
#define REG_D040x0003
#define REG_D050x0004
#define REG_D060x0005
#define REG_D070x0006
#define REG_D080x0007
/* 02H 读取输入状态 */
#define REG_T010x0000// 开关传感1
#define REG_T020x0001// 开关传感2
/* 04H 读取输入寄存器(模拟信号) */
#define REG_A010x0000// 温度
#define REG_A020x0001// 湿度
#define REG_A030x0002// 电压
#define REG_A040x0003// 电流
#define REG_A050x0004// 功率 精确到个位
// 以上为兼容 旧款 寄存器---------------------------------------------------------
#define REG_A060x0005// 保留
#define REG_A070x0006// 保留
#define REG_A080x0007// 保留
#define REG_A090x0008// 保留
// 以下为 新款 寄存器起始地址-----------------------------------------------------
#define REG_A100x0009// 温度 - 同 REG_A01
#define REG_A110x000A// 湿度 - 同 REG_A02
#define REG_A120x000B// 电压 - 同 REG_A03
#define REG_A130x000C// 电流 - 同 REG_A04
#define REG_A140x000D// 功率 - 精确到一位小数点
#define REG_A150x000E// 频率
#define REG_A160x000F// 功率因数
#define REG_A170x0010// 电量寄存器高8位
#define REG_A180x0011// 电量寄存器低8位
这里以地址0x01讲解:
---------------------------------------------------------------------------------
读取插座输出状态,使用功能码0x01:
发送:01 01 00 00 00 04 3D C9
接收:01 01 01 FF 11 C8
0xFF 1 1 1 1 1 1 1 1
插座序号 8 7 6 5 4 3 2 1
如接收到数据0x01 即第一个继电器打开,其他关闭。
---------------------------------------------------------------------------------
单独控制继电器开关,这里用功能码0x05:
发送:01 05 00 00 FF 00 8C 3A 打开继电器1
接收:01 05 00 00 FF 00 8C 3A 打开成功
发送:01 05 00 00 00 00 CD CA 关闭继电器1
接收:01 05 00 00 00 00 CD CA 关闭成功
01 05 00 01 FF 00 DD FA
01 05 00 01 00 00 9C 0A
01 05 00 02 FF 00 2D FA
01 05 00 02 00 00 6C 0A
01 05 00 03 FF 00 7C 3A
01 05 00 03 00 00 3D CA
01 05 00 04 FF 00 CD FB
01 05 00 04 00 00 8C 0B
01 05 00 05 FF 00 9C 3B
01 05 00 05 00 00 DD CB
01 05 00 06 FF 00 6C 3B
01 05 00 06 00 00 2D CB
01 05 00 07 FF 00 3D FB
01 05 00 07 00 00 7C 0B
---------------------------------------------------------------------------------
全开全关继电器,这里使用功能码0x0F:
发送:01 0F 00 00 00 08 01 FF BE D5 全开
接收:01 0F 00 00 00 08 54 0D 全开成功
发送:01 0F 00 00 00 08 01 00 FE 95 全关
接收:01 0F 00 00 00 08 54 0D 全关成功
---------------------------------------------------------------------------------
使用功能码0x04读取数据:
// 兼容 旧款 寄存器-------------------------------------------------------------
读取温度:
发送:01 04 00 00 00 01 31 CA
接收:01 04 02 00 CB F8 A7
0x00 0xCB 分别为接收到数据的高字节和低字节
即接收到的温度数据为0x00CB,十进制为203,除以10即为温度数据 20.3℃。
读取湿度:
发送:01 04 00 01 00 01 60 0A
接收:01 04 02 03 4D 79 F5
0x03 0x4D 分别为接收到数据的高字节和低字节
即接收到的湿度数据为0x034D,十进制为845,除以10即为湿度数据 84.5%RH。
读取电压:
发送:01 04 00 02 00 01 90 0A
接收:01 04 02 08 C0 BE A0
0x08 0xC0 分别为接收到数据的高字节和低字节
即接收到的电压数据为0x08C0,十进制为2240,除以10即为温度数据 224.0V。
读取总电流:
发送:01 04 00 03 00 01 C1 CA
接收:01 04 02 00 31 78 E4
0x00 0x31 分别为接收到数据的高字节和低字节
即接收到的电流数据为0x0031,十进制为49,除以10即为电流数据 4.9A。
读取功率:
发送:01 04 00 04 00 01 70 0B
接收:01 04 02 04 49 7A 06
0x04 0x49 分别为接收到数据的高字节和低字节
即接收到的功率数据为0x0449,十进制为1097,即为功率数据 1097W。
一次过全读出数据:
发送:01 04 00 00 00 05 30 09
接收:01 04 0A 00 CB 03 4D 08 C0 00 31 04 49 BC F9
温度:0x00CB,十进制为203,除以10即为温度数据 20.3℃。
湿度:0x034D,十进制为845,除以10即为湿度数据 84.5%RH。
电压:0x08C0,十进制为2240,除以10即为电压数据 224.0V。
电流:0x0031,十进制为49,除以10即为电流数据 4.9A。
功率:0x0449,十进制为1097,即为功率数据 1097W。
// 以下为 新款 寄存器-----------------------------------------------------------
读取温度:
发送:01 04 00 09 00 01 E1 C8
接收:01 04 02 00 CB F8 A7
0x00 0xCB 分别为接收到数据的高字节和低字节
即接收到的温度数据为0x00CB,十进制为203,除以10即为温度数据 20.3℃。
读取湿度:
发送:01 04 00 0A 00 01 11 C8
接收:01 04 02 03 4D 79 F5
0x03 0x4D 分别为接收到数据的高字节和低字节
即接收到的湿度数据为0x034D,十进制为845,除以10即为湿度数据 84.5%RH。
读取电压:
发送:01 04 00 0B 00 01 40 08
接收:01 04 02 08 C0 BE A0
0x08 0xC0 分别为接收到数据的高字节和低字节
即接收到的电压数据为0x08C0,十进制为2240,除以10即为温度数据 224.0V。
读取总电流:
发送:01 04 00 0C 00 01 F1 C9
接收:01 04 02 00 31 78 E4
0x001 0x31 分别为接收到数据的高字节和低字节
即接收到的电流数据为0x0031,十进制为49,除以10即为电流数据 4.9A。
读取功率:
发送:01 04 00 0D 00 01 A0 09
接收:01 04 02 2A E0 A7 D8
0x2A 0xE0 分别为接收到数据的高字节和低字节
即接收到的功率数据为0x2AE0,十进制为10976,除以10即为功率数据 1097.6W。
读取频率:
发送:01 04 00 0E 00 01 50 09
接收:01 04 02 01 F4 B9 27
0x01 0xF4 分别为接收到数据的高字节和低字节
即接收到的频率数据为0x01F4,十进制为500,除以10即为频率数据 50.0Hz。
读取功率因数:
发送:01 04 00 0F 00 01 01 C9
接收:01 04 02 03 E5 78 4B
0x03 0xE5 分别为接收到数据的高字节和低字节
即接收到的频率数据为0x03E5,十进制为997,除以10即为频率数据 99.7%。
读取电能:
发送:01 04 00 10 00 02 70 0E
接收:01 04 04 00 00 04 EF B8 C8
0x00 0x00 0x04 0xEF 分别为接收到数据的高字2节和低2字节
即接收到的电能数据为0x000004EF,十进制为1263,除以10即为电能数据 126.3Kw/h。
一次过全读出数据:
发送:01 04 00 09 00 09 E0 0E
接收:01 04 10 00 CB 03 4D 08 C0 00 31 2A E0 01 F4 03 E5 00 00 04 EF B5 56
温度:0x00CB,十进制为203,除以10即为温度数据 20.3℃。
湿度:0x034D,十进制为845,除以10即为湿度数据 84.5%RH。
电压:0x08C0,十进制为2240,除以10即为电压数据 224.0V。
电流:0x0031,十进制为49,除以10即为电流数据 4.9A。
功率:0x2AE0,十进制为10976,即为功率数据 1097.6W。
频率:0x01F4,十进制为500,除以10即为频率数据 50.0Hz。
因数:0x03E5,十进制为997,除以10即为频率数据 99.7%。(功率因数)
电能:0x000004EF,十进制为1263,除以10即为电能数据 126.3Kw/h。
// -----------------------------------------------------------------------------------------
读取开关传感1:
发送:01 02 00 00 00 01 B9 CA
接收:01 02 01 00 A1 880x00 即为返回的数据,断开的状态(正常状态)。
01 02 01 01 60 48 0x01 即为返回的数据,闭合的状态(触发状态)。
读取开关传感2:
发送:01 02 00 01 00 01 E8 0A
接收:01 02 01 00 A1 880x00 即为返回的数据,断开的状态(正常状态)。
01 02 01 01 60 48 0x01 即为返回的数据,闭合的状态(触发状态)。