UPS机器随机附送的软件名称为 SiteManager,只能运行于 Windows 主机上。本文协议内容非官方,是通过串口抓包,以及编写软件模拟串口响应来观察 SiteManager 软件反应整理得出的。
连接方式
-
USB-B 端口连接
此种方式连接后,PC端识别为 USB-ACM 设备,可映射为串口或TTY设备,数据收发方式与串口连接无异。
-
串口连接(RS232)
串口波特率为 9600,8 数据位 1 停止位,无奇偶校验
请求响应帧
基本格式:数据以ASCII码字符形式收发,以~
符号开始,换行符\d
结束,内容由0~9 A~F
以及空格组成。
请求格式: aabbccddee...ffff
aa
: 地址10
表示广播bb
:00
表示广播01
表示请求地址cc
: 值为2A
作用不详dd
: 命令ee
: 参数, 最少4字节ffff
: 校验码
响应格式: aabbccddeeffgg...hhhh
aa
: 地址bb
: 值为01
作用不详cc
: 值为2A
作用不详dd
: 响应错误码00
正常01
地址错误02
校验码错误ee
: 数据标签ff
: 后续数据长度gg
: 数据,如ee为0则没有该项hhhh
: 校验码
校验码
校验码计算方法:从起始字符之后,每个字符的 ASCII 码值(即二进制数值)相加,直到数据结束,然后用 0x10000 减去相加之和,结果表示为 4 位十六进制文本即可。
文章最后有校验码计算工具。
请求命令
注:后续表示的数字,如未特殊说明,均为16进制
50
查找设备42
读取模拟量43
读取逻辑量(枚举类型)44
读取逻辑量45
遥控命令47
读取EEPROM配置49
遥调命令E6
不详
50 查找设备
- 参数
0000
- 响应数据类型为
0000
,长度为00
42 读取模拟量
- 参数
0000
- 响应数据类型为
0050
,长度为56
43 读取逻辑量(枚举类型)
- 参数
0000
- 响应数据类型为
00B0
,长度为14
44 读取逻辑量
- 参数
0000
- 响应数据类型为
0070
,长度为36
45 遥控命令
-
参数 aaaabbbb
-
aaaa: 值为 C004 作用不详
-
bbbb: 命令
1001
: 开始电池有无自检
1002
: 开始电池维护自检
1003
: 结束电池自检
2001
: UPS开机
2002
: UPS关机
2003
: UPS关闭
49 遥调命令
-
参数 aaaabbcccc
-
aaaa: 值为 A006 作用不详
-
bb: 地址
-
cccc: 值
EF
: 电池自检周期0000
:禁止周期自检0001
:3个月0002
:6个月0003
:9个月0004
:12个月
F0
: ECO模式0001
:禁止0002
:允许
F1
: 电池EOD自动开机0001
:允许0002
:禁止
F2
: 设备地址00xx
:xx=1~99 (测试无效果)
读取模拟量
举例设备返回下列字符串(不含起始及结尾符号):
21012A005056005960 5630 0000 0FF5138A 081387596000000000000004D8138A017DEE61
其中 21
为设备地址,50
为数据标签,56
为数据长度,最后 4 字节 EE61
为校验码。
数据长度后面填充 2 字节 00
,之后为第一个模拟量数值。空格符号填充区域可能为该设备不支持的数据字段。
例中第一个值为 5960
,表示输入电压,将其转换为 10 进制后为 22880,即输入电压为 228.80V。后续字段数值,除电池后备时间外,均为上述格式,2 位小数精度。电池后备时间精确到分钟。
各字段含义及单位如下:
- 输入电压 V
- 空白
- 空白
- 输出电压 V
- 空白
- 空白
- 输出电流 A
- 空白
- 空白
- 电池电压 V
- 输出频率 Hz
- 空白
- 空白
- 输入频率 Hz
- 旁路电压 V
- 旁路电流 A
- 有功功率 KW
- 视在功率 KVA
- 负载率 %
- 旁路频率 Hz
- 电池后备时间 Min
读取逻辑量
逻辑量分枚举类型和逻辑类型两种。枚举类型对于一个字段,可能有多种状态。
举例请求 43
命令后,设备返回下列字符串(不含起始及结尾符号):
21012A00B014000107E1E1E1E0E0 E1
设备地址、数据类型、数据长度、校验码部分不再赘述。数据中每个字节(连续两个字符)表示一个逻辑量。每个逻辑量值似乎只有低4位有效。
各字段含义如下:
-
未知,值为
00
-
状态流动图
- 0: 不供电,电池充电
- 1: 市电逆变供电,电池充电
- 2: 旁路供电,电池充电
- 3: 旁路供电,电池充电
- 4及以上: 不供电,电池不充电
-
不详,值为 07
-
供电方式
- 1: 市电逆变供电
- 2: 电池逆变供电
-
电池充放电
- 0: 非充非放
- 1: 浮充
- 2: 均充
- 3: 放电
-
电池自检
- 0: 自检中
- 1: 不在自检
-
电池允许自检
- 0: 允许
- 1: 禁止
-
电池电压低预告警
- 0: 正常
- 1: 预告警
-
未知
-
开关机状态
- 0: 关机
- 1: 开机
举例请求 44
命令后,设备返回下列字符串(不含起始及结尾符号):
21012A0070360000F00000F000 0E000000000000000000000000000000000000F358
数据中每个字节(连续两个字符)表示一个逻辑量。每个逻辑量高 4 位为 0
表示假(正常状态) F
表示真(告警状态)。
各字段含义及错误提示、严重等级如下:
- 未知
- 未知
- 主路异常 告警 一般
- 整流器 故障 严重
- 逆变器 故障 严重
- 旁路 告警 一般
- 电池电压 故障 严重
- 未知,值为
0E
- 功率模块过温 故障 严重
- 风扇 告警 一般
- 输入缺零故障 故障 严重
- 母线异常关机 故障 严重
- 充电器 故障 严重
- 电池放电终止 异常 一般
- 辅助电源 故障 严重
- 输出过载 告警 一般
- 输出线路 短路 严重
- 过载超时 告警 一般
- 并机均流异常 告警 一般
- 并机连接线异常 告警 一般
- 并机地址错误 告警 一般
- 内部通讯异常 告警 一般
- 系统过载 告警 一般
- 紧急关机 紧急关机 一般
- 电池接反 告警 一般
- 电池无 告警 一般
- 未知