HART数据格式解析2014-10-14

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1)前导码FF:5~20个字节2)定界符:只有1字节。此字段的最高位决定该帧是长型帧还是短型帧;低三位表示了不同的帧的类型,其余位保留。3)地址:①长帧格式地址:共5个字节(40位)。长帧格式地址建立在设备唯一标识符的基础上,设备唯一标识符标志了每个从设备或现场仪表。它分为三个部分:(1).第一字节的最高位是主设备地址位,该位为1时表示基本主设备,为0时表示副主设备。(2).第一字节的第六位是成组模式设备,该位为1时,表示从设备处于成组模式,为0时表示从设备没有处于成组模式。(3).长地址的其他部分是设备的惟一标识符,共38位。均为0表示广播地址。②短帧格式地址:只有1字节。为保证向后兼容性,HART协议规定只有0号通用命令支持短帧格式。它使协议可动态地将链路上每个设备与一个短帧地址相关联。短帧地址可在链路初始化时使用,以便快速检测链路地址空间。短帧地址分四部分:最高位是主设备地址:该位为1时表示主设备,为0时表示副主设备;第六位为成组模式设备位:为1时表示从设备处于成组模式,为0时,表示从设备没处于成组模式;第四、五位必须置为0;最低四位表示巡检地址。4)命令字节:为1字节它表明该帧所封装的HART命令,命令字节值在从设备响应中原封不动地返回。5)字节计数:为1字节它表明此字节与最后的帧校验字节之间的数据字节个数。用于识别帧的结束。字节长度范围应该是在0-27。6)数据域:由整数字节的用户数据构成,长度为0-25字节7)校验字节:1个字节,一般为除开前导码和校验字节之外所有字节的异或之和8)响应码:2字节,只在从-主帧中出现。响应码第一字节指明通信状态。第二字节表示现场设备工作状态。该帧数据只有在响应码第一字节的位7(b7)为0时才有效。①响应码的第一个字节的第7位如果置位,则剩余的位包含了有关通信错误的信息;第一个字节的第7位如果复位,则剩余的位用来表示命令响应信息。Bit7=1时,其余位表示接收时的错误信息:Bit6垂直奇偶校验错误Bit5覆盖错误Bit4帧错误Bit3纵向奇偶校验错误Bit2保留,应清零。Bit1缓冲区溢出Bit0未定义:至今尚未定义Bit7=0时,则该字节包含有关命令执行情况的信息。其余bit6-bit0编码,范围无符号整数0—127,如:响应码#32忙(00100000)2响应码#64命令不支持②响应码的第二个字节为与设备的操作状态有关的信息,如在第一个字节中报告有错误,则该字节无意义。该字节各位的意义如下:Bit7现场设备工作不正常Bit6组态变化:写或设置命令被执行Bit5冷启动:由于设置信息的重安装Bit4有更多的状态信息可用Bit3基本变量的模拟输出被固定Bit2基本变量的模拟输出己饱和Bit1非基本变量超限Bit0基本变量超限主从设备的短帧格式:主从设备长帧格式:HART通用命令一览HART命令0:读标识码返回扩展的设备类型代码,版本和设备标识码。请求:无响应:字节0:254字节1:制造商ID(Enum)字节2:设备类型(Enum)字节3:请求的最小前导符数(主-从)字节4:通用命令文档版本号字节5:设备规范版本号字节6:设备软件版本号字节7:(前五个bit)设备硬件版本号(后三个bit)物理信号类型(Enum)字节8:设备标志字节9-11:设备ID号HART命令1:读主变量(PV)以浮点类型返回主变量的值。请求:无响应:字节0:主变量单位代码字节1-4:主变量HART命令2:读主变量电流值和百分比读主变量电流和百分比,主变量电流总是匹配设备的AO输出电流。百分比没有限制在0-100%之间,如果超过了主变量的范围,会跟踪到传感器的上下限。请求:无响应:字节0-3:主变量电流,单位毫安字节4-7:主变量量程百分比HART命令3:读动态变量和主变量电流读主变量电流和4个(最多)预先定义的动态变量,主变量电流总是匹配设备的AO输出电流。每种设备类型都定义的第二、第三和第四变量,如第二变量是传感器温度等。请求:无响应:字节0-3:主变量电流,单位毫安字节4:主变量单位代码字节5-8:主变量字节9:第二变量单位代码字节10-13:第二变量字节14:第三变量单位代码字节15-18:第三变量字节19:第四变量单位代码字节20-23:第四变量HART命令4:保留HART命令5:保留HART命令6:写POLLING地址这是数据链路层管理命令。这个命令写Polling地址到设备,该地址用于控制主变量AO输出和提供设备标识。只有当设备的Polling地址被设成0时,设备的主变量AO才能输出,如果地址是1~15则AO处于不活动状态也不响应应用过程,此时AO被设成最小;并设置传输状态第三位——主变量模拟输出固定;上限/下限报警无效。如果Polling地址被改回0,则主变量AO重新处于活动状态,也能够响应应用过程。请求:字节0:设备的Polling地址响应:字节0:设备的Polling地址HART命令7:HART命令8:HART命令9:HART命令10:HART命令11:用设备的Tag读设备的标识这是一个数据链路层管理命令。这个命令返回符合该Tag的设备的扩展类型代码、版本和设备标识码。当收到设备的扩展地址或广播地址时执行该命令。响应消息中的扩展地址和请求的相同。请求:字节0-5:设备的Tag,ASCII码响应:字节0:254字节1:制造商ID代码字节2:制造商设备类型代码字节3:请求的前导符数字节4:通用命令文档版本号字节5:变送器版本号字节6:本设备的软件版本号字节7:本设备的硬件版本号字节8:设备的Flags字节9-11:设备的标识号HART命令12:读消息(Message)读设备含有的消息。请求:无响应:字节0-23:设备消息,ASCIIHART命名13:读标签Tag,描述符Description和日期Date读设备的Tag,DescriptionandDate。请求:无响应:字节0-5:标签Tag,ASCII字节6-17:描述符,ASCII字节18-20:日期,分别是日、月、年-1900HART命令14:读主变量传感器信息读主变量传感器序列号、传感器极限/最小精度(Span)单位代码、主变量传感器上限、主变量传感器下限和传感器最小精度。传感器极限/最小精度(Span)单位和主变量的单位相同。请求:无响应:字节0-2:主变量传感器序列号字节3:主变量传感器上下限和最小精度单位代码字节4-7:主变量传感器上限字节8-11:主变量传感器下限字节12-15:主变量最小精度HART命令15:读主变量输出信息读主变量报警选择代码、主变量传递(Transfer)功能代码、主变量量程单位代码、主变量上限值、主变量下限值、主变量阻尼值、写保护代码和主发行商代码。请求:无响应:字节0:主变量报警选择代码字节1:主变量传递Transfer功能代码字节2:主变量上下量程值单位代码字节3-6:主变量上限值字节7-10:主变量下限值字节11-14:主变量阻尼值,单位秒字节15:写保护代码字节16:商标发行商代码PrivateLabelDistributorCodeHART命令16:读最终装配号读设备的最终装配号。请求:无响应:字节0-2:最终装配号HART命令17:写消息写消息到设备。请求:字节0-23:设备消息,ASCII响应:字节0-23:设备消息,ASCIIHART命令18:写标签、描述符和日期写标签、描述符和日期到设备。请求:字节0-5:标签Tag,ASCII字节6-17:描述符Descriptor,ASCII字节18-20:日期响应:字节0-5:标签Tag,ASCII字节6-17:描述符Descriptor,ASCII字节18-20:日期HART命令19:写最后装配号写最后装配号到设备。请求:字节0-2:最终装配号响应:字节0-2:最终装配号命令33:读变送器变量读选择的变送器变量。这个命令有Burst模式操作的能力,与命令107一起组态写Burst模式变送器变量。请求:字节0:分配到Slot0的变送器变量代码字节1:分配到Slot1的变送器变量代码字节2:分配到Slot2的变送器变量代码字节3:分配到Slot3的变送器变量代码响应:字节0:分配到Slot0的变送器变量代码字节1:Slot0单位代码字节2-5:Slot0所选变送器变量数据字节6:分配到Slot1的变送器变量代码字节7:Slot1单位代码字节8-11:Slot1所选变送器变量数据字节12:分配到Slot2的变送器变量代码字节13:Slot2单位代码字节14-17:Slot2所选变送器变量数据字节18:分配到Slot3的变送器变量代码字节19:Slot3单位代码字节20-23:Slot3所选变送器变量数据命令34:写主变量阻尼值主变量阻尼值表示一个时间常数(该时间到时,对阶跃响应的输出应该是稳态值的63%)。主变量的模拟和数字输出都使用这个变量。请求:字节0-3:主变量阻尼值,单位秒响应:字节0-3:实际主变量阻尼值,单位秒命令35:写主变量量程值主变量量程上限和下陷是独立的。该命令收到的主变量量程单位不影响该设备的主变量单位。主变量量程值按照接收单位返回。多数设备允许设备的量程上限比下限低,以使设备工作在反向输出。请求:字节0:主变量量程单位代码字节1-4:主变量量程上限字节5-8:主变量量程下限响应:字节0:主变量量程单位代码字节1-4:主变量量程上限字节5-8:主变量量程下限命令36:设置主变量量程上限将主变量的当前值设置成主变量量程上限,量程上限的改变不影响量程下限的值。按下设备上的“SPAN”按钮执行与该命令相同的功能。多数设备允许设备的量程上限比下限低,以使设备工作在反向输出。请求:无响应:无命令37:设置主变量量程下限按下设备上的“ZERO”按钮执行与该命令相同的功能。将主变量的当前值设置成主变量量程下限,量程下限的改变将成比例的改变量程上限的值,因此精度Span保持不变。当这个改变把量程上限推到了传感器上限时,主变量量程上限饱和且响应代码为14。警告:主变量量程下限把量程上限推到超过传感器上限,将导致得到的精度Span要小于主变量最小精度Span,此时返回响应代码9—应用过程太高或响应代码10---应用过程太低。多数设备允许设备的量程上限比下限低,以使设备工作在反向输出。请求:无响应:无命令38:复位组态改变标志复位组态改变响应代码,变换器字节的第6位。地址为0的第二主设备不发布这个命令,地址为1的第一主设备也只有在组态改变响应代码被检测到时才可以发布这个命令。请求:无响应:无命令39:EE控制这个命令引起把数据从RAM传输到非易失内存(这一过程被称为烧写)或者从非易失内存传输到RAM中(这一过程被称为恢复)。如果EE校验和错被检测到,则变换器状态字节第7位---现场设备故障响应代码被设置。此时,命令48读附加的变换器状态应该被用于获得详细的信息。对于烧写请求,直到这个命令被返回时,烧写才可以开始。请求:字节0:EEPROM控制代码,0---烧写,1---恢复,2-249-----未定义响应:字节0:EEPROM控制代码,0---烧写,1---恢复,2-249-----未定义命令40:进入/退出固定主变量电流模式设备被配制成固定主变量电流模式请求:字节0-3:固定主变量电流值,单位毫安响应:字节0-3:实际固定主变量电流值,单位毫安命令41:执行变送器自检启动设备自检功能。设备立即响应这个命令,然后执行自检。这个命令的执行或许会花相对较长时间。如果设备自检期间不能执行命令,设备也不给出响应;如果设备自检期间能够执行命令,命令48能够决定什么时候完成(???)。请求:无响应:无命令42:执行设备复位设备立即响应,然后CPU复位。这个命令的执行需要花相对较长时间,在命令完成前,设备不能响应任何其他命令。请求:无响应:无命令43:设置主变量零点将设备的当前主变量值设置成零点,该值必须被设置再在设备定义的上下限内。请求:无响应:无命令44:写主变量单位选择一个主变量单位,主变量值和量程都以该单位返

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功