2024年9月1日发(作者:仵韶敏)
HART通信协议
VER 1.6
一.概述
HART(Highway Addressable Remote Transducer)协议采用基于Bell202标准的FSK频移键控信
号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯,数据传输率为
1200bps。由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系
统的兼容性。在HART协议通信中主要的变量和控制信息由4-20mA传送,在需要的情况下,另外的测量、
过程参数、设备组态、校准、诊断信息通过HART协议访问。
在应用层,HART 规定了一系列命令,按命令方式工作。它有三类命令,第一类称为通用命令,这
是所有设备都理解、执行的命令;第二类称为普通应用命令,所提供的功能可以在许多现场设备(尽管
不是全部)中实现;第三类称为设备专用命令,以便于工作在某些设备中实现特殊功能,这类命令既可
以在基金会中开放使用,又可以为开发此命令的公司所独有。
二.含义
1.
2.
主机(Master):分为第一主机和第二主机,它能连接在HART网络上,发出命令与从机通讯;
从机(Field Device):连接在过程控制现场中,具有测量、计算多种变量功能,并能与主机
进行HART通讯的设备;
3. 长帧(Long Frame):地址Address由5字节组成的HART数据帧,所有的HART命令都支持长
帧数据帧。长帧地址各字节含义如下图所示:
制造商ID号(Manufacturer ID)由HART基金会分配;
在生产中,同类型设备序列号唯一,并且永不重复。广播地址使用长帧结构,低38 BIT全为0。
厂商指定的设备类型(Decive Type)与制造商ID满足下表要求;
设备类型代码指定原则
4. 短帧(Short Frame):地址Address由1字节组成的HART数据帧,短帧只有通用命令
Command 0能够使用,短帧字节含义如下:所有的HART从机都支持长、短帧。
低6位短帧地址:轮询从机地址
1:从机在突发模式
0:正常模式
主机地址
0:第二主机
1:第一主机
短帧Address字节含义
5.
6.
7.
请求帧(STX):由主机(如手抄器)向从机(现场设备)发出请求数据命令;
应答帧(ACK):从机回复给主机的数据;
前导符(Preamble):发起命令(数据)传输的设备在传输数据帧前发送的0xFF字符,发送该
字符的数量一般为5—20个,该数量可以通过命令来改变;前导符的使用是为了使数据接收端
在硬件电路上产生CD载波检测信号,以实现数据通讯的同步。
8. 定界符(Delimiter):表示数据帧传输的开始,指明数据的传输方向、物理层类型,同时它也
指定了数据帧的帧类型(长、短帧),其含义内容如下:
帧类型(传输方向)
001:突发模式
010:主机向从机请求数据(STX)
110:从机向主机回复数据(ACK)
物理层类型
00:异步(FSK)
01:同步(ACK)
扩展字节数
为00
地址类型
0:短帧1字节(轮询)
1:长帧5字节(唯一地址)
定界符Delimiter字节含义
9. 地址(Address):由定界符Delimiter指定为短帧(1字节)或长帧(5字节)两种类型,长、
短帧释义如前述;
10.
11.
扩展字节(Expansion Bytes):本公司目前的HART协议版本保留,为0;
命令(Command):功能码,指明一个数据帧的具体实现功能,命令有通用命令、 普通应用命
令、设备专用命令三大类;
12.
13.
14.
数据字节数(Bytes Count):指实际的数据Data的数量;
数据(Data):设置或读取指定从机的参数数据(通信的最终结果);
校验字节(Check Byte):从定界符(Delimiter)到数据(Data)的所有字节的‘异或’值,
即纵向校验。
三.HART通讯规范
1. 通信帧格式:由前导符和数据帧构成,各数据域释义如上
数 据 帧
Bytes
Delimiter
Address
Expansion
Command
Count
bytes
Check
Byte
校验字节
1字节
前导符
Preamble
5-20字节
固定为
(0xFF)
Data
数据
n字节
+
定界符
1字节
地址
短帧1字节
扩展字节
长帧5字节
0—3字节
命令
1字节
数据个数
1字节
通信帧格式
2.
3.
4.
5.
通讯速率:1200Bps;
通讯信号:Bell202标准的FSK频移键控信号,‘1200Hz’代表数字1,‘2200Hz’代表数字0;
数据格式(11位):1位起始位、8位数据位、1位停止位、1位校验位,字节奇(Odd)校验;
应答数据帧的数据个数(Bytes Count)至少为2字节,这两个字节分别为响应码(Response
Code)和设备状态码(Field Device Status);
6. 响应码格式:从机回复给主机的命令执行情况代码,当通讯出错时,响应吗最高位bit7=1,这
时设备状态码无实际意义;当bit7=0时,表示通讯正常,余下6 bits表示命令执行情况的响
应。
7. 通讯正常时响应码(bit7=0,低6 bits):
* 具体含义因不同命令而定,可查看相关的HART命令资料。
响应码含义
执行成功
设置参数太大
接收的数据太少
处于写保护模式
1、低限范围值太大2、不正确的电流模式
1、上限范围值太大2、多从机模式3、无效
设备变量代码4、调整超范围5、不能就地锁
定
1、上、下限范围值超标2、计算错误3、无
效的命令号
无效的模拟通道号
无效的设备变量索引
设备变量的应用不合理
不支持的单位代码
延迟响应开始
8.
响应代码
0x02
0x04
0x06
0x08
0x0a
0x0c
响应码含义
错误的命令
设置参数太少
专用命令错
1、更新失败2、设置为接近值3、延时响应
1、低限范围值太小2、无效的就地锁定
1、上限范围值太小2、无效单位代码3、无效
的模式选择4、无效的插槽号
1、量程太小2、设置的下限值引起上限值改
变而超出传感器极限
访问受限
无效的单位代码
无效的扩展命令号
忙
延迟响应进行中
响应代码
0x00
0x03
0x05
0x07
0x09
0x0b
0x0d
0x0f
0x11
0x13
0x1c
0x21
0x40
0x0e
0x10
0x12
0x14
0x20
0x22
命令不能执行
通讯出错时响应代码(bit7=1)含义如下:
响应代码
0xc0
0xa0
0x90
0x88
0x82
通讯出错含义
接收字节字节奇校验出错
接收缓冲区数据覆盖错
没有接收到停止位出错
校验字节出错
接收缓冲区溢出
9. 设备状态码:含义如下
响应代码
0x80
0x40
0x20
0x08
0x04
0x02
设备状态含义
设备故障
配置参数改变
设备冷启动
环路电流固定模式
环路电流饱和
设备变量(没有映射到主变量)超限
10.
0x01 主变量超出极限
数据类型:HART通讯协议支持以下类型的数据:字符串Str、日期Date、单或双精度浮点数
Float、无符号整型数Unsigned、有符号整型数Signed、联合体Enum或位Bit。数据传输顺序:
MSB至LSB。
1)字符串:字符串支持标准的拉丁字母Latin和封装格式Packed的ASCII码,拉丁字符每个字母占1
个字节;封装格式的ASCII码每字母占1个字节的6位,因此,每4个字母封装在3个字节中,在使用
过程中需要打包和解包操作。
2)浮点数:满足IEEE754标准要求,单精度浮点数用4个字节表示,双精度浮点数用8个字节表示。
1—bit
符号位
8—bit
指数
23—bit
小数
单精度浮点数格式
不可识别的浮点数用0x7f、0xa0、0x00、0x00表示。
11. 设备变量状态(Device Variable Status):所有需要周期处理的数据(如设备变量和动态变
量)都包含一个设备变量状态字节,其内容定义如下:默认0xc0
设备变量状态字节含义
四.HART应用命令
命令有通用命令、 普通应用命令、设备专用命令三大类,通用命令是所有的HART现场设备都必须响应
的命令;普通应用命令只被设备部分应用;设备专用命令是生产商根据需要制定的命令。
(一)通用命令
12. Command 0:读唯一标识
1)短帧
请求帧STX:
Delimiter
0x02
响应帧ACK:
Delimiter
Address
0x00|00xxxxxx
Address
Expansion
Bytes
NULL
Command
0
Bytes
Count
0
Bytes
Count
19
2
Data
NULL
Data
Check
Byte
XOR
Expansion Command
Bytes
正常响应 0x06 0x00|00xxxxxx NULL 0
异常响应 0x06 0x00|00xxxxxx NULL 0
注:状态=通讯状态+设备状态,其含义如前述,以下不再赘述。
2)长帧
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
0
Check
Byte
状态+数据 XOR
状态 XOR
Bytes
Count
0
Bytes
Count
21
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
0
0
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0
1-2
3
4
5
6
7
8
数据类型
Unsigned—8
Enum
Unsigned—8
Unsigned—8
Unsigned—8
Unsigned—8
Unsigned—5
Enum
Bits
值
254
未定
>5
0x07
0x01
0x01
0x01
0x08
说明
统一固定值
产品设备类型ID,由厂商定义,HCF 登记
主设备到从设备的最少同步前导码数量
通用命令版本号,版本7
设备版本水平
设备软件版本(254和255保留)
高5位表示硬件版本号(31保留)
低3位表示物理信号为Bell202 电流信号
保留
可更改
N
N
N
N
N
N
N
N
9-11
12
13
14-15
16
Unsigned—24
Unsigned—8
Unsigned—8
Unsigned—16
Bits
>5
0x01
0
0x01
0x02
未定 17-18 Enum
设备ID ,同种类型设备的序列号
从设备到主设备的最少同步前导码数量
最大设备变量数,主设备希望能读取的设备变量的
个数。
配置改变记数器
扩展设备状态。
0 设备正常
0x01 设备没有故障但需要维护
0x02 设备变量报警状态
制造商ID,由HCF分配
N
N
N
N
N
N
13. Command 1:读主变量
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
1
Bytes
Count
0x00
Bytes
Count
7
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
1
1
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0
1-4
数据类型
Enum
Float
值
说明
对应的变量单位,见附表1《单位代码》
单精度浮点数表示主变量的值
可更改
N
N
14. Command 2:读环路电流和量程百分比
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
2
Bytes
Count
0
Bytes
Count
10
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
2
2
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0-3
数据类型
Float
值
说明
单精度浮点数表示环路电流值mA
可更改
N
4-7 Float
单精度浮点数表示主变量占量程的百分比 N
15. Command 3:读动态变量和环路电流
注:本公司压力变送器只有1个动态变量,即主变量
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
3
Bytes
Count
0
Bytes
Count
11
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
3
3
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0-3
4
5-8
数据类型
Float
Enum
Float
值
说明
单精度浮点数表示主变量对应环路电流值mA
动态变量单位
单精度浮点数表示动态变量的值
可更改
N
N
N
16. Command 6:设置轮询地址
请求帧STX:
Delimiter
0x82
请求帧数据内容
Address
0x00|38 bits ID
值
Polling Addr
0、1
Address
Expansion
Bytes
NULL
Command
6
Bytes
Count
2
Data
数据
Check
Byte
XOR
可更改
Y
Y
字节 数据类型
0 Unsigned—8
1 Enum
响应帧ACK:
Delimiter
正常响应 0x86
说明
设置的轮询地址 (0~15)
0=环路电流禁止;1=环路电流允许
Command
6
6
Bytes
Count
4
2
Data
0x00|38
ID
异常响应 0x86 0x00|38
ID
正常响应帧数据内容同请求帧
Expansion
Bytes
bits NULL
bits NULL
Check
Byte
状态+数据 XOR
状态 XOR
注:现场设备在制造时就设置轮询地址为0,并且环路电流被允许,这是为了保证HART现场设备能够
接到一个只有模拟信号的现场装置。当轮询地址设置为0时,从设备必须同时工作在环路电流模式
(一对一),电流和基本变量值相关联;当轮询地址设置其它值时,从设备必须同时工作在非环路
电流模式(一对多),电流设置为能够维持操作的最小值。
17. Command 7:读环路配置
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
7
Bytes
Count
0
Bytes
Count
4
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
7
7
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0
1
数据类型
Unsigned—8
Enum
值
Polling Addr
0、1
说明
设置的轮询地址
0=环路电流禁止;1=环路电流允许
可更改
N
N
18. Command 8:读动态变量分类
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
8
Bytes
Count
0
Bytes
Count
3
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
8
8
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
2024年9月1日发(作者:仵韶敏)
HART通信协议
VER 1.6
一.概述
HART(Highway Addressable Remote Transducer)协议采用基于Bell202标准的FSK频移键控信
号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯,数据传输率为
1200bps。由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系
统的兼容性。在HART协议通信中主要的变量和控制信息由4-20mA传送,在需要的情况下,另外的测量、
过程参数、设备组态、校准、诊断信息通过HART协议访问。
在应用层,HART 规定了一系列命令,按命令方式工作。它有三类命令,第一类称为通用命令,这
是所有设备都理解、执行的命令;第二类称为普通应用命令,所提供的功能可以在许多现场设备(尽管
不是全部)中实现;第三类称为设备专用命令,以便于工作在某些设备中实现特殊功能,这类命令既可
以在基金会中开放使用,又可以为开发此命令的公司所独有。
二.含义
1.
2.
主机(Master):分为第一主机和第二主机,它能连接在HART网络上,发出命令与从机通讯;
从机(Field Device):连接在过程控制现场中,具有测量、计算多种变量功能,并能与主机
进行HART通讯的设备;
3. 长帧(Long Frame):地址Address由5字节组成的HART数据帧,所有的HART命令都支持长
帧数据帧。长帧地址各字节含义如下图所示:
制造商ID号(Manufacturer ID)由HART基金会分配;
在生产中,同类型设备序列号唯一,并且永不重复。广播地址使用长帧结构,低38 BIT全为0。
厂商指定的设备类型(Decive Type)与制造商ID满足下表要求;
设备类型代码指定原则
4. 短帧(Short Frame):地址Address由1字节组成的HART数据帧,短帧只有通用命令
Command 0能够使用,短帧字节含义如下:所有的HART从机都支持长、短帧。
低6位短帧地址:轮询从机地址
1:从机在突发模式
0:正常模式
主机地址
0:第二主机
1:第一主机
短帧Address字节含义
5.
6.
7.
请求帧(STX):由主机(如手抄器)向从机(现场设备)发出请求数据命令;
应答帧(ACK):从机回复给主机的数据;
前导符(Preamble):发起命令(数据)传输的设备在传输数据帧前发送的0xFF字符,发送该
字符的数量一般为5—20个,该数量可以通过命令来改变;前导符的使用是为了使数据接收端
在硬件电路上产生CD载波检测信号,以实现数据通讯的同步。
8. 定界符(Delimiter):表示数据帧传输的开始,指明数据的传输方向、物理层类型,同时它也
指定了数据帧的帧类型(长、短帧),其含义内容如下:
帧类型(传输方向)
001:突发模式
010:主机向从机请求数据(STX)
110:从机向主机回复数据(ACK)
物理层类型
00:异步(FSK)
01:同步(ACK)
扩展字节数
为00
地址类型
0:短帧1字节(轮询)
1:长帧5字节(唯一地址)
定界符Delimiter字节含义
9. 地址(Address):由定界符Delimiter指定为短帧(1字节)或长帧(5字节)两种类型,长、
短帧释义如前述;
10.
11.
扩展字节(Expansion Bytes):本公司目前的HART协议版本保留,为0;
命令(Command):功能码,指明一个数据帧的具体实现功能,命令有通用命令、 普通应用命
令、设备专用命令三大类;
12.
13.
14.
数据字节数(Bytes Count):指实际的数据Data的数量;
数据(Data):设置或读取指定从机的参数数据(通信的最终结果);
校验字节(Check Byte):从定界符(Delimiter)到数据(Data)的所有字节的‘异或’值,
即纵向校验。
三.HART通讯规范
1. 通信帧格式:由前导符和数据帧构成,各数据域释义如上
数 据 帧
Bytes
Delimiter
Address
Expansion
Command
Count
bytes
Check
Byte
校验字节
1字节
前导符
Preamble
5-20字节
固定为
(0xFF)
Data
数据
n字节
+
定界符
1字节
地址
短帧1字节
扩展字节
长帧5字节
0—3字节
命令
1字节
数据个数
1字节
通信帧格式
2.
3.
4.
5.
通讯速率:1200Bps;
通讯信号:Bell202标准的FSK频移键控信号,‘1200Hz’代表数字1,‘2200Hz’代表数字0;
数据格式(11位):1位起始位、8位数据位、1位停止位、1位校验位,字节奇(Odd)校验;
应答数据帧的数据个数(Bytes Count)至少为2字节,这两个字节分别为响应码(Response
Code)和设备状态码(Field Device Status);
6. 响应码格式:从机回复给主机的命令执行情况代码,当通讯出错时,响应吗最高位bit7=1,这
时设备状态码无实际意义;当bit7=0时,表示通讯正常,余下6 bits表示命令执行情况的响
应。
7. 通讯正常时响应码(bit7=0,低6 bits):
* 具体含义因不同命令而定,可查看相关的HART命令资料。
响应码含义
执行成功
设置参数太大
接收的数据太少
处于写保护模式
1、低限范围值太大2、不正确的电流模式
1、上限范围值太大2、多从机模式3、无效
设备变量代码4、调整超范围5、不能就地锁
定
1、上、下限范围值超标2、计算错误3、无
效的命令号
无效的模拟通道号
无效的设备变量索引
设备变量的应用不合理
不支持的单位代码
延迟响应开始
8.
响应代码
0x02
0x04
0x06
0x08
0x0a
0x0c
响应码含义
错误的命令
设置参数太少
专用命令错
1、更新失败2、设置为接近值3、延时响应
1、低限范围值太小2、无效的就地锁定
1、上限范围值太小2、无效单位代码3、无效
的模式选择4、无效的插槽号
1、量程太小2、设置的下限值引起上限值改
变而超出传感器极限
访问受限
无效的单位代码
无效的扩展命令号
忙
延迟响应进行中
响应代码
0x00
0x03
0x05
0x07
0x09
0x0b
0x0d
0x0f
0x11
0x13
0x1c
0x21
0x40
0x0e
0x10
0x12
0x14
0x20
0x22
命令不能执行
通讯出错时响应代码(bit7=1)含义如下:
响应代码
0xc0
0xa0
0x90
0x88
0x82
通讯出错含义
接收字节字节奇校验出错
接收缓冲区数据覆盖错
没有接收到停止位出错
校验字节出错
接收缓冲区溢出
9. 设备状态码:含义如下
响应代码
0x80
0x40
0x20
0x08
0x04
0x02
设备状态含义
设备故障
配置参数改变
设备冷启动
环路电流固定模式
环路电流饱和
设备变量(没有映射到主变量)超限
10.
0x01 主变量超出极限
数据类型:HART通讯协议支持以下类型的数据:字符串Str、日期Date、单或双精度浮点数
Float、无符号整型数Unsigned、有符号整型数Signed、联合体Enum或位Bit。数据传输顺序:
MSB至LSB。
1)字符串:字符串支持标准的拉丁字母Latin和封装格式Packed的ASCII码,拉丁字符每个字母占1
个字节;封装格式的ASCII码每字母占1个字节的6位,因此,每4个字母封装在3个字节中,在使用
过程中需要打包和解包操作。
2)浮点数:满足IEEE754标准要求,单精度浮点数用4个字节表示,双精度浮点数用8个字节表示。
1—bit
符号位
8—bit
指数
23—bit
小数
单精度浮点数格式
不可识别的浮点数用0x7f、0xa0、0x00、0x00表示。
11. 设备变量状态(Device Variable Status):所有需要周期处理的数据(如设备变量和动态变
量)都包含一个设备变量状态字节,其内容定义如下:默认0xc0
设备变量状态字节含义
四.HART应用命令
命令有通用命令、 普通应用命令、设备专用命令三大类,通用命令是所有的HART现场设备都必须响应
的命令;普通应用命令只被设备部分应用;设备专用命令是生产商根据需要制定的命令。
(一)通用命令
12. Command 0:读唯一标识
1)短帧
请求帧STX:
Delimiter
0x02
响应帧ACK:
Delimiter
Address
0x00|00xxxxxx
Address
Expansion
Bytes
NULL
Command
0
Bytes
Count
0
Bytes
Count
19
2
Data
NULL
Data
Check
Byte
XOR
Expansion Command
Bytes
正常响应 0x06 0x00|00xxxxxx NULL 0
异常响应 0x06 0x00|00xxxxxx NULL 0
注:状态=通讯状态+设备状态,其含义如前述,以下不再赘述。
2)长帧
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
0
Check
Byte
状态+数据 XOR
状态 XOR
Bytes
Count
0
Bytes
Count
21
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
0
0
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0
1-2
3
4
5
6
7
8
数据类型
Unsigned—8
Enum
Unsigned—8
Unsigned—8
Unsigned—8
Unsigned—8
Unsigned—5
Enum
Bits
值
254
未定
>5
0x07
0x01
0x01
0x01
0x08
说明
统一固定值
产品设备类型ID,由厂商定义,HCF 登记
主设备到从设备的最少同步前导码数量
通用命令版本号,版本7
设备版本水平
设备软件版本(254和255保留)
高5位表示硬件版本号(31保留)
低3位表示物理信号为Bell202 电流信号
保留
可更改
N
N
N
N
N
N
N
N
9-11
12
13
14-15
16
Unsigned—24
Unsigned—8
Unsigned—8
Unsigned—16
Bits
>5
0x01
0
0x01
0x02
未定 17-18 Enum
设备ID ,同种类型设备的序列号
从设备到主设备的最少同步前导码数量
最大设备变量数,主设备希望能读取的设备变量的
个数。
配置改变记数器
扩展设备状态。
0 设备正常
0x01 设备没有故障但需要维护
0x02 设备变量报警状态
制造商ID,由HCF分配
N
N
N
N
N
N
13. Command 1:读主变量
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
1
Bytes
Count
0x00
Bytes
Count
7
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
1
1
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0
1-4
数据类型
Enum
Float
值
说明
对应的变量单位,见附表1《单位代码》
单精度浮点数表示主变量的值
可更改
N
N
14. Command 2:读环路电流和量程百分比
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
2
Bytes
Count
0
Bytes
Count
10
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
2
2
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0-3
数据类型
Float
值
说明
单精度浮点数表示环路电流值mA
可更改
N
4-7 Float
单精度浮点数表示主变量占量程的百分比 N
15. Command 3:读动态变量和环路电流
注:本公司压力变送器只有1个动态变量,即主变量
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
3
Bytes
Count
0
Bytes
Count
11
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
3
3
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0-3
4
5-8
数据类型
Float
Enum
Float
值
说明
单精度浮点数表示主变量对应环路电流值mA
动态变量单位
单精度浮点数表示动态变量的值
可更改
N
N
N
16. Command 6:设置轮询地址
请求帧STX:
Delimiter
0x82
请求帧数据内容
Address
0x00|38 bits ID
值
Polling Addr
0、1
Address
Expansion
Bytes
NULL
Command
6
Bytes
Count
2
Data
数据
Check
Byte
XOR
可更改
Y
Y
字节 数据类型
0 Unsigned—8
1 Enum
响应帧ACK:
Delimiter
正常响应 0x86
说明
设置的轮询地址 (0~15)
0=环路电流禁止;1=环路电流允许
Command
6
6
Bytes
Count
4
2
Data
0x00|38
ID
异常响应 0x86 0x00|38
ID
正常响应帧数据内容同请求帧
Expansion
Bytes
bits NULL
bits NULL
Check
Byte
状态+数据 XOR
状态 XOR
注:现场设备在制造时就设置轮询地址为0,并且环路电流被允许,这是为了保证HART现场设备能够
接到一个只有模拟信号的现场装置。当轮询地址设置为0时,从设备必须同时工作在环路电流模式
(一对一),电流和基本变量值相关联;当轮询地址设置其它值时,从设备必须同时工作在非环路
电流模式(一对多),电流设置为能够维持操作的最小值。
17. Command 7:读环路配置
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
7
Bytes
Count
0
Bytes
Count
4
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
7
7
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容
字节
0
1
数据类型
Unsigned—8
Enum
值
Polling Addr
0、1
说明
设置的轮询地址
0=环路电流禁止;1=环路电流允许
可更改
N
N
18. Command 8:读动态变量分类
请求帧STX:
Delimiter
0x82
响应帧ACK:
Delimiter
正常响应
异常响应
0x86
0x86
Address
0x00|38 bits ID
Address
0x00|38
ID
0x00|38
ID
Expansion
Bytes
NULL
Command
8
Bytes
Count
0
Bytes
Count
3
2
Data
NULL
Data
Check
Byte
XOR
Expansion
Bytes
bits NULL
bits NULL
Command
8
8
Check
Byte
状态+数据 XOR
状态 XOR
正常响应帧数据内容