介绍过HART协议物理层和HART数据链路层之后,我们还对HART的服务进行了阐述。通过这些一系列的讲解,相信大家已经对软件平台中的HART协议应用有了一定的了解了。这里我们介绍***一部分内容,是HART应用层规范和相关语言和命令的介绍。

HART协议的应用层规范

通用命令:所有设备都实现这些命令。命令号范围是:0 ~ 30;

一般行为命令:多数设备支持这些命令的实现。命令号范围:32 ~ 127;

变送器专用命令:只有一个或几个设备支持这些命令。通过执行专用命令来完成一些独有的特殊功能,和数据处理;命令号范围:128 ~ 255;

2 数据格式

①. 无符号整数:用来表示原始数字(raw numbers),如“***安装号”。

②. IEEE 754浮点格式:

通过协议传递的浮点值是基于IEEE 754单精度浮点标准的。

数据字节

#0 #1 #2 #3

S EEEEEEE E MMMMMMM MMMMMMMM MMMMMMMM

S-尾数的符号;1=负

E-指数;与十进制数127的差值以二进制补码形式表示。

M-尾数;低23位,小数部分。

上述浮点数的值通过把2的无偏移指数次方与24位尾数相乘得到。24 位尾数由一个假设的***位1,后跟一个小数点,和尾数的23位组成。S1.M X

③.ASCII数据格式:

此格式可以参照任何一个ASCII代码表。

④.压缩ASCII(6位ASCII)数据格式:

这种数据格式是HART协议的一个独特之处。压缩的ASCII是ASCII的子集,它通过去掉每个ASCII字符的高2位而产生。这就允许4个压缩的ASCII字符占用3个ASCII字符的空间。具体的格式安排情况如下:

压缩的ASCII数据字节 #0 #1 #2 …

ASCII数据字节 #0 #1 #1 #2 #2 #3 …

ASCII数据位543210 54 3210 5432 10 543210 …

由HART字符集可以看出,HART协议不允许有小写英文字母出现。

⑤.变量描述:

变送器提供了四个可以访问的变量输出通道。每个变送器变量都对应一个代码,上位机通过给变送器的每个通道设定不同的变量代码来得到相应的变量值。变量代码表由变送器的生产厂商提供。

设备描述语言

随着HART协议的发展,对主设备和现场设备开发者来说,又产生了新的障碍。主设备开发者必须为不断涌现的新现场设备提供支持,同时,现场设备开发者必须为数量正迅速增加的主设备开发相应的接口。

设备描述语言(DDL)是用以描述HART现场设备的一种简单结构化英语语言。DDL将主设备与现场设备操作所需的所有信息都集中到了一起,而目前这些信息却是以不同的形式存在于不同的地方。HART文档描述了其中一些信息(如普通命令、通用命令、通用表等)。变送器特有文档说明了特殊设备信息(如来自于通用命令的偏差,同时又支持通用命令和特殊变送器命令)。CAD图提供了手持终端的外观和流程,甚至有些信息是由手持终端的应用来说明的。例如,整定D/A转换器的过程就是按手持终端处理方法定义的。DDL语言组合了所有这些信息,为对现场设备提供了一种清晰的、不含糊的、一致的描述。

一种正在开发的手持终端将只基于设备描述与现场设备进行操作,而不能与没有设备描述的现场设备进行操作。这具有十分诱人的优点。

新的现场设备可以不依赖于手持终端的版本而发布。一旦现场设备的设备描述存在,这种描述就能被载入手持终端,然后现场设备就能与之操作了。现场设备开发者将不再需要确认手持终端的操作,只需要检验设备描述语言。因此,当前存在于现场设备和手持终端版本间的互相依赖的紧密联系将不复存在。

现场设备开发者在怎样将其产品引入现场及怎样为其用户升级方面具有很大的灵活性。设备描述能驻留在现场设备中,所以合适的设备描述总是有效的。升级的设备描述能以模块的形式提供,并且可以引入到手持终端。可以用软盘来进行升级,也可以用PC软件将其下装到手持终端中。软盘升级可以由用户自己或服务中心来完成。

DDL语言将会代替特殊变送器文档和CAD线图,所以,这会消除以前存在的许多文档问题。

由于目前DDL及其编译器价格较贵,各厂家也没有提供支持DDL的相应的设备,不建议采用和实现支持DDL的功能,而是采用将各类设备的专有属性与通用属性分开,专有属性以不同的动态链接库实现。

【责任编辑:佟媛微 TEL:(010)68476606】

点赞 0

hart协议c语言,简述HART协议命令和语言相关推荐

  1. 数据结构摧毁线性表用c语言,[简述]数据结构-线性表(c语言实现)

    [简述]数据结构-线性表(c语言实现)second60 20180422 1. 线性表的定义 线性表是具有相同特性的数据元素的一个有限序列. 2. 线性表抽象数据类型描述 ADT  List { 数据 ...

  2. c语言定义max和命令,C语言#define定义函数

    define是c语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便. 预处理命令以"#"号开头,如包含命令#include,宏定义命令#define等.一般都 ...

  3. c语言文件指针ab命令,C语言试题,~库(完整版~).doc

    -_ C语言试题库 单项选择 C语言概述 一个C程序的执行是从 A.本程序的MAIN函数开始,到MAIN 函数结束. B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. C.本程序的MA ...

  4. c语言编译中scanf命令,C语言scanf的用法

    scanf()是C语言中的一个输入函数.与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include .(在有一些实现中,printf函数与scanf函数 ...

  5. 易语言snmp_[易语言] DOS下的命令,易语言编程的时候用得到

    winver 检查 Windows 版本 wmimgmt.msc 打开 Windows 管理体系结构 (wmi) wupdmgr Windows 更新程序 ws c ri pt Windows 脚本宿 ...

  6. Python 语言创建 HyerMesh Tcl 命令流

    目 录 Blog Links 一.前言 二.Tcl 命令 2.1 帮助文档 2.2 命令窗口 2.3 运行脚本 2.4 基本语法 三.模型组件 四.几何模型 4.1 几何点/Point 4.2 几何线 ...

  7. 从入门到入土:基于C语言采用UDP协议实现远程控制|详细说明|利用流套接字实现一个简单的远程控制系统|代码展示

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  8. 从入门到入土:基于C语言采用TCP协议实现远程控制|详细说明|利用流套接字实现一个简单的远程控制系统

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  9. 使用java语言基于SMTP协议手写邮件客户端

    使用java语言基于SMTP协议手写邮件客户端 1. 说明 电子邮件是互联网上常见的应用,他是互联网早期的产品,直至今日依然受到广大用户的喜爱(在中国可能因为文化背景不同,电子邮件只在办公的时候常用) ...

  10. OC语言Block和协议

    OC语言Block和协议 分类: OC基础2014-10-07 09:24 162人阅读 评论(0) 收藏 举报 OC Block OC协议 OC语言BLOCK和协议 一.BOLCK (一)简介  B ...

最新文章

  1. 修改 SQL Server 服务器的 IP 地址
  2. [导入]WAP网站的网关服务器应用形式
  3. 洛谷 1858 多人背包
  4. 阿里云ECS使用cloudfs4oss挂载OSS
  5. php 二维数组 根据某个字段排序
  6. (转)C#网络编程(基本概念和操作) - Part.1
  7. bat for 循环中定义变量(变量值不显示,通过使用「延期变量扩展」方式解决)
  8. 接口测试简单介绍、及jmeter的简单使用
  9. arduino i2c EEPROM(AT24C02、AT24C08、AT24C16、AT24C32、AT24C64)驱动
  10. OPNET中使用外部文件
  11. 非线性拟合matlab代码,Matlab非线性拟合
  12. MAC 笔记本的快捷键和输入法切换(搜狗)
  13. java线程锁有哪几种_Java锁有哪些种类,以及区别
  14. 山东科技大学计算机篮球,山东科技大学第十七届学生男子篮球赛开幕
  15. 可在线接收验证短信的网站
  16. Android的在线热更新方案_Robust
  17. 永恒之蓝方程式利用工具使用教程
  18. Unity 之 代码获取IOS设备型号 -- 做分辨率适配
  19. 给计算机写程序的第一人竟是一位女子
  20. 解除网卡绑定(多台电脑上网)

热门文章

  1. Mockito + JUnit 单元测试实例
  2. 服务器没有D盘怎么架设传奇?
  3. Windows 应用生成MiniDump文件的方法笔记
  4. 18个小实例入门SQLServer XML查询
  5. java方法调用制作万年历,基于JAVA的万年历api调用代码实例
  6. 测试面试/笔试题 大集合
  7. 拟合优度:Pearson 卡方检验
  8. Retrofit完美封装
  9. 介绍常用的无线通信技术
  10. vim user-manual的笔记 Chapter1