物联网-电总协议
- [■ 电总底层协议](#■ 电总底层协议)
- ■
-
- [■ 01. 信息类型](#■ 01. 信息类型)
- [■ 02. 电总协议格式](#■ 02. 电总协议格式)
- [■ 03. 基本数据格式](#■ 03. 基本数据格式)
- [■ 04. LENGTH 数据格式](#■ 04. LENGTH 数据格式)
- [■ 05. CHKSUM(校验和)](#■ 05. CHKSUM(校验和))
- [■ 06. INFO 数据格式](#■ 06. INFO 数据格式)
- [■ 07. 说明](#■ 07. 说明)
- [■ 08. 编码分类及定义](#■ 08. 编码分类及定义)
- [■ 09. 返回码RTN:](#■ 09. 返回码RTN:)
- [■ DATAINFO](#■ DATAINFO)
-
- [■ 01. DATAFLAG](#■ 01. DATAFLAG)
- [■ 02. DATAF为UPS遥测量内容](#■ 02. DATAF为UPS遥测量内容)
- ■
-
- [■ 01. 通信的建立](#■ 01. 通信的建立)
- [■ 02.](#■ 02.)
- [■ 03.](#■ 03.)
- [■ 04.](#■ 04.)
- [■ 命令/响应信息详解](#■ 命令/响应信息详解)
-
- [■ 01. 查询版本号(4FH)](#■ 01. 查询版本号(4FH))
- [■ 02. 获取设备地址 50H](#■ 02. 获取设备地址 50H)
- [■ 03.](#■ 03.)
- [■ 04.](#■ 04.)
- [■ 05.](#■ 05.)
- [■ 获取模拟量量化数据](#■ 获取模拟量量化数据)
-
- [■ 01. 获取系统模拟量量化数据 41H](#■ 01. 获取系统模拟量量化数据 41H)
- [■ 02. 获取输入与旁路模拟量量化数据 E1H](#■ 02. 获取输入与旁路模拟量量化数据 E1H)
-
- [■ 001. COMMD INFO](#■ 001. COMMD INFO)
- [■ 002. TARGET](#■ 002. TARGET)
- [■ 003. 获取A项输入电压](#■ 003. 获取A项输入电压)
- [■ 03. 获取输出与负载模拟量量化数据 E2H](#■ 03. 获取输出与负载模拟量量化数据 E2H)
-
- [■ 001. COMMD INFO](#■ 001. COMMD INFO)
- [■ 002. TARGET](#■ 002. TARGET)
- [■ 003. 获取A项输出电压](#■ 003. 获取A项输出电压)
- [■ 004. 获取B项输出电压](#■ 004. 获取B项输出电压)
- [■ 04.](#■ 04.)
- [■ 05.](#■ 05.)
- [■ 06.](#■ 06.)
- ■
■ 电总底层协议
| 编号 | 描述 |
|---|---|
| 1 | 异步串行协议 UART。缺省为 9600bps。 传输方式为异步方式, 起始位 1 位,数据位 8 位,停止位 1 位,无校验。 |
| 2 | |
| 3 | 采用主从通信方式。 |
| 4 | |
| 5 | |
| 6 | |
| 7 | 信息分两种类型: (1)由主机发出到从机的命令信息(简称命令信息) (2)由从机返回到主机的响应信息(简称响应信息) |
■
■ 01. 信息类型
信息分两种类型:
(1)由主机发出到从机的命令信息(简称命令信息)
(2)由从机返回到主机的响应信息(简称响应信息)
■ 02. 电总协议格式


| 序号 | 字段 | 字节数 | 说明 | 说明2 |
|---|---|---|---|---|
| 1 | SOI (0x7E) |
1 | 帧起始标志,固定为十六进制 7EH |
|
| 2 | VER | 1 | 协议版本号 | |
| 3 | ADR | 1 | 设备地址 | |
| 4 | CID1 | 1 | 控制字1 | |
| 5 | CID2 | 1 | 控制字2 | |
| 6 | LENGTH | 2 | 数据长度 (LENID + LCHKSUM) | LENGTH 数据格式: LENGTH共2个字节,由 LENID 和 LCHKSUM 组成,LENID表示INFO项的ASCII码字节数, 当LENID = 0时,INFO为空,即无该项。 LENGTH传输中先传高字节,再传低字节,分四个ASCII码传送。 校验码的计算: D11D10D9D8 + D7D6D5D4 + D3D2D1D0,求和后模16余数取反加1。 例:INFO项的ASCII码字节数为18,即 LENID = 0000 0001 0010B = 18。 LCHKSUM: D11D10D9D8 + D7D6D5D4 + D3D2D1D0 = 0000B + 0001B + 0010B = 0011B,模16余数为 0011B,0011B取反加1 就是1101B,即 LCHKSUM 为1101B。可得: LENGTH 为1101 0000 0001 0010B,即D012H。 |
| 7 | INFO | X | 数据信息区,长度由LENGTH决定(可为空) | 两个字节的整型数据传送顺序为先高字节后低字节。 |
| 8 | CHKSUM | 2 | 整个报文的校验和 | CHKSUM的计算是除SOI、EOI和CHKSUM外,其他字符按ASCII码值累加求和,所得结果模65536余数取反加1。 |
| 9 | EOI (0xOD) |
1 | 帧结束标志,固定为十六进制 0DH |
■ 03. 基本数据格式
基本格式中的各项 除SOI和EOI是以( SOI = 7EH,EOI = 0DH)十六进制传输外,其余各项都是以ASCII码的方式传输, 每个字节用两个ASCII码表示,即高四位一个ASCII码表示,低四位用一个ASCII码表示。
例:CID2(控制字2 ) = 4BH,传送时顺序发送34H,42H。
■ 04. LENGTH 数据格式

■ 05. CHKSUM(校验和)
CHKSUM的计算是 除SOI、EOI和CHKSUM外 ,其他字符按ASCII码值累加求和,所得结果模65536余数取反加1。

■ 06. INFO 数据格式

■ 07. 说明
■ 08. 编码分类及定义

■ 09. 返回码RTN:

■ DATAINFO
其 DATAINFO 字段首先为一标示字节 DATAFLAG,标示字节描述如下:
■ 01. DATAFLAG

■ 02. DATAF为UPS遥测量内容
■
■ 01. 通信的建立
后台不断发送设备查询命令,监控收到查询命令后返回设备地址,后台收到返回数据,建立连接。
c
在这里插入代码片
■ 02.
■ 03.
■ 04.
■ 命令/响应信息详解
■ 01. 查询版本号(4FH)
本帧为电总协议标准帧, CID2 为 4FH。


注: LENID = 00H。 VER为任意值。

注: LENID = 00H。 设备监控收到改命令后,不判断收到命令的VER ,将协议的版本号填入到响应信息中的VER字段。
注意:该帧用于传UPS协议本身的版本号,比如V100就为1.0,传10H,而不是电总标准的版本号。
c
[2026-06-16 13:27:26.471][发送]: 7e 32 31 30 31 32 41 34 46 30 30 30 30 46 44 38 46 0d (~21012A4F0000FD8F )
//查询版本号
7e 32 31 30 31 32 41 34 46 30 30 30 30 46 44 38 46 0d
~ 2 1 0 1 2 A 4 F 0 0 0 0 F D 8 F
//查询版本号 INFO
CID1 CID2 LENGTH CHKSUM EOI
1 2 3 4 5 6 6 7 8 9
7e 3231 3031 3241 3446 3030 3030 4644 3846 0d
~ 21 01 2A 4F 00 00 FD 8F
■ 02. 获取设备地址 50H
本帧为电总协议标准帧, CID2 为 50H

c
[2026-06-16 14:19:29.624][发送]: 7e 32 31 30 31 32 41 35 30 30 30 30 30 46 44 41 34 0d (~21012A500000FDA4 )
■ 03.
■ 04.
■ 05.
■ 获取模拟量量化数据
采用浮点数。 为了传输的灵活性,分成 5 个模拟量帧, 包括电总标准模拟量帧 1 个和厂
家自定义帧 4 个,具体安排如下。
■ 01. 获取系统模拟量量化数据 41H

| 数据信息 | 描述 |
|---|---|
| DATAINFO | DATAFLAG |
| ... | DATAF DATAF为UPS遥测量内容 。 ![]() |
■ 02. 获取输入与旁路模拟量量化数据 E1H
本帧为电总协议厂家扩展帧, CID2 为 E1H,数据格式为浮点数


■ 001. COMMD INFO
注: LENID = 02H。 COMMD INFO由查询对象TARGET组成。
■ 002. TARGET
| TARGET 字段名称 | 位域范围 | 取值 | 意义描述 | 备注 |
|---|---|---|---|---|
| UPS ID (并机编号) | 高 3 位 | 0 | 本机 | 正常有效值 |
| 其它 | 无效 | 保留字段 | ||
| UPS COMPONENT (组件名称) | 低 5 位 | 1 ~ 20 | 功率模块 1 ~ 功率模块 20 | 依次表示各功率模块 |
| 23 | 系统 | 指代整个UPS系统 | ||
| 其它 | 无效 | 保留字段 |
■ 003. 获取A项输入电压
c
[2026-06-16 17:09:55.317][发送]: 7e 32 31 30 31 32 41 45 31 45 30 30 32 30 34 46 44 31 38 0d (~21012AE1E00204FD18 )
| 序号 | 字段名称 | 字节数 | 十六进制值 | ASCII 值 | 含义说明 |
|---|---|---|---|---|---|
| 1 | SOI | 1 | 7E |
~ |
起始标志位,固定为 0x7E |
| 2 | VER | 2 | 32 31 |
21 |
协议版本号,表示 2.1 版本 |
| 3 | ADR | 2 | 30 31 |
01 |
设备地址,目标设备地址为 01 |
| 4 | CID1 | 2 | 32 41 |
2A |
控制标识码 1,固定为 2A(表示 UPS 设备类型) |
| 5 | CID2 | 2 | 45 31 |
E1 |
控制标识码 2,E1H 表示 查询输入模拟量量化数据(与上条指令的 E2H 输出模拟量区分) |
| 6 | LENGTH | 4 | 45 30 30 32 |
E002 |
INFO 字段长度: • LENID = 0x002(INFO 的 ASCII 字符数为 2) • 实际 二进制数据长度为 1 字节(因每字节用 2 个 ASCII 字符表示) |
| 7 | INFO | 2 | 30 34 |
04 |
核心查询参数(二进制值 0x04): • 遥测量编号 = 4(根据协议定义,4 表示 B 相输入电压) • 注 :TARGET 字段(UPS ID + COMPONENT)未显式指定,默认使用 本机系统(UPS ID=0,COMPONENT=23) |
| 8 | CHKSUM | 4 | 46 44 31 38 |
FD18 |
校验和: • 计算范围:VER → INFO 所有 ASCII 字符值累加(32 31 30 31 32 41 45 31 45 30 30 32 30 34) • 累加和 0x02E8 → 模 65535 取反加 1 得 0xFD18 |
| 9 | EOI | 1 | 0D |
\r |
结束标志,固定为 0x0D |
■ 03. 获取输出与负载模拟量量化数据 E2H


■ 001. COMMD INFO
注: LENID = 02H。 COMMD INFO由查询对象TARGET组成。
■ 002. TARGET
| 字段名称 | 位域范围 | 取值 (十进制) | 意义描述 | 备注 |
|---|---|---|---|---|
| UPS ID (并机编号) | 高 3 位 | 0 | 本机 | 当前通讯的目标设备 |
| 其它 | 无效 | 协议暂不支持查询并机系统中的其他从机 | ||
| UPS COMPONENT (组件名称) | 低 5 位 | 1 ~ 20 | 功率模块 1 ~ 20 | 依次对应系统中的具体功率模块 |
| 23 | 系统 | 指代整台 UPS 系统(如查询系统级电压、频率等) | ||
| 其它 | 无效 | 保留字段,当前无定义 |
■ 003. 获取A项输出电压
c
//获取本机ID A项输出电压
[2026-06-16 16:53:14.798][发送]: 7e 32 31 30 31 32 41 45 32 45 30 30 32 30 33 46 44 31 38 0d (~21012AE2E00203FD18 )
■ 004. 获取B项输出电压
c
//获取本机ID B项输出电压
[2026-06-16 16:55:29.317][发送]: 7e 32 31 30 31 32 41 45 32 45 30 30 32 30 34 46 44 31 37 0d (~21012AE2E00204FD17 )
| 序号 | 字段名称 | 字节数 | 十六进制值 | ASCII 值 | 含义说明 |
|---|---|---|---|---|---|
| 1 | SOI | 1 | 7E |
~ |
起始标志位,固定为 0x7E |
| 2 | VER | 2 | 32 31 |
21 |
协议版本号,表示 2.1 版本 |
| 3 | ADR | 2 | 30 31 |
01 |
设备地址,目标设备地址为 01 |
| 4 | CID1 | 2 | 32 41 |
2A |
控制标识码 1,固定为 2A(表示 UPS 设备类型) |
| 5 | CID2 | 2 | 45 32 |
E2 |
控制标识码 2,E2H 表示 查询输出与负载模拟量量化数据 |
| 6 | LENGTH | 4 | 45 30 30 32 |
E002 |
INFO 字段长度: • LENID = 0x002(INFO 的 ASCII 字符数为 2) • 实际 二进制数据长度为 1 字节(因每字节用 2 个 ASCII 字符表示) |
| 7 | INFO | 2 | 30 34 |
04 |
核心查询参数(二进制值 0x04): • 遥测量编号 = 4(根据协议定义,4 表示 B 相输出电压) • 注 :TARGET 字段(UPS ID + COMPONENT)未显式指定,默认使用 本机系统(UPS ID=0,COMPONENT=23) |
| 8 | CHKSUM | 4 | 46 44 31 37 |
FD17 |
校验和: • 计算范围:VER → INFO 所有 ASCII 字符值累加(32 31 30 31 32 41 45 32 45 30 30 32 30 34) • 累加和 0x02E9 → 模 65535 取反加 1 得 0xFD17 |
| 9 | EOI | 1 | 0D |
\r |
结束标志,固定为 0x0D |
LENGTH共2个字节,由 LENID 和 LCHKSUM 组成,LENID表示INFO项的ASCII码字节数, 当LENID = 0时,INFO为空,即无该项。 LENGTH传输中先传高字节,再传低字节,分四个ASCII码传送。 校验码的计算: D11D10D9D8 + D7D6D5D4 + D3D2D1D0,求和后模16余数取反加1。 例:INFO项的ASCII码字节数为18,即 LENID = 0000 0001 0010B = 18。 