1 / 61
文档名称:

HART通信协议.docx

格式:docx   大小:504KB   页数:61页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

HART通信协议.docx

上传人:ATONGMU 2022/12/15 文件大小:504 KB

下载得到文件列表

HART通信协议.docx

文档介绍

文档介绍:该【HART通信协议 】是由【ATONGMU】上传分享,文档一共【61】页,该文档可以免费在线阅读,需要了解更多关于【HART通信协议 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。11
HART通信协议
VER

HART〔HighwayAddressableRemoteTransducer〕协议承受基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为的音频数字信号进展双向数字通讯,数据传输率为1200bps。由于FSK信号的平均值为0,不影响传送给掌握系统模拟信号的大小,保证了与现有模拟系统的兼容性。在HART协议通信中主要的变量和掌握信息由4-20mA传送,在需要的状况下,另外的测量、过程参数、设备组态、校准、诊断信息通过HART协议访问。
在应用层,HART规定了一系列命令,按命令方式工作。它有三类命令,第一类称为通用命令,这是全部设备都理解、执行的命令;其次类称为一般应用命令,所供给的功能可以在很多现场设备〔尽管不是全部〕中实现;第三类称为设备专用命令,以便于工作在某些设备中实现特别功能,这类命令既可以在基金会中开放使用,又可以为开发此命令的公司所独有。

1、主机〔Master〕:分为第一主机和其次主机,它能连接在HART网络上,发出命令与从机通讯;
2、从机〔FieldDevice〕:连接在过程掌握现场中,具有测量、计算多种变量功能,并能与主机进展HART通讯的设备;
3、长帧〔LongFrame〕:地址Address由5字节组成的HART数据帧,全部的HART命令都支持长帧数据帧。长帧地址各字节含义如以下图所示:
22
制造商ID号〔ManufacturerID〕由HART基金会安排;
在生产中,同类型设备序列号唯一,并且永不重复。播送地址使用长帧构造,低38BIT全为0。
厂商指定的设备类型〔DeciveType〕与制造商ID满足下表要求;
设备类型代码指定原则
4、短帧〔ShortFrame〕:地址Address由1字节组成的HART数据帧,短帧只有通用命令Command0能够使用,短帧字节含义如下:全部的HART从机都支持长、短帧。
低6位短帧地址:轮询从机地址1:从机在突发模式
0:正常模式
主机地址0:其次主机
1:第一主机
短帧Address字节含义
5、恳求帧〔STX〕:由主机〔如手抄器〕向从机〔现场设备〕发出恳求数据命令;
33
6、应答帧〔ACK〕:从机回复给主机的数据;
7、前导符〔Preamble〕:发起命令〔数据〕传输的设备在传输数据帧前发送的0xFF字符,发送该字符的数量一般为5—20个,该数量可以通过命令来转变;前导符的使用是为了使数据接收端在硬件电路上产生CD载波检测信号,以实现数据通讯的同步。
8、定界符〔Delimiter〕:表示数据帧传输的开头,指明数据的传输方向、物理层类型,同时它也指定了数据帧的帧类型〔长、短帧〕,其含义内容如下:
帧类型〔传输方向〕001:突发模式
010:主机向从机恳求数据〔 STX〕
110:从机向主机回复数据〔 ACK〕
物理层类型
:异步〔FSK〕
:同步〔ACK〕
扩展字节数为00
地址类型
:短帧1字节〔轮询〕
:长帧5字节〔唯一地址〕
定界符Delimiter字节含义
9、地址〔Address〕:由定界符Delimiter指定为短帧〔1字节〕或长帧〔5字节〕两种类型,长、短帧释义如前述;
10、
11、
扩展字节〔ExpansionBytes〕:本公司目前的HART协议版本保存,为0;
命令〔Command〕:功能码,指明一个数据帧的具体实现功能,命令有通用命令、普
33
通应用命令、设备专用命令三大类;
33
12、
13、
14、
数据字节数〔BytesCount〕:指实际的数据Data的数量;
数据〔Data〕:设置或读取指定从机的参数数据〔通信的最终结果〕;
校验字节〔CheckByte〕:从定界符〔Delimiter〕到数据〔Data〕的全部字节的‘异
33
或’值,即纵向校验。

1、通信帧格式:由前导符和数据帧构成,各数据域释义如上
33
44
前导符
Preamble
Delimiter
Address
Expansionbytes
Command
数据帧
Bytes
Count
Data
CheckByte
5-20字节
固定为
〔0xFF〕
+
定界符1字节
地址
短帧1字节长帧5字节
扩展字节0—3字节
命令1字节
数据个数1字节
数据n字节
校验字节1字节
通信帧格式
2、通讯速率:1200Bps;
3、通讯信号:Bell202标准的FSK频移键控信号,‘1200Hz’代表数字1,‘2200Hz’代表数字0;
4、数据格式〔11位〕:1位起始位、8位数据位、1位停顿位、1位校验位,字节奇〔Odd〕校验;
5、应答数据帧的数据个数〔BytesCount〕至少为2字节,这两个字节分别为响应码
〔ResponseCode〕和设备状态码〔FieldDeviceStatus〕;
6、响应码格式:从机回复给主机的命令执行状况代码,当通讯出错时,响应吗最高位bit7=1,这时设备状态码无实际意义;当bit7=0时,表示通讯正常,余下6bits表示命令执行状况的响应。
7、通讯正常时响应码〔bit7=0,低6bits〕:
*具体含义因不同命令而定,可查看相关的HART命令资料。
响应代码
响应码含义
响应代码
响应码含义
0x00
执行成功
0x02
错误的命令
0x03
设置参数太大
0x04
设置参数太少
0x05
接收的数据太少
0x06
专用命令错
0x07
处于写保护模式
0x08
1、更失败2、设置为接近值3、延时响应
0x09
1、低限范围值太大2、不正确的电流模式
0x0a
1、低限范围值太小2、无效的就地锁定
0x0b
1、上限范围值太大2、多从机模式3、无效设
备变量代码4、调整超范围5、不能就地锁定
0x0c
1、上限范围值太小2、无效单位代码3、无效
的模式选择4、无效的插槽号
0x0d
1、上、下限范围值超标2、计算错误3、无效
的命令号
0x0e
1、量程太小2、设置的下限值引起上限值转变
而超出传感器极限
55
0x0f
无效的模拟通道号
0x10
访问受限
0x11
无效的设备变量索引
0x12
无效的单位代码
0x13
设备变量的应用不合理
0x14
无效的扩展命令号
0x1c
不支持的单位代码
0x20

0x21
延迟响应开头
0x22
延迟响应进展中
0x40
命令不能执行
8、通讯出错时响应代码〔bit7=1〕含义如下:
响应代码
通讯出错含义
0xc0
接收字节字节奇校验出错
0xa0
接收缓冲区数据掩盖错
0x90
没有接收到停顿位出错
0x88
校验字节出错
0x82
接收缓冲区溢出
9、设备状态码:含义如下
响应代码
设备状态含义
0x80
设备故障
0x40
配置参数转变
0x20
设备冷启动
0x08
环路电流固定模式
0x04
环路电流饱和
0x02
设备变量〔没有映射到主变量〕超限
0x01
主变量超出极限
10、 数据类型:HART通讯协议支持以下类型的数据:字符串Str、日期Date、单或双
精度浮点数Float、无符号整型数Unsigned、有符号整型数Signed、联合体Enum或位Bit。数据传输挨次:MSB至LSB。
字符串:字符串支持标准的拉丁字母Latin和封装格式Packed的ASCII码,拉丁字符每

个字母占1个字节;封装格式的ASCII码每字母占1个字节的6位,因此,每4个字母封装
在3个字节中,在使用过程中需要打包和解包操作。
浮点数:满足IEEE754标准要求,单精度浮点数用4个字节表示,双精度浮点数用8个字节表示。
1—bit符号位
8—bit指数
23—bit小数
单精度浮点数格式
不行识别的浮点数用0x7f、0xa0、0x00、0x00表示。
11、 设备变量状态〔DeviceVariableStatus〕:全部需要周期处理的数据〔如设备变量和动态变量〕都包含一个设备变量状态字节,其内容定义如下:默认0xc0
设备变量状态字节含义
66
77

命令有通用命令、一般应用命令、设备专用命令三大类,通用命令是全部的HART现场设备都必需响应的命令;一般应用命令只被设备局部应用;设备专用命令是生产商依据需要制定的命令。
〔一〕通用命令
1.
Command
0:读唯一标识
1〕短帧
恳求帧STX:
Delimiter
Address
Expansion
Command
Bytes
Data
Check
Bytes
Count
Byte
0x02
0x00|00xxxxxx
NULL
0
0
NULL
XOR
响应帧ACK:
Delimiter
Address
Expansion
Command
Bytes
Data
Check
Bytes
Count
Byte
正常响应 0x06
0x00|00xxxxxx
NULL
0
19
状态+数据
XOR
特别响应 0x06
0x00|00xxxxxx
NULL
0
2
状态
XOR
注:状态=通讯状态+设备状态,其含义如前述,以下不再赘述。
2〕长帧
恳求帧STX:
Delimiter
Address
Expansion
Command
Bytes
Data
Check
Bytes
Count
Byte
0x82
0x00|38bitsID
NULL
0
0
NULL
XOR
响应帧ACK:
Delimiter
Address
Expansion
Command
Bytes
Data
Check
88
Bytes
Count
Byte
正常响应
0x86
0x00|38bitsID
NULL
0
21
状态+数据
XOR
特别响应
0x86
0x00|38bitsID
NULL
0
2
状态
XOR
正常响应帧数据内容
字节 数据类型
0 Unsigned—8
值254
说明
统一固定值
可更改N
88
1-2
Enum
未定
产品设备类型ID,由厂商定义,HCF
登记
N
3
Unsigned—8
>5
主设备到从设备的最少同步前导码数量
N
4
Unsigned—8
0x07
通用命令版本号,版本7
N
5
Unsigned—8
0x01
设备版本水平
N
6
Unsigned—8
0x01
设备软件版本〔254和255保存〕
N
7
Unsigned—5
0x01
高5位表示硬件版本号〔31保存〕
N
Enum
低3位表示物理信号为Bell202电流信号
8
Bits
0x08
保存
N
9-11
Unsigned—24
设备ID,同种类型设备的序列号
N
12
Unsigned—8
>5
从设备到主设备的最少同步前导码数量
N
13
Unsigned—8
0x01
最大设备变量数,主设备期望能读取的设备变量的
N
个数。
14-15
Unsigned—16
配置转变记数器
N
16
Bits
扩展设备状态。
N
0
0 设备正常
0x01
0x01设备没有故障但需要维护
0x02
0x02设备变量报警状态
17-18
Enum
未定
制造商ID,由HCF安排
N
88
99
2.
Command
1:读主变量
恳求帧STX:
Delimiter
Address
Expansion
Command
Bytes
Data
Check
Bytes
Count
Byte
0x82
0x00|38bitsID
NULL
1
0x00
NULL
XOR
响应帧ACK:
Delimiter
Address
Expansion
Command
Bytes
Data
Check
Bytes
Count
Byte
正常响应 0x86
0x00|38bitsID
NULL
1
7
状态+数据
XOR
特别响应 0x86
0x00|38bitsID
NULL
1
2
状态
XOR
正常响应帧数据内容
字节
数据类型

说明
可更改
0
Enum
对应的变量单位,见附表1《单位代码》
N
1-4
Float
单精度浮点数表示主变量的值
N
Command2:读环路电流和量程百分比
恳求帧STX:
Delimiter Address
ExpansionBytes
Command
Bytes DataCount
CheckByte
0x82 0x00|38bitsID
响应帧ACK:
NULL
2
0 NULL
XOR
Delimiter Address
Expansion
Command
Bytes Data
Check
Bytes
Count
Byte
正常响应 0x86 0x00|38bitsID
NULL
2
10 状态+数据
XOR
特别响应 0x86 0x00|38bitsID
NULL
2
2 状态
XOR
正常响应帧数据内容
1010
字节
数据类型

说明
可更改
0-3
Float
单精度浮点数表示环路电流值mA
N
4-7
Float
单精度浮点数表示主变量占量程的百分比
N
Command3:读动态变量和环路电流
注:本公司压力变送器只有1个动态变量,即主变量
恳求帧STX:
Delimiter Address
ExpansionBytes
Command
Bytes DataCount
CheckByte
0x82 0x00|38bitsID
响应帧ACK:
NULL
3
0 NULL
XOR
Delimiter Address
Expansion
Command
Bytes Data
Check
Bytes
Count
Byte
正常响应 0x86 0x00|38bitsID
NULL
3
11 状态+数据
XOR
特别响应 0x86 0x00|38bitsID
NULL
3
2 状态
XOR
正常响应帧数据内容
字节
数据类型

说明
可更改
0-3
Float
单精度浮点数表示主变量对应环路电流值mA
N
4
Enum
动态变量单位
N
5-8
Float
单精度浮点数表示动态变量的值
N
5.
Command
6:设置轮询地址
恳求帧STX:
Delimiter
Address
Expansion
Bytes
Command
Bytes
Count
Data
Check
Byte
0x82
0x00|38bitsID
NULL
6
2
数据
XOR
恳求帧数据内容