巡检仪RS485通讯协议一、波特率9600二、数据格式1个开始位、8.doc

巡检仪RS485通讯协议一、波特率9600二、数据格式1个开始位、8.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
巡检仪RS485通讯协议一、波特率9600二、数据格式1个开始位、8.doc

巡检仪RS485通讯协议 波特率: 9600 数据格式:1个开始位、8个数据位、2个停止位、无奇偶校验位 通讯协议: Modbus-RTU协议 消息帧 地址域功能域数据域CRC校验1个字节1个字节n个字节2个字节 消息响应时间 消息发送至少要以3.5个字符时间的停顿间隔开始,在最后一个字符结束后,至少3.5个字符时间的停顿才表示消息结束; Modbus-RTU协议详解 设备地址 单个地址范围1~247; 地址0是广播地址,广播地址只写不读; 功能代码 03H:连续读取寄存器; 设备地址功能代码寄存器地址读取数据长度CRC校验1个字节1个字节2个字节2个字节2个字节读取指令 串 读取回复字符串 设备地址功能代码回复数据字节数回复数据内容CRC校验1个字节1个字节1个字节n个字节2???字节 06H:连续写入寄存器; 写入指令 设备地址功能代码寄存器地址写入数据内容CRC校验1个字节1个字节2个字节n个字节2个字节 写入回复字符串 设备地址功能代码寄存器地址写入数据内容CRC校验1个字节1个字节2个字节n个字节2个字节 寄存器地址 读取、写入寄存器的开始地址; 读取数据长度 连续读取寄存器的个数(每个寄存器包含2个字节数据); 数据内容 读取、写入的数据(字节) CRC校验(CRCH CRCL) 加载一个16位寄存器,所有位都为1(即FFFFH),称为CRC寄存器; 数据的一个字节(从第一个字节开始,依序处理)与CRC寄存器的低位进行异或运算,并将运算结果放回CRC寄存器中; 将CRC寄存器位右移,并将最高位填0,检查移出的最低位; 如果移出的最低位为0则重复步骤3),否则将CRC寄存器与A001H进行异或运算,并将运算结果放回CRC寄存器; 重复步骤3)、4),直到8位移完; 重复步骤2)、3)、4)、5),直到数据的所有字节都计算完毕,即可得出CRC校验码。 数据寄存器地址与内容 地址0000H0001H0002H0003H内容版本号测量值小数位数报警状态说明2字节2字节 / 通道1字节 / 通道1字节 / 8报警值属性只读只读只读只读 CRC校验参考程序 uint crcjy_(uchar *str_,uchar crc_cd) { uchar idata crc_gs; uchar idata crc_w; uint idata crc_sj; crc_sj=0xffff; for(crc_gs=0;crc_gscrc_cd;crc_gs++) { crc_sj=((crc_sj^str_[crc_gs])0x00ff)+(crc_sj0xff00); for(crc_w=0;crc_w8;crc_w++) { if((crc_sj0x0001)==0x0000) { crc_sj=1; } else { crc_sj=1; crc_sj^=0xa001; } } } crc_sj=((crc_sj0x00ff)8)+((crc_sj0xff00)8); return(crc_sj); } 举例 读取地址为01的仪表的版本号 读取指令:01 03 00 00 00 01 CRCH(84) CRCL(0A) 回复字符串:01 03 02 版本号H 版本号L CRCH CRCL 读取地址为01的仪表的1-2通道测量值 读取指令:01 03 00 01 00 02 CRCH(95) CRCL(CB) 回复字符串:01 03 04 第一通道测量值H 第一通道测量值L 第二通道测量值H 第二通道测量值L CRCH CRCL 读取地址为01的仪表的1-2通道测量值对应的小数位数 读取指令:01 03 00 02 00 01 CRCH(25) CRCL(CA) 回复字符串:01 03 02 第一通道测量值小数位数 第二通道测量值小数位数 CRCH CRCL 读地址为01的仪表的报警状态 读取指令:01 03 00 03 00 02 CRCH(34) CRCL(0B) 回复字符串:01 03 04 1~8报警值对应的报警状态 9~16报警值对应的报警状态 17~24报警值对应的报警状态 25~32报警值对应的报警状态CRCH CRCL

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档