您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页HART通信协议

HART通信协议

来源:纷纭教育


HART通信协议

V1.7(C9,C33,C132)(总44页)

--本页仅作为文档封面,使用时请直接删除即可-- --内页可以根据需求调整合适字体及大小--

HART通信协议

VER

一.概述

HART(Highway Addressable Remote Transducer)协议采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为的音频数字信号进行双向数字通讯,数据传输率为1200bps。由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。在HART协议通信中主要的变量和控制信息由4-20mA传送,在需要的情况下,另外的测量、过程参数、设备组态、校准、诊断信息通过HART协议访问。

在应用层,HART 规定了一系列命令,按命令方式工作。它有三类命令,第一类称为通用命令,这是所有设备都理解、执行的命令;第二类称为普通应用命令,所提供的功能可以在许多现场设备(尽管不是全部)中实现;第三类称为设备专用命令,以便于工作在某些设备中实现特殊功能,这类命令既可以在基金会中开放使用,又可以为开发此命令的公司所独有。

二.含义

1、主机(Master):分为第一主机和第二主机,它能连接在HART网络上,发出命令与从机通讯;

2、从机(Field Device):连接在过程控制现场中,具有测量、计算多种变量功能,并能与主机进行HART通讯的设备; 3、

长帧(Long Frame):地址Address由5字节组成的HART数据帧,所有

的HART命令都支持长帧数据帧。长帧地址各字节含义如下图所示:

2

制造商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字节含义

3

5、请求帧(STX):由主机(如手抄器)向从机(现场设备)发出请求数据命令;

6、应答帧(ACK):从机回复给主机的数据;

7、前导符(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、 扩展字节(Expansion Bytes):本公司目前的HART协议版本保留,为0;

11、 命令(Command):功能码,指明一个数据帧的具体实现功能,命令有通用命令、 普通应用命令、设备专用命令三大类;

12、 数据字节数(Bytes Count):指实际的数据Data的数量;

13、 数据(Data):设置或读取指定从机的参数数据(通信的最终结果); 14、 校验字节(Check Byte):从定界符(Delimiter)到数据(Data)的所有字节的‘异或’值,即纵向校验。

4

三.HART通讯规范

1、通信帧格式:由前导符和数据帧构成,各数据域释义如上

前导符Preamble5-20字节 固定为(0xFF)数 据 帧BytesDelimiterAddressExpansionCommandCount bytesCheckByte校验字节 1字节Data数据n字节+定界符1字节 地址短帧1字节扩展字节长帧5字节0—3字节命令1字节数据个数 1字节 通信帧格式 2、通讯速率:1200Bps;

3、 通讯信号:Bell202标准的FSK频移键控信号,‘1200Hz’代表数字1,‘2200Hz’

代表数字0;

4、 数据格式(11位):1位起始位、8位数据位、1位停止位、1位校验位,字节奇

(Odd)校验;

5、应答数据帧的数据个数(Bytes Count)至少为2字节,这两个字节分别为响应码(Response Code)和设备状态码(Field Device Status); 6、响应码格式:从机回复给主机的命令执行情况代码,当通讯出错时,响应吗最高位bit7=1,这时设备状态码无实际意义;当bit7=0时,表示通讯正常,余下6 bits表示命令执行情况的响应。 7、通讯正常时响应码(bit7=0,低6 bits):

* 具体含义因不同命令而定,可查看相关的HART命令资料。

响应代码 0x00 0x03 0x05 0x07 0x09 0x0b 响应码含义 执行成功 设置参数太大 接收的数据太少 处于写保护模式 1、低限范围值太大2、不正确的电流模式 1、上限范围值太大2、多从机模式3、无效设备变量代码4、调整超范围5、不能就地锁定 1、上、下限范围值超标2、计算错误3、无效的命令号 5 响应代码 0x02 0x04 0x06 0x08 0x0a 0x0c 响应码含义 错误的命令 设置参数太少 专用命令错 1、更新失败2、设置为接近值3、延时响应 1、低限范围值太小2、无效的就地锁定 1、上限范围值太小2、无效单位代码3、无效的模式选择4、无效的插槽号 1、量程太小2、设置的下限值引起上限值改变而超出传感器极限 0x0d 0x0e 0x0f 0x11 0x13 0x1c 0x21 0x40 无效的模拟通道号 无效的设备变量索引 设备变量的应用不合理 不支持的单位代码 延迟响应开始 命令不能执行 响应代码 0xc0 0xa0 0x90 0x88 0x82 9、设备状态码:含义如下

0x10 0x12 0x14 0x20 0x22 通讯出错含义 接收字节字节奇校验出错 接收缓冲区数据覆盖错 没有接收到停止位出错 校验字节出错 接收缓冲区溢出 访问受限 无效的单位代码 无效的扩展命令号 忙 延迟响应进行中 8、通讯出错时响应代码(bit7=1)含义如下:

响应代码 设备状态含义 0x80 设备故障 0x40 配置参数改变 0x20 设备冷启动 0x08 环路电流固定模式 0x04 环路电流饱和 0x02 设备变量(没有映射到主变量)超限 0x01 主变量超出极限 10、 数据类型: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表示。

6

11、 设备变量状态(Device Variable Status):所有需要周期处理的数据(如设备变量和动态变量)都包含一个设备变量状态字节,其内容定义如下:默认0xc0

设备变量状态字节含义

7

四.HART应用命令

命令有通用命令、 普通应用命令、设备专用命令三大类,通用命令是所有的HART现场设备都必须响应的命令;普通应用命令只被设备部分应用;设备专用命令是生产商根据需要制定的命令。

(一)通用命令

1. Command 0:读唯一标识 1)短帧 请求帧STX: Delimiter 0x02 响应帧ACK:

Delimiter Address Expansion Bytes NULL NULL Command Bytes Count 19 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|00xxxxxx 0 正常响应 0x06 异常响应 0x06 0x00|00xxxxxx 0x00|00xxxxxx 0 0 状态+数据 状态 注:状态=通讯状态+设备状态,其含义如前述,以下不再赘述。 2)长帧 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 8

Address Command Bytes Count 21 Data Check Byte XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 0 正常响应 0x86 0 状态+数据 异常响应 0x86 0x00|38 bits ID 值 254 未定 >5 0x07 0x01 0x01 0x01 0x08 >5 0x01 0 0x01 0x02 未定 NULL 0 2 状态 XOR 正常响应帧数据内容

字节 0 1-2 3 4 5 6 7 8 9-11 12 13 14-15 16 数据类型 Unsigned—8 Enum Unsigned—8 Unsigned—8 Unsigned—8 Unsigned—8 Unsigned—5 Enum Bits Unsigned—24 Unsigned—8 Unsigned—8 Unsigned—16 Bits 说明 统一固定值 产品设备类型ID,由厂商定义,HCF 登记 主设备到从设备的最少同步前导码数量 通用命令版本号,版本7 设备版本水平 设备软件版本(254和255保留) 高5位表示硬件版本号(31保留) 低3位表示物理信号为Bell202 电流信号 保留 设备ID ,同种类型设备的序列号 从设备到主设备的最少同步前导码数量 最大设备变量数,主设备希望能读取的设备变量的个数。 配置改变记数器 扩展设备状态。 0 设备正常 0x01 设备没有故障但需要维护 0x02 设备变量报警状态 制造商ID,由HCF分配 可更改 N N N N N N N N N N N N N 17-18 Enum N

2. Command 1:读主变量 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL 9

Address Command Bytes Count 7 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0x00 Data Check Byte NULL XOR 0x00|38 bits ID 1 正常响应 0x86 异常响应 0x86 1 1 状态+数据 状态 ID 正常响应帧数据内容

字节 0 1-4 数据类型 Enum Float 值

3. Command 2:读环路电流和量程百分比 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Address Command Bytes Count 10 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 说明 可更改 对应的变量单位,见附表1《单位代码》 N 单精度浮点数表示主变量的值 N 0x00|38 bits ID 2 正常响应 0x86 异常响应 0x86 2 2 状态+数据 状态 正常响应帧数据内容

字节 0-3 4-7 数据类型 Float Float 说明 单精度浮点数表示环路电流值mA 单精度浮点数表示主变量占量程的百分比 可更改 N N 4. Command 3:读动态变量和环路电流

注:本公司压力变送器只有1个动态变量,即主变量 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL 10

Address Command Bytes Count 11 Data Check Byte XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 3 正常响应 0x86 3 状态+数异常响应 0x86 ID 0x00|38 bits ID 值 NULL 3 2 据 状态 XOR 正常响应帧数据内容

字节 0-3 4 5-8 数据类型 Float Enum Float 说明 单精度浮点数表示主变量对应环路电流值mA 动态变量单位 单精度浮点数表示动态变量的值 可更改 N N N 5. Command 6:设置轮询地址 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0 1 数据类型 Unsigned—8 Enum Delimiter 值 Polling Addr 0、1 Address 说明 设置的轮询地址 (0~15) 0=环路电流禁止;1=环路电流允许 Command Bytes Count 4 2 Data 可更改 Y Y Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 2 Data Check Byte 数据 XOR 0x00|38 bits ID 6 响应帧ACK:

Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 正常响应 0x86 异常响应 0x86 6 6 状态+数据 状态 正常响应帧数据内容同请求帧

注:现场设备在制造时就设置轮询地址为0,并且环路电流被允许,这是为了

保证HART现场设备能够接到一个只有模拟信号的现场装置。当轮询地址设置为0时,从设备必须同时工作在环路电流模式(一对一),电流和基本变量值相关联;当轮询地址设置其它值时,从设备必须同时工作在非环路电流模式(一对多),电流设置为能够维持操作的最小值。 6. Command 7:读环路配置 请求帧STX:

11

Delimiter 0x82 响应帧ACK:

Delimiter Address 0x00|38 bits ID Address Expansion Bytes NULL Command Bytes Count 0 Bytes Count 4 2 Data Check Byte NULL Data XOR Check Byte XOR XOR 7 正常响应 0x86 异常响应 0x86 Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Polling Addr 0、1 Command 7 7 状态+数据 状态 正常响应帧数据内容

字节 0 1 数据类型 Unsigned—8 Enum 说明 设置的轮询地址 0=环路电流禁止;1=环路电流允许 可更改 N N 7. Command 8:读动态变量分类 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 65 (0x41) Address Command Bytes Count 3 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 8 正常响应 0x86 异常响应 0x86 8 8 状态+数据 状态 正常响应帧数据内容

字节 0

8. Command 9:读设备变量和状态

通过Command 9,最多可读取4个设备变量。分别是:

数据类型 Enum 说明 动态变量分类(压力类型) 可更改 N 12

第1变量:压力值(主变量) 第2变量:电流值 第3变量:百分比值 第4变量:温度值 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 1 ~ 4 3 Data Check Byte 0 ~ XOR 0x00|38 bits ID 9 正常响应 0x86 异常响应 0x86

9 9 9 - 状态+数33 据 2 状态 正常响应帧数据内容

字节 0 1 2 3 4-7 8

9 10 11 12-15 16

17 18 19 20-23 Unsigned-8 Enum Enum Float 0x00 0x41 13

设备变量代码 动态变量分类 单位,见附表1《单位代码》 单精度浮点数表示主变量的值 N N N N Unsigned-8 Enum Enum Float Enum 0x00 0x41 0xc0 设备变量代码 动态变量分类 单位,见附表1《单位代码》 单精度浮点数表示主变量的值 设备变量状态(变量正常、没有) N N N N N 数据类型 Bits Unsigned-8 Enum Enum Float Enum 值 0x00 0x00 0x41 0xc0 说明 扩展设备状态 设备变量代码 动态变量分类 单位,见附表1《单位代码》 单精度浮点数表示主变量的值 设备变量状态(变量正常、没有) 可更改 N N N N N N 24

25 26 27 28-31 32

Enum Unsigned-8 Enum Enum Float Enum 0xc0 0x00 0x41 0xc0 设备变量状态(变量正常、没有) 设备变量代码 动态变量分类 单位,见附表1《单位代码》 单精度浮点数表示主变量的值 设备变量状态(变量正常、没有) N N N N N N 注:当试图要读取的设备变量(最多4个变量,变量个数任意读取,读取第二变

量必须读取第一(主)变量,读第三变量必须读取第一、二变量)

9. Command 11:以短标签方式读唯一标识 请求帧STX: Delimiter 0x82 Address Expansion Bytes NULL Command Bytes Count 6 Data Check Byte Tag XOR 0x00|38 bits ID 11 响应帧数据内容同Command 0 10. Command 12:读信息 请求帧STX: Delimiter 0x82

响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Message Address Command Bytes Count 26 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 12 正常响应 0x86 异常响应 0x86 12 12 状态+数据 状态 正常响应帧数据内容

字节 0-23 数据类型 Packed 说明 设备包含的信息(Packed格式) 14

可更改 N

11. Command 13:读短标签、设备描述符和日期 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Tag Descriptor Date Code Address Command Bytes Count 23 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 13 正常响应 0x86 异常响应 0x86 13 13 状态+数据 状态 正常响应帧数据内容

字节 0-5 6-17 18-20 数据类型 Packed Packed Date 说明 短标签 设备描述 日期 可更改 N N N 12. Command 14:读主变量传感器信息

传感器序列号、极限/最小量程单位代码、传感器上限、传感器下限、主变量最小量程 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 15

Address Command Bytes Count 18 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 14 正常响应 0x86 异常响应 0x86 14 14 状态+数据 状态 正常响应帧数据内容

字节 0-2 3 4-7 8-11 12-15 数据类型 Unsigned—24 Enum Float Float Float 值 说明 传感器序列号 主变量单位,见附表1《单位代码》 传感器上限值 传感器下限值 传感器最小量程 可更改 N N N N N 13. Command 15:读设备信息

报警码、传感器功能码、主变量单位、主变量上下限值、阻尼、写保护、产品发行人、是否有模拟信号连接在通道上 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 0xef 0x00 0x01 0x01 Address Command Bytes Count 20 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 15 正常响应 0x86 异常响应 0x86 15 15 状态+数据 状态 正常响应帧数据内容

字节 0 1 数据类型 Enum Enum 说明 主变量报警选择码(保持最后输出值) 主变量传输特性 0x00:线性输出 0x01:平方根输出 主变量单位,见附表1《单位代码》 主变量上限值 主变量下限值 主变量阻尼(单位:秒) 写保护,0=没有写保护;1=写保护;251=没有写保护功能 生产商标志码(同制造商ID) 如果该位为1则这个现场设备有一个ADC连接这个通道 可更改 N N 2 3-6 7-10 11-14 15 16 17 Enum Float Float Float Enum Enum Bits N N N N N N N 16

14. Command 16:读最终装配号 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Address Command Bytes Count 5 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 16 正常响应 0x86 异常响应 0x86 16 16 状态+数据 状态 正常响应帧数据内容

字节 0-2 数据类型 Unsigned—24 说明 装配号指定设备材料和电子构成 可更改 N 15. Command 17:写信息 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-23 数据类型 Packed 值 说明 写入的信息内容 Command Bytes Count 26 2 Data 可更改 Y Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 24 Data Check Byte 数据 XOR 0x00|38 bits ID 17 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address 正常响应 0x86 异常响应 0x86 17 17 状态+数据 状态 正常响应帧数据内容同响应帧

17

16. Command 18:写短标签、设备描述符和日期 请求帧STX: Delimiter 0x82

请求帧数据内容 字节 数据类型 0-5 Packed 6-17 Packed 18-20 Unsigned-24 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count 26 2 Data Check Byte XOR XOR 值 Tag 说明 短标签 设备描述符 日期 可更改 Y Y Y Address Expansion Bytes NULL Command Bytes Count 24 Data Check Byte 数据 XOR 0x00|38 bits ID 18 正常响应 0x86 异常响应 0x86 18 18 状态+数据 状态 正常响应帧数据内容同响应帧

17. Command 19:写最终装配号 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-2 数据类型 Unsigned-24 值 Address 说明 最终装配号 Command Bytes Count 5 Data 可更改 Y Check Byte XOR Address Expansion Bytes NULL Command Bytes Count 3 Data Check Byte 数据 XOR 0x00|38 bits ID 19 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL 18

正常响应 0x86 19 状态+数异常响应 0x86 ID 0x00|38 bits ID NULL 19 2 据 状态 XOR 正常响应帧数据内容同请求帧

18. Command 20:读长标签 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Address Command Bytes Count 34 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 20 正常响应 0x86 异常响应 0x86 20 20 状态+数据 状态 正常响应帧数据内容

字节 0-31

19. Command 21:以长标签方式读唯一标识 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-31 数据类型 Latin-1 值 说明 长标签内容 可更改 N Address Expansion Bytes NULL Command Bytes Count 32 Data Check Byte 数据 XOR 数据类型 Latin-1 说明 长标签 可更改 N 0x00|38 bits ID 21 响应帧数据内容同Command 0 20. Command 22:写长标签 请求帧STX:

19

Delimiter 0x82 请求帧数据内容 字节 0-31 数据类型 Latin-1 Address 0x00|38 bits ID 值 Expansion Bytes NULL Command Bytes Count 32 Data Check Byte 数据 XOR 可更改 Y Data Check Byte XOR XOR 22 说明 长标签 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count 34 2 正常响应 0x86 异常响应 0x86 22 22 状态+数据 状态 正常响应帧数据内容同请求帧

20

(二)普通应用命令

1. Command 33:读设备变量

通过Command 33,可读取最多5个设备变量。分别是:

第1变量:压力值(主变量) 第2变量:电流值 第3变量:百分比值 第4变量:温度值

第5变量:传感器电压值

* 注:HART 6规定设备变量数不超过4个,以上“第5变量” 仅供我公司内部使用,HART认证时将屏蔽该变量;

请求帧STX: Delimiter 0x82

响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 1 ~ 5 4 Data Check Byte 0 ~ XOR 0x00|38 bits ID 33 正常响应 0x86 异常响应 0x86

正常响应帧数据内容

0 1 2 - 5 6 33 33 6 - 状态+数30 据 2 状态 Unsigned-8 Enum Float Unsigned-8 0x00 0x01 第1变量 单位:(主变量单位),见附表1《单位代码》 主变量 第2变量 21

N N N N 7 8 - 11 12 13 14 - 17 18 19 20 - 23

Enum Float 单位:mA,见附表1《单位代码》 电流值 N N Unsigned-8 Enum Float 0x02 第3变量 单位:% ,见附表1《单位代码》 百分比值 N N N Unsigned-8 Enum Float 0x03 第4变量 单位:Deg C ,见附表1《单位代码》 温度值 N N N 24 25 26 - 29

Unsigned-8 Enum Float 0x04 第5变量 单位:mV ,见附表1《单位代码》 传感器电压值 N N N 22

2. Command 34:写主变量阻尼值

本命令相当于本地组态功能“06 DAMP”,设置电子阻尼时间(0~32s)。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-3 数据类型 Float 值 Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address 说明 阻尼值(0~),单位为秒 Command Bytes Count 6 2 Data 可更改 Y Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 4 Data Check Byte 数据 XOR 0x00|38 bits ID 34 响应帧ACK:

Delimiter 正常响应 0x86 异常响应 0x86 34 34 状态+数据 状态 正常响应帧数据内容同请求帧

3. Command 35:写主变量下限值和上限值

本命令相当于本地组态功能“04 LRV”和“05 URV”,即无压力零点和量程设置。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0 1-4 5-8 数据类型 Enum Float Float 值 说明 可更改 对应的变量单位,见附表1《单位代码》 Y 单精度浮点数表示的上限范围值 Y 单精度浮点数表示的下限范围值 Y Address Expansion Bytes NULL Command Bytes Count 9 Data Check Byte 数据 XOR 0x00|38 bits ID 35 响应帧ACK:

23

Delimiter 正常响应 0x86 异常响应 0x86 Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count 11 2 Data Check Byte XOR XOR 35 35 状态+数据 状态 正常响应帧数据内容同请求帧

4. Command 36:写主变量上限值

本命令相当于本地组态功能“03 SPAN”,即有压力量程设置。

通入满量程压力,待读数稳定后,执行本命令。执行后,变送器将当前压力值设置为上限,输出电流20mA。 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID Address Command Bytes Count 2 Data Check Byte XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 36 0x86

36 状态 5. Command 37:写主变量下限值

本命令相当于本地组态功能“02 ZERO”,即有压力零点设置。

通入零点压力,待读数稳定后,执行本命令。执行后,变送器将当前压力值设置为下限,输出电流4mA。 请求帧STX: Delimiter 0x82 响应帧ACK:

24

Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 37 Delimiter 0x86

Expansion Bytes 0x00|38 bits NULL ID Address Command Bytes Count 2 Data Check Byte XOR 37 状态 6. Command 38:复位配置改变标志

该命令复位设备状态字节的bit 6位,当有设置命令执行后,该为重新置位 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID Address Command Bytes Count 2 Data Check Byte XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 38 0x86 38 状态 7. Command 40:进入/退出固定电流模式

当设置值为非0数据时设备的环路恒定输出一个4-20mA范围内的一个电流值,当设置值为0时,退出固定电流模式。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-3 数据类型 Float 值 Address 说明 实际的电流值(单位为mA) Command Bytes Count 6 2 Data 可更改 Y Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 4 Data Check Byte 数据 XOR 0x00|38 bits ID 40 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL 25

正常响应 0x86 异常响应 0x86 40 40 状态+数据 状态 ID 正常响应帧数据内容同请求帧

8. Command 41:使设备执行自检 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count 2 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 41 正常响应 0x86 异常响应 0x86 41 41 状态 状态 9. Command 43: 主变量调零

详见Common Practice Command Specification 10. Command 44:写主变量单位

本命令相当于本地组态功能“07 UNIT”,设置主变量(压力)工程单位。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0 数据类型 Enum 值 Address 说明 主变量单位,见附表1《单位代码》 Command Bytes Count 3 2 Data 可更改 Y Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 1 Data Check Byte 数据 XOR 0x00|38 bits ID 44 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 26

正常响应 0x86 异常响应 0x86 44 44 状态+数据 状态 正常响应帧数据内容同请求帧。 11. Command 45:调整环路电流零点

调整环路电流曲线的偏移量,使零点电流对应4mA。本命令不影响电流曲线的斜率。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-3 数据类型 Float 值 说明 单精度浮点数 环路电流零点值,即4mA的实际测量值 Command Bytes Count 6 2 Data 可更改 Y Address Expansion Bytes NULL Command Bytes Count 4 Data Check Byte 数据 XOR 0x00|38 bits ID 45 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 45 45 状态+数据 状态 正常响应帧数据内容同请求帧

12. Command 46:调整环路电流增益

调整环路电流曲线的斜率,使电流对应20mA。本命令不影响4mA对应的值。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-3 数据类型 Float 值 说明 单精度浮点数 环路电流满度值,即20mA的实际测量值 Expansion 27

Command Bytes Count Data 可更改 Y Address Expansion Bytes NULL Command Bytes Count 4 Data Check Byte 数据 XOR 0x00|38 bits ID 46 响应帧ACK:

Delimiter Address Check Byte 正常响应 0x86 异常响应 0x86 0x00|38 bits ID 0x00|38 bits ID Bytes NULL NULL 46 46 6 2 状态+数据 状态 XOR XOR 正常响应帧数据内容同请求帧

13. Command 47:写主变量转换功能

本命令相当于本地组态功能“08 FUNCT”,设置主变量转换特性输出。 请求帧STX: Delimiter 0x82

请求帧数据内容 字节 0 数据类型 Enum 值 0x00 0x01 Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address 说明 线性转换:y=kx+b 平方根转换:y=sqrt(x) Command Bytes Count 3 2 Data 可更改 Y Address Expansion Bytes NULL Command Bytes Count 1 Data Check Byte 数据 XOR 0x00|38 bits ID 47 响应帧ACK:

Delimiter Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 47 47 状态+数据 状态 正常响应帧数据内容同请求帧

14. Command 49:写主变量传感器序列号 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 数据类型 值 28

说明 可更改 Address Expansion Bytes NULL Command Bytes Count 3 Data Check Byte 数据 XOR 0x00|38 bits ID 49 0-2 Unsigned-24 Delimiter Address 写入的传感器序列号 Command Bytes Count 5 2 Data Y Check Byte XOR XOR 响应帧ACK:

Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 正常响应 0x86 异常响应 0x86 49 49 状态+数据 状态 正常响应帧数据内容同请求帧

15. Command 54:读设备变量信息(可选) 本产品只读主变量信息。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0 数据类型 Unsigned-8 值 0x00 说明 主变量代码 可更改 N Address Expansion Bytes NULL Command Bytes Count 1 Data Check Byte 数据 XOR 0x00|38 bits ID 54 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 0x00 29

Address Command Bytes Count 25 2 Data Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 54 54 状态+数据 状态 正常响应帧数据内容(主变量)

数据类型 Unsigned—8 Unsigned—24 4 Enum 5-8 Float 9-12 Float 13-16 Float 字节 0 1-3 说明 设备变量代码(主变量为0) 传感器序列号 变量极限/最小量程单位 变量传感器上限值 变量传感器下限值 设备变量阻尼值 可更改 N N N N N N 17-20 21 22 Float Enum Enum 字节 0 1-3 4 5-8 9-12 13-16 17-20 21 22 0x41 0x05 数据类型 Unsigned—8 Unsigned—24 Enum Float Float Float Float Enum Enum 设备变量最小量程 设备变量分类(压力类型) 设备变量类型(压力) 值 0x00(0x01、0x02、0x03) 0x00、0x00、0x00 0xfa(250) 0x7f、0xa0、0x00、0x00 0x7f、0xa0、0x00、0x00 0x7f、0xa0、0x00、0x00 0x7f、0xa0、0x00、0x00 0xfa(250) 0xfa(250) N N N 注:当试图要读取的设备变量不存在或不支持时,对应的响应数据内容如下:

16. Command 59:写响应前导符个数 请求帧STX: Delimiter 0x82 请求帧数据内容

字节 0 数据类型 Unsigned—8 值 0x05~0x14 Address 说明 5~20个 Command Bytes Count 3 2 Data 可更改 Y Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 1 Data Check Byte 数据 XOR 0x00|38 bits ID 59 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 正常响应 0x86 异常响应 0x86 59 59 状态+数据 状态 正常响应帧数据内容同请求帧

17. Command 71:锁定设备 请求帧STX:

30

Delimiter 0x82 请求帧数据内容 字节 0 数据类型 Enum Address 0x00|38 bits ID 值 0x00 0x01 0x02 Address Expansion Bytes NULL Command Bytes Count 1 Data Check Byte 数据 XOR 可更改 Y 71 说明 0x00=没有锁定(解锁) 0x01=暂时锁定(设备上电或复位解锁) 0x02=永久锁定 Command Bytes Count 3 2 Data 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 71 71 状态+数据 状态 正常响应帧数据内容同请求帧

18. Command 76:读设备锁定状态 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 0x00 0x01 0x02 Address Command Bytes Count 3 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 76 正常响应 0x86 异常响应 0x86 76 76 状态+数据 状态 正常响应帧数据内容

字节 0 数据类型 Enum 说明 0x00=没有锁定(解锁) 0x01=暂时锁定(设备上电或复位解锁) 0x02=永久锁定 可更改 N 31

(三)设备专用命令

1. Command 130 读材料信息

读变送器各组件的材料信息(12Bytes)。

请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 2 3 4 5 15 251 252 253 250 Address 0x00|38 bits ID Address Expansion Bytes NULL Command Bytes Count 0 Bytes Count 14 2 Data Check Byte NULL Data XOR Check Byte XOR XOR 130 Command 正常响应 0x86 异常响应 0x86 0x0d 0x0d 状态+数据 状态 正常响应帧数据内容: 字节 0 数据类型 Enum 说明 模块隔离膜片材料 316不锈钢 哈氏合金 蒙乃尔 钽 蒙乃尔镀金 没有 未知 特殊 未定义 模块灌充液 硅油 800号油 惰性油 甘油/水 丙烯二醇/水 Neobee/M20 没有 未知 可更改 N 1 Enum 240 241 242 243 244 245 251 252 32

N 2 Enum 3 Enum 4 Enum 5 Enum 6 Enum 特殊 未定义 法兰类型 246 常规 247 共面 248 远程密封 249 Level_3_150 249 Level_4_150 249 Level_3_300 249 Level_4_300 249 Level_80_40 249 Level_100_40 249 Level_100_10_1 252 未知 253 特殊 250 未定义 法兰材料 0 碳钢 2 316不锈钢 3 哈氏合金 4 蒙乃尔 251 没有 252 未知 253 特殊 250 未定义 O型圈材料 10 聚四氟乙烯 240 氟橡胶 21 丁腈橡胶 27 乙丙橡胶 251 没有 252 未知 253 特殊 250 未定义 远传装置数量 1 1个 2 2个 251 没有 252 未知 250 未定义 远传装置形式 1 CTW 2 插入筒 253 250 N N N N N 33

7 Enum 8 Enum 9 Enum 10 Enum 11 Unsigned 8 扁平式 法兰安装 螺纹安装 卡环式 SSW 没有 未知 特殊 未定义 远传装置膜片材料 2 316不锈钢 3 哈氏合金 4 蒙乃尔 5 钽 蒙乃尔镀15 金 251 没有 252 未知 253 特殊 250 未定义 远传装置灌充液 240 硅油 241 800号油 242 惰性油 243 甘油/水 244 丙烯二醇/水 245 Neobee/M20 251 没有 252 未知 253 特殊 250 未定义 指示表 0:无指示表 1:有指示表 排气排液阀材料 2 316不锈钢 3 哈氏合金 4 蒙乃尔 251 没有 252 未知 253 特殊 250 未定义 ADC放大倍数 3 4 5 6 7 251 252 253 250 N N N N N 34

1,2,4,8,16,32, 2. Command 131 写材料信息

写变送器各组件的材料信息(12 Bytes)。

请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID Expansion Bytes NULL Command 131 Bytes Count 12 Data Check Byte 材料数XOR 据(12 Bytes) Data Check Byte XOR XOR 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count 14 2 正常响应 0x86 异常响应 0x86 131 131 状态+数据 状态 正常响应帧数据内容同请求帧

3. Command 132 读硬件与传感器详细信息 读PCB序列号、传感器序列号、类型、量程等信息。 请求帧STX: Delimiter 0x82 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 35

Address Command Bytes Count 10 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 0 Data Check Byte NULL XOR 0x00|38 bits ID 132 正常响应 0x86 异常响应 0x86 132 132 状态+数据 状态 正常响应帧数据内容 字节 数据类型 说明 可更改 0~2 3~5 6 Unsigned-24 Unsigned-24 Enum 7 Enum PCB序列号 传感器序号 传感器类型 0:金属电容传感器,差压 1:金属电容传感器,表压 2:金属电容传感器,绝压 3:金属电容传感器,高静压 4:金属电容传感器,液位 5:金属电容传感器,微差压 100:扩散硅传感器,表压 (-100 – XXX) 101:扩散硅传感器,绝压 (0 – XXX) 250:未定义 传感器量程 金属电容传感器 0:± (罗斯蒙特-量程2) 1:± (罗斯蒙特-量程3) 2:± (罗斯蒙特-量程4) 3:±(罗斯蒙特-量程5) 4:±690kPa (罗斯蒙特-量程6) 5:±2068kPa (罗斯蒙特-量程7) 6:±60kPa (罗斯蒙特-量程8) 7:±20680kPa(罗斯蒙特-量程9) 8:±41370kPa(罗斯蒙特-量程0) 扩散硅传感器 0:0~20kPa (麦克-量程0B) 1:0~35kPa (麦克-量程0A) 2:0~70kPa (麦克-量程02) 3:0~100kPa (麦克-量程03) 4:0~200kPa (麦克-量程07) 5:0~350kPa (麦克-量程08) 6:0~700kPa (麦克-量程09) 7:0~1000kPa (麦克-量程10) 8:0~2000kPa (麦克-量程12) 9:0~3500kPa (麦克-量程13) 10:0~7000kPa (麦克-量程14) 11:0~10000kPa(麦克-量程15) 12:0~20000kPa(麦克-量程17) 13:0~35000kPa(麦克-量程18) 14:0~70000kPa(麦克-量程19) 250:未定义 N N N N 36

4. Command 133 写硬件与传感器详细信息 写PCB序列号、传感器序列号、类型、量程等信息。 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID Address Expansion Command Bytes NULL 133 Bytes Count 8 Check Byte 硬件与传感XOR 器详细信息 Data Check Byte XOR XOR Data 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Command Bytes Count 10 2 正常响应 0x86 异常响应 0x86 133 133 状态+数据 状态 正常响应帧数据内容同请求帧。 5. Command 134 读变量显示模式 读变量显示模式(DMV)。 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID Address Expansion Command Bytes NULL 134 Bytes Count 0 Data NULL Check Byte XOR 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Command Bytes Count 3 2 Data Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 134 134 状态+数据 状态 正常响应帧数据内容: 字节 0 数据类型 Enum 说明 变量显示模式 0 电流(mA) 1 量程百分比 2 压力值(带单位) 3 循环显示 可更改 N 37

6. Command 135 写变量显示模式

本命令相当于本地组态功能“09 DMV”,即设置变送器显示屏上变量的显示模式。 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID Address Expansion Command Bytes NULL 135 Bytes Count 1 Data 数据 Check Byte XOR 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Command Bytes Count 3 2 Data Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 135 135 状态+数据 状态 正常响应帧数据内容同请求帧。

7. Command 136 写小压力切除值

当主变量转换功能(Command 47)设为“平方根”时,本命令用于设置小压力切除的数值(百分比),数值范围0~。 当切除值为0时,表示小压力切除功能关闭。 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID Address Expansion Command Bytes NULL 136 Bytes Count 4 Data Float类型 范围0~ Data Check Byte XOR 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Command Bytes Count 6 2 Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 136 136 状态+数据 状态 正常响应帧数据内容同请求帧。 设置出错的响应码:

38

0x80:主变量为线性输出,操作无效。 0x81:所设数值超范围。

8. Command 137 按键测试

测试各按键是否正常。测试期间,命令发送周期为1秒。 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID Expansion Command Bytes NULL 137 Bytes Count 1 Data 1: 进入测试(屏蔽按键功能) 0: 退出测试 (恢复按键功能) Data Check Byte XOR 响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID 值 Address Command Bytes Count 3 2 Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 137 137 状态+数据 状态 正常响应帧数据内容 字节 0 数据类型 Bits 说明 0x00 无键按下 0x01 菜单键按下 0x02 向上键按下 0x04 向下键按下 可更改 N

9. Command 138 读存储器数据(可选) 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID 值 39

Expansion Command Bytes NULL 138 Bytes Count 4 Data 数据 Check Byte XOR 请求帧数据: 字节 数据类型 说明 可更改 0 1-2 3 存储器代码 0:EEPROM 1:FLASH Unsigned-16 0x0000~0x1FFF 指定存储器的开始地址 或 EEPROM:0x0000~0x1FFF 0x0400~0x0BFF FLASH:0x0400~0x0BFF Unsigned-8 1~32 字节数(1~32) Address Expansion Bytes 0x00|38 NULL bits ID 0x00|38 NULL bits ID 数据类型 值 0或1 Command Bytes Count 7~38 2 Data Enum 0或1 Y Y Y Check Byte XOR XOR 响应帧ACK: Delimiter 正常响应 异常响应 字节 0 0x86 0x86 138 138 状态+数据 状态 正常响应帧数据内容

说明 可更改 N 存储器代码 Enum 0:EEPROM 1:FLASH 0x0000~0x1FFF 指定存储器地址 Unsigned-16 或 EEPROM:0x0000~0x1FFF 0x0400~0x0BFF FLASH:0x0400~0x0BFF 1~32 Enum 字节数(1~32) Unsigned-8 读出的字节数据(1~32个) 1-2 3 4 ~35(最多)

N N N 10. Command 139 写存储器数据(可选) 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID 数据类型 Enum Unsigned-值 0或1 0x0000~0x1FExpansion Command Bytes NULL 139 Bytes Count 5~36 Data 数据 Check Byte XOR 请求帧数据: 字节 0 1-2 说明 存储器代码 0:EEPROM 1:FLASH 指定存储器的开始地址 40

可更改 Y Y 16 FF 或 0x0400~0x0BFF 1~32 EEPROM:0x0000~0x1FFF FLASH:0x0400~0x0BFF 3 4 ~35(最多) Unsigned-8 Unsigned-8 字节数(1~32) 要写入的字节数据(1~32个) Y Y 响应帧ACK: Delimiter Address Expansion Bytes 0x00|38 NULL bits ID 0x00|38 NULL bits ID Command Bytes Count 7~38 2 Data Check Byte XOR XOR 正常响应 异常响应 0x86 0x86 139 139 状态+数据 状态 正常响应帧数据内容同请求帧。

以下命令140~141用于读/写校准数据。 1. 压力工厂校准:即“标定”,制造商使用。

建立传感器电压值(Vs)与所施加的标定压力值(Pc)的对应关系。经过工厂校准后输出的压力值称为原始压力值(P0)。

2. 压力用户校准:制造商或用户使用。当原始压力值(P0)误差较大时,可进

行用户校准。

建立原始压力值(P0)与期望压力值(Pi)之间的关系。

3. 4-20mA工厂校准:用于校准电流输出。

建立原始电流值(I0)与期望电流值(Ii)之间的关系。

4. 4-20mA用户校准:同工厂校准,但校准点数固定为2个(4mA和20mA)。 5. 温度补偿:

41

温度设定点:温度补偿的温度值,由变送器测量并通过HART传给上位机。

如:,,,,(DegC)

压力设定点:每个温度设定点下施加的标准压力值,由上位机设定,并控制压

力控制器输出相应的压力。如:,,0,,(kPa)

压力测量点:每个压力设定点对应的实际测量值,由变送器测量并通过HART传

给上位机。如:,,,,(kPa)

11. Command 140 读校准数据 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID 数据类型 值 Expansion Command Bytes NULL 140 Bytes Count 3 Data 数据 Check Byte XOR 请求帧数据: 字节 说明 类型代码T 0:压力工厂校准 1:压力用户校准 2:4-20mA工厂校准 3:4-20mA用户校准 4:温度补偿 校准点序号N1 压力工厂校准: 0~S1-1 压力用户校准: 0~S1-1 4-20mA工厂校准: 0~S1-1 4-20mA用户校准: 0~S1-1 温度补偿(温度点序号):0~S1-1 * S1为本类校准点的总数。 校准点序号N2 压力工厂校准: 250(没有) 压力用户校准: 250(没有) 4-20mA工厂校准: 250(没有) 4-20mA用户校准: 250(没有) 温度补偿(压力点序号):0~S2-1 * S2为温度补偿中压力点的总数 Command Bytes Count 17 Data 可更改 0 Enum Y 1 Unsigned-8 Y 2 Unsigned-8 Y 响应帧ACK:

Delimiter Address Expansion Bytes 0x00|38 NULL bits ID 42

Check Byte XOR 正常响应 0x86 141 状态+数据 异常响应 字节 0x86 0x00|38 bits ID 值 NULL 141 2 状态 XOR 正常响应帧数据内容:

数据类型 说明 类型代码T 压力工厂校准 : 0 压力用户校准: 1 4-20mA工厂校准: 2 4-20mA用户校准: 3 温度补偿: 4 校准点总数S1 压力工厂校准: 3~41 压力用户校准: 2~11 4-20mA工厂校准: 2~32 4-20mA用户校准: 2 温度补偿(温度点总数): 2~9 校准点总数S2 压力工厂校准: 250(无用) 压力用户校准: 250(无用) 4-20mA工厂校准: 250(无用) 4-20mA用户校准: 250(无用) 温度补偿(压力点总数):1~21 校准点序号N1 压力工厂校准: 0~S1-1 压力用户校准: 0~S1-1 4-20mA工厂校准: 0~S1-1 4-20mA用户校准: 0~S1-1 温度补偿(温度点序号):0~S1-1 校准点序号N2 压力工厂校准: 250(无用) 压力用户校准: 250(无用) 4-20mA工厂校准: 250(无用) 4-20mA用户校准: 250(无用) 温度补偿(压力点序号):0~S2-1 单位代码U1 见附表1《单位代码》。 校准点值V1 压力工厂校准: 传感器电压值 压力用户校准: 实测压力值 4-20mA工厂校准: 实测电流值 4-20mA用户校准: 实测电流值 温度补偿: 温度点设定值 单位代码U2 43

可更改 0 Enum N 1 Unsigned-8 N 2 Unsigned-8 N 3 Unsigned-8 N 4 Unsigned-8 N 5 Enum N 6-9 Float N 10 Enum N 11-14 Float 见附表1《单位代码》 校准点值V2 压力工厂校准: 标定压力值 压力用户校准: 理想压力值 4-20mA工厂校准: 理想电流值 4-20mA用户校准: 理想电流值 温度补偿: 压力点测量值 N 读取出错时的响应码: 0x80:未经过本类校准。

0x80 | S1:校准点序号N1超范围。 0xC0 |S2:校准点序号N2超范围。 注意:

读压力设定点:

当请求帧中T=4且N1=250时,表示要读取的是温度补偿的压力设定点,此时N2表示要读取的压力设定点的序号,范围是0~S2-1(S2是压力设定点总数)。

响应帧中的数值: U1:250(无单位)

V1:0x7f、0xa0、0x00、0x00(无用数值) U2:压力设定点的单位代码 V2:压力设定点的数值

12. Command 141 写校准数据 请求帧STX: Delimiter 0x82 Address 0x00|38 bits ID 数据类型 Enum 值 Expansion Command Bytes NULL 141 Bytes Count 15 Data 数据 Check Byte XOR 请求帧数据: 字节 0 说明 类型代码T 压力工厂校准 : 0 压力用户校准: 1 4-20mA工厂校准: 2 44

可更改 N 1 Unsigned-8 2 Unsigned-8 3 Unsigned-8 4 Unsigned-8 5 Enum 6-9 Float 10 Enum 11-14 Float 4-20mA用户校准: 3 温度补偿: 4 校准点总数S1 压力工厂校准: 3~41 压力用户校准: 2~11 4-20mA工厂校准: 2~32 4-20mA用户校准: 2 温度补偿(温度点总数): 2~9 校准点总数S2 压力工厂校准: 250(无用) 压力用户校准: 250(无用) 4-20mA工厂校准: 250(无用) 4-20mA用户校准: 250(无用) 温度补偿(压力点总数):1~21 校准点序号N1 压力工厂校准: 0~S1-1 压力用户校准: 0~S1-1 4-20mA工厂校准: 0~S1-1 4-20mA用户校准: 0~S1-1 温度补偿(温度点序号):0~S1-1 校准点序号N2 压力工厂校准: 250(无用) 压力用户校准: 250(无用) 4-20mA工厂校准: 250(无用) 4-20mA用户校准: 250(无用) 温度补偿(压力点序号):0~S2-1 单位代码U1 见附表1《单位代码》。 校准点值V1 压力工厂校准: 传感器电压值 压力用户校准: 实测压力值 4-20mA工厂校准: 实测电流值 4-20mA用户校准: 实测电流值 温度补偿: 温度点设定值 单位代码U2 见附表1《单位代码》 校准点值V2 压力工厂校准: 标定压力值 压力用户校准: 理想压力值 4-20mA工厂校准: 理想电流值 4-20mA用户校准: 理想电流值 温度补偿: 压力点测量值 N N N N N N N N

45

响应帧ACK:

Address Expansion Bytes 正常响0x00|38 0x86 NULL 应 bits ID 异常响0x00|38 0x86 NULL 应 bits ID 正常响应帧数据内容同请求帧。 注意:

写压力设定点:

当请求帧中T=4且N1=250时,表示要写入的是温度补偿的压力设定点,此时N2表示要写入的压力设定点的序号,范围是0~S2-1(S2是压力设定点总数)。

请求帧中的数值: U1:250(无单位)

V1:0x7f、0xa0、0x00、0x00(无用数值) U2:压力设定点的单位代码 V2:压力设定点的数值

13. Command 142 进入/退出校准模式

本命令用于控制变送器进入或退出某种校准模式。当进入某类校准时,该类校准运算即被暂时屏蔽,直到退出该类校准后,该类校准运算方可恢复。

例如:进入“压力用户校准”模式后,原压力用户校准的运算部分即被屏蔽,此变送器输出的压力值是没有经过“压力用户校准”的。

请求帧STX:

Delimiter 0x82 Address 0x00|38 bits ID Expansion Command Bytes NULL 142 Bytes Count 1 Data 进入 压力工厂校准:0x00 压力用户校准:0x01 电流工厂校准:0x02 电流用户校准:Check Byte XOR Delimiter Command Bytes Count 17 2 Data Check Byte XOR XOR 141 141 状态+数据 状态 46

0x03 温度补偿: 0x04 退出 压力工厂校准:0x80 压力用户校准:0x81 电流工厂校准:0x82 电流用户校准:0x83 温度补偿: 0x84 响应帧ACK:

Address Expansion Bytes 正常响0x00|38 0x86 NULL 应 bits ID 异常响0x00|38 0x86 NULL 应 bits ID 正常响应帧数据内容同请求帧。

14. Command 143 更新/备份校准数据

本命令用于FLASH和EEPROM之间更新(互相复制)校准数据。两种用途如下: 1. 更新

进行某种校准时,校准数据先被写到EEPROM,数据无误后,执行本命令,将EEPROM中的新数据复制到FLASH中,替代旧数据。 2. 备份

要备份当前校准数据时,执行本命令,将FLASH中的校准数据复制到EEPROM中。 请求帧STX:

Delimiter 0x82 Address 0x00|38 bits ID Expansion Command Bytes NULL 143 Bytes Count 1 Data EEPROM FLASH 压力工厂校准:0x00 压力用户校准:0x01 电流工厂校准:0x02 Check Byte XOR Delimiter Command Bytes Count 3 2 Data Check Byte XOR XOR 142 142 状态+数据 状态 47

电流用户校准:0x03 温度补偿: 0x04 FLASH EEPROM 压力工厂校准:0x80 压力用户校准:0x81 电流工厂校准:0x82 电流用户校准:0x83 温度补偿: 0x84 响应帧ACK:

Address Expansion Bytes 正常响0x00|38 0x86 NULL 应 bits ID 异常响0x00|38 0x86 NULL 应 bits ID 正常响应帧数据内容同请求帧。 注意:

命令执行后,由于数据读写需要一定的时间,在更新/备份期间,上位机应置于等待状态,并保持一段时间,等待变送器返回数据。“通讯超时”的条件因此需调整为更长的时间。 15. Command 144 写设备ID

本命令用于写设备ID(Device ID)。对于相同制造商ID(Manufacturer ID )和设备类型(Device Type)的每一台设备,必须有不同的设备ID。 请求帧STX: Delimiter 0x82 请求帧数据内容 字节 0-2 数据类型 Unsigned-24 值 说明 设备ID 可更改 Y Address Expansion Bytes NULL Command Bytes Count 3 Data Check Byte 数据 XOR Delimiter Command Bytes Count 3 2 Data Check Byte XOR XOR 143 143 状态+数据 状态 0x00|38 bits ID 144 48

响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count 5 2 Data Check Byte XOR XOR 正常响应 0x86 异常响应 0x86 144 144 状态+数据 状态 正常响应帧数据内容同请求帧。

16. Command 145 主变量上下限微调

本命令用于将当前读数调整为主变量上限(URV)或下限(LRV)。

通入下限压力,待读数稳定后,执行本命令。执行后,变送器将当前压力读数调整为上限设定值。

通入上限压力,待读数稳定后,执行本命令。执行后,变送器将当前压力读数调整为上限设定值。

请求帧STX: Delimiter 0x82

响应帧ACK:

Delimiter Expansion Bytes 0x00|38 bits NULL ID 0x00|38 bits NULL ID Address Command Bytes Count 3 2 Data Check Byte XOR XOR Address Expansion Bytes NULL Command Bytes Count 145 1 Data Check Byte 0x00|38 bits ID 0:调整下限 XOR 1:调整上限 正常响应 0x86 异常响应 0x86 145 145 状态+数据 状态 正常响应帧数据内容同请求帧。

49

五.附表

1. 单位代码

代码 1 2 3 4 5 6 7 8 9 10 11 单位 inH2O inHg ftH2O mmH2O mmHg psi bar mbar gPerCM2 kgPerCM2 Pa 代码 12 13 14 237 238 239 32 36 39 57 250 单位 kPa Torr atm MPa i4H2O m4H2O DegC mV mA Percent 无单位 2. 单位转换系数

转换系数均以kPa为基准。 例如:1 kPa = mmHg Torr = / = kPa 10 atm = 10 / * = inH2O 单位 inH2O inHg ftH2O mmH2O mmHg psi bar mbar gPerCM2 kgPerCM2 Pa kPa Torr atm MPa i4H2O m4H2O 50

转换系数 六.参考文档

HART通信协议 Specification 数据链层 HART 响应码 命令集 通用命令 普通应用命令 设备专用命令 数据块传送 公共表格描述

HART Field Communications Protocol

Data Link Layer Specification Command Response Code Specification Command Summary Specification Universal Command Specification Common Practice Command Specification Device Families Command Specification Block Data Transfer Specification Common Tables Specification

51

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务