HART通信协议V7C9C33C132.doc

上传人:夺命阿水 文档编号:21309 上传时间:2022-07-11 格式:DOC 页数:44 大小:1.34MB
返回 下载 相关 举报
HART通信协议V7C9C33C132.doc_第1页
第1页 / 共44页
HART通信协议V7C9C33C132.doc_第2页
第2页 / 共44页
HART通信协议V7C9C33C132.doc_第3页
第3页 / 共44页
HART通信协议V7C9C33C132.doc_第4页
第4页 / 共44页
HART通信协议V7C9C33C132.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《HART通信协议V7C9C33C132.doc》由会员分享,可在线阅读,更多相关《HART通信协议V7C9C33C132.doc(44页珍藏版)》请在课桌文档上搜索。

1、wordHART通信协议一概述HARTHighway Addressable Remote Transducer协议采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进展双向数字通讯,数据传输率为1200bps。由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。在HART协议通信中主要的变量和控制信息由4-20mA传送,在需要的情况下,另外的测量、过程参数、设备组态、校准、诊断信息通过HART协议访问。在应用层,HART规定了一系列命令,按命令方式工作。它有三类命令,第一类称为通用命令,这

2、是所有设备都理解、执行的命令;第二类称为普通应用命令,所提供的功能可以在许多现场设备尽管不是全部中实现;第三类称为设备专用命令,以便于工作在某些设备中实现特殊功能,这类命令既可以在基金会中开放使用,又可以为开发此命令的公司所独有。二含义1、 主机Master:分为第一主机和第二主机,它能连接在HART网络上,发出命令与从机通讯;2、 从机Field Device:连接在过程控制现场中,具有测量、计算多种变量功能,并能与主机进展HART通讯的设备;3、 长帧Long Frame:地址Address由5字节组成的HART数据帧,所有的HART命令都支持长帧数据帧。长帧地址各字节含义如如下图所示:制

3、造商ID号Manufacturer ID由HART基金会分配;在生产中,同类型设备序列号唯一,并且永不重复。广播地址使用长帧结构,低38 BIT全为0。厂商指定的设备类型Decive Type与制造商ID满足下表要求;4、 短帧Short Frame:地址Address由1字节组成的HART数据帧,短帧只有通用命令mand 0能够使用,短帧字节含义如下:所有的HART从机都支持长、短帧。5、 请求帧STX:由主机如手抄器向从机现场设备发出请求数据命令;6、 应答帧ACK:从机回复给主机的数据;7、 前导符Preamble:发起命令数据传输的设备在传输数据帧前发送的0xFF字符,发送该字符的数量

4、一般为520个,该数量可以通过命令来改变;前导符的使用是为了使数据接收端在硬件电路上产生CD载波检测信号,以实现数据通讯的同步。8、 定界符Delimiter:表示数据帧传输的开始,指明数据的传输方向、物理层类型,同时它也指定了数据帧的帧类型长、短帧,其含义内容如下: 定界符Delimiter字节含义9、 地址Address:由定界符Delimiter指定为短帧1字节或长帧5字节两种类型,长、短帧释义如前述;10、 扩展字节Expansion Bytes:本公司目前的HART协议版本保存,为0;11、 命令mand:功能码,指明一个数据帧的具体实现功能,命令有通用命令、 普通应用命令、设备专用

5、命令三大类;12、 数据字节数Bytes Count:指实际的数据Data的数量;13、 数据Data:设置或读取指定从机的参数数据通信的最终结果;14、 校验字节Check Byte:从定界符Delimiter到数据Data的所有字节的异或值,即纵向校验。三HART通讯规X1、 通信帧格式:由前导符和数据帧构成,各数据域释义如上 通信帧格式2、 通讯速率:1200Bps;3、 通讯信号:Bell202标准的FSK频移键控信号,1200Hz代表数字1,2200Hz代表数字0;4、 数据格式11位:1位起始位、8位数据位、1位停止位、1位校验位,字节奇Odd校验;5、 应答数据帧的数据个数Byt

6、es Count至少为2字节,这两个字节分别为响应码Response Code和设备状态码Field Device Status;6、 响应码格式:从机回复给主机的命令执行情况代码,当通讯出错时,响应吗最高位bit7=1,这时设备状态码无实际意义;当bit7=0时,表示通讯正常,余下6 bits表示命令执行情况的响应。7、 通讯正常时响应码bit7=0,低6 bits:* 具体含义因不同命令而定,可查看相关的HART命令资料。响应代码响应码含义响应代码响应码含义0x00执行成功0x02错误的命令0x03设置参数太大0x04设置参数太少0x05接收的数据太少0x06专用命令错0x07处于写保护模

7、式0x081、更新失败2、设置为接近值3、延时响应0x091、低限X围值太大2、不正确的电流模式0x0a1、低限X围值太小2、无效的就地锁定0x0b1、上限X围值太大2、多从机模式3、无效设备变量代码4、调整超X围5、不能就地锁定0x0c1、上限X围值太小2、无效单位代码3、无效的模式选择4、无效的插槽号0x0d1、上、下限X围值超标2、计算错误3、无效的命令号0x0e1、量程太小2、设置的下限值引起上限值改变而超出传感器极限0x0f无效的模拟通道号0x10访问受限0x11无效的设备变量索引0x12无效的单位代码0x13设备变量的应用不合理0x14无效的扩展命令号0x1c不支持的单位代码0x2

8、0忙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

9、、有符号整型数Signed、联合体Enum或位Bit。数据传输顺序:MSB至LSB。1字符串:字符串支持标准的拉丁字母Latin和封装格式Packed的ASCII码,拉丁字符每个字母占1个字节;封装格式的ASCII码每字母占1个字节的6位,因此,每4个字母封装在3个字节中,在使用过程中需要打包和解包操作。2浮点数:满足IEEE754标准要求,单精度浮点数用4个字节表示,双精度浮点数用8个字节表示。不可识别的浮点数用0x7f、0xa0、0x00、0x00表示。11、 设备变量状态Device Variable Status:所有需要周期处理的数据如设备变量和动态变量都包含一个设备变量状态字节,其

10、内容定义如下:默认0xc0 设备变量状态字节含义四HART应用命令命令有通用命令、 普通应用命令、设备专用命令三大类,通用命令是所有的HART现场设备都必须响应的命令;普通应用命令只被设备局部应用;设备专用命令是生产商根据需要制定的命令。一通用命令1. mand 0:读唯一标识1短帧请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x020x00|00xxxxxxNULL00NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte

11、正常响应0x060x00|00xxxxxxNULL019状态+数据XOR异常响应0x060x00|00xxxxxxNULL02状态XOR注:状态=通讯状态+设备状态,其含义如前述,以下不再赘述。2长帧请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL00NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL021状态+数据XOR异常

12、响应0x860x00|38 bits IDNULL02状态XOR正常响应帧数据内容字节数据类型值说明可更改0Unsigned8254统一固定值N1-2Enum未定产品设备类型ID,由厂商定义,HCF 登记N3Unsigned85主设备到从设备的最少同步前导码数量N4Unsigned80x07通用命令版本号,版本7N5Unsigned80x01设备版本水平N6Unsigned80x01设备软件版本254和255保存N7Unsigned5Enum0x01高5位表示硬件版本号31保存低3位表示物理信号为Bell202 电流信号N8Bits0x08保存N9-11Unsigned24设备ID ,同种类型

13、设备的序列号N12Unsigned85从设备到主设备的最少同步前导码数量N13Unsigned80x01最大设备变量数,主设备希望能读取的设备变量的个数。N14-15Unsigned16配置改变记数器N16Bits00x010x02扩展设备状态。0设备正常0x01 设备没有故障但需要维护0x02设备变量报警状态N17-18Enum未定制造商ID,由HCF分配N2. mand 1:读主变量请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL10x00NULLXOR响应帧ACK

14、:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL17状态+数据XOR异常响应0x860x00|38 bits IDNULL12状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0Enum对应的变量单位,见附表1单位代码N1-4Float单精度浮点数表示主变量的值N3. mand 2:读环路电流和量程百分比请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits ID

15、NULL20NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL210状态+数据XOR异常响应0x860x00|38 bits IDNULL22状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0-3Float单精度浮点数表示环路电流值mAN4-7Float单精度浮点数表示主变量占量程的百分比N4. mand 3:读动态变量和环路电流注:本公司压力变送器只有1个动态变量,即主变量请求帧STX:DelimiterAddressExpansionBy

16、tesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL30NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL311状态+数据XOR异常响应0x860x00|38 bits IDNULL32状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0-3Float单精度浮点数表示主变量对应环路电流值mAN4Enum动态变量单位N5-8Float单精度浮点数表示动态变量的值N5. mand 6:设置轮询地

17、址请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL62数据XOR请求帧数据内容字节数据类型值说明可更改0Unsigned8Polling Addr设置的轮询地址 015Y1Enum0、10=环路电流禁止;1=环路电流允许Y响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL64状态+数据XOR异常响应0x860x00|38 bits IDNU

18、LL62状态 XOR 正常响应帧数据内容同请求帧注:现场设备在制造时就设置轮询地址为0,并且环路电流被允许,这是为了保证HART现场设备能够接到一个只有模拟信号的现场装置。当轮询地址设置为0时,从设备必须同时工作在环路电流模式一对一,电流和根本变量值相关联;当轮询地址设置其它值时,从设备必须同时工作在非环路电流模式一对多,电流设置为能够维持操作的最小值。6. mand 7:读环路配置请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL70NULLXOR响应帧ACK:Deli

19、miterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL74状态+数据XOR异常响应0x860x00|38 bits IDNULL72状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0Unsigned8Polling Addr设置的轮询地址N1Enum0、10=环路电流禁止;1=环路电流允许N7. mand 8:读动态变量分类请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits

20、 IDNULL80NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL83状态+数据XOR异常响应0x860x00|38 bits IDNULL82状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0Enum65 (0x41)动态变量分类压力类型N8. mand 9:读设备变量和状态通过mand 9,最多可读取4个设备变量。分别是:第1变量:压力值主变量第2变量:电流值第3变量:百分比值第4变量:温度值请求帧STX:DelimiterAddres

21、sExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL91403XOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL99 - 33状态+数据XOR异常响应0x860x00|38 bits IDNULL92状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0Bits0x00扩展设备状态N1Unsigned-80x00设备变量代码N2Enum0x41动态变量分类N3Enum单位,见附

22、表1单位代码N4-7Float单精度浮点数表示主变量的值N8Enum0xc0设备变量状态变量正常、没有限制N9Unsigned-80x00设备变量代码N10Enum0x41动态变量分类N11Enum单位,见附表1单位代码N12-15Float单精度浮点数表示主变量的值N16Enum0xc0设备变量状态变量正常、没有限制N17Unsigned-80x00设备变量代码N18Enum0x41动态变量分类N19Enum单位,见附表1单位代码N20-23Float单精度浮点数表示主变量的值N24Enum0xc0设备变量状态变量正常、没有限制N25Unsigned-80x00设备变量代码N26Enum0x

23、41动态变量分类N27Enum单位,见附表1单位代码N28-31Float单精度浮点数表示主变量的值N32Enum0xc0设备变量状态变量正常、没有限制N 注:当试图要读取的设备变量最多4个变量,变量个数任意读取,读取第二变量必须读取第一主变量,读第三变量必须读取第一、二变量9. mand 11:以短标签方式读唯一标识请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL116TagXOR响应帧数据内容同mand 010. mand 12:读信息请求帧STX:Delimite

24、rAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL120NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL1226状态+数据XOR异常响应0x860x00|38 bits IDNULL122状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0-23PackedMessage设备包含的信息Packed格式N11. mand 13:读短标签、设备描述符和日

25、期请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL130NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL1323状态+数据XOR异常响应0x860x00|38 bits IDNULL132状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0-5PackedTag短标签N6-17PackedDescriptor设备描述N

26、18-20DateDate Code日期N12. mand 14:读主变量传感器信息传感器序列号、极限/最小量程单位代码、传感器上限、传感器下限、主变量最小量程请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL140NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL1418状态+数据XOR异常响应0x860x00|38 bits

27、 IDNULL142状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0-2Unsigned24传感器序列号N3Enum主变量单位,见附表1单位代码N4-7Float传感器上限值N8-11Float传感器下限值N12-15Float传感器最小量程N13. mand 15:读设备信息报警码、传感器功能码、主变量单位、主变量上下限值、阻尼、写保护、产品发行人、是否有模拟信号连接在通道上请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL150NULLXOR响应帧ACK:D

28、elimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL1520状态+数据XOR异常响应0x860x00|38 bits IDNULL152状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0Enum0xef主变量报警选择码保持最后输出值N1Enum0x000x01主变量传输特性0x00:线性输出0x01:平方根输出N2Enum主变量单位,见附表1单位代码N3-6Float主变量上限值N7-10Float主变量下限值N11-14Float主变量阻尼单位:秒N15Enum写保护,0

29、=没有写保护;1=写保护;251=没有写保护功能N16Enum生产商标志码同制造商ID是否应固定为250 ?N17Bits0x01如果该位为1如此这个现场设备有一个ADC连接这个通道N14. mand 16:读最终装配号请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL160NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL16

30、5状态+数据XOR异常响应0x860x00|38 bits IDNULL162状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0-2Unsigned24装配号指定设备材料和电子构成N15. mand 17:写信息请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL1724数据XOR请求帧数据内容字节数据类型值说明可更改0-23Packed写入的信息内容Y响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCh

31、eckByte正常响应0x860x00|38 bits IDNULL1726状态+数据XOR异常响应0x860x00|38 bits IDNULL172状态 XOR正常响应帧数据内容同响应帧16. mand 18:写短标签、设备描述符和日期请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL1824数据XOR请求帧数据内容字节数据类型值说明可更改0-5PackedTag短标签Y6-17Packed设备描述符Y18-20Unsigned-24日期Y响应帧ACK:Delimit

32、erAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL1826状态+数据XOR异常响应0x860x00|38 bits IDNULL182状态 XOR正常响应帧数据内容同响应帧17. mand 19:写最终装配号请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL193数据XOR请求帧数据内容字节数据类型值说明可更改0-2Unsigned-24最终装配号Y响应帧ACK:Del

33、imiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL195状态+数据XOR异常响应0x860x00|38 bits IDNULL192状态 XOR 正常响应帧数据内容同请求帧18. mand 20:读长标签请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL200NULLXOR响应帧ACK:DelimiterAddressExpansionBytesmandByte

34、sCountDataCheckByte正常响应0x860x00|38 bits IDNULL2034状态+数据XOR异常响应0x860x00|38 bits IDNULL202状态 XOR 正常响应帧数据内容字节数据类型值说明可更改0-31Latin-1长标签N19. mand 21:以长标签方式读唯一标识请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL2132数据XOR请求帧数据内容字节数据类型值说明可更改0-31Latin-1长标签内容N响应帧数据内容同mand 0

35、20. mand 22:写长标签请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL2232数据XOR请求帧数据内容字节数据类型值说明可更改0-31Latin-1长标签Y响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte正常响应0x860x00|38 bits IDNULL2234状态+数据XOR异常响应0x860x00|38 bits IDNULL222状态 XOR 正常响应帧数据内容同请求帧二

36、普通应用命令1. mand 33:读设备变量通过mand 33,可读取最多5个设备变量。分别是:第1变量:压力值主变量第2变量:电流值第3变量:百分比值第4变量:温度值第5变量:传感器电压值* 注:HART 6规定设备变量数不超过4个,以上“第5变量 仅供我公司内部使用,HART认证时将屏蔽该变量;请求帧STX:DelimiterAddressExpansionBytesmandBytesCountDataCheckByte0x820x00|38 bits IDNULL331504XOR响应帧ACK:DelimiterAddressExpansionBytesmandBytesCountDat

37、aCheckByte正常响应0x860x00|38 bits IDNULL336 - 30状态+数据XOR异常响应0x860x00|38 bits IDNULL332状态 XOR正常响应帧数据内容0Unsigned-80x00第1变量N1Enum单位:主变量单位,见附表1单位代码N2 - 5Float主变量N6Unsigned-80x01第2变量N7Enum单位:mA,见附表1单位代码N8 - 11Float电流值N12Unsigned-80x02第3变量N13Enum单位:%,见附表1单位代码N14 - 17Float百分比值N18Unsigned-80x03第4变量N19Enum单位:Deg C,见附表1单位代码N20 - 23Float温度值N24Unsigned-80x04第5变量N25Enum单位:mV,见附表1单位代码N26 - 29Float传感器电压值N2. mand 34:写主变量阻尼值本命令相当于本地组态功能“06 DAMP,设置电子阻尼

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号