关注官方微信

EN

EN.

UPS协议转Modbus TCP使用方法

发布时间:2025-03-25 作者:上海卓岚 浏览量:4132

一、UPS自定义协议说明

机房UPS一般采用自定义协议,例如:

串口发送:Q1<CR>

UPS回复:(MMM.M NNN.N PPP.P QQQ RRR.R SS.S TT.T b7b6b5b4b3b2b1b0<CR>

状态信息描述:[ 每个量之间都有一个空格符 ]

起始字符:'(',就是十六进制的28H

输入电压(I/P voltage):MMM.M,M为 0~9 的整数,状态量单位为 Vac

输入故障电压(I/P fault voltage):NNN.N,N 为 0~9 的整数,状态量单位为 Vac

输出电压(O/P voltage):PPP.P,P 为 0~9 的整数,状态量单位为 Vac

输出电流(O/P current):QQQ,QQQ 是一个相对于最大允许电流的百分比,不是一个绝对值

输入频率(I/P frequency):RR.R,R 为 0~9 的整数,状态量单位为 Hz

电池电压(Battery voltage):SS.S 或 S.SS,S 为 0~9 的整数

机内温度(Temperature):TT.T,T 为 0~9 的整数,单位为 °C

UPS 开关量状态:<U>

这种协议不利于统一管理。现在需要一个网关将UPS协议转化为Modbus TCP协议。卓岚网关ZLAN5107-C的使用方法如下:

变量 功能码 寄存器地址 长度 类型
MMM.M304浮点
NNN.N324浮点
PPP.P344浮点
RRR.R364浮点
SS.S或者S.SS384浮点
TT.T3104浮点
QQQ3124整形
B03142整形
B13152整形
B23162整形
B33172整形
B43182整形
B53192整形
B63202整形
B73212整形
Online在线标志3222整形

可以读取任意个数的寄存器。请使用Modbus TCP指令。

串口每隔1秒输出 Q1<CR> 。

通过22寄存器可以读取是否在线的信息。如果在线就是1。

假如串口回复的数据是:

(111.1 222.2 333.3 444 555.5 66.6 77.7 11000001

则Modbus显示的数据是:

各寄存器按照上述地址表对应解析

假如SS.S变为S.SS则同样可以得到正确的结果。

注意除了SS.S和S.SS可以变化外,其它的数据的位置和小数点都不能变化,如果高位没有数据则需要补0。

请使用正确的浮点和整形格式进行解析。

其中的QQQ是整形数据,B0~B7是正序排列在寄存器里面的(串口数据是反序从B7到B0的)。