windows通信端口初始化失败_PLC编程入门总结,西门子S7-200PLC之间的PPI通信

a703e8fb5eaee182e17a35c9ef33347c.png

PPI通信定义

PPI协议是西门子S7-200PLC之间交换信息的专用协议,PPI协议是一种点对点协议,它只定义了一次通信中的主从问题,西门子编程软件与CPU进行通信同样使用PPI协议,同样下载时也要用PPI线缆。

0149baa5c196b2308f386cd9a2515209.png

今天我们介绍如何基于PPI协议实现两个CPU之间进行数据交换。

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

第一步:硬件接线

图片所示S7-200通信端口的端口定义。 PPI通信基于485的硬件。因此,必须需要包含至少一对双绞线的屏蔽电缆,并且两端分别连接到DB9头3脚和8脚。两台S7-200PLC距离不建议超过50米,如遇特殊情况在50米以上,需要使用配套的中继器进行连接。

fefb4fbe89fa526814ce48aea6b02259.png

c867ace23b85380bd7402d7a0f4b245f.png

第二步:CPU地址分配

PPI通信要求PPI网络中的每个CPU都有不同的地址,Micro/WIN默认为0,CPU默认为2,因此,建议将主PLC的地址设置为2,并将PLC地址设置为按顺序设置为11,12,13,依此类推。

第三步:初始化

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

9905174b9f37f9e93a034a9ffe5c5614.png

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

ed426282aa56d0531f3412d20dafa6e8.png

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

5cfa307c7e25edd6027a5db3dd8e985a.png

第四步:准备数据

必须根据规定将数据填入缓冲区,数据格式如,如果数据传输缓冲区是VB200,则VB200是状态字,不需要填写,用于读取指令执行的状态。VB201是目标从机的地址,VB202到VB205的时候是从机目标地址,VB206是数据长度,如果是写命令则是你要写的字节数,如果是读命令,你想要的读取数据的长度。 VB207是数据区域。对于NETR,在执行NETR指令后,从远程站读取的数据将放在此数据区中。对于NETW,在执行NETW指令之前,要发送到远程站的数据放在该数据区中。

3c1dd681e4b143f5cdf118f6dc262bac.png

第五步、调用收发指令

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

aab8d1879616fe875a9eff122f9da333.png

为了减少由数据交换引起的CPU资源的过度浪费,不建议每个周期调用通信命令。可以根据需要调用指令来交换数据。如果找不到适当的指令触发条件,可以使用定时器进行周期调用。为了保证数据的实时性,建议采用定时中断,在中断事件中调用通信指令。

第六步,指令调用

192b67eef5eeb2be95368054ae32a5e3.png

使用PPI通信注意事项

1、硬件接线时,DB9头子,3脚对3脚,8脚对8脚。线缆采用双绞线,尽量使用屏蔽线,长度不要超过50m,超过50m需要使用中继器。

2、千万不要每个CPU扫描周期调用读写指令,否则会对过多占用CPU资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值