1、地址Address由1字节组成的HART数据帧,短帧只有通用命令Command 0能够使用,短帧字节含义如下:所有的HART从机都支持长、短帧。5、请求帧(STX):由主机(如手抄器)向从机(现场设备)发出请求数据命令;6、应答帧(ACK):从机回复给主机的数据;7、前导符(Preamble):发起命令(数据)传输的设备在传输数据帧前发送的0xFF字符,发送该字符的数量一般为520个,该数量可以通过命令来改变;前导符的使用是为了使数据接收端在硬件电路上产生CD载波检测信号,以实现数据通讯的同步.8、定界符(Delimiter):表示数据帧传输的开始,指明数据的传输方向、物理层类型,同时它也指定
2、了数据帧的帧类型(长、短帧),其含义内容如下: 定界符Delimiter字节含义9、地址(Address):由定界符Delimiter指定为短帧(1字节)或长帧(5字节)两种类型,长、短帧释义如前述;10、扩展字节(Expansion Bytes):本公司目前的HART协议版本保留,为0;11、命令(Command):功能码,指明一个数据帧的具体实现功能,命令有通用命令、 普通应用命令、设备专用命令三大类;12、数据字节数(Bytes Count):指实际的数据Data的数量;13、数据(Data):设置或读取指定从机的参数数据(通信的最终结果);14、校验字节(Check Byte):从定界
3、符(Delimiter)到数据(Data)的所有字节的异或值,即纵向校验。三HART通讯规范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、响应码格式:从机回复给主机的命令执行情况
4、代码,当通讯出错时,响应吗最高位bit7=1,这时设备状态码无实际意义;当bit7=0时,表示通讯正常,余下6 bits表示命令执行情况的响应.7、通讯正常时响应码(bit7=0,低6 bits):* 具体含义因不同命令而定,可查看相关的HART命令资料。响应代码响应码含义0x00执行成功0x02错误的命令0x03设置参数太大0x04设置参数太少0x05接收的数据太少0x06专用命令错0x07处于写保护模式0x081、更新失败2、设置为接近值3、延时响应0x091、低限范围值太大2、不正确的电流模式0x0a1、低限范围值太小2、无效的就地锁定0x0b1、上限范围值太大2、多从机模式3、无效设备
5、变量代码4、调整超范围5、不能就地锁定0x0c1、上限范围值太小2、无效单位代码3、无效的模式选择4、无效的插槽号0x0d1、上、下限范围值超标2、计算错误3、无效的命令号0x0e1、量程太小2、设置的下限值引起上限值改变而超出传感器极限0x0f无效的模拟通道号0x10访问受限0x11无效的设备变量索引0x12无效的单位代码0x13设备变量的应用不合理0x14无效的扩展命令号0x1c不支持的单位代码0x20忙0x21延迟响应开始0x22延迟响应进行中0x40命令不能执行8、通讯出错时响应代码(bit7=1)含义如下:通讯出错含义0xc0接收字节字节奇校验出错0xa0接收缓冲区数据覆盖错0x90
6、没有接收到停止位出错0x88校验字节出错0x82接收缓冲区溢出9、设备状态码:含义如下设备状态含义0x80设备故障配置参数改变设备冷启动环路电流固定模式环路电流饱和设备变量(没有映射到主变量)超限0x01主变量超出极限10、数据类型:HART通讯协议支持以下类型的数据:字符串Str、日期Date、单或双精度浮点数Float、无符号整型数Unsigned、有符号整型数Signed、联合体Enum或位Bit。数据传输顺序:MSB至LSB.1)字符串:字符串支持标准的拉丁字母Latin和封装格式Packed的ASCII码,拉丁字符每个字母占1个字节;封装格式的ASCII码每字母占1个字节的6位,因此
7、,每4个字母封装在3个字节中,在使用过程中需要打包和解包操作。2)浮点数:满足IEEE754标准要求,单精度浮点数用4个字节表示,双精度浮点数用8个字节表示。不可识别的浮点数用0x7f、0xa0、0x00、0x00表示。11、设备变量状态(Device Variable Status):所有需要周期处理的数据(如设备变量和动态变量)都包含一个设备变量状态字节,其内容定义如下:默认0xc0 设备变量状态字节含义四HART应用命令命令有通用命令、 普通应用命令、设备专用命令三大类,通用命令是所有的HART现场设备都必须响应的命令;普通应用命令只被设备部分应用;设备专用命令是生产商根据需要制定的命令
8、。(一)通用命令1.Command 0:读唯一标识1)短帧请求帧STX:DelimiterAddressExpansionBytesCommandCountDataCheckByte0x0000xxxxxxNULLXOR响应帧ACK:正常响应19状态+数据异常响应2状态注:状态=通讯状态+设备状态,其含义如前述,以下不再赘述。2)长帧0x0038 bits ID响应帧ACK:0x8621状态 正常响应帧数据内容字节数据类型值说明可更改Unsigned8254统一固定值N12Enum未定产品设备类型ID,由厂商定义,HCF 登记35主设备到从设备的最少同步前导码数量4通用命令版本号,版本75设备版本水平设备软件版本(254和255保留)7Unsigned-5高5位表示硬件版本号(31保留)低3位表示物理信号为Bell202 电流信号8Bits保留9-11Unsigned-24设备ID ,同种类型设备的序列号12从设备到主设备的最少同步前导码数量13Unsigned-8最大设备变量数,主设备希望能读取的设备变量的个数。1415Unsigned-16配置改变记数器16扩展设备状态.0 设备正常0x01 设备没有故障但需要维护0x02 设备变量报警状态17-18制造商ID,由HCF分配2.Command 1:读主变量0x00|38 bits ID1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1