PWS公式系统设计说明
pws_fomular_design_srs
修订记录
序号 | 日期 | 作者 | 说明 |
---|
1 | 2017-12-21 | thomas.li | 新建文档 |
1. 概述
1.1 文档目的
定义PWS数据采集系统的返回串计算公式定义及功能
1.2 项目范围
本产品主要面向中小型机房客户,为机房的基础设施提供环境数据采集检测服务。
1.3 术语
缩略语 | 别名 | 定义 |
---|
Hex | 十六进制 | 返回串的数据构成方式,例如0x01030401000036C403 |
ascii | ascii码 | 返回串的数据构成方式,例如~132382823434 |
modbus | modbus | 数据通信协议 |
pmbus | 电总协议 | 数据定义协议 |
bcd | 数据格式 | 以16进制表示十进制数,例如0x0326=>326 |
crc | CRC校验算法 | 一种校验算法 |
sum | sum校验算法 | 一种校验算法 |
1.4 相关文档
序号 | 文档名 | 文档编号 |
---|
1 | pws_database_design_srs | |
2 | | |
2. 十六进制公式
###2.1 hx(start,length=2,byte_order=1)
-
对象:hex
-
说明:将byte[]转换成十进制整数
-
返回:整数或者-1(参数错误)
-
start:开始位,从0开始计算,Byte的顺序
-
length:长度,按照Byte计算,默认为2
-
byte_order:1-高位在前,0-高位在后
string:0x01030401010038CCCC
hx(6,2)=hx(3,2,1)=int(0x0101,16)=257
###2.2 hb(start,index)
###2.3 ht(start,length=2)
###2.4 hc(start,length=4)
3. ASCII公式
###3.1 ap(start,order=1)
-
对象:ascii
-
说明:截取电总协议中的字符串,并转换成浮点数
-
返回:浮点数,-1-输入错误
-
start:开始位,从0开始计算
-
order:1-高位在后 0-高位在前
string:~10012A0020680133B35A43000....
ap(15)=ap(15,1)=218.6999...
###3.2 ax(start,length=2,ascii_order=0)
###3.3 ad(start,length)
###3.4 ac(start,length)
###3.5 ab(start,index)
###3.6 av()
-
对象:ascii
-
说明:将字符串直接转换成浮点数(支持负数)
-
返回:浮点数,-2:格式错误
string='-32.6'
av()=-32.6
string='a'
av()=-2
string='3'
av()=3.0
4. 逻辑判断
###4.1 pif(condition, out_true, out_false)
5. 校验
###5.1 crc(hex)
###5.2 sum(hex)
- 对象:hex
- 校验方式:和(所有非校验字段的十六进制和&&FF)
###5.3 长度(hex)
###5.4 长度(ascii)
- 对象:ascii
- 校验方式:长度计算(max=0,min=0)
###5.5 lrc(ascii)
- 对象:ascii
- 校验方式:lrc校验(非校验字节按照十六进制和取反加一)
5.6 sum(ascii)
- 对象:ascii
- 校验方式:和校验(非校验字节按照十六进制和)
5.7 pmbus(ascii)
- 对象:ascii
- 校验方式:电总(非校验字节按照十六进制和对FFF取反加一)
6. 工具
###6.1 crc计算
###6.2 sum(hex)计算
6.3 lrc计算
6.4 sum(ascii)计算
6.5 电总(ascii)计算