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

2023-10-29

实际应用中,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通信结构模型

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 结构,包括导言(前导) 字节、起始字节、地址字节、命令字节、字节计数、状态字节、数据字节和校验字节等。每一部分均由多个字节组成,每个字节都有11位。


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


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

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

普通命令

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

特殊命令

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

下回学RS-485

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

串行通信协议---HART协议 的相关文章

  • 第二节课内容学习

    监听远程端口 并映射到本地 先配置ssh的公私钥非对称加密 假设远程开放的端口为33090 在本地计算机终端执行 ssh CNg L 6006 127 0 0 1 6006 root ssh intern ai org cn p 33090
  • pandas用法整理

    处理表格数据的时候经常用到pandas 每次用的时候都要去查函数 每次记不住 每次都查 哈哈哈 自己整理一下 码住 一 Pandas的数据类型 进行数据分析时 如何正确使用数据类型 这非常重要 在pandas中的数据类型和python原生数
  • Linux中如何查看开启了哪些端口?

    在Linux中 端口是设备与外界通讯交流的出口 常用于指TCP IP协议中的端口 其按照端口号可以分为三类 分别是 公认端口 注册端口 动态端口 那么Linux中如何查看开启了哪些端口 以下是常用命令介绍 1 使用netstat命令 net
  • 【镜像压缩】linux 上 SD/TF 卡镜像文件压缩到实际大小的简单方法(树莓派、nvidia jetson)

    文章目录 1 备份 SD TF 卡为镜像文件 2 压缩镜像文件 2 1 多分区镜像文件的压缩 树莓派 普通 linux 系统等 2 2 单分区镜像文件的压缩 Nvidia Jetson Nano 等 3 还原镜像文件到 SD TF 卡
  • Linux 软件安装以及管理

    本篇主要记录常用的软件安装和管理方式 主要是 yum rpm dnf apt pip 大致都是一样的 主要是部分软件提供了解决依赖的功能 内容不包括源码安装 源码安装情况相对比较复杂 后续有时间再补充 约定 案例所用模板软件均为 pytho
  • centos系统有什么好处?

    CentOS是一种基于开源代码的Linux操作系统 它有以下几个优势 1 稳定性 CentOS是一种非常稳定的操作系统 它的代码经过了严格的测试和审查 因此它非常适合作为服务器操作系统使 用 2 安全性 由于CentOS是基于开源代码的操作
  • 掌握内网渗透之道,成为实战高手,看《内网渗透实战攻略》就够了

    文末送书 文末送书 今天推荐一本网络安全领域优质书籍 内网渗透实战攻略 文章目录 前言 如何阅读本书 目录 文末送书 前言 当今 网络系统面临着越来越严峻的安全挑战 在众多的安全挑战中 一种有组织 有特定目标 长时间持续的新型网络攻击日益猖
  • 5个步骤,教你瞬间明白线程和线程安全

    记得今年3月份刚来杭州面试的时候 有一家公司的技术总监问了我这样一个问题 你来说说有哪些线程安全的类 我心里一想 这我早都背好了 稀里哗啦说了一大堆 他又接着问 那你再来说说什么是线程安全 然后我就GG了 说真的 我们整天说线程安全 但是对
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

    目录 一 前言 二 远程控制中的安全威胁 三 国内外远控软件安全机制 ToDesk RayLink Teamviewer Splashtop 四 安全远控预防 一 前言 近期 远程控制话题再一次引起关注 据相关新闻报道 不少不法分子利用远程
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 网络安全基础知识面试题库

    1 基于路由器的攻击手段 1 1 源IP地址欺骗式攻击 入侵者从外部传输一个伪装成来自内部主机的数据包 数据包的IP是 内网的合法IP 对策 丢弃所有来自路由器外端口 却使用内部源地址的数据包 1 2 源路由攻击 入侵者让数据包循着一个不可
  • tcpdump抓包

    tcpdump抓包 基本概念 1 类型的关键字 host 指明一台主机 如 host 10 1 110 110 net 指明一个网络地址 如 net 10 1 0 0 port 指明端口号 如 port 8090 2 确定方向的关键字 sr
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • 国外拨号VPS指南:开启你的全球网络之旅

    在当今数字化时代 互联网已经成为了我们生活的一部分 而要在全球范围内畅通无阻地访问互联网 拥有一个可靠的国外拨号VPS是非常重要的 无论您是为了工作 学习还是娱乐 国外拨号VPS都可以为您提供更广泛的网络体验 本文将为您提供国外拨号VPS的
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 为什么我强烈推荐大学生打CTF!

    前言 写这个文章是因为我很多粉丝都是学生 经常有人问 感觉大一第一个学期忙忙碌碌的过去了 啥都会一点 但是自己很难系统的学习到整个知识体系 很迷茫 想知道要如何高效学习 这篇文章我主要就围绕两点 减少那些罗里吧嗦的废话 直接上干货 CTF如
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 网络安全行业热门认证证书合集

    网络安全认证证书 就和学历一样是敲门砖 拿到了可以用不到 但不能没有 技术大牛可以没有证书 但普通人不能没有 1 初级入门 就像学历在职场上展示一个人的基本素养一样 网络安全认证证书可以展示一个人在网络安全领域具备的基本知识和技能 它为初学

随机推荐

  • JavaSHA-256加解密

    Java中可以使用java security MessageDigest类来进行SHA 256加密 以下是一个使用SHA 256加密字符串的示例代码 import java security MessageDigest public cla
  • IBM发布基于OpenStack的服务

    原文地址 http www csdn net article 2013 03 05 2814349 IBM lunch service based on OpenStack 时隔13年后 IBM再一次拥抱开源 这一次 是被称为21世纪Lin
  • spi设备驱动

    include
  • iOS第三方支付集成-微信支付

    序言 说来惭愧 终于有支付的需求给我做了 哇嘎嘎 开动 文章尽量写的详细点 从自身出发 希望能给大家一点帮助 欢迎大佬指正 支付流程 步骤1 用户在商户APP中选择商品 提交订单 选择微信支付 步骤2 商户后台收到用户支付单 调用微信支付统
  • hdlm 5.9在hacmp中的配置

    hdlm 5 9是hds多路径软件最新版本的 它与以前版本有不小的改进 比如以前一个ldev 如果有4个通道 那么在os上面可以看到4个hdisk 然后这个hdisk再组成一个dlmfdrv 在5 9中只有一个hdisk 没有dlmfdrv
  • 音视频编码类型

    H264 格式介绍 avcc 前四个字节表示nalu的size 大端 Annex B 0x000001或者0x00000001开始码 nalu针对0x000000 0x000001 0x000002和0x000003插入0x03防竞争字节
  • IDEA导入Eclipse项目步骤详解

    IDEA导入Eclipse项目步骤详解 文章目录 IDEA导入Eclipse项目步骤详解 首先在idea里file gt new gt Project from Existing Sources 选中到要导入的项目 这里我选用创建新的 Cl
  • 情感分析概述

    情感分析主要研究观点挖掘 倾向性分析等 一 为什么需要观点挖掘和倾向性分析 文本信息主要包括两类 客观性事实 主观性观点 但是已有的文本分析方法主要侧重在客观性文本内容的分析和挖掘 二 什么是观点挖掘与倾向性分析 观点挖掘与倾向性分析就是从
  • Java多线程进阶(十九)—— J.U.C之synchronizer框架:CyclicBarrier

    本文首发于一世流云专栏 https segmentfault com blog 一 CyclicBarrier简介 CyclicBarrier是一个辅助同步器类 在JDK1 5时随着J U C一起引入 这个类的功能和我们之前介绍的Count
  • Jmeter录制脚本

    性能关注点 接口响应时间 50毫秒 1000毫秒 吞度量 10000万每天 tPs 每秒处理事务数 压测需求与业务操作步骤 压测对象 http news baidu com 压测页面 首页 国际频道 财经频道 步骤 访问首页 单击 国际频道
  • 测试用例的优先级

    刚接触软件测试 先熟悉一下测试用例的优先级的概念 有时会听到0级别case的说法 其实这是对具有一定优先级的测试用例的说法 在这际测试实践中 测试用例根据重要性分成一定的等级 在不通的公司 可能测试用例的等级划分有所差异 但是基本大同小异
  • 积分计算两条曲线围绕y坐标轴旋转形成的立体体积

    积分计算两条曲线围绕y坐标轴旋转形成的立体体积 和附录文章1类似 计算两条曲线y x 2和y 2x围绕y坐标轴形成的立方体体积 首先要计算积分的上限和下限 根据两者相交的点求出 0 4 外层大圆R y y 1 2 和内层小圆r y y 2的
  • 使用iptables进行入站流量过滤

    iptables是Linux内置的流量过滤工具 同时也是多种防火墙的底层实现 如fw3 在本次应用中 iptables通过丢弃不符合规则的数据包 使得未注册设备在DHCP获取ip阶段失败 无法连接到专用内网 保证系统安全 iptables使
  • 10年软件测试工程师感悟——写给还在迷茫中的朋友

    这两天和朋友谈到软件测试的发展 其实软件测试已经在不知不觉中发生了非常大的改变 前几年的软件测试行业还是一个风口 随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业 目前软件测试行业 缺口 已经基本饱和 当然 我说的是最基础的功能测试
  • QT之D指针

    什么是D指针 如果你已经看过到Qt源码 你会发现它经常使用Q D和Q Q 宏 本文介绍了这些宏的用途 该Q D和Q Q宏是一个设计模式的一部分被称为d 指针 也称为 不透明的指针 其中一个库的实现细节可以从它的用户 并转移到执行被隐藏 另外
  • LLVM每日谈之二 LLVM IR

    作者 snsn1984 在介绍LLVM IR之前 我们需要先了解下LLVM的结构 传统的静态编译器分为三个阶段 前端 优化和后端 LLVM的三阶段设计是这样的 这样做的优点是如果需要支持一种新的编程语言 那么我们只需要实现一种新的前端 如果
  • 0基础java入门:第二十五节.面向对象思想理解思路。

    0基础java入门 第二十五节 面向对象思想理解思路 本章需要时间和代码积累才能理解通透 不要着急 先来了解 敲上三年代码再回来看 面向对象是现在大部分编程语言中都会提及和使用到的一种思想方式 有人说很难理解 但个人觉得其实不难 因为面向对
  • element ui tabs 修改成hover触发点击

    Element UI tabs标签页 将点击选择改成鼠标指到就点击 类似hover 1 单个组件 在el tabs里添加个ref 删去el tab pane里的 name绑定 然后在mounted里添加代码 mounted this nex
  • f12获取网页文本_网页上的文字不能复制怎么办?有这5招轻松复制

    有时候我们需要一些辅助资料时 会经常使用搜索工具查坎相关网页文件 但遇到一些需要用到的段落却不能直接复制时 一个字一个字的敲肯定是不现实 有什么方法可以让其直接进行复制呢 方法1 打印网页 这种方式相对比较简单 而且电脑也不需要真的安装打印
  • 串行通信协议---HART协议

    实际应用中 HART协议是仅次于Modbus协议的最接近统一现场总线的标准 主要是在4 20mA电流信号上面叠加数字信号 物理层采用Bell 202标准的FSK技术成功实现模拟信号和数字信号双向同时通信而互不干扰 HART协议规定了传输的物