厦门义方信息科技有限公司
站内搜索 点击进行登录,必须先输入用户名、密码和校验码
   首  页  | 公司简介 | 产品与服务 | 新闻中心 | 下载中心 | 客户案例 | 技术应用 | 我要留言 | 联系我们 | 义方手册
  产品与服务

点击这里与客服人员在线交谈 点击这里与客服人员在线交谈
点击这里与客服人员在线交谈 点击这里与客服人员在线交谈

HART协议

1.简介

    HART(Highway Addressable Remote Transducer),可寻址远程传感器高速通道的开放通信协议,是美国Rosement公司于1985年推出的一种用于现场智能仪表和控制室设备之间的通信协议。 HART装置提供具有相对低的带宽,适度响应时间的通信,经过10多年的发展,HART技术在国外已经十分成熟,并已成为全球智能仪表的工业标准。

    HART协议采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯,数据传输率为1.由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。在HART协议通信中主要的变量和控制信息由4-20mA传送需要的情况下,另外的测量、过程参数、设备组态、校准、诊断信息通过HART协议访问。

    HART通信采用的是半双工的通信方式,其特点是在现有模拟信号传输线上实现数字信号通信,属于模拟系统向数字系统转变过程中过渡性产品,因而在当前的过渡时期具有较强的市场竞争能力,得到了较快发展。HART 规定了一系列命令,按命令方式工作。它有三类命令,第一类称为通用命令,这是所有设备都理解、都执行的命令;第二类称为一般行为命令,所提供的功能可以在许多现场设备(尽管不是全部)中实现,这类命令包括最常用的的现场设备的功能库;第三类称为特殊设备命令,以便于工作在某些设备中实现特殊功能,这类命令既可以在基金会中开放使用,又可以为开发此命令的公司所独有。在一个现场设备中通常可发现同时存在这三类命令。 HART采用统一的设备描述语言DDL。现场设备开发商采用这种标准语言来描述设备特性,由HART基金会负责登记管理这些设备描述并把它们编为设备描述字典,主设备运用DDL技术来理解这些设备的特性参数而不必为这些设备开发专用接口。但由于这种模拟数字混合信号制,导致难以开发出一种能满足各公司要求的通信接口芯片。HART能利用总线供电,可满足本质安全防爆要求,并可组成由手持编程器与管理系统主机作为主设备的双主设备系统。

2.规范

    HART协议于80年代后期开发,并于90年代初移交到HART基金会。从那时起,它已经更新了好几次。每一次的协议更新都确保更新向后兼容以前的版本。HART协议当前的版本是7.3版。“7”表示主修订号码,而“3”表示次修订号码。

    HART协议实现了开放系统互连(OSI)7层协议模型的第1、2、3、4和7层:

  • 协议物理层
    物理层规定了信号的传输方法、传输介质,HART信号传输是基于BELL202通讯标准,采用FSK(频移键控)方法,数字信号的传送波特率设定为1200b/s,数字信号“0”和“1”分别用1200Hz和2200Hz的正弦波表示,这些频率的正弦波叠加在模拟信号上一起传送。由于FSK信号平均值为零,对模拟信号不会产生任何影响。通常采用双绞同轴电缆作为传输介质时,最大传输距离可达到3000m。
  • 数据链路层
    定义了一项主从协议 - 在正常使用下,现场设备只在收到信号时才作回答。可以有两个主设备,例如,控制系统作为第一主设备,而手持HART通信器作为第二主设备。时序规则定义每个主设备可以开始通信事务的时间。单个多点线缆对可以连接多达15个或更多的从设备。
    数据链路层规定了HART帧的格式,实现建立、维护、终结链路通讯功能,HART协议根据冗余检错码信息,采用自动重复请求发送机制,消除由于线路噪音或其它干扰引起的数据通讯出错,实现通讯数据无差错传送。

    (1) HART帧
        HART协议规定了数据通讯按帧的格式传送,HART帧由链路同步信息、寻址信息、用户数据以及校验和组成,HART帧又被分为请求帧、应答帧和阵发帧。请求帧和应答帧的主要差别在于应答帧包含了数据通讯状态和变送器的工作状态。

    HART请求帧:
        链路同步码 定界符 地址 命令号 字节长度 数据字节 校验和
    HART应答帧:
        链路同步码 定界符 地址 命令号 字节长度 响应码 数据字节 校验和

    链路同步码:HART协议采用2到20个十六进制的“FF”字节作为接收设备的同步信息,主设备或控制系统可通过链路层管理命令设定同步字节个数。

    定界符:表示HART帧的开始,定义了帧的类型及寻址格式。根据定界符的低3位b2b1b0可以把HART帧分为请求帧、应答帧和阵发帧。根据定界符的最高位b7可以把HART帧寻址信息分为长格式和短格式,如下所示:
        帧类型:?长?帧b7=1?短?帧b7=0??
        阵发帧?0x81?0x1??请求帧?0x82?0x2??应答帧?0x86?0x6??

    地址:短格式地址长度为一个字节,低4位b3b2b1b0表示从设备的地址号,HART协议规定了地址号的范围为0~15,在总线上最多只能挂15台变送器。长格式地址长度为五个字节,由第一字节的低6位及其后连续四个字节共38位构成,由仪表唯一标识码的低38位表示,由6位仪表制造厂商标识代号,8位仪表类型代码及24位仪表序列号组成。使用长格式地址寻址,原理上在总线上所挂变送器的数量可以不受限制,可根据通讯扫描频率、通讯介质、功耗等决定在总线上所挂变送器的数量。地址第一字节的最高位b7表示主设备地址位,b7=1时表示第一主设备;b7=0时表示第二主设备,如:手持器。第一字节的b6位表示现场仪表的阵发允许位,b6=1时表示现场仪表允许阵发;b6=0时表示现场仪表不允许阵发,HART协议规定在总线上只允许一台变送器以阵发方式通讯。

    命令号:表示现场仪表所要执行的功能,命令号的有效范围为0~255。

    字节长度:表示后续数据的长度,表示HART帧的结束位置。?响应码:应答帧包含长度为两个字节的响应字,第一字节表示数据通讯状态及现场仪表命令执行结果,当b7=1时,数据通讯出错,后续位代表了错误类型,如:奇/偶校验错,水平校验和错,数据帧错等;当b7=0时,表示现场仪表命令执行结果状态,如:命令未执行,命令执行出错,命令执行警告。第二字节表示现场仪表的工作状态,如:变量超限、模拟输出饱和、仪表误操作等,保证了现场仪表数据的可*性及仪表工作的安全性。?
    数据字节:表示与命令相关的数据。?

    校验和:表示从定界符开始对所有字节进行异或操作运算,确保通讯数据无差错传送。

    (2) HART帧编码
        HART帧以8位为一字节进行编码,对每一字节加上起始位,奇/偶校验位及1位停止位共11位传送,保证了对每个字节进行数据传输同步

    (3) 数据链路层服务
        HART协议采用类似"令牌"方式访问通讯链路,它不是在通讯链路上循环发令牌,只有得到令牌的站点可以访问链路,而是采用设定定时器时间常数保证所挂设备能够访问链路。
        HART协议把链路上所挂设备分为三类:第控制系统和第二主设备,如:手持器;第二类为从设备表示现场仪表按请求/应答方式进行数据通讯;第三类为阵发设备表示现场仪表可以按请求/应答方式数据通讯,还支持阵发功能以阵发方式周期性地广播数据,HART协议把阵发功能作为现场仪表的一种可选功能,设备联接拓扑结构图如下图所示。通常HART协议按主/从方式通讯,通讯由主设备发起,从设备先“听”后“答”,第一主设备和第二主设备以相同的优先权轮流访问通讯链路,但设定了不同的定时时间常数以防止“死锁”,避免两个主设备同时访问链路。当某一主设备通讯结束后,需要首先侦听载波,等待一段时间以确保另一主设备能够访问通讯链路,若链路上有载波存在,该主设备放弃使用链路;若定时时间溢出,该主设备可以继续访问通讯链路。当通讯链路上存在阵发设备时,一主设备只有在阵发设备阵发给另一主设备通讯结束之后,方可访问通讯链路。
  • 网络层
    提供路由、端到端安全及传输服务。它管理与通信设备之间端到端通信的“会话”。应用层执行主常用命令及专用命令,HART协议把命令分为通用命令及专用命令,通用命令表示符合HART协议的现场仪表所必须执行的功能,在一定程度上保证了现场仪表的互操作性,常用命令表示大多数现场仪表所执行的功能,专用命令表示现场仪表所实现的特殊功能,如:传感器特征化、过程积算、PID运算实现就地控制。按功能又可把命令分为现场仪表管理命令,仪表变量相关信息读写命令,操作方法相关命令。
  • 传输层
    数据链路层确保通信成功地从一个设备到另一个设备传播。传输层可以被用来确保端到端通信的成功。
  • 应用层
    定义了协议所支持的命令、响应、数据类型和状态报告。在应用层,协议的公共命令分为四大类:
    通用命令 - 提供在所有现场设备都必须实现的功能
    常用命令 - 提供很多设备所共有的功能,但并不是所有的现场设备都具有的功能
    设备特定命令 - 提供某特定现场设备所特有的功能,由设备制造商所指定
    设备系列命令 - 为特定测量类型的仪器提供一套标准化的功能,允许无需使用设备特定指令便能进行完全的通用性访问。

3.通用命令

  • HART命令0:读标识码
        返回扩展的设备类型代码,版本和设备标识码。
        请求:无
        响应:
            字节0: 254
            字节1: 制造商ID
            字节2: 制造商设备类型
            字节3: 请求的前导符数
            字节4: 通用命令文档版本号
            字节5: 变送器规范版本号
            字节6: 设备软件版本号
            字节7: 设备硬件版本号
            字节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: 设备消息,ASCII
  • HART命名13:读标签Tag,描述符Description和日期Date
        读设备的Tag,Description and Date。
        请求:无
        响应:
            字节0-5: 标签Tag,ASCII
            字节6-17: 描述符,ASCII
            字节18-20:日期,分别是日、月、年-1900
  • HART命令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: 商标发行商代码Private Label Distributor Code
  • HART命令16:读最终装配号
        读设备的最终装配号。
        请求:无
        响应:
            字节0-2: 最终装配号
  • HART命令17:写消息
        写消息到设备。
        请求:
            字节0-23: 设备消息,ASCII
        响应:
            字节0-23: 设备消息,ASCII
  • HART命令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: 最终装配号

4.通信特点

    HART技术可以帮助您:

  • 利用整套智能设备数据的能力,来提升运营能力。对设备、产品或工艺性能出现变化进行早期预警。
  • 缩短发现到解决问题的故障排除时间。
  • 不断验证回路和控制/自动化系统策略的完整性。
  • 提高资产效率和系统可用性。

    提高工厂的可用性

  • 将设备和系统集成起来,以检测先前检测不到的问题。
  • 实时检测设备和/或过程的连接问题。
  • 通过获取新的早期预警,以减少偏差造成的影响。
  • 避免非计划停机或过程中断所引起的高成本。

    降低维护成本

  • 快速确定和验证控制回路和设备配置。
  • 使用远程诊断,以减少不必要的现场检查。
  • 捕获性能趋势数据,以进行预测性维护诊断。
  • 减少备件库存和设备管理成本。

 

厦门义方信息科技有限公司
2015-05-20
厦门义方信息科技有限公司(版权所有)         地址: 厦门湖里区火炬园新丰三路16号日华国际大厦501-L
网址:www.gz5.net  www.yi-fang.net
电话:0592-5237461    传真:0592-5230882
Mail:
网站备案号:闽ICP备07070861号           友情链接 
微信公众号
eYiFang

QQ群号:
242861205