hart通信协议详解
```html 如果你拆开一台2010年前后出厂的压力变送器,大概率会在接线端子旁边看到两个金属小夹子——那是协议详解给HART手操器用的。这玩意儿至今仍在化工厂、通信炼油厂里活着,协议详解虽然工业以太网和无线HART喊了这么多年,通信4-20mA电流环上叠加的协议详解那层FSK音频信号,依然是通信最稳当的“数字后门”。 HART全称是协议详解Highway Addressable Remote Transducer,翻译过来叫“可寻址远程传感器高速通道”。通信名字挺唬人,协议详解本质却是通信个妥协产物。80年代末,协议详解模拟仪表还满大街跑,通信罗斯蒙特想给它们加数字通信能力,协议详解又不想重新布线。通信于是工程师想了个招:在4-20mA的直流模拟信号上,叠加一个频率偏移键控(FSK)的正弦波。逻辑1是1200Hz,逻辑0是2200Hz,幅值只有±0.5mA。模拟信号照常走,数字信号搭便车。 有意思的是,这个叠加信号的平均值恰好是零。所以对模拟接收端来说,那点交流纹波根本不影响读数。我见过一个老工程师用示波器同时抓4-20mA和HART波形,他指着屏幕说:“你看,数字信号就像骑在直流电平上的小蛇,扭来扭去但不改变整体高度。”这比喻挺糙,但道理没错。 HART协议分三层:物理层、数据链路层、应用层。物理层就是刚才说的FSK。数据链路层用“主从”模式,总线上最多两个主站(通常一个手操器,一个DCS系统),从站是现场仪表。通信由主站发起,从站应答。帧格式挺紧凑:前导码、起始字节、地址、命令、字节数、数据、校验和。地址字段有点意思——短帧地址是1字节,长帧地址扩展到5字节,里面包含制造商ID和设备类型。所以一条HART总线上可以挂多个从站,靠轮询区分。 命令集是HART的灵魂。通用命令(0-30号)所有设备都得支持,比如读主变量、读单位、读量程。常用命令(32-127号)因设备而异,比如校准、自检。设备专用命令(128-253号)就随便厂家发挥了。我见过一台E+H的流量计,用命令128读传感器序列号,返回的ASCII码里藏着生产日期——这种私有命令在故障诊断时特别有用,但手册不写,得靠抓包猜。 说到抓包,HART调试最烦人的是“突发模式”。有些仪表配置成自动循环发送数据,不理会主站轮询。这时候你拿手操器去连,会发现总线被占满,根本插不进话。解决办法要么关掉突发,要么用支持冲突检测的主站。但很多老DCS系统压根没这功能,只能拔线重启仪表。 HART 7版本加了无线HART(WirelessHART),基于IEEE 802.15.4,自组网、跳频、AES加密。但和有线HART完全是两套东西,只是共享命令集。我试过把无线HART网关接到有线HART总线上,结果发现命令响应时间从几十毫秒变成几秒——对于闭环控制,这延迟没法忍。所以无线HART至今多用在监测场景,比如储罐液位,不碰实时控制。 最后说个冷知识:HART帧的校验和是异或校验,不是CRC。这意味着它检错能力有限,长帧传输出错概率比短帧高。所以现场布线时,屏蔽层接地要规范,否则变频器一启动,HART通信就断断续续。我见过一个项目,电缆屏蔽层两端都接地,形成地环路,HART误码率飙升。后来单端接地,问题消失。 HART不会死,但也不会再火了。它就像工业现场的老黄牛,慢吞吞但可靠。新项目用Ethernet-APL或Profibus PA,老装置继续跑HART。你问为什么?因为换仪表要停车,停车要损失几百万。所以那层1200Hz和2200Hz的音频,还得在电缆里再唱十年。HART通信协议详解
逻辑0 → 2200 Hz 正弦波
波特率:1200 bps
模拟信号:4-20 mA DC(不受数字信号影响)
-
上一篇
-
下一篇