HART协议数据格式和消息结构的举例分析

网络 网络管理
下面我们对HART协议的数据格式以及消息结构的举例进行了具体的讲解。通过例子的分析,相信大家都能理解这部分的内容了。

前面的文章中,我们对HART协议的消息格式的具体内容进行了分析。那么很多朋友还没有完全掌握,为了让大家对这部分知识有一个清晰的思路。下面我们来对HART协议的数据格式以及消息结构的内容进行一下举例分析。

HART协议数据格式

如果传送的命令不成功,那么响应中就不包含数据。然而响应值是从现场设备内存中取出的,是一个近似值。数据所占的字节和格式视不同的命令而定,具体的规则可以查询相关的资料。

看实例了解HART协议消息结构

例1:主机到从机

FF
FF
FF
FF
FF
82
A6
06
BC
61
4E
01
00
B0

上面是主机到从机发送的一条消息。前5个字节值都为FF,显然他是导言字节。接着的82起始字节,表示主机到从机发出的长结构的消息。后5个字节 “A6,06,BC,61,4E”是地址字节化为二进制表示如下: 

A6

06

BC

61

4E

1010 0110

0000 0110

1011 1100

0110 0001

0100 1110

可见首字节A6的***位为1表示主机,次高位为0表示非突发模式,后面的38 b表示设备的惟一标号:“100110”是生产厂家代码,值为38,是Rosemount公司的代码;后一字节06是设备型号代码,06代表的型号是3051C;后面的3个字节是设备识别号,本例中的值为12345678;再接下来的01是命令字节,表示1号命令,即读取PV值后面的00是表示数据的长度;本例中无数据,值为0;***是校验字节B0。

例2:从机到主机

FF FF FF FF FF 86 A6 06 BC 61 4E 01 07 00 00 06 40 B0 00 00 45

HART协议的从机到主机的例子,表示的是从机到主机的一条消息。本例大部分与例1相似,不同的是数据字节不再为0,其中的06表示单位PSI;后面的4个字节是用浮点数表示的值, 为5.5。并且由于本例是由从机到主机的应答消息,所以存在着状态位,即本例中的00 00表示OK。

例3:突发模式

FF FF FF FF FF 81 53 03 04 E6 D7 03 1A 00 60 41 3F A0 00 27 41 3F A0 00 39 42 47 60 00 06 BF 06 60 00 39 41 95 00 00 D4

上面是突发模式HART协议发出的一条消息。

第1个字节81表示突发的长结构模式,与前例中相似的地方我们不再介绍。注意到状态字节“00 60”后的字节“41 3FA000”,他表示的是当前的电流值,计算后是11.976 6;后面的27表示单位mA,像后面的39表示“%”一样。数据字节中的“42 47 60 00”,“BF06 60 00”,“41 95 0000”分别表示“SV”,“TV”,“FV”表示方法与PV相同。经过解释后的消息可以表示为:“LBTXS/RdAllPv/026/0060/11.9766/mA/11.9766/%/49.8438/psi/-0.524902/%/18.625/D4”。

责任编辑:佟健 来源: csdn.net
相关推荐

2010-07-09 09:42:05

HART协议

2010-07-09 12:53:30

HART协议

2010-07-13 14:49:28

HART协议

2010-07-09 09:37:00

HART协议

2010-07-13 10:33:38

HART协议

2010-07-13 13:50:44

HART协议

2010-06-24 14:34:32

HART协议

2010-06-24 14:58:06

ICMP协议消息

2022-06-05 14:57:35

发送钉钉运维架构

2010-07-05 11:40:12

GRE协议

2010-07-12 09:48:50

HART协议

2010-07-08 14:00:02

HART协议

2010-07-06 16:05:41

HART协议

2010-07-12 10:02:26

HART协议

2010-07-08 12:34:46

HART协议

2010-07-08 13:03:06

HART协议

2010-07-12 21:44:51

HART协议

2010-07-08 13:26:45

HART协议

2010-07-06 16:02:30

HART协议

2010-06-28 21:27:55

HART协议
点赞
收藏

51CTO技术栈公众号