9SX UPS串口SHUT通讯协议

在改造中碰到了某公司的9SX UPS串口通讯。原来的控制器采用了C语言编程。因为不想费事,向原厂家询问通讯协议。前台的小姐很骄傲的说他们不提供通讯协议了,要想通讯就要采购他们公司的硬件卡,提供通讯协议。我问他们这个国际公司还要脸吗?让我鄙视。在这里把调试的经过和大家说一下,供大家参考。

SHUT通讯协议

SHUT是Sirail HID UPS Transfer的缩写。写HID的都知道,是USB设备的定义。在这里USP厂家把设备描述用在串口通讯上,实现UPS的数据通讯。

串口定义

Default settings of a UPS SHUT serial port are :

  • Baud rate : 2400
  • 8 data bits
  • No parity
  • 1 stop bit
  • Flow control : none

同步

主机可以向UPS发送同步信息,发送同步信息是发送一个, 字符<0x16, ^V>。UPS收到同步信息在200ms之内会返回一个信息。

按照2,3,和5接线,用串口助手就可以实验这个功能。发送一个0x16的16进制数字。在串口助手上就会收到一个0x16的返回信息。

SHUT数据帧

经过同步后,开始发送数据帧,并从UPS侧接收数据帧。

帧类型数据长度Data byte D0…DnChecksum-8
1 byte1 byte1-8 bytes1 byte

帧类型:

  • 0x01 <^A> ---- 请求(从主机到UPS)
  • 0x04<^D> ---- 响应(从UPS到主机)
  • 0x05<^E> ---- 通知(UPS主动通知主机)
  • 在类型字节上+0x80表示是最后一帧。

数据长度:
在这个字节中定义帧的数据长度。如果要发送5个字节的数据,设置这个字节为0x55. 允许的长度设定值为:0x11,0x22,… , 0x88。

校验和:
对发送的数据,注意,不是全部的帧,而是数据进行异或校验。
Chk = XOR XOR … XOR

UPS Commands

GET REPORT command

FieldRequest Type 1Request Type 2Report IDReport TypeInter LSBInter MSBLenght LSBLength MSB
Data0xA10x01变量0x030x000x000x080x00

这里面数据起变化的是Report ID,对应不同的报告。UPS侧接到GET REPORT命令后返回:

Byte 0:Report ID
Byte 1…n: 数据。

这里要说明的是在发送的自己中对数据进行XOR校验,但在返回的报文中,对Byte 0… Byte n进行XOR异或校验。

SHUT通讯实例

字节号事件描述Host DataUPS Data
0主机发送同步信息,字符0x160x16
1UPS回答信息,字符0x160x16
2开始SHUT帧,发送0x01,请求帧,由于是最后的帧0x840x81
3数据长度,0x88, GET REPORT命令,8个字节0x88
4GET REPORT帧,Request Type 10xA1
5GET REPORT帧,Request Type 20x01
6GET REPORT帧,Report ID0x06
7GET REPORT帧,Report type0x03
8GET REPORT帧,Interface #,总是00x00
9GET REPORT帧,Interface #,总是00x00
10GET REPORT帧,字节长度,0x080x08
11GET REPORT帧,帧字节MSB0x00
12帧校验和0xBD
13UPS回答0x06
14UPS发送RESPONSE,最后一个字节0x840x84
15UPS发送回答数据长度0x66
15UPS剩余能量0x64
16UPS剩余时间LSB,秒为单位0x)C
17UPS剩余时间,中间字节0x7B
18UPS剩余时间,中间字节0x00
19UPS剩余时间,MSB0x00
20校验和0x15

通过查询,得到:
剩余能量:100%
剩余时间 = 0x0C + SHL(0x7B, 8) = 31500 秒

通过定时发送询问帧,就可以得到当前的剩余容量和剩余时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值