串行通信协议---HART协议

实际应用中,HART协议是仅次于Modbus协议的最接近统一现场总线的标准,主要是在4~20mA电流信号上面叠加数字信号,物理层采用Bell 202标准的FSK技术成功实现模拟信号和数字信号双向同时通信而互不干扰。HART协议规定了传输的物理形式、消息结构、数据结构和一系列操作指令,是一种主从协议,允许系统中存在两个主机(一个用于系统控制,另一个用于HART通信的手持设备),一对电缆线上最多可以连接15个从设备。


HART协议,即==Highway Addressable Remote Transducer Protocol ==,可寻址远程传感器高速公路协议,在4~20mA的模拟信号上叠加FSK数字信号,可以传输模拟信号和数字信号。

HART 将 1200 b/s的 FSK (Frequency Shiift Keying, 频移键控)信号加载在 4~20 mA 的模拟信号上进行通信,它的均值为 0,并且这个 FSK 信号对模拟信号毫无影响。在纯数字通信中,HART 最多可以允许加载 15 个现场设备。HART 协议为了在信号衰减的情况下继续通信而对接收器和发送器的灵敏性做了特别的规定,这样也减少了干扰和码间串扰的可能性。

HART 协议的显著特性之一就是它可以同时进行模拟和数字通信。多年以来,设备使用的现场通信标准是 4-20 mA 的模拟电流信号。在大多数应用中,它们用 4~20 mA 之间的值来表示被测量的参数,如温度和压力。而 HART 协议不仅在传输过程测量参数,还利用模拟信号上叠加的数字信号来传输控制信息。这样,HART 协议就可以支持大多数智能设备和大量存在的模拟设备。

FSK移频键控技术中逻辑1用1200HZ频率表示,逻辑0 用2200HZ频率表示,消息传输速率为1200b/s。


HART通信结构模型
以ISO的开放性互连模型为参照,分为三层,对应于OSI的应用层、数据链路层和物理层。

串行通信协议---HART协议_第1张图片
HART通信结构模型

OSI层次 HART层次
应用层 HART命令
数据链路层 协议规范
物理层 BELL 202

HART协议物理层

Bell 202 通信标准本来是在电话线上进行数字通信的标准,是利用电话线来传输数字信号的,也就是传真机用的通信协议。虽然 HART 信号的调制/解调也采用了与传真机相同的Bell 202 标准,但是HART 对阻抗和信号水平的规定与传真机不同,特别是HART 的4 mA低功耗要求。HART 信号的调制/解调需要使用专门的调制/解调器芯片来满足这些特别的性能要求。

HART 协议规定主设备(单主设备控制系统或手操机通信系统)传输的是电压信号,而从设备传输的是电流信号。通常的二线传输用于控制环路的电流,通过一些控制系统来抽样,进行模拟/数字信号的转换,这个转换要求不能影响现存的 HART 信号。


HART协议数据链路层
数据链路层协议规范的目的是建立一种与现场仪表等从设备间的可靠的双向数据通信通道。

数据链路层规定 HART 协议赖的格式,可寻址范围为 0-15。当地址为 0时,处于20mA及数字信号点对点模式。现场仪表与两个数字通信主设备(也称为通信设备或主设备)之间采用特定的串行通信,主设备包括 PC 或控制系统和手持通信器。在单点模式中,主变量(过程变量)可以以模拟形式输出,也可以以数字通信方式读出,当以数字方式读出时轮询地址始终为0。也就是说,单点模式时数字信号和 4~20 mA 的模信号同时有效。

HART 协议帧还可以在一根双绞线上以全数字的方式通信。当地址为 1-15 时,处于全数字通信状态,工作在一点对多点模式。一个链路上可支持 15 个短地址从设备,若使用长地址,设备数可不受限制,它只取决于所要求的通信链路上的查询速率。通信模式有问答方式、突发方式(点对点、自动连续地发送信息)。按问答方式工作时的数据更新速率为 2-3次按突发方式工作时的数据更新速率为 3~4 次/s。

采用全数字方式或多点模式时,4~20 mA 的模拟输出信号不再有效(输出设备在4 m时功耗最小,主要是为变送器供电,各个现场装置并联连接),系统以数字通信方式依次读并联在一对传输线上的多台现场仪表的测量值(或其他数据)。如果以这种方式构成控制系统,可以显著地降低现场布线的费用和减少主设备输入接口电路,这对于控制系统有重要价值,HART 协议根据冗余检错码信息,采用自动重复请求发送机制,消除了由于线路噪声或其“干扰引起的数据误码,可实现数据的无差错传输。

HART 协议把所有的设备分为3 类:从设备、突发模式设备和主设备。从设备是最普遍与最基本的设备类型,它接收和提供带有测量值或其他数据的数字信号,现场智能仪表一般为从设备。突发模式设备在固定的时间间隔发出带有测量值或其他数据的数字信号响应,而不包含被特别请求的数据,该设备通常作为一个独立广播的设备。主设备负责初始化、控制和终止与从设备或突发模式设备的交互。主设备又可分为第一主设备和第二主设备,第一主设备通常指控制系统,第二主设备指 HART 协议的手持设备。


HART协议应用层
HART 协议的应用层以命令的格式提供编程接口,所有的读写操作都以命令的形式完成。另外,链路管理等协议本身一些功能也由命令来实现。

在通信时,一条命令按命令格式组装成一个完整的 HART 协议帧,然后一次发送出去数据链路层规定了 HART 的格式,但是数据链路层并不解释 HART 中的数据段的含义这个工作由 HART 协议的应用层来完成。应用层规定了 HART 消息包中的3 类命令:第一是通用命令,适用于符合 HART 协议的所有产品,为符合 HART 协议的设备提供功能描述,第二类是普通命令,适用于符合 HART 协议的大部分产品,当设备具有某些功能时,该命令用于对这些功能的描述;第三类是特殊命令,适用于符合 HART 协议的特殊产品,提供一些特殊的功能描述命令。对于厂家生产的具有特殊功能的产品,HART 还提供了设备描述语言(Device Description Language,DDL),以确保互操作性。


各层间的功能关系
物理层的基本任务是为数据传输提供合格的物理信号波形,且直接与传输介质连接。物理层作为电气接口,一方面接收来自数据链路层的信息,把它转换为物理信号并传输到现场总线的传输介质上,起到发送驱动器的作用;另一方面,把来自总线传输介质的物理信号转按为信息并送往数据链路层,起到接收器的作用,当它收到来自数据链路层的数据信息时,需按照 HART 协议规范对数据加上前导码与定界符等,并对其进行数据编码,再经过发送驱动器,把所产生的物理信号传输到总线的传输介质上。另一方面,它又从总线上接收来自其他设备的物理信号,对其去除前导码、定界符后并进行解码,把数据信息送往数据链路层。而数据链路层规定了物理层和应用层之间的接口,该层还控制对传输介质的访问,决定是否可以访问以及何时访问。


HART的消息帧结构

RS-232 串行通信协议是传输一个字节 (Byte) 的协议,而Modbus 是用串口一次连续传输多个字节的协议。HART 是另外一种用串口一次连续传输多个字节的协议。一个 HART 包括多个字节,一个字节包含多个位 (Bit)。串行通信的一个字节一般包含了 11 位:1 个起始位、8个数据位、1 个奇/偶校验位及 1位停止位。HART 协议借用了串行通信的字节定义,即1个字节用了11位,波特率为 1200 b/s(较慢)。

串行通信协议---HART协议_第2张图片
一般的 HART 结构,包括导言(前导) 字节、起始字节、地址字节、命令字节、字节计数、状态字节、数据字节和校验字节等。每一部分均由多个字节组成,每个字节都有11位。


通信形式
通常 HART 协议按主-从模式通信,通信由主设备发起,从设备先“听”后“答”,第一主设备和第二主设备以相同的优先权轮流访问通信链路,但设定了不同的定时时间常数以防止“死锁”,避免两个主设备同时访问链路。当某一主设备通信结束后,需要首先侦听载波,等待一段时间以确保另一主设备能够访问通信链路,若通信链路上有载波存在,该主设备放弃使用通信链路;若定时时间溢出,该主设备可以继续访问通信链路。当通信链路上存在突发模式设备时,主设备只有突发模式设备与另一主设备的突发通信结束之后,方可访问通信链路。HART协议把突发功能作为现场仪表的一种可选功能。


HART的操作指令
HART协议操作命令可分为三类:通用命令、普通命令和特殊命令。其中,通用命令与普通命令统称为标准命令。
通用命令

  • 读出制造厂及产品型号:
  • 读出主变量及单位;
  • 读出输出电流及其百分比:
  • 读出最多 4 个预先定义的动态变量名;
  • 读出或写入 8 个字符的标牌号,16 个字符的描述内容以及日期等;
  • 读出或写入 32 个字符的信息;
  • 读出变送器的量程、单位以及阻尼时间常数;
  • 读出传感器串联数目及其限制;
  • 读出或写入最后组装数目;
  • 写入轮询地址等。

普通命令

  • 读出最多 4 个动态变量;
  • 写入阻尼时间常数;
  • 写入变送器量程;
  • 标定(设置零点和量程);
  • 完成自检;
  • 完成主设备复位;
  • 微 D/A 转换器主变量零点;
  • 写入主变量单位;
  • 微 D/A 转换器的零点和增益;
  • 写入变送类型 (开方/线性);
  • 写入传感器串联数目;
  • 读出或写入动态变量赋值等

特殊命令

  • 线性标定;
  • 温度标定;
  • 读出或写入开方小信号截断值;
  • 启动、停止或清除累积器;
  • 选择主变量(质量、流量或密度);
  • 读/写组态信息资料;
  • 微调传感器的标定等

下回学RS-485

你可能感兴趣的:(网络,网络协议,服务器)