1 什么是PPI通信
PPI协议是西门子为S7-200专门开发的通信协议,是不开放的协议。CPU自带的两个通信口(Port0、 Port1)均支持该协议,S7-200的一些通信模块也支持PPI协议。编程软件Micro/WIN与CPU进行编程通信也使用PPI协议,编程下载必须使用配套的PPI线缆。
PPI是一种主从协议,CPU既可以做主站,又可以做从站。主站靠PPI协议管理与从站通讯。所有的通信程序运行在主CPU上,从站设备不需要专门的通信代码,根据主站的请求做出对应响应,实现CPU之间的数据交换。
采用PPI协议可以构成由单主站多从站构成简单的PPI 络,也可设置多个主站和若干从站构成复杂的通信 络,但是主站数量一般不超过32个,不过大家一般也不会这么复杂的使用。建议使用单主站多从站的简单PPI 络。
S7-200 CPU的PPI 络通信建立在RS-485的硬件基础上,连接属性硬件设备与其他RS-485 络一致,即通过一对双绞线直接连接即可,非常方便。
2 如何基于PPI协议实现两个PLC之间通信
第一、硬件连接
下图是S7-200通信端口端口定义入下图所示,PPI通信建立在485的硬件基础上,因此需要制作一根至少包含一对双绞线的屏蔽线,两端分别接DB9头子的3脚和8脚,屏蔽层接DB9头子的金属外壳。如果实在找不到双绞线自己也可以找两根单根线,自己绞一下,但是只限于临时用正式产品不建议用。
两个PLC之间距离不能太远,最好不要超过50米,如果超过的话最好使用中继器,可以采购200配套的中继器,也可以自己从某宝上买。
第二、合理分配CPU地址
PPI通信要求PPI 络内每个CPU具有不同地址,Micro/WIN默认为0,CPU默认为2,因此建议主PLC的地址设置为2,从PLC地址依次设置为11、12、13……依次类推。
第三、正确初始化
通过初始化特殊寄存器SMB30,将主CPU端口0配置为PPI主站模式,同时将数据缓存区清零。
配置时只需要关心最低两位即可,即mm,其他的都配置成零就行了。2就是PPI主站模式。
从站配置成PPI从站模式,即配置成2。
第四、正确准备数据
数据必须按照规定将相应的数据填入缓冲区,数据格式如下所示。例如数据发送缓冲区为VB200,那么VB200就是状态字,不需要填写,用于读取指令执行的状态。VB201为目标从站的地址,VB202到VB205时从站目标地址,VB206为数据长度,如果是写指令就是希望写的字节数,如果是读指令就是希望读回来数据的长度。VB207及以后是数据区。对NETR,执行NETR指令后,从远程站读到的数据放在这个数据区。对NETW,执行NETW指令前,要发送到远程站的数据放在这个数据区。
第三、适时调用收发指令
PPI通信指令只有两条,分别是: 络读和 络写,调用也很简单,只需要指定本次读写己方的端口和数据缓冲区地址。
为了减少数据交换造成CPU资源的过度浪费,不建议每个循环周期都调用通信指令。可以根据需要进行指令调用,进行数据交换,如果无法找到合适的指令触发条件,可以使用定时器进行周期调用。
为了保证数据的实时性,建议采用定时中断,在中断事件中调用通信指令。
第四,正确进行指令调用
3 使用PPI通信注意事项
1、硬件接线时,DB9头子,3脚对3脚,8脚对8脚。线缆采用双绞线,尽量使用屏蔽线,长度不要超过50m,超过50m需要使用中继器。
2、千万不要每个CPU扫描周期调用读写指令,否则会对过多占用CPU资源。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!