您的位置:首页 > 其它

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

2013-01-10 10:15 260 查看

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

作者:白志飞出处:中国IT实验室2010-07-14 07:33
 前面的文章中,我们对HART协议的消息格式的具体内容进行了分析。那么很多朋友还没有完全掌握,为了让大家对这部分知识有一个清晰的思路。下面我们来对HART协议的数据格式以及消息结构的内容进行一下举例分析。
  HART协议数据格式

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

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

  例1:主机到从机  (0号命令 读取设备序号)

   
FFFFFFFFFF82A606BC614E0100B0
    上面是主机到从机发送的一条消息。前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 FF86A6 06 BC 61 4E010700 0006 40 B0 00 0045
    HART协议的从机到主机的例子,表示的是从机到主机的一条消息。本例大部分与例1相似,不同的是数据字节不再为0,其中的06表示单位PSI;后面的4个字节是用浮点数表示的值, 为5.5。并且由于本例是由从机到主机的应答消息,所以存在着状态位,即本例中的00 00表示OK。

    例3:突发模式

   
FF FF FF FF FF8153 03 04 E6 D7031A00 6041 3F A0 002741 3F A0 003942 47 60 0006BF 06 60 003941 95 0000D4
    上面是突发模式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”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: