收藏 分享(赏)

485通讯协议标准.doc

上传人:HR专家 文档编号:5001882 上传时间:2019-01-29 格式:DOC 页数:6 大小:51KB
下载 相关 举报
485通讯协议标准.doc_第1页
第1页 / 共6页
485通讯协议标准.doc_第2页
第2页 / 共6页
485通讯协议标准.doc_第3页
第3页 / 共6页
485通讯协议标准.doc_第4页
第4页 / 共6页
485通讯协议标准.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、编号: 密级: 内 部 页数:_基于 RS485 接口的 DGL 通信协议(修改)编写:_校对:_审核:_批准:_北 京 华 美 特 科 贸 有 限 公 司二 二 年 十 二 月 六 日1. 前言在常见的数字式磁致伸缩液位计中,多采用 RS485 通信方式。但 RS485 标准仅对物理层接口进行了明确定义,并没有制定通信协议标准。因此,在 RS485 的基础上,派生出很多不同的协议,不同公司均可根据自身需要设计符合实际情况的通信协议。并且,RS485 允许单总线多机通信,如果通信协议设计不好,就会造成相互干扰和总线闭锁等现象。如果在一条总线上挂接不同类型的产品,由于协议不一样,很容易造成误触发

2、,造成总线阻塞,使得不同产品对总线的兼容性很差。随着 RS485 的发展,Modicon 公司提出的 MODBUS 协议逐步得到广泛认可,已在工业领域得到广泛应用。而 MODBUS 的协议规范比较烦琐,并且每字节数据仅用低 4 位(范围:015) ,在信息量相同时,对总线占用时间较长。DGL 协议是根据以上问题提出的一种通信协议。在制定该协议时已充分考虑以下几点要求:a. 兼容于 MODBUS 。也就是说,符合该协议的从机均可挂接到同一总线上。b. 要适应大数据量的通信。如:满足产品在线程序更新的需要(未来功能)。c. 数据传输需稳定可靠。对不确定因素应加入必要的冗错措施。d. 降低总线的占用

3、率,保证数据传输的通畅。2. 协议描述为了兼容其它协议,现做以下定义:通信数据均用 1 字节的 16 进制数表示。从机的地址范围为:0x800xFD,即:MSB=1;命令和数据的数值范围均应控制在 00x7F 之间。即:MSB=0 ,以区别地址和其它数据。液位计的编码地址为:0x820x9F。其初始地址(出厂默认值)为:0x81。罐旁表的编织地址为:0xA20xBF。其初始地址(出厂默认值)为:0xA1。其它地址用于连接其它类型的设备,也可用于液位计、罐区表地址不够时的扩充。液位计的命令范围为:0x010x2F,共 47 条,将分别用于参数设定、实时测量、诊断测试、在线编程等。通信的基本参数为

4、:4800 波特率,1 个起始位,1 个结束位。字节校验为奇校验。本协议的数据包是参照 MODBUS RTU 通信格式编写,并对其进行了部分修改,以提高数据传输的速度。另外,还部分参照了 HART 协议。其具体格式如下:ADDRESS COMMAND Byte Count DATA Check SUM地址 命令 字节数 数据 校验和1 Byte 1 Byte =n, 1 Byte n Byte 1 Byte809F 012F 0010 07F 07F表中,数据的最大字节数为 16 个。也就是说,整个数据包最长为 20 个字节。“校验和”是其前面所有数据异或得到的数值,然后将该数值 MSB 位清

5、零,使其满足 07F的要求。在验证接收数据包的“校验和”是否正确时,可将所有接收数据(包括“校验和”) 进行异或操作,得到的数据应0x80。这是因为,只有“地址”的 MSB=1,所以异或结果的 MSB 也必然等于 1。本协议不支持 MODBUS 中所规定的广播模式。3. 时序安排在上电后,液位计将先延迟 10 秒,等待电源稳定。然后,用 5 秒的时间进行自检和测试数据。接着产品进入待机状态并打开 RS485 通信接口,等待主机的请求。因此,主机应在液位计上电 20秒后,再将液位计置为工作状态,进行测量操作。液位控制器(HMT-900 或 H-1000)主要用于液位计的供电和防爆安全隔离。主机可

6、通过RTS 信号控制( HMT-900 或 H-1000)供给液位计的电源。当 RTS 有效时,电源将被打开。因此,液位计的电源是可以通过主机软件控制的。在现场应用中,主机软件的工作时序一般应遵循以下几个步骤。1) 在开主机前,并认真检查各相关设备的电源和电缆连接情况。2) 在启动主机软件时,打开相应串行端口。使能 RTS 信号,给液位计上电。3) 软件初始化操作,延迟 20 秒。4) 读液位计的相应参数,然后将液位计置为工作状态。5) 此时,主机可进入正常的轮训、记录、显示、报警等工作。主机软件的主要工作是通过 RS485 总线和各个液位计进行 DGL 格式的数据包通信。因此,通信时序安排的

7、好坏显得很重要。在本协议中,主机只能有 1 个,并完全控制总线,任何从机在没有主机请求时,必需保持接收状态。在设计从机电路时,应保证从机在上电时不能出现对总线的占用( 发送状态),哪怕是很短的时间。以免增加系统功耗,影响其 “本质安全”性能。虽然主机控制着总线,但在总线空闲状态,主机也应处于接收状态。只有在向指定的从机发送请求数据包时,才进入发送状态。主机的发送接收状态切换由其串口的 DTR 信号控制,可称为MDTR。同样,从机也有一个控制信号,称为 SDTR。当主机 DTR 无效(转换成 TTL 电平,MDTR 为高电平)时,端口处于发送状态。当 DTR 有效(MDTR 为低电平)时,端口处

8、于接收状态。据此,可绘制出数据包传输的时序图如下: 时 刻 :SDTR12M请 求 数 据 包 T435687应 答 数 据 包在 T1 时刻,主机将 MDTR 置为高电平(DTR 无效) ,准备发送数据。 T2 时刻,主机发送“请求数据包” 。当数据包发送完成(T3 时刻)后,随即要将 MDTR 变为低电平(T4 时刻) ,释放总线,等待接收“应答数据包” 。在相应从机(液位计)接收到正确的“请求数据包”后,就开始准备 “应答数据包” 。经延时,在 T5 时刻,从机将 SDTR 置为高电平,控制总线。然后,在 T6 时刻发送数据包。发送完成(T7时刻) 后,随即将 SDTR 置为低电平,释放

9、总线。这样一次数据包通信就完成了。对以上各时刻的时序要求可以描述为:T2-T1=1.93.5ms, T3-T2=1060ms, T4-T3=13.5ms, T5-T3=818ms, T6-T5=1.93.5ms, T7-T6=1060ms, T8-T7=13.5ms。一次通信的最长时间将控制在 160ms 以内。两次数据包通信的间隔应 20ms 。根据以上描述和规定,我们就可以精确地进行主机和从机的通信控制。并根据可能出现的各种通信错误和故障,进行冗错设计。4. 命令定义命令 0x01 通信协议识别码请求数据: 0byte 应答数据: 3byte 字符串“DGL” 44,47,4C命令 0x0

10、2 地址更改请求数据: 1byte NewAdr-0x80 应答数据: 1byte NewAdr-0x80 注:应答数据中仍保留为原来地址不变命令 0x03, 0x4 保留命令 0x05 读厂家名请求数据: 0byte 应答数据: 10byte 字符串“ALMRT Ltd.”命令 0x06 读产品类型请求数据: 0byte 无应答数据: 8byte DT07浮子数 温度测点 外管类型 测杆材料 安装形式 防爆类型 x x 命令 0x07 读产品杆长请求数据: 0byte 无应答数据: 2byte DT0,DT1基数:2mm,范围:20m,GL= (DT1*128+DT0)*2mm命令 0x08

11、 读温度测点位置请求数据: 0byte 应答数据: 5byte DT04 对应于 VT15 位置相对杆长的百分数(099) 。命令 0x09 读产品序列号请求数据: 0byte 无应答数据: 4byte 具体待定,存于 MCU EEPROM 中。命令 0x0A 读电路和程序的版本号请求数据: 0byte应答数据: 2byte DT0 电路版本 , DT1 程序版本命令 0x0B 读零点校准参数数据请求数据: 0byte应答数据: 8byte DT07Level1Zero=(DT2*128+DT1)*128+DT0)*0.01mm DT30, 数据求反命令 0x0F 设置产品工作状态请求数据:

12、1byte DT0=0,产品工作; DT00,产品待机;应答数据: 1byte 和请求数据相同。命令 0x10 读液位 1(Level1 ,油面)数据请求数据: 0byte 应答数据: 3byte DT0, DT1, DT2 分辨率:0.01mm,范围:30mm20m(0x1E8480, DT2=7A, DT1=09, DT0=0)。当 DT2=DT1=DT=0 时,液位下溢出;当 DT2=DT1=DT=7F 时,液位上溢出;Level1=(DT2*128+DT1)*128+DT0)*0.01mm命令 0x11 读液位 2(Level2 ,界面)数据请求数据: 0byte 应答数据: 3byt

13、e DT0, DT1, DT2 Level2=(DT2*128+DT1)*128+DT0)*0.01mm 命令 0x12 读两个液位数据请求数据: 0byte 应答数据: 6byte DT0, DT1, DT2, DT3, DT4, DT5Level1=(DT2*128+DT1)*128+DT0)*0.01mmLevel2=(DT5*128+DT4)*128+DT3)*0.01mm建议:如需读液面 2 的数据时,应采用该命令。这样,可同时得到液位 1 的值,提高了通信速度。命令 0x130x14 保留命令 0x15 读各测杆测点温度(只有一个温度测点)请求数据: 0byte 应答数据: 10b

14、yte DT09分辨率(刻度) :KD=0.015625(2-6), 范围:-56130VT1=(DT1*128+DT0)*KD-56,VT2=(DT3*128+DT2) *KD-56, 命令 0x16 保留从以上协议可知,每个通信数据都用 1Byte 的 16 进制数表示,数据包中的地址(ADDRESS)字段长度为 1Byte,当 HT-1000(主机)向 uPSD3200(从机)发送数据时,数据包中的地址(ADDRESS)字段中 MSB 应为 1,因为此时数据包要到达的地址是从机, 从机的地址范围为:0x800xFD,即:MSB=1 。主机 (HT-1000)没有地址(也许理论上应该有)

15、,主从机通信过程是这样的:主机不断发出 4 个字节的数据包(地址,命令,字节数,校验和)去查询从机的测量情况,其中字节数为 0,则没有数据字节,只需 4 个字节就可构成一个数据包。如下:81 16 00 1788 16 00 1E84 16 00 1287 16 00 118F 16 00 19以上 5 个数据包就是主机发往从机的数据包,第一个字节是地址,共有 5 个地址,即发往 5个从机,每发一个数据包,主机会等待从机的回应,然后再发下一个数据包,如果等待超时,则认为通信错误(HT-1000 上会显示 XX 号罐通信错误) 。若有回应,则主机进行数据处理,在友好的人机界面上显示相关测量信息。

16、第二个字节 16 是命令字,16 的具体含义可查询具体命令字信息。第三个 00 代表数据位是零个,第四个字节是校验和。 (这里设计协议的原则是尽可能是通信的字节数变少,减少信息在传输过程中的丢失,当然也要考虑扩展性)一个回应的数据包如下:88 16 08 69 7F 05 7A 3A 02 23 27 43共 12 个字节,再根据字段分一下:88 16 08 69 7F 05 7A 3A 02 23 27 43第一个字节 88 是从机的地址,由于主机采用“发送-等待回应”方式来和从机通信,并且目前只有一个主机,因此,从机发送的数据包中的地址不必是主机地址(除非有多个主机,在理解协议数据包时,数

17、据包中的地址字段应当是发往目的地的地址,但事实上从机回应数据包中的地址是本身的地址,不是目的地主机的地址) ,只需标明自身的地址即可,相当于“这里是 XX 号从机在回答- ”。第二个字节 16 是命令字。第三个字节 08 表示数据段有 8 个字节,接下来的 8 个字节是数据信息,前三个字节 69 7F 05 是油位测量值(69 是数据的最低数值,7F 是次低的数值,05是数据的高位数值),接着三个字节 7A 3A 02 是水位测量值,数据信息最后两个字节 23 27 是温度测量值,最后一个字节 43 是校验和。0x16 是 DGL 协议里的一条命令,表示取得探棒的油位,水位和温度。在 DGL

18、协议里是这么定义的: P其中:START:起始字节,长度为 1COMM:命令字节:长度为 1NUM:数据字节数DATA:数据,具体含义在每个命令中都有详细定义P:校验位命令 0x17 读实时电路参数 (保留)请求数据: 1byte ; 0 电子仓温度,1 VCC 电压,2 工作状态应答数据: 2byte 命令 0x180x1F 保留命令 0x200x2F 对外保留,用于参数设置、产品测试、程序更新等功能。5. 补充说明上述关于 DGL 协议的规定可保证它和 MODBUS 协议的兼容性。但不保证当这两种协议的设备挂接到同一总线上时,采用 MODBUS 协议的设备之间不会发生冲突。也不保证和下列设备的兼容性:其它协议的从机设备、除 Modicon 公司外标称为 MODBUS 的从机设备。主机通信程序应按照 DGL 协议规定编写。不保证本协议和其它主机设备或软件的兼容性。DGL 协议仅适用于使用 RS485 接口的数字式磁致伸缩液位计。如作为其它用途,在借鉴或引用时,应充分考虑情况不同所带来的风险因素。DGL 协议保留以下从机地址:0x80, 0xA0, 0xC0, 0xFE, 0xFF。在现场安装时应特别注意。控制器发送给中继器的地址如 81、82、等(或包括地址的任何命令) ,回的是 16 进制、每三个字节是一个数据,分别是油、水、温度(是华氏)

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

当前位置:首页 > 规范标准 > 国内外标准规范

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报