UPS通信协议.docx
《UPS通信协议.docx》由会员分享,可在线阅读,更多相关《UPS通信协议.docx(39页珍藏版)》请在冰豆网上搜索。
UPS通信协议
UPS系统后台通信协议
协议版本:
V1.00
1.概述
本文规定了我公司UPS产品与后台监控软件的通讯协议。
本文以电总协议(YD/T1363-2005)为基本依据,并增加若干自定义的命令幀和数据,来完成后台对UPS监控的通讯要求。
2.物理接口
1
2
2.1串行通信口
采用RS232/RS485。
2.2信息传输方式
为异步方式,起始位1位,数据位8位,停止位1位,无校验。
2.3数据传输速率
9600bps
2.4通信方式
在局站内的监控系统为分布结构。
监控站后台与UPS系统的通讯为主从方式,监控站后台是上位机,UPS系统是下位机。
3.信息类型及协议基本格式
3
3.1信息类型
信息分两种类型:
Ø由主机发出到从机的命令信息(简称命令信息)
Ø由从机返回到主机的响应信息(简称响应信息)
3.2协议基本格式
序号
1
2
3
4
5
6
7
8
9
字节
1
1
1
1
1
2
X
2
1
格式
SOI
VER
ADR
CID1
CID2
LENGTH
INFO
CHKSUM
EOI
表3.2.1
基本格式的注解见表3.2.2以及表3.2.3
序号
符号
表示意义
备注
1
SOI
起始标志位
0x7E
2
VER
通讯协议版本号
3
ADR
设备地址描述(1-254,0、255保留)
4
CID1
设备标识码(UPS模块标识码为2AH)
5
CID2
命令信息:
控制标识码(命令类型描述)
响应信息:
返回码RTN(见返回码表3.2.3)
6
LENGTH
INFO字节长度(包括LENID和LCHKSUM),
数据格式见表3.3.1
7
INFO
命令信息:
控制数据信息COMMANDINFO
应答信息:
应答数据信息DATAINFO
8
CHKSUM
校验和码,数据格式见3.3.3
9
EOI
结束码
0x0D
表3.2.2
说明:
COMMANDINFO由以下控制命令码组成:
ØCOMMANDTYPE(1字节):
表示不同的遥控命令或不同设置参数命令;
ØCOMMANDID(1字节):
表示同一遥控命令的不同控制状态;
DATAINFO由以下应答码组成:
ØDATAI:
含有整型数的应答信息;
ØDATAF:
含有浮点数的应答信息;
ØRUNSTATE:
设备的运行状态;
ØWARNSTATE:
设备的告警状态;
序号
RTN值(HEX)
表示意义
备注
1
0x00
正常
2
0x01
VER错误,协议版本不匹配
3
0x04
CID2无效
4
0x06
无效数据
5
0x80
无效权限
6
0x81
操作失败
表3.2.3
3.3数据格式
3.3.1基本数据格式
在3.2基本格式中的各项除SOI和EOI是以十六进制解释(SOI=0x7E,EOI=0x0D),十六进制传输外,其余各项都是以十六进制解释,以十六进制—ASCII码的方式传输,每个字节用两个ASCII码表示,即高四位用一个ASCII码表示,低四位用一个ASCII码表示。
例如:
CID2=0x4B,传输时先传送0x34,再传送0x42两个字节。
3.3.2LENGTH数据格式
LENGTH的数据格式如下表所示:
高字节
低字节
校验码LCHKSUM
LENID(表示INFO的传送中ASCII码字节数)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
表3.3.1
LENGTH共2个字节,由LENID和LCHKSUM组成。
LENID表示INFO项的ASCII码字节数,当LENID=0时,INFO为空,即无该项。
LENGTH传输中先传高字节,再传低字节,分四个ASCII码传送。
校验码的计算:
D11D10D9D8+D7D6D5D4+D3D2D1D0,求和后模16的余数取反加1。
例如:
INFO项的ASCII码字节数为18,即LENID=000000010010。
D11D10D9D8+D7D6D5D4+D3D2D1D0=0000+0001+0010=0011,模16余数为0011H,0011H取反加1就是1101H,即LCHKSUM为1101H。
可得:
LENGTH为:
1101000000010010,即D012H。
3.3.3CHKSUM数据格式
CHKSUM的计算是除SOI、EOI和CHKSUM外,其他字符ASCII码值累加求和,所得结果模65536余数取反加1。
例:
收到或发送的字节序列是:
“~1203400456ABCDFEFC72\R”,则最后五个字符“FC72\R”中的FC72是CHKSUM,计算方法是:
‘1’+‘2’+‘0’+···+‘A’+‘B’+···+‘F’+‘E’=31H+32H+30H+···+41H+42H+···+46H+45H=038EH
其中‘1’表示1的ASCII码值,‘E’表示E的ASCII码值。
038EH模65536余数是038EH,038EH取反加1就是‘FC72’。
3.3.4INFO数据格式
3.3.4.1浮点数格式
浮点数格式与IEEE-754标准(32)有关,长度32位。
四个字节的浮点数据传送顺序为先低字节后高字节,即传送顺序为:
先低字节D7~D0,接着D15~D8,然后D23~D16,最后高字节D31~D24,最终作为分成8个ASCII码传送。
浮点数格式如下:
D31
D30~D23
D22~D0
浮点数符号位
阶码
尾数
浮点数的正负取决于符号位S的值,S=1表示浮点数为负,S=0则浮点数为正。
例如:
当32位浮点数为0x40,0xA0,0x00,0x00时(如上所示),即S=0,E=129,M=2^21,
则浮点数值=(1+2^21×2^-23)·2^(129-127)=5.0
3.3.4.2整型数(INTEGER,2BYTE)
有符号整型数:
-32768—+32767
无符号整型数:
0—+65535
两个字节的整型数据传送顺序为先高字节后低字节。
3.3.4.3无符号字符型(CHAR,1BYTE,0-255)
4.编码表
4
4.1编码分配及分类
在电总协议的规定中UPS的CID1为2AH。
CID2编码分配及分类表见表4.1.1。
序号
内容
CID1
CID2
备注
1
获取模拟量量化数据(浮点数)
0x2A
0x41
标准帧
2
获取开关量状态
0x2A
0x43
标准帧
3
获取告警量状态
0x2A
0x44
标准帧
4
获取通信协议版本号
0x2A
0x4F
标准帧
5
获取设备地址
0x2A
0x50
标准帧
6
获取设备(监测模块)厂家信息
0x2A
0x51
标准帧
7
获取自定义模拟量量化数据1(浮点数)
0x2A
0x80
扩展帧
8
获取自定义模拟量量化数据2(浮点数)
0x2A
0x81
扩展帧
9
获取自定义模拟量量化数据3(浮点数)
0x2A
0x82
扩展帧
10
获取自定义告警量状态1
0x2A
0x83
扩展帧
11
获取自定义历史报警/提示记录1
0x2A
0x84
扩展帧
12
获取自定义模拟量量化数据4(浮点数)
0x2A
0x85
扩展帧
表4.1.1
说明:
Ø从机对于“获取模拟量量化后数据(含定点数,浮点数)”,“获取开关输入状态”,“获取告警状态”命令的响应信息中,其DATAINFO字段首先为一标示字DATAFLAG,标示字描述如下:
高字节
低字节
MaxModule
OnlineModule
StatuBit
WarnBit
D15~D9
D8~D2
D1
D0
WarnBit:
告警标示位,告警状态发生变化时为1,否则为0。
在“获取告警状态”命令的响应信息中,此位无效;
StatuBit:
开关标示位,开关量状态发生变化时为1,否则为0。
在“获取开关输入状态”命令的响应信息中,此位无效;
MaxModule:
系统模块地址范围,例如MaxModule=10,表示系统中存在地址1~10的模块,单机时为0。
OnlineModule:
并联系统中当前在线模块数量,单机时为0。
Ø未监测可选项的响应字节传送十六进制数值0x20。
5.后台通信协议
5
5.1说明
模拟量量化数据采用浮点数形式。
5.2获取系统模拟量量化数据
采用浮点数,为了传输的灵活性,将整个模拟量分成4个模拟帧,分别为电总标准模拟量帧1个、厂家自定义帧3个,具体如下:
5.2.1获取系统模拟量量化数据(标准帧)
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x41
LENGTH
CHKSUM
EOI
注:
LENID=0x00。
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
RTN
LENGTH
INFO
CHKSUM
EOI
注:
DATAINFO由DATAFLAG与DATAF组成,DATAF为UPS遥测量内容。
DATAF内容见表5.2.1.1。
序号
内容
DATAF字节
1
交流输入相电压A
4
2
交流输入相电压B
4
3
交流输入相电压C
4
4
交流输出相电压A
4
5
交流输出相电压B
4
6
交流输出相电压C
4
7
交流输出电流A
4
8
交流输出电流B
4
9
交流输出电流C
4
10
直流输入电压(单电池组或双电池组正极电池电压)
4
11
输出频率(三相一致)
4
12
标示电池数量m
1(填0)
13
标示温度数量n
1(填0)
14
用户自定义遥测内容数量为1
1(填1)
15
直流输入电压(单电池组或双电池组负极电池电压)
4
表5.2.1.1
5.2.2获取系统模拟量量化数据(扩展帧1)
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x80
LENGTH
CHKSUM
EOI
注:
LENID=0x00。
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
RTN
LENGTH
INFO
CHKSUM
EOI
注:
DATAINFO由DATAFLAG与DATAF组成,DATAF为UPS遥测量内容。
DATAF内容见表5.2.2.1。
序号
内容
DATAF字节
1
旁路输入相电压A
4
2
旁路输入相电压B
4
3
旁路输入相电压C
4
4
旁路频率
4
5
交流输入电流A
4
6
交流输入电流B
4
7
交流输入电流C
4
8
输入频率
4
9
电池剩余容量
4
10
电池温度
4
11
正极电池电流
4
12
负极电池电流
4
表5.2.2.1
5.2.3获取系统模拟量量化数据(扩展帧2)
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x81
LENGTH
CHKSUM
EOI
注:
LENID=0x00。
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
RTN
LENGTH
INFO
CHKSUM
EOI
注:
DATAINFO由DATAFLAG与DATAF组成,DATAF为UPS遥测量内容。
DATAF内容见表5.2.3.1。
序号
内容
DATAF字节
1
输入功率因数A
4
2
输入功率因数B
4
3
输入功率因数C
4
4
输出功率因数A
4
5
输出功率因数B
4
6
输出功率因数C
4
7
输出负载百分比A
4
8
输出负载百分比B
4
9
输出负载百分比C
4
10
输出视在功率A
4
11
输出视在功率B
4
12
输出视在功率C
4
表5.2.3.1
5.2.4获取分路模拟量量化数据(扩展帧3)
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x82
LENGTH
COMMANDINFO
CHKSUM
EOI
注:
COMMANDINFO由1个字节构成,标识被查询模块地址号(有效范围1~254),LENID=0x02。
该指令用于查询模块化UPS系统分路模拟量量化数据
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
RTN
LENGTH
INFO
CHKSUM
EOI
注:
DATAINFO由DATAFLAG与DATAF组成,DATAF为UPS遥测量内容。
DATAF内容见表5.2.4.1。
序号
内容
DATAF字节
1
模块地址号
1
2
交流输入电压A
4
3
交流输入电压B
4
4
交流输入电压C
4
5
交流输入电流A
4
6
交流输入电流B
4
7
交流输入电流C
4
8
交流输出电压A
4
9
交流输出电压B
4
10
交流输出电压C
4
11
交流输出电流A
4
12
交流输出电流B
4
13
交流输出电流C
4
14
正极母线电压
4
15
负极母线电压
4
表5.2.4.1
5.2.5获取系统模拟量量化数据(扩展帧4)
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x85
LENGTH
CHKSUM
EOI
注:
LENID=0x00。
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
RTN
LENGTH
INFO
CHKSUM
EOI
注:
DATAINFO由DATAFLAG与DATAF组成,DATAF为UPS遥测量内容。
DATAF内容见表5.2.5.1。
序号
内容
DATAF字节
1
标示电池数量m
1
2
1#标示电池电压
4
3
2#标示电池电压
4
4
……
……
5
m#标示电池电压
4
表5.2.5.1
5.3获取开关量状态
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x43
LENGTH
CHKSUM
EOI
注:
LENID=00H。
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
RTN
LENGTH
INFO
CHKSUM
EOI
注:
DATAINFO由DATAFLAG与RUNSTATE组成,RUNSTATE为UPS供电状态,其内容见表5.3.1。
序号
内容
字节
备注
1
供电方式
1
0x01:
在线供电
0x02:
旁路供电
0xE9:
均不供电
0x81:
电池供电
2
用户自定义数量=8
1
3
开机/关机
1
0xE0:
开机
0xE2:
关机
4
均充/浮充
1
0xE0:
浮充
0xE1:
均充
0xE2:
非充电状态
5
切换状态
1
0xE0:
故障切旁路
0xE1:
系统切逆变
0xE2:
手动切旁路
6
输入开关状态
1
0xE0:
断开状态
0xE1:
闭合状态
7
维修旁路开关状态
1
0xE0:
断开状态
0xE1:
闭合状态
8
旁路开关状态
1
0xE0:
断开状态
0xE1:
闭合状态
9
输出开关状态
1
0xE0:
断开状态
0xE1:
闭合状态
10
电池开关状态
1
0xE0:
断开状态
0xE1:
闭合状态
表5.3.1
5.4获取告警量状态
5.4.1获取母线告警量状态
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x44
LENGTH
CHKSUM
EOI
注:
LENID=00H。
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
RTN
LENGTH
INFO
CHKSUM
EOI
注:
DATAINFO由DATAFLAG与WARNSTATE组成,WARNSTATE为UPS供电,其内容见表5.4.1。
序号
内容
字节
含义
1
逆变器同步/不同步(逆变与旁路)
1
0x00:
正常;0x03:
不同步
2
主路电压异常
1
0x00:
正常
0x01:
低于下限
0x02:
高于上限
0xEA:
缺相
3
整流器异常(全部故障)
1
0x00:
正常;0xF0:
故障
4
逆变器异常(全部故障)
1
0x00:
正常;0xF0:
故障
5
旁路电压异常
1
0x00:
正常
0x01:
低于下限
0x02:
高于上限
0xEA:
缺相
6
蓄电池异常
1
0x00:
正常
0x01:
低于下限(关机点)
0x02:
高于上限(电压过高)
0xF0:
电池无
0xE1:
预告警
0xE2:
电池接反
0xF0:
故障
7
标示电池数量m
1
填0
8
用户自定义告警数量=13
1
填13
9
主路频率异常
1
0x00:
正常
0x01:
低于下限
0x02:
高于上限
10
旁路频率异常
1
0x00:
正常
0x01:
低于下限
0x02:
高于上限
11
旁路相序错误
1
0x00:
正常;0xF0:
故障
12
电池温度异常
1
0x00:
正常;0xF0:
故障
13
负载异常
1
0x00:
正常
0xE0:
超额负荷
0xE1:
预警负荷
0xE3:
短路
0xE4:
超出标称峰值系数
0xF0:
故障
14
内部通信故障
1
0x00:
正常;0xF0:
故障
15
预充电故障
1
0x00:
正常;0xF0:
故障
16
充电器故障
1
0x00:
正常;0xF0:
故障
17
内部过温
1
0x00:
正常;0xF0:
故障
18
辅助电源故障
1
0x00:
正常;0xF0:
故障
19
切换故障
1
0x00:
正常;
0xE5:
输入切换故障
0xE6:
输出切换故障
0xF0:
故障
20
风机故障
1
0x00:
正常;0xF0:
故障
21
并机故障
1
0x00:
正常;
0xE7:
并机通信故障
0xE8:
同步信号故障
0xE9:
主从识别故障
0xF0:
故障
22
模块故障
1
0x00:
正常;0xF0:
故障
23
EPO关机
1
0x00:
正常;0xF0:
故障
24
SPD故障
1
0x00:
正常;0xF0:
故障
表5.4.1
告警字节描述:
0x00:
正常
0x01:
低于下限
0x02:
高于上限
0x03:
不同步
0xF0:
故障
0xE0:
超限
0xE1:
预告警
0xE2:
电池接反
0xE3:
短路
0xE4:
超出标称峰值系数
0xE5:
输入切换故障
0xE6:
输出切换故障
0xE7:
并机通信故障
0xE8:
同步信号故障
0xE9:
主从识别故障
0xEA:
缺相
5.4.2获取分路告警量状态
命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
0x2A
0x83
LENGTH
CHKSUM
EOI
注:
COMMANDINFO由1个字节构成,标识被查询模块地址号(有效范围1~254),LENID=0x02。
响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2