蒸汽VX1000热量通讯协议v101.docx
- 文档编号:9976719
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:12
- 大小:18.55KB
蒸汽VX1000热量通讯协议v101.docx
《蒸汽VX1000热量通讯协议v101.docx》由会员分享,可在线阅读,更多相关《蒸汽VX1000热量通讯协议v101.docx(12页珍藏版)》请在冰豆网上搜索。
蒸汽VX1000热量通讯协议v101
通讯协议
V1.0
2011-4-13
一、通讯指令1
命令代码是16进制的。
03H读取保持寄存器
描述
读取仪表保持寄存器,包括瞬时量和累积量。
不支持广播命令。
附录一中包含了命令可以访问的寄存器列表。
发送
命令信息中包含了读取寄存器的起始地址和读取长度。
下面是一个从地址为8的设备读取地址00~01(瞬时流量)的寄存器的例子。
发送格式
名称
数据(HEX)
从设备地址
08H
功能码
03H
起始地址高
00H
起始地址低
00H
寄存器数量高
00H
寄存器数量低
02H
CRC校验低
C4H
CRC校验高
92H
返回
在返回的信息中每个寄存器包含两个字节的数据。
字节排列顺序与仪表通讯组态中浮点数字节排列顺序一致,默认为FF2-FF1-FF4-FF3。
下面是上页发送命令的正常返回。
返回格式
名称
数据(HEX)
从设备地址
08H
功能码
03H
字节数量
04H
高字节(寄存器00)
00H
低字节(寄存器00)
00H
高字节(寄存器01)
10H
低字节(寄存器01)
52H
CRC校验低
EFH
CRC校验高
0EH
附录1、03命令读取仪表寄存器地址
寄存器地址
参数
类型
地址
说明
瞬时流量
Float1
0x00
4字节浮点数,字节排列顺序和通讯组态一致,默认为FF2-FF1-FF4-FF3
差压/频率
Float3
0x02
温度/供温
Float5
0x04
压力/回温
Float7
0x06
累积流量
Ulong9
0x08
整形累积量,无小数点,字节排列顺序为4-3-2-1
瞬时热量
Float11
0x0A
浮点数
累积热量
Ulong14
0x0C
整形
二、通讯指令2
命令代码是16进制的。
04H读取输入寄存器
描述
读取仪表输入寄存器,包括组态量程。
不支持广播命令。
附录二中包含了命令可以访问的寄存器列表。
发送
命令信息中包含了读取寄存器的起始地址和读取长度。
下面是一个从地址为8的设备读取地址00~01(差压/频率量程下限)的寄存器的例子。
发送格式
名称
数据(HEX)
从设备地址
08H
功能码
04H
起始地址高
00H
起始地址低
00H
寄存器数量高
00H
寄存器数量低
02H
CRC校验低
71H
CRC校验高
52H
返回
在返回的信息中每个寄存器包含两个字节的数据。
字节排列顺序为FF1-FF2-FF3-FF4。
下面是上页发送命令的正常返回。
返回格式
名称
数据(HEX)
从设备地址
08H
功能码
04H
字节数量
04H
高字节(寄存器00)
00H
低字节(寄存器00)
00H
高字节(寄存器01)
80H
低字节(寄存器01)
40H
CRC校验低
02H
CRC校验高
B4H
附录2、04命令读取仪表寄存器地址
寄存器地址
参数
类型
地址
说明
差压/频率量程下限
float
0x00
4字节浮点数,字节排列为FF1-FF2-FF3-FF4
差压/频率量程上限
float
0x02
压力/回温量程下限
float
0x04
压力/回温量程上限
float
0x06
温度/供温量程下限
float
0x08
温度/供温量程上限
float
0x0A
三、通讯指令3
命令代码是16进制的。
10H写多路寄存器
描述
写入仪表寄存器,包括组态量程。
不支持广播命令。
附录三中包含了命令可以访问的寄存器列表。
发送
命令信息中包含了写入寄存器的起始地址和长度。
下面是一个将地址为8的设备差压/频率量程下限写为4.00的例子。
发送格式
名称
数据(HEX)
从设备地址
08H
功能码
10H
起始地址高
00H
起始地址低
00H
寄存器数量高
00H
寄存器数量低
字节长度
高字节(寄存器00)
低字节(寄存器00)
高字节(寄存器01)
低字节(寄存器01)
02H
04H
00H
00H
80H
40H
CRC校验低
BDH
CRC校验高
03H
返回
下面是上页发送命令的正常返回。
返回格式
名称
数据(HEX)
从设备地址
08H
功能码
10H
起始地址高
00H
起始地址低
00H
寄存器数量高
00H
寄存器数量低
02H
CRC校验低
41H
CRC校验高
51H
附录3、10命令写入仪表寄存器地址
寄存器地址
参数
类型
地址
说明
差压/频率量程下限
float
0x00
4字节浮点数,字节排列为FF1-FF2-FF3-FF4
差压/频率量程上限
float
0x02
压力/回温量程下限
float
0x04
压力/回温量程上限
float
0x06
温度/供温量程下限
float
0x08
温度/供温量程上限
float
0x0A
附录4CRC循环冗余校验算法
1.CRC校验概述
CRC校验码的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(既CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。
在接收端,则根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。
2.CRC校验算法
//CalCrc=====================
//功能计算CRC校验
//参数buf校验缓冲
//length检验长度
//返回CRC校验结果,短整形表示HL
constucharucCRCHi[]=
{
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40
};
constucharucCRCLo[]=
{
0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,
0x07,0xC7,0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD,
0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,
0x08,0xC8,0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,
0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,0x14,0xD4,
0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,
0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3,
0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,
0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,
0x3B,0xFB,0x39,0xF9,0xF8,0x38,0x28,0xE8,0xE9,0x29,
0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,
0xEC,0x2C,0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,
0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,0xA0,0x60,
0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,
0xA5,0x65,0x64,0xA4,0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,
0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68,
0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,
0x7F,0xBF,0x7D,0xBD,0xBC,0x7C,0xB4,0x74,0x75,0xB5,
0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,
0x70,0xB0,0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,
0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,0x9C,0x5C,
0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,
0x99,0x59,0x58,0x98,0x88,0x48,0x49,0x89,0x4B,0x8B,
0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C,
0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,
0x43,0x83,0x41,0x81,0x80,0x40
};
//CRC计算
ushortCalCrc(uchar*pucData,ushortusDataLen)
{
ucharucCrcLo=0xFF;
ucharucCrcHi=0xFF;
ucharucIndex;
while(usDataLen--)
{
ucIndex=ucCrcLo^*pucData++;
ucCrcLo=ucCrcHi^ucCRCHi[ucIndex];
ucCrcHi=ucCRCLo[ucIndex];
};
return(ucCrcHi*0x100+ucCrcLo);
}
附录5IEEE4字节浮点数传输与编码
1.IEEE4字节浮点数编码简介
4字节共32位
00-22位尾数(1.尾数)
23-30位阶码(2^(阶码-127))
31位符号(0正;1负)
值=(符号)[(1.尾数)*(2^(阶码-127))]
2.举例说明
1、读取数据:
080300C00002C4AE[偏移192,长度2字]
2、收取数据:
080304000040885295[数据00004088,长度04]
3、分析数据:
00004088[FF1FF2FF3FF4]
A、前后字交换顺序40880000[FF3FF4FF1FF2]
二进制:
01000000100010000000000000000000
B、尾数=00010000000000000000000B=0.0625;
阶码=10000001B-127=129-127=2;
符号=(+);
C、计算数值:
+[1.0625*2^2]=4.25
附录6ASCII码表
高4位
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
低4位
0
SP
0
@
P
p
1
1
A
Q
a
q
2
2
B
R
b
r
3
#
3
C
S
c
s
4
4
D
T
d
t
5
%
5
E
U
e
u
6
&
6
F
V
f
v
7
7
G
W
g
w
8
(
8
H
X
h
x
9
)
9
I
Y
i
y
A
LF
*
:
J
Z
j
z
B
ESC
+
K
k
C
L
l
D
CR
-
M
m
E
.
N
n
F
/
O
o
修改日志
2011-4-13dAsh
增加瞬时热量、累积热量寄存器地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蒸汽 VX1000 热量 通讯 协议 v101