1. HART 协议概况
HART 协议是美国 Rosemount 公司于1986年提出的一项标准通讯协议,其全称为 Highway Addressable Remote Transducer,即可寻址远程传感器数据公路。就现场总线的意义上说,HART 协议的特点是具有与现场总线类似的体系结构,具有总线式的数字通讯,但 HART 并不是真正的现场总线,它只是现场总线的雏形,是从模拟控制系统向现场总线过渡的一块踏脚石。
所谓“过渡”,是指它在4~20mA模拟信号上叠加 FSK(Frequency Shift Keying,频移键控,详见第二节)数字信号,既可进行4~20mA 模拟信号的传输,又能进行数字通讯,同时,数字通讯信号不影响模拟信号的传输。显然,这是一项4~20mA模拟信号与数字通讯相兼容的标准。作为一个开放性协议,经过十多年的发展,HART 协议已成为智能仪表事实上的工业标准。
HART 通讯协议参照“ISO/OSI”的模型标准,简化并引用其中的1,2,7三层制定而成,即:物理层,数据链路层和应用层,对应关系如下:
第七层 第六层 第五层 第四层 第三层 第二层 第一层
2. HART 协议的物理层
OSI层次 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 HART层次 HART命令层 未使用 HART协议规则 Bell 202 FSK 本节主要描述了 HART 协议的物理层的信号模式和传输介质等,这些都是与 OSI 协议参考模型的物理层的规定相一致的。
(1) FSK 频移键控
HART 协议采用了 Bell202 标准的 FSK 频移键控信号。它在4~20mA的模拟信号上叠加幅度为0.5mA的正弦调制波,1200Hz 代表逻辑“1”,2200Hz
代表逻辑“0”,如下图所示。
由于所叠加的正弦信号平均值为0,所以不会影响4-20mA的输出电流。因此,模拟仪表在数字通讯时仍可以照常工作,这是HART标准的重要优点之一。二进制数据传送的速率为1200波特。这就意味着“1”由1200Hz 的一个周期表示,而“0”大约由2200Hz 的两个周期表示。信号频率和传送速率的选择依据美国Bell202标准,该标准用于在电话网上传送数字信息。因此,合适的低价位的MODEM 集成芯片可广泛应用。
HART协议规定主设备(主控制器或手执通讯器)传送电压信号,而从设备传送电流信号。普通二线制变送器是通过控制环路电流来正常运行的,很容易把这种控制扩展到含有低幅高频的 HART 通讯信号的元件的系统。在HART设备和电源之间至少要接230Ω 以上的负载电阻,通讯时变化的电流信号即通过该电阻转化为相应的电压信号。
(2) 连接回路
两线制变送器的常规连接电路如下图所示.。在实际应用中,供电单元,变送器和负载电阻可以按任意顺序连接,电路中的任意一点都可以接地。手持终端或主设备通讯设备不能直接跨接在供电单元的两端,而是应该连接到通到现场的两线上(图中A,B点),或者跨接在负载电阻两端(图中B,C点)(在这种情况下,电路通过供电单元连通)。HART协议允许负载阻抗为230~1100。如果不是现场设备,HART 通讯单元必须不提供任何直流电阻到线上。
(3) 多点运行
HART 协议中每一条通讯帧都含有源地址和目的地址。通过给每一个从设备
设置不同的地址,可以把许多这样的从设备并行跨接在一条现场绞合线上,每一个从设备只应答与自己地址相符的通讯帧,这样,多点通讯就可以进行了。由于多点运行采用的是全数字信号,4~20mA模拟信号已毫无意义,所以HART协议指定多点运行时的各变送器只输出4mA电流(足以供电)。在点对点运行中,主设备的值可以通过模拟量或者数字通讯读取。在多点模式中,由于模拟量已不再有效,所以只能依靠数字通讯读取主变量。
3. HART 协议的数据链路层
本节描述了 HART 协议中字符和数据的编码,帧结构和数据传送程序。这些规定都与 OSI 协议参考模型的第二层——数据链路层的规定相一致。
(1) HART 通讯方式
HART 协议为主从式结构,即指每一帧的传送都是由主设备(控制中心)开始,从设备(现场仪表)只是在接收到命令帧后才响应。HART 协议允许系统中有两个主设备。通常,第一主设备为控制系统或其它主设备,第二主设备为手持通讯器或维护计算机等。两个主设备具有不同的地址,从而辨别各自发出的命令帧的响应帧。系统最多允许15个从设备连接到一条多点通讯线上(非本安型应用)。
一般总是由主设备来控制数据帧的传送。如果,从设备在定义的时间段内没
有响应命令帧,主设备将重发命令帧。如果几次重发以后,从设备还是没有响应,主设备将取消这次命令的传送。一旦一次传送完毕,主设备将暂停片刻,使其它主设备能够插入通讯。两个主设备可轮流与从设备通讯。典型的帧长和延迟允许每秒传送两次。
为了提高数据传送速率,有些现场设备设有可选的突发模式。当采用这种模
式时,从设备定时重复发送数据帧。一些特殊的命令可以启动和终止这种模式。突发模式每传送一帧后,会有一段暂停允许主设备终止突发模式。通常,突发模式在点对点通讯时才有效。运用突发模式,每秒可以传送三条以上的信息帧。
(2) 字符编码
HART 通讯时,是按字符接收和发送的。HART 通讯帧就是由若干个字符组
成,每个字符是一个8位的字节,字符编码如下图所示。通过通用异步收发器(UART)在串行电缆上串行发送或接收。每个字节都添加有一个起始位,一个奇偶校验位和停止位,因此实际上是11位。这就使通用异步收发器(UART)可以分辨每个字符的起始,并且检查因电气噪声或其它干扰而引起的位错。HART使用奇校验。一个8位字节是按下列1和0的序列发送的。HART 规定:在发送一个通讯帧时,每两个字符之间的发送间隔 GAP 不能大于一个字符时间9.167ms。一个字符时间即为以1200bps 发送一个字符所需的时间。
0 00 01 02 03 04 05 06 07 P 1
Start 8 data bit parity Stop bit (least significant first) bit bit
(3) 通讯帧格式
HART协议规定一条信息的帧结构如下图所示:
PREM DELM ADDR COMM BCNT [STATUS] [DATA] CHK PREM: Preamble序文
BCNT: Bycount 字节数 STATUS: 变送器通讯状态
DELM: Delimiter起始字符
ADDR: Address地址(源地址和目的地址) DATA: 通讯数据 CMD: Command 命令号
CHK: Checksum 校验和
HART 通讯中的帧又可分为长帧和短帧格式。较早的HART仪表(HART第
四版)使用短帧格式。在该格式里输出4~20mA电流信号的非多点运行的从设备的地址为0,多点运行的设备的地址为1~15。HART第五版介绍了长帧格式。在该格式里,从设备的地址是由制造厂家代码、设备型号代码和设备标志组成的世界通用的38位二进制数字。长帧格式可以减少外界干扰或串音干扰造成的对其它设备的误接收。长帧格式也扩展了HART协议的地址容量,使通讯可以在大型网络上进行,例如通过公共无线电网与远程现场设备通讯。
新现场设备使用长帧格式,而老现场设备使用短帧格式。主设备应当两种格
式都能处理。HART协议是半双工的。在完成一次信息的传输以后,必须关闭FSK信号,使其它的设备能够通讯。帧中的每一项将在以下各段详细介绍。 序文(Preamble)由两个或两个以上的“FF”组成。它主要用于MODEM接收时的频率同步。
起始字符(Delimiter)一个字节,在 HART 通讯中用来表示帧的类型,以及是长帧还是短帧,如下表所示。接收起始字符必须在接收到两个或两个以上的“FF”以后才开始。
发送帧 应答帧 突发帧
地址(Address)包括源地址和目的地址,短帧为一个字节,长帧为五个字节,如下图所示。两种格式的地址的头两位都是一样的。第一位为主设备地址。HART只允许有两种主设备,第一主设备(控制系统的主机等)和第二主设备(手操器等)。相应地,第一主设备的地址为“1”,第二主设备的地址为“0”。第二位为突发模式位,当从机处于突发模式时,该位为“1”。
MA
保留位
从设备地址
BM 0 0 SA 短帧 02 06 01 长帧 82 86 81 突发模式位 (4位,轮询地址)
主设备地址
(A)短帧格式的地址
MA
BM SA 从设备地址(38位) 突发模式位 主设备地址
在短帧格式中,从设备的轮询地址为0~15,二进制表示为四位。从设备在点对点模式中地址为0,而在多点模式中地址为1~15。在长帧格式中,共38位(五个字节的后38位)表示从机的地址。
命令号(Command number)一个字节,范围为00~FFH(或十进制的0~255),
(B)长帧格式的地址
代表HART的命令序号。
字节数(Bycount)一个字节,表示该字节和校验和字节之间的字节个数。
范围为:0~255。
通讯状态(Status)两个字节,通讯状态仅在从设备向主设备发送的应答帧
中才有,用来表示从设备所接收的数据的状况。第一个字节表示通讯是否出错,第二个字节表示从设备当前的工作状态。
通讯数据(Data)为命令帧或应答帧中的用户数据,一般不超过24个字节。
数据有以下几种形式:
整数——8,16或24位无符号整数。 浮点数——IEEE7格式的浮点数。 ASCII字符串——3字节压缩的ASCII码。
标准表的数据——由HART提供的标准表可查,8位整数代码。
校验和(Checksum)一个字节,存放从起始字节到所有通讯数据的顺序异或
的结果,用来校验接收的数据(即长校验)。
(4) HART通讯的发送和接收状态机
HART 通讯中的接收和发送状态机如下面两幅示意图所示。HART 链路层就是按照该接收和发送状态机来控制 HART 通讯中的接收和发送。接收和发送状态机通常是由中断实现的。
接收状态机如下图所示。首先,状态机处于“等待开始接收”状态,判断是
否接收到有效的 preambles 和 delimiter。如果字符接收间隔超时,奇校验出错,或收到既不是 preambles 也不是 delimiter 的字符,则接收状态机设置相应的错误状态位。如果收到了有效的 preambles 和 delimiter,则接收状态机设置收到信息帧的类型(发送帧,应答帧或突发帧);然后接收信息帧的其余部分,直到按信息帧的字节数(byte-count)收完为止。当信息帧接收完以后,如果接收允许被禁止,则接收状态机进入终止状态。
BC等待开始接收接收数据AEF等待结束接收DG结束接收图中:
A表示:当接收到preambles的第一个FF时,进入“等待开 态。
B表示:当接收到的preambles中FF的个数大于1,且接收 到有效的delimiter时,则设置收到信息帧的类型,并进入“接收数据”状态。
C表示:在“接收数据”状态接收数据,如果有错,则置相应错误状态位,
始接收”状
并继续接收完。
D表示:按信息帧的字节数(byte-count)接收完毕后,进入“等待结束接收”状态。
E表示:在“等待开始接收”状态收到FF,则把preambles的个数加1,然后继续接收。
F表示:当字符间隔GAP超时,奇校验出错,或收到既不是preambles也不是delimiter的字符时,则置错误状态,并进入“等待结束接收”状态。 G表示:当接收允许被禁止时,进入“结束接收”的终止状态。
发送状态机如下图所示。在“初始化发送”状态,启动握手信号,与链路上的另一端接收状态机建立通信联系。一旦物理层允许发送,则进入“发送数据”状态发送数据。每传送一个字节的数据,物理层上就收到一个确认。当数据发送完毕时,或发送有错时,进入结束发送的终止状态。
A初始化发送D结束发送B发送数据CE图中:
A表示:请求发送,并进入“初始化发送”状态。 B表示:允许发送,并进入“发送数据”状态。 C表示:数据正常发送完毕,进入“结束发送”状态。 D表示:数据发送有错,进入“结束发送”状态。
4. HART 协议的命令层
HART命令层规定了HART通讯命令的内容,共分为三类。通用命令,普通应用命令和特殊命令,分别介绍如下。
(1) 通用命令
第一类命令为通用命令,对所有符合HART协议的现场设备都适用。它们包括:
读出制造厂及产品型号; 读出主变量及单位;
读出电流的输出及百分比输出; 读出最多4个预先定义的动态变量名;
读出或写入8个字符的标牌号,16个字符的描述内容以及日期等; 读出或写入32个字符信息;
读出变送器的量程、单位以及阻尼时间常数; 读出传感器串联数目及其; 读出或写入最后组装数目; 写入轮询地址; 等等。
(2) 普通应用命令
第二类命令为普通应用命令,适用于大部分符合HART协议的产品,但不同公司的HART产品可能会有少量区别,如写主变量单位,微调DA的零点和增益等。主要包括:
读出最多4个动态变量的选择; 写入阻尼时间常数; 写入变送器量程; 标定(设置零点和量程); 完成自检; 完成主机复位; 微调主变量零点; 写入主变量单位;
微调DAC的零点和增益; 写入变送功能(开方/线性); 写入传感器串联数目; 读出或写入动态变量赋值; 等等。
以上两类命令的规定使符合 HART 协议的产品具有一定的互换性。通常说的 HART 协议产品的兼容就是在这两类命令上的兼容。
(3) 特殊命令
第三类命令为变送器特殊命令,仅适用于某种具体的现场设备。这是各家公司的产品自己所特有的命令,不互相兼容,如特征化,微调传感头校正等。主要命令包括:
读出或写入开方小流量截断值; 启动,停止或清除累积器; 选择主变量(质量流量或密度); 读出或写入组态信息资料; 微调传感器的标定; 等等。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务