9SX UPS串口SHUT通讯协议

9SX UPS通讯协议

  • SHUT通讯协议
    • 串口定义
    • 同步
    • SHUT数据帧
    • UPS Commands
      • GET REPORT command
  • 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…Dn Checksum-8
1 byte 1 byte 1-8 bytes 1 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

Field Request Type 1 Request Type 2 Report ID Report Type Inter LSB Inter MSB Lenght LSB Length MSB
Data 0xA1 0x01 变量 0x03 0x00 0x00 0x08 0x00

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

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

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

SHUT通讯实例

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

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

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

你可能感兴趣的:(PLC,网络,单片机)