很多年以来,4~20mA信号一直成为现场仪表信号传输标准,在过程自动化设备之间信息通信受到了极大的限制,仅能得到与过程变量成正比的电流信号。1989年Rosemount首先制订了HART高速可寻址远程传感器协议,引起了现场仪表通讯标准的技术革命,在工业过程中作为现场智能仪表数字通讯标准广为应用。
为满足工业过程对HART协议的日益需求,在1993年成立HART通讯基金会。HART基金会是一个独立的、非盈利机构,它的主要职责是制订、维护及升级HART协议标准,登记注册会员、提供对应用HART技术在范围内的技术支持和培训。目前,世界上已有90%的智能仪表采用了HART协议,主要的仪表供应厂商都提供支持HART协议的智能仪表,如HONEYWELL、FOXBORO、ABB、E&H、SMAR等仪表制造商。约有90%的智能仪表支持HART协议,开发符合HART协议的新类型仪表和制造厂商正持续快速增长。
1.HART协议
HART协议采用在4~20mA模拟信号上叠加音频数字信号进行双向数字通讯,而不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。HART协议遵循ISO制订的OSI开放式系统互连参考模型,采用了OSI模型的层、第二层和第七层,即物理层、数据链路层和应用层。
用 户 层
应用层 |
数据链路层 |
物理层 |
应用层 |
数据链路层 |
物理层 |
物理层规定了信号的传输方法、传输介质,HART信号传输是基于BELL202通讯标准,采用FSK(频移键控)方法,数字信号的传送波特率设定为1200b/s,数字信号“0”和“1”分别用1200Hz和2200Hz的正弦波表示,这些频率的正弦波叠加在模拟信号上一起传送,如上图所示。由于FSK信号平均值为零,对模拟信号不会产生任何影响。通常采用双绞同轴电缆作为传输介质时,传输距离可达到3000m。
1.2 数据链路层
数据链路层规定了HART帧的格式,实现建立、维护、终结链路通讯功能,HART协议根据冗余检错码信息,采用自动重复请求发送机制,消除由于线路噪音或其它干扰引起的数据通讯出错,实现通讯数据无差错传送。
(1) HART帧
HART协议规定了数据通讯按帧的格式传送,HART帧由链路同步信息、寻址信息、用户数据以及校验和组成,HART帧又被分为请求帧、应答帧和阵发帧。请求帧和应答帧的主要差别在于应答帧包含了数据通讯状态和变送器的工作状态。
链路同步码 |
定界符 |
地址 |
命令号 |
字节长度 |
数据字节 |
校验和 |
链路同步码 |
定界符 |
地址 |
命令号 |
字节长度 |
响应码 |
数据字节 |
校验和 |
HART请求帧/应答帧格式
链路同步码:HART协议采用2到20个十六进制的“FF”字节作为接收设备的同步信息,主设备或控制系统可通过链路层管理命令设定同步字节个数。
定界符:表示HART帧的开始,定义了帧的类型及寻址格式。根据定界符的低3位b2b1b0可以把HART帧分为请求帧、应答帧和阵发帧。根据定界符的位b7可以把HART帧寻址信息分为长格式和短格式,如表1所示。
帧类型 |
长 帧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协议按主/从方式通讯,通讯由主设备发起,从设备先“听”后“答”,主设备和第二主设备以相同的优先权轮流访问通讯链路,但设定了不同的定时时间常数以防止“死锁”,避免两个主设备同时访问链路。当某一主设备通讯结束后,需要首先侦听载波,等待一段时间以确保另一主设备能够访问通讯链路,若链路上有载波存在,该主设备放弃使用链路;若定时时间溢出,该主设备可以继续访问通讯链路。当通讯链路上存在阵发设备时,一主设备只有在阵发设备阵发给另一主设备通讯结束之后,方可访问通讯链路。
1.3 应用层
应用层执行主设备所请求的命令,HART协议把命令分为通用命令、常用命令及专用命令,通用命令表示符合HART协议的现场仪表所必须执行的功能,在一定程度上保证了现场仪表的互操作性,常用命令表示大多数现场仪表所执行的功能,专用命令表示现场仪表所实现的特殊功能,如:传感器特征化、过程积算、PID运算实现就地控制。按功能又可把命令分为现场仪表管理命令,仪表变量相关信息读写命令,操作方法相关命令。
(1) 现场仪表管理命令获取现场仪表的管理信息,如:读取仪表的制造厂商及设备型号,仪表的硬件、软件版本号,工位号,装配号,描述符(如说明仪表的安装位置),日期(如校验、安装维护时间)。仪表的轮询地址等。
(2) 仪表变量相关信息读写命令按设定单位返回仪表检测过程变量,输出电流及百分数,对于多传感器变送器,执行通讯,主设备可以获取至多4个变量数值;读取传感器信息如:传感器序列号,单位代码和极限值;读取变量信息如:变量单位、变量运算函数代码、量程范围和阻尼值,可以设定或校正变送器零点和量程,设定变量的阻尼时间常数及运算方式如:线性运算、平方运算、开方运算、按特定曲线进行运算处理等。
(3) 操作方法相关命令设定模拟电流固定输出进行回路测试,对模拟电流输出零点和增益微调,仪表自诊断、自校正等。
1.4 设备描述(DD)
HART协议通用命令、常用命令在一定程度上保证了现场仪表的互操作性,设备描述DD详细地描述了现场仪表的外部特性:变量,命令集,操作方法如:仪表校正、模拟输出微调、变量关系、变量集合、人机界面等。它相当于OSI参考互联模型的顶层“用户层”,在主设备中类似于设备驱动程序,真正地实现了仪表互操作性,同时DD解决了现场仪表与主设备开发的相互依赖关系,仪表更新换代、新型仪表开发及主设备升级互不影响,主设备只需升级DD的版本或装入新型DD,如同升级打印机驱动程序一样简单。