网站大量收购独家精品文档,联系QQ:2885784924

利用Modbus议实现无线通信.doc

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

利用Modbus协议实现无线通信 Modbus Protocol Apply on Remote radio Communication 许文辉 周宇航 Xu,Wenhui Zhou,YuHang 摘要:本文介绍了Modbus的控制网络及协议特点,着重分析Modbus ACSII模式的消息帧组成、校验码的计算及主要的功能。并对利用Modbus协议实现远程无线通信的有关要点作了说明。 关键词:Modbus网络;Modbus协议;LRC校验码;无线数传modem;半双工; 中图分类号:TP311 文献标识码:B Abstract: This paper introduces the features of Modbus control network and protocol. Emphasize analyses messages frame,error checkout method and the main function of Modbus ASCII. Give some advice of used Modbus Protocol to build the remote radio communication. Keywords: Modbus control network, Modbus Protocol, LRC error checking, radio transmission modem, half duplex 1 引言 利用数传无线电台进行远程通信可以通过多种编程方法来实现。但是如果在通信可靠性、兼容性和组网的灵活性方面有要求,那么就不是一般通信程序能实现的。最好是能利用一个现成的、应用最广泛的、可靠性较高的、通信效率较好的、实现较容易的、经过充分实践证明的通用通信协议来完成。Modbus协议正是完全符合上述要求的诸多通信协议中的一种。 Modbus协议是由美国可编程控制器制造商莫迪康(Modicon Inc.)公司出品的一种应用于工业通信和分布式控制系统的协议。现已被众多的硬件厂商所支持,已经成为一通用工业标准通过此协议,控制器之间、控制器经由网络(例如以太网)和其它设备之间可以通信。Modbus协议完全公开、实现简单、硬件要求低、可靠性好等特点,已成为构建低速网络(数据采集、仪表等)通信的最佳选择。 2 Modbus协议 2.1 协议简介 Modbus协议通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。主设备发送的一个含有指定编址的请求报文到通讯线路上;从设备则从通讯线路上检测报文是否含有自身编址。如果报文编址与自身编址相同则接收此报文进行处理。从机报文处理的过程是,如果报文正确,则按报文要求执行任务,然后再将正确的回应报文返回给发送者;否则只返回一个错误信息报文给发送者。 Modbus协议上允许1台主机和至多247台从机。只有主机才能启动事务处理程序。事务处理可以是应答式(只对一台从机寻址),亦可是广播式(无应答,对所有从机寻址)。事务处理程序由询问和应答帧组成,或由一个广播帧组成。 Modbus协议提供两种传输模式供用户选择。一种模式是ASCII(美国标准信息交换代码)主要优点是字符发送的时间间隔可达到1秒而不产生错误使用ASCII模式,消息以冒号(:)字符(ASCII码 3AH)开始,以回车换行符结束(ASCII码 0DH,0AH)。 其它域可以使用的传输字符是十六进制的0...9,A...F。网络上的设备不断侦测“:”字符,当有一个冒号接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。 一个典型消息帧如下所示:起始位设备地址功能代码数据LRC校验结束符1个字符2个字符2个字符n个字符2个字符2个字符图2 ASCII消息帧 LRC校验ASCII模式LRC方法错误。LRC域检测了消息域中除开始的冒号及结束的回车换行号外的内容。LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC方法是将消息中的8Bit的字节连续累加,丢弃了进位。 LRC简单函数如下: static unsigned char LRC(auchMsg,usDataLen) unsigned char *auchMsg ; /* 要进行计算的消息 */ unsigned short usDataLen ; /* LRC 要处理的字节的数量*/ { unsigned char uchLRC = 0 ; /* LRC 字节初始化

文档评论(0)

elouwn + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档