实现profibus主从站之间的通讯.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文档。上传文档
查看更多
2 个 CPU315-2 实现 Profibus 主从站之间的通讯 通过图解,说明 2 个 CPU 之间通过 Profibus 实现主从站之间的 MS 通讯。 这个例子是结合某现场的实际情况来的,实际情况是在 2 套 300 系统之间进行数据通讯, 并且 2 套系统之间距离较远,MPI 不行,于是就利用了 315 的DP 做主从通讯。 1.首先,在 STEP 7 中新建一个项目,分别插入 2 个 S7-300 站。这里我们插入的一个 CPU315-2DP ,作为主站;另一个CUP315-2DP 作为从站,并且使用 315-2DP 的第二个端口DP 端口来实现和 315-2DP 的通讯。 然后分别对每个站进行硬件组态: 首先对从站 CPU315-2DP 进行组态:将 315 的DP 端口组态为 PROFIBUS 类型,设定地址。 在操作模式页面中,将其设置为 DP 从站(S)模式,并且选择“测试、调试和路由(T )”, 是将此端口设置为可以通过 PG/PC 在这个端口上对 CPU 进行监控,以便于我们在通讯链路 上进行程序监控。下面的地址用默认值即可。 再对主站 CPU315-2DP 进行组态:将 315 的DP 端口组态为 PROFIBUS 网,设定地址。 在操作模式页面中,将其设置为 DP 主站(M )模式。组态好其它硬件,确认CPU 的DP 口处于主站模式,从窗口右侧的硬件列表中的已组态的站点中选择CPU 31X ,拖放到主站的 PROFIBUS 总线上, 这时会弹出链接窗口,选择以组态的从站,点击“连接(C )”按钮, 然后选择“组态”页面,创建数据交换映射区,逐条进行编辑(Edit… ),确认主从站之间 的对应关系。主站的输入对应从站的输出,主站的输出对应从站的输入。 这里我们创建了 2 个映射区,图中的红色框选区域在创建时是灰色的,包括上面的图中的 Partner 部分创建时也是空的,在主站组态完毕并编译后,才会出现图中所示的状态。由于我 们这里只是演示程序,所以创建的交换区域较小。 至此,硬件的组态完成,将各个站的组态信息下载到各自的 CPU 中。通过NetPro 可以看 到整个网络的结构图。 脱离 SFC14/15,而使用MOVE 方法的研究: 不使用 SFC14/15,而是利用组态的时候产生的I/O 地址来传数据。根据创建过程映射区 时的组态信息,我们写写出了如下的程序: 在主站 315-2DP 中: 在从站 315-2DP 中: 其中,M 位的使用是测试程序的不同情况下使用的临时点,和本程序功能无关。 由此可见,在这种方式下,因为组态时组态的地址是系统的I 区和 Q 区,所以是可以用 MOVE 来实现通讯的,但是同时也存在的问题是,这种方式下,通讯所用的 I/Q 区占用了 S7-300 的系统区,而 S7-300 的系统区可使用范围是有限的,所以在系统的实际 I/O 模块较 多时,通讯的数据量将会变得更加有限。 2.编写程序。 硬件组态完毕,下载,PLC 运行之后,数据并不会自动交换。需要通过程序来执行。在组 态中,input 和 output 区域,也并不是实际硬件组态中的硬件地址,也就是说,输入和输出 并不代表 I/O 模块的地址和数据。但是映射区域组态用到的输入和输出地址,同时也占用了 I/O 模块的组态地址,就是说,映射区的地址和 I/O 地址是并行的,不能重复使用。所以最 好在硬件的 I/O 模块全部组态完毕之后再组态映射区。 映射区的数据交换是通过系统功能块 SFC14 (DPRD_DAT——Read Consistent Data of a Standard DP Slave)和 SFC15 (DPWR_DAT——Write Consistent Data to a Standard DP Slave ) 实现的。 SFC14 和 SFC15 是成对使用的,一个发送一个接收,缺一不可。数据的通讯也是交互的, 可以相互交换数据。本例中,我们通过简单的数据来验证通讯结果。 首先,我们在程序中插入数据区 DB1 ,前面我们只建立了2 个字(2 Word )的映射区,于 是我们建立如下内容的 DB1 ,为了查看的方便,DB1 的前半部分作为接收数据的存储区, 后半部分用作发送数据的存储区。 在两个 315 中我们插入同样的DB1 ,然后分别在OB1 中编写通讯程序。 315 (主站)中的程序如下: 31 5

文档评论(0)

LF20190802 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档