您好,欢迎来到土木商易宝请登录注册

如何基于PPI协议实现两个PLC之间通信

2019年01月27日 来源: 电工电气学习 作者:佚名

简介: 本文下面主要介绍如何基于PPI协议实现两个CPU之间进行数据交换。

如何基于PPI协议实现两个PLC之间通信
第一、硬件连接
下图是S7-200通信端口端口定义入下图所示,PPI通信建立在485的硬件基础上,因此需要制作一根至少包含一对双绞线的屏蔽线,两端分别接DB9头子的3脚和8脚,屏蔽层接DB9头子的金属外壳。如果实在找不到双绞线自己也可以找两根单根线,自己绞一下,但是只限于临时用正式产品不建议用。

微信图片_20190127135842.jpg

两个PLC之间距离不能太远,最好不要超过50米,如果超过的话最好使用中继器,可以采购200配套的中继器,也可以自己从某宝上买。

微信图片_20190127135846.jpg

第二、合理分配CPU地址
PPI通信要求PPI网络内每个CPU具有不同地址,Micro/WIN默认为0,CPU默认为2,因此建议主PLC的地址设置为2,从PLC地址依次设置为11、12、13……依次类推。

微信图片_20190127135849.jpg

第三、正确初始化
通过初始化特殊寄存器SMB30,将主CPU端口0配置为PPI主站模式,同时将数据缓存区清零。

微信图片_20190127135852.jpg

配置时只需要关心最低两位即可,即mm,其他的都配置成零就行了。2就是PPI主站模式。

微信图片_20190127135854.jpg

从站配置成PPI从站模式,即配置成2。

微信图片_20190127135857.jpg

第四、正确准备数据
数据必须按照规定将相应的数据填入缓冲区,数据格式如下所示。例如数据发送缓冲区为VB200,那么VB200就是状态字,不需要填写,用于读取指令执行的状态。VB201为目标从站的地址,VB202到VB205时从站目标地址,VB206为数据长度,如果是写指令就是希望写的字节数,如果是读指令就是希望读回来数据的长度。VB207及以后是数据区。对NETR,执行NETR指令后,从远程站读到的数据放在这个数据区。对NETW,执行NETW指令前,要发送到远程站的数据放在这个数据区。

微信图片_20190127135900.jpg

第五、适时调用收发指令
PPI通信指令只有两条,分别是:网络读和网络写,调用也很简单,只需要指定本次读写己方的端口和数据缓冲区地址。

微信图片_20190127135904.jpg

为了减少数据交换造成CPU资源的过度浪费,不建议每个循环周期都调用通信指令。可以根据需要进行指令调用,进行数据交换,如果无法找到合适的指令触发条件,可以使用定时器进行周期调用。
为了保证数据的实时性,建议采用定时中断,在中断事件中调用通信指令。
第六,正确进行指令调用

微信图片_20190127135907.jpg

使用PPI通信注意事项
1、硬件接线时,DB9头子,3脚对3脚,8脚对8脚。线缆采用双绞线,尽量使用屏蔽线,长度不要超过50m,超过50m需要使用中继器。
2、千万不要每个CPU扫描周期调用读写指令,否则会对过多占用CPU资源。


申明:本文章内容来自( 电工电气学习),作者(佚名)。著作权归原作者所有,如涉及作品侵权问题,请与我们联系,我们将及时处理!
分享到: QQ空间 新浪微博 腾讯微博 微信
全部评论
相关文章

联系电话

  • 0519-68887188-0(查号)
  • 0519-68887188-3(在线教育)
  • 0519-68887188-4(商易宝会员)
  • 0519-68887188-5(广告合作)
  • 0519-68887188-0(内容侵权举报)

客户服务

  • 0519-68887188-5(商易宝客服)
  • info@co188.com
  • 关注土木在线:
    土木在线官方新浪微博
    土木在线官方腾讯微博
    土木在线官方微信
网上110报警 不良信息举报中心 电子营业执照