HCF_SPEC-99应用层基础规范:应用层接口

HART协议的应用层是基于命令的。通信中的命令行决定了消息的内容。
命令号是一个固定字节。

1.1 命令号

协议支持单字节命令号(0-255)和两个字节的扩展命令号(255-65535)。
命令0-255使用命令域表示命令号;命令256-65535包含0x31和数据域的两字节的扩展命令号。下表表示了命令号的划分:
在这里插入图片描述1)通用命令。所有HART兼容设备都必须支持的命令。所有的通用命令都必须按协议规范实现;
2)常见命令。适用于大多数设备的命令。设备尽可能的支持。如果使用了常见命令,必须按协议规范实现;
以前38 48是常见命令,现在是通用命令,所有设备都需要支持。
3)非公开命令。工厂生产一种现场设备时使用的命令。只用于生产时使用,现场不可以使用。
4)无线命令。无线HART设备必须支持的命令。
5)设备系列命令。
6)设备特殊命令。制造商根据现场设备需要而定义的命令。

1.2 命令要求

命令设计的规范。HART协议规定的命令肯定是已经满足了以下要求,在进行厂商自定义命令设计时,需要遵守以下几点。

1.2.1 同步/异步要求

HART命令必须被设计为同步的,且为无状态的。意思是主从设备理解当前消息不需要知道上一条消息是什么。

1.2.2 命令操作

page31
HART命令必须只执行以下一种操作:
1)读。从现场设备中读取数据。
2)写。写入数据到现场设备。
3)命令设备执行某种动作。

1.2.3 索引命令

通过索引命令可以得到一个数据数组。要求必须数据的数量和类型一致,在请求和响应中的数据字节域以相同的顺序排列。

1.2.4 多事务处理命令

为了增加设备特定命令的数量,多事务处理命令允许请求和响应的数据域包含一个子命令号,用于当一个现场设备的设备特殊命令编号用完的情况

1.3 命令状态字节

主设备发送命令后,从设备必须回复命令状态字节作为反馈。所有的从设备响应必须使用数据域的前两个字节返回两个命令状态字节。第一个字节包含通信状态或响应码,第二个字节包含现场设备状态。
如果通信或者命令错误,则不返回响应数据字节。

1.3.1 命令状态

在这里插入图片描述第一个字节是与响应码复用的,只有当发生通信错误时才使用。发生通信错误时,字节的首位必须设置为1.

1.3.2 响应码

未发生通信错误时,则回复响应码。响应码表示设备执行命令的状态,字节的首位必须设置为0.使用0-127的枚举值表示不同的响应码。
在这里插入图片描述

1.3.3 现场设备状态

表示当前设备运行的状态,与命令执行结果无关。即使发生通信错误,这个字节也需要有意义。
在这里插入图片描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值