基于单片机的MODBUS的协议实现研究.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CN ISSN 云南大学学报(自然科学版),2009。31(s2):120~124 53—1045/N0258—7971 ofYunnan Journal University 基于单片机的MODBUS的协议实现’ 线岩团,许江淳,鄢大鹏 (昆明理工大学信息工程与自化学院自动化系,云南昆明650051) 序实时性的同时,充分考虑程序的町裁剪性、町移植性和可扩展性. 关键词:MODBUS;单片机;RTU模式;ASCII模式 中图分类号:TP393 文献标识码:A 文章编号:0258—7971(2009)$2—0120—05 控制系统通常以1台PC机作为主站,多台以单片机为核心的智能仪器作为子站.主和子站之间通过 串行总线进行连接和通讯.MODBUS作为工业控制领域流行的网络应用协议得到了广泛的应用.可实现 基于单片机的MODBUS协议,为开发基于MODBUS协议的控制系统带来极大便利. 方案在保证程序实时性的同时,充分考虑了程序的可扩展性和可移植性.并通过仿真手段对程序的正确性 及性能进行了分析和验证. 1 MODBUS通信协议 个)从节点连在串行总线上.每一次MODBUS通信总是由主节点发起.在没有收到请求时从节点从不发 送数据.从节点间不进行通信.主节点在同一时间内只能发起1个MODBUS事务. MODBUS帧结构如图1所示.地址域只包含从节点地址,长度为1个字节,可寻址256个不同的地 址.其中,0是广播地址,248至255为保留地址,故从节点地址为l~247.功能码用于指示从设备执行什 么操作,占1个字节.功能码分为公共功能码和用户自定义功能码2类.数据域用于存放请求参数和响应 的数据.校验域存放帧的校验码,在RTU传输模式采用CRC校验,而ASCII模式采用LRC校验. 地址(1字节) 数据(0—252字节) I 0功能码(1字节)fI ¨检验码(1字节)I ■____________I-___-______o_o__-__●1 图l MODBUS数据帧 MODBUSframe Fig.1 正常响应时,从设备返回的响应帧中的功能码原样返回;异常响应时,从设备将收到的请求帧中的功 能码最高位变为1,用为响应帧的功能码. 在RTU(RemoteTerminal Unit)模式中,1个字节由11个比特组成,其中包括1个起始位、8个数据 位、1个奇偶校验位和1个停止位.帧与帧之间是通过至少3.5字节的传输时间来区分的,而帧内的字节 之间间隔时间不能超过1.5个字节的传输时间. StandardCodeforInformation 在ASCII(American Interchange)传输模式中,每个字节在发送时将编 ·收稿日期:2009—04—25 基金项目:昆明理T大学青年基金资助(2007—039) 作者简介:线岩团(1981一)。男,云南人,助教,主要从事嵌入式系统方面的研究 第S2期 钱岩团等:基于单片机的MODBUS的协议实现 12l 码为2个ASCII字符.在该模式下,发送时每个字节由1个起始位、7个数据位、1个奇偶校验位和1个停 止位组成. 在同一波特率下,由于编码方式的不同RTU模式比ASCII码模式能允许更高数据吞吐量.但是 RTU模式需要2个定时器的支持,所以实现也更为复杂. 2软件设计与实现 实现.程序由7个模块构成,如图2所示. Function 功能实现模块(MODBUS Implementation): 包含相应功能码的实现.通常1个函数实现1个MOD— BUS功能码的功能.这些函数需在系统启动时注册到 Slave模块中

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档