- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S-通讯方案.doc
通常?Modbus?地址由?5?位数字组成,包括起始的数据类型代号,以及后面的偏移地址。Modbus?Master?协议库把标准的?Modbus?地址映射为所谓?Modbus?功能号,读写从站的数据。Modbus?Master?协议库支持如下地址:
00001?-?09999:数字量输出(?线圈)?10001?-?19999:数字量输入(触点)?30001?-?39999:输入数据寄存器(通常为模拟量输入)?40001?-?49999:数据保持寄存器?为了支持上述?Modbus?地址的读写,Modbus?Master?协议库需要从站支持下列功能:
Modbus?地址?读/写?Modbus?从站须支持的功能?00001?-?09999???数字量输出?读?功能?1????????????????????????????????写?功能?5:写单输出点???????????????功能?15:写多输出点??10001?-?19999???数字量输入?读?功能?2????????????????????????????????写?-?30001?-?39999???输入寄存器?读?功能?4????????????????????????????????写?-?40001?-?49999???保持寄存器?读?功能?3????????????????????????????????写?功能?6:写单寄存器单元???????????????功能?16:写多寄存器单元??
1?引言 工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。Modbus协议是应用于电子控制器上的一种通讯约规。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为主流的工业标准之一。他为符合Modbus协议的不同厂商生产的控制设备可以连成工业网络,进行集中监控。 2?Modbus?RTU协议在S7-200中的应用原理 2.1?Modbus?RTU协议与S7-200相互关系简介 S7-200?CPU上的通讯口Port0可以支持Modbus?RTU协议,成为Modbus?RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 如果想在S7-200?CPU与其他支持Modbus?RTU的设备使用Modbus?RTU协议通讯,需要由有S7-200?CPU做Modbus主站。S7-200?CPU做主站必须由用户自己用自由口模式,按相关协议编程。 在S7-200控制系统应用中,Modbus?RTU从站指令库只支持CPU上的通讯0口(Port0)。要实现Modbus?RTU通讯,需要Step7-Micro/WIN32?V3.2以上版本的编程软件,而且须安装Step7-Micro/WIN32?V3.2?Instruction?Library(指令库)。Modbus?RTU功能是通过指令库中预先编好的程序功能块实现的。 2.2?Modbus?RTU协议在S7-200中应用的基本过程 (1)?首先检查S7-200控制系统中所用Micro/WIN的软件版本,应当是Step7-Micro/WIN?V3.2以上版本。? (2)?检查Micro/WIN的指令树中是否存在Modbus?RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。如果没有,须安装Micro/WIN32?V3.2?Instruction?Library(指令库)软件包,如图1所示。
图1?指令树中的库指令 (3)?编程时使用SM0.1—调用子程序MBUS_INIT进行初始化,使用SM0.0—调用研究MBUS_SLAVE,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到。 示例参见图2:
3?Modbus?RTU协议测试 包含Modbus?RTU从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些Modbus测试软件可以检验S7-200的Modbus?RTU通讯是否正常,这对查找故障点很有用。测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。 (以ModScan32测试软件为例作以检测说明) 3.1?测试软件? 测试软件ModScan32如图3所示。
图3?Modbus?RTU测试软件:ModScan32 图3中,ModScan32测试软件的画面中相关参数意义如下: Address:ModBus中存储区的起始地址; Device?Id:PLC?ModBus的端口地址;
文档评论(0)