那么HART协议究竟是若何一个协议呢?
HART协议是稠浊仿照旗子暗记以及数字旗子暗记的工业自动化开放协议。HART被广泛用于过程和仪表系统,从小型自动化运用到高度繁芜的工业运用。它最显著的优点是,可以通过传统的4–20 mA仪表电流回路进行通信,有线HART协议的物理层为一对导线:

什么是仿照通信呢?也便是前面说的4-20mA输出物理量的观点,比如现场是一个温度变送器,当前测温范围为℃~℃,那么4mA就对应-200℃,而20mA就对应500℃,存不才面的关系:

其数字通信协议支持:
访问仪表的参数及诊断信息,这不是大略的读取,而是有专用公共的命令规范,获取诊断数据。支持多变量设备,这是什么意思呢?比如一个变送器可以同时丈量压力以及温度,则是双变量变送器。设备在线状态监测完备开放的事实标准标准通用命令及数据构造DDL(Device Description Language)支持,这是啥意思,便是用这样一种规范的文本描述措辞抽象设备的信息其他的组态软件可以直接导入,从而实现互联互通。这便是标准的力量,不同厂家做的设备为什么可以在一个别系里快速组网,实现过程掌握系统。其仿照通信特点:
仿照4-20mA通信与数字通信同时进行兼容现有的4-20mA设备,即便某个4-20mA设备没有HART支持。仿照4-20mA本身便是一种通信,比如一个丈量变动器可直接接入一个掌握器的仿照4-20mA通道,将丈量值实时传输给掌握器,而掌握器的4-20mA输出又可以接到实行器(比如阀门掌握器)的4-20mA输入通道,从而掌握阀门的开度,形成闭环掌握。本文紧张先容基于有线连接物理层的HART,HART的物理层还支持2.4GHz,基于802.15.4规范的无线物理层。
网络分层从前面先容,基本知道了大致信息,现在来看看该协议的分层情形
从上面的图可以看出,HART协议对应OSI模型,实现了个中的5层:
有线物理层: 这里有句题外话,协议的物理层卖力地产BIT流的传输,实在你用其他的物理层来传HART报文是否可以呢?当然也是可以的,比如你就用SPI去传也能传能收,为什么不用?无法适应工业现场的噪声环境,也无法可能知足现场组网的需求,比如总线仲裁等。 FSK物理层:有线HART的物理层紧张采取采取FSK(Frequency Shift Keying)频移键控将0/1调制在4-20mA电流环路上,稍后再对FSK进行先容。 PSK物理层:实际上是C8PSK(Coherent 8-way Phase Shift Keying), 它实际上是一种数字通信调制技能,通过改变恒定频率参考旗子暗记(参考旗子暗记称为载波)的相位来传输数据。所谓相位便是通过精确地改变正弦或余弦输入韶光来完成调制。 RS-485物理层:这个是比较常见的半双工差分串行总线,实际上此类设备不是HART协议的主流,利用并不广泛。无线物理层:无线HART则采取基于IEEE802.15.4的无线2.4GHz频段物理层。 IEEE802.15.4是一项定义了低速无线个人局域网(low-rate wireless personal area networks简称LR-WPAN)操作的技能标准。它规范了LR-WPAN的物理层和媒体访问掌握,并由IEEE 802.15事情组掩护,该事情组在2003年定义了该标准。它是Zigbee,ISA100.11a,WirelessHART,MiWi,6LoWPAN,Thread和SNAP规范的根本,它们各自都通过开拓IEEE 802.15.4中未定义的上层来进一步扩展了标准。6LoWPAN还定义了WPAN上的Internet协议(IP)的IPv6版本的绑定,并且本身被Thread等上层所利用。须要把稳的是WIFI虽然也利用2.4GHz频段,但是它遵照802.11规范。 所谓Mesh网络,看看下面这个网络拓扑图就很好理解了:链路层: 数据链路层为数据传输供应可靠的、面向事务的通信路径。对付FSK/PSK HART通信是通过双绞线进行传输,双绞线可能同时传输4-20mA旗子暗记。数据链路层将通过利用缺点检测信息和自动重复要求(Automatic Repeat Request 简称ARQ)协议来要求重新传输可能被线路噪声或其他滋扰毁坏的数据块,从而来纠正由于通信链路上的噪声引起的缺点。 对付无线HART,则通过基于韶光同步的TDMA/CSMA机制进行链路管理、冲突检测。在检测到出错时自动重复要求的跳频技能。所谓跳频,便是在802.15.4规范的带宽里,将带宽划分为多个信道,主从直接约定好跳频机制,从而有效地利用空闲信道。网络层(仅无线HART):紧张实现功率优化,mesh网络管理。网络韶光同步,韶光同步的精确性对付基于时分复用 (Time-division multiple access简称TDMA) 的网络至关主要,韶光不同步,网络将瘫痪。传输层:HART的传输层紧张对付大块数据进行拆分传输。运用层:运用层定义了协议支持的公共命令,相应,数据类型和状态报告。因此HART运用层确保不同公司的设备的互操作性中起着重要浸染。所谓互操作性,是指互联互通的根本上,还定义了运用操作。比如温度变送器,接入掌握系统可以很随意马虎与另一个阀门掌握器、加热掌握器快速组成温控系统。HART规范书HART原来由HART基金会管理,现在由FieldComm Group进行管理,FieldComm Group由现场总线基金会(Fieldbus Foundation 简称FF)以及HART基金会合并而来,统一管理FF以及HART总线标准。有兴趣可以去https://www.fieldcommgroup.org/进一步理解。
那么HART协议标准文档基本由哪些组成呢?这里总结了一个思维导图供参考:
从上面这个导图,可以看到,HART还为不同类型的工业设备制订了相应的通信规范,比如温度变送器、压力变送器、阀门掌握器、PID掌握器、累加器、液位变送器、科里奥力流量变送器、涡街流量变送器、电磁流量变送器等。
而对付无线HART则由HCF_SPEC_290文档进行集中描述。有了这份图,如果你是从事干系开拓事情,相信对HART标准文档会有一个比较清晰的认识。
HART协议GB对应GB/T 29910.1~6-2013 type 20,IEC61158于2017年将HART标准收录,对应其子类的type 20。
下面来对付个中比较主要的物理层、链路层以及运用层做进一步的先容。
物理层一样平常的,FSK/PSK物理层与数据链路层都按照下面的模型进行设计,本文仅先容最为常用 的FSK物理层,对C8PSK有兴趣的,可以查阅HCF_SPEC-60。
FSK物理层
HART采取二进制频移键控(Binary FSK简称BFSK),其事情事理为:
所谓BFSK便是将待传输的数据按照二进制BIT流变换成相应的频率旗子暗记叠加起来,大略的可以理解成下图这样一个收发过程:
调制器与解调器一起组成了调制解调器,对付设备间通信而言基本都有这样一个调制解调的过程。
发送端调制器:
在两种不同旗子暗记频率间旗子暗记按照一定的韶光间隔根据输入的二进制位为0或者1,选择成频率1或者频率2,进而合成为一个旗子暗记输出。将该物理旗子暗记输出到物理介质。当然实际利用的FSK,不同的实现参数以及细节,还分连续相位频移键控、高斯频移键控、最小频移键控、高斯最小频移键控、音频频移键控等。
吸收端解调器:
吸收端将从物理介质吸收到的电旗子暗记,分两路进入两个带通滤波器,带通滤波器分别为调制器对应的0/1调制频率,将该有用旗子暗记检出,再送入到检波器电路将旗子暗记检出为数字旗子暗记,双路数字旗子暗记再由讯断电路按照对应的波特率讯断成二进制数据流,从而完成物理层的解调过程。显然,这两个带通滤波器的通带应是不相交的,才能检出各自有用频率旗子暗记。
基本明了FSK的大致事理后,那么HART的FSK又是怎么样的呢?
HART采取连续相位频移键控(Continuous Phase Frequency-Shift-Keying,也简称为CPFSK)技能,所谓连续相位可以不雅观察0/1相邻的点,大略理解便是赋值是连续的。HART利用1200Hz正弦电流旗子暗记表征逻辑1,而由2200Hz正弦电流旗子暗记表征逻辑0。0/1调制的韶光宽度是一样的,采取一周期1200Hz正弦韶光。这些调制的旗子暗记再线性叠加到4-20mA上,因此在4-20mA上的波形大致便是这样:
有童鞋可能会说,这样岂不是污染了4-20mA环路吗?HART协议规定调制旗子暗记的频带基本须在500-10KHz内:
4-20mA变送通道的变革频率低于1200Hz,设备会做一个低通滤波,滤除掉这些调制旗子暗记,再进入被接入设备的I/V转换电路,进而采样环路电流。以是一样平常的,接入端会并接一个250欧的电阻,将4-20mA转换为1-5V,当然也可能是其他电阻值。工业丈量的过程量,一样平常都是低频旗子暗记,以是这样设计是没有问题的。
此调制解调器器可以由专用芯片完成,比如 安森美的NCN5192,Maxim的DS8500等都可以,也可以自己设计调制电路实现。
链路层
链路层向上层供应稳定可靠的数据链路做事,以及对下层的物理层介质进行介质访问管理,同时定义了数据报文构造。
帧构造
首先来看看HART协议报文构造:
其定界符定义为:
校验码采取异或校验算法,包括自定界字节开始至所有有效字节的异或结果便天生校验码。
报文构造之前绘制过一个思维导图,这里附上:
由于地址类型有可能是1字节或者5字节两种类型,因此报文的帧长由下面示意图确定:
据地址类型确定Byte Count字段的位置根据Byte Count长度确定校验自己的位置
吸收帧算法,紧张由下面几个关键事宜完成:
长地址格式:由主站地址类型、Burst 模式标志、设备类型字段、ID字段组成。
主站类型:
紧张主站赞助主站
设备类型,设备类型紧张定义可参考下面思维导图:
介质管理做事
看这个图彷佛很繁芜,实在这是一样平常标准的严谨表述办法,姑且称为协议原语,所谓协议原语便是某一确定的动作抽象,对付物理层的掌握就包含这样一些操作管理:
RESET复位原语,比如你自己做的调制解调器或者现有的芯片,须要实现状态复位的操作,比如现成的芯片可能供应复位脚或者掌握命令,那么编程便是掌握物理层进行复位。ENABLE使能原语,对物理层的使能掌握操作,比如MODEM芯片的ENABLE引脚的掌握DATA传输/接管原语,将物理层数据进行收发掌握,对付发,便是将上层数据发送给物理层发送到总线介质的意思,对付收而言便是物理层吸收到的BIT流进行成帧,并上传给上层。
总的辅导掌握操作,按照上述建议交互图进行与物理层进行交互。
注:标准中以SAP(Service Access Point)进行描述,所谓SAP,便是对介质或上层做事的一种抽象说法,至于这个名词不必以为不好理解。
链路管理做事
链路管理紧张描述链路层对运用层的做事,紧张分两种做事,报文做事,以及管理做事:
报文做事:发送和吸收回答的基本功能。此外,还指定了SAP,以许可捕获未经要求的,比如捕获Burst报文。管理做事:管理做事指许可配置数据链路层本身参数的做事。
看这个图彷佛很繁芜,实在便是描述了运用层对链路层三种基本操作:
TRANSMIT发送做事原语:运用层发送报文给链路层RECEIVE吸收做事原语:吸收报文并传输给运用层CYCLIC捕获做事原语:周期性接管总线Burst报文,所谓Burst便是某一个站点周期性向总线广播报文,一样平常会将丈量值或掌握信息周期性广播,吸收设备可以捕获该数据实现相应的运用掌握。
介质掌握无Buest设备:紧张是完成介质冲突掌握的,采取令牌通报办法进行介质冲突掌握,当总线中没有Burst设备时,其掌握状态机如下:
总线设备紧张有可能有三类设备:紧张主站、从设备、赞助主站。令牌在这三者间按照上述状态机进行切换掌握。数据总是主站发起,从站应该。是一种主-从通信模式,唯一要考虑的是,总线中紧张主设备发起通信,从设备应答,如果在从设备应答令牌周期没有应答或者完成应答,令牌将通报给赞助主站。
有Burst设备:如果总线中存在Burst模式设备,则总线设备角色就多了一个,其令牌通报状态机就变成这样了:
实在便是令牌多了一个角色可以获取,其机理还是与上面的一样。
运用层
运用层紧张定义:
通过协议传输运用数据的格式;所有现场设备的版本规则;定义通用命令编号,通用老例,特定设备和设备系列命令利用;私有HART命令的布局哀求;所有命令相应都须要返回的命令状态字节;设备利用状态和现场设备变量;主机用于识别现场设备和管理HART网络的过程
其余运用层还规定了12项基本原则:
所有设备都必须遵守HART现场通讯协议规范的有效兼容修订版;48号的必须遵守通用操作命令规范中的哀求;任何时候都不得从任何设备上删除命令,兼容性考虑;现场设备支持的命令中任何数据项的含义均不得变动数据项可以添加到任何命令的末端不得从列举表,位字段或相应代码中删除条款设备变量的代码号不得变动设备变量的设备系列必须保持固定。设备变量的分类必须保持固定遵照以下规则,现场设备可以从HART 4升级而无需变动设备类型:
设备修订版所针对的HART现场通信协议规范的所有哀求都必须遵守必须删除命令4和命令5除命令0外,所有命令都必须仅以长帧格式实现,命令0必须同时以短帧和长帧格式实现。必须为每个主机供应设备状态字节中单独的配置变动位(即一个用于紧张主机,另一个用于赞助主机)。当吸收到命令38时,必须仅复位与发出命令的主机相对应的位。根据HART 5的哀求,这些位必须是非易失落性的。所谓非易失落性便是掉电保存。必须为每个主机在设备状态字节中供应一个单独的冷启动位必须支持通用实践命令规范中指定的命令38和命令48遵照以下规则,现场设备可以从HART 5升级而无需变动设备类型设备修订版所针对的HART现场通信协议规范的所有哀求都必须遵守必须为每个主机供应设备状态字节中单独的配置变动位必须为每个主机在设备状态字节中供应一个单独的冷启动位必须支持通用实践命令规范中指定的命令38和命令48如果支持“Burst模式”,则必须添加2条其他“Burst”。且必须添加事宜关照。遵照以下规则,可以在不变动设备类型的情形下从HART 6升级现场设备必须遵守设备修订版所针对的HART现场通信协议规范的所有哀求。必须按照“通用实践命令规范”中的解释来支持命令38和命令48。2字节命令格式:命令字段为0x1F,可在数据字段中找到WO字节扩展命令号。总结一下HART总线,是工业现场设备运用最为广泛的总线协议之一,除此之外还有常见的modbus协议、Profibus协议、FF基金会总线协议等。实在总线通信协议都有其相似的地方,这也是为什么有OSI七层模型这一说,便是我们日常生活息息相关的TCP/IP协议栈也分开不了这些相似的地方。
本文旨在梳理一下比较主要的信息,方便对有兴趣的童鞋起到一个提要携领的浸染,紧张参考HART标准,同时加入自己的理解。短短的一篇文章并不能完全地总结这样一个协议,还有很多细节没有席卷,比如变量管理、诊断定义等等,详细开拓中请以HART标准为准。整理本文,也是对之前事情中所利用到的工业总线协议做个总结。
整理不易,如以为有代价,请转发给有须要的朋友,是对我最大的支持和肯定!
—END—







