- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ModbusRTU通信协议.doc
维博Modbus-RTU通信协议Modbus 协议简介
dBus协议定义了一个控制器能认识使用的消息结构,而不管它们是过何种网络进行通信的它制定了消息域格局和内容的公共格式描述了一控制器请求访问其它设备的过程,回应来自其它设备的请求,以及侦测并记录错误。ModBus协议的第三方设备之间可以连成工业网络,构建各种复杂的监控系统,并利于系统的维护和扩展,这个通讯协议已广泛被国内外电力行业及工控行业作为系统集成的一种通用工业标准协议。
WB系列智能传感器采用ModBus-RTU通讯规约,支持组态王、Intouch、FIX、synall等流行软件,能与AB、西门子、施耐德、GE等多个国际著名品牌的设备及系统之间实现数据通信,特别适用于电力系统综合自动化,智能电力电子设备,智能楼宇,工业自动化等领域,是构建、扩建DCS系统或制造智能电力电子设备的理想功能部件。
二、维博Modbus-RTU 协议
Modbus通信协议时,遵循Modbust通信过程,采用了MODBUS-RTU协议的命令子集,使用读寄存器命令(03)。
①数据传输方式:
异步10位——1位起始位,8位数据位,2位停止位,无校验位。
②数据传输速率:
19200BPS,9600BPS,4800BPS,2400BPS。(缺省波特率为9600BPS,不可修改,用户希望使用其他波特率时,请在定货时声明。)
③地址:
0~63,用户可通过传感器上的拨码开关随时进行设置。
④主机请求数据报文格式:
主机发送 字节数 发送的信息 备 注 从机地址 1 XX 向地址为XX的从机要数据 功能码 1 03 读取寄存器 起始地址 2 0000 起始地址为0000 数据长度 2 00XX 读取XX个数据(共2XX字节) CRC码 2 XXXX 由主机计算得到CRC码 对于WB系列单元式智能传感器,主机请求数据的实际报文如下:
WB1850A:01H,03H,00H,00H,00H,0DH,84H,0FH
WB1852A:01H,03H,00H,00H,00H,0BH,44H,0DH
WB1854A:01H,03H,00H,00H,00H,09H,85H,CCH
⑤传感器响应要数命令报文格式:
从机响应 字节数 返回的信息 备 注 从机地址 1 XX 来自地址为XX的从机 功能码 1 03 读取寄存器 数据长度 1 XX XX字节(2倍数据个数) 寄存器数据1 2 DAT1 传感器参数1数据内容 … … … … 寄存器数据N 2 DATN 传感器参数N数据内容 CRC码 2 XXXX 由从机计算得到CRC码 ⑥错误校验码(CRC校验):
主机或从机可用CRC校验码判别接收信息是否正确。由于总线上的电子噪声或一些其它干扰,信息在传输过程中可能会发生错误,接收一方可以使用CRC校验码判断接收到的信息帧是否正确,并放弃错误的信息帧,提高了通信系统的安全性和可靠性。
MODBUS通讯协议的CRC(冗余循环码)包含2个字节,即16位二进制数。发送设备计算CRC码,放置于发送信息帧的尾部。接收信息的设备将接收到的所有信息(含CRC码)重新计算CRC码,并判断该CRC码是否为0,如果为0,表示接收的信息帧正确无误,否则,则表明接收的信息帧有误,
在进行CRC计算时只用8个数据位,起始位及停止位都不参与CRC计算。
● CRC码的计算方法是:
1.预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为CRC寄存器;
2.把第一个8位二进制数据(既通讯信息帧的第一个字节)与16位的CRC寄存器的低
8位相异或,把结果放于CRC寄存器;
3.把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检查右移后的移出位;
4.如果移出位为0:重复第3步(再次右移一位);
如果移出位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;
5.重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
6.重复步骤2到步骤5,进行通讯信息帧下一个字节的处理;
7.将该通讯信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低
字节进行交换;
8.最后得到的CRC寄存器内容即为:CRC码。
⑦通信流程:
一、无电能数据时的通信过程 主机 传感器 步骤 动作 命令 步骤 动作 命令 1 发送请求数据命令 03H 1 接收主机命令并判断命令帧的格式和正确性 2 等待传感器响应帧或判断通信超时后退出通信 2 发送响应数据帧或沉默 03H 3 接收从机数据并判断数据帧的格式和正确性 3 4 处理接收到的数据或沉默 4
维博电子有限责任公司
产品开发部
文档评论(0)