PPI是一种主从协议,CPU既可以做主站,又可以做从站,主站靠PPI协议管理与从站通讯。所有的通信程序运行在主CPU上,从站设备不需要专门的通信代码。
MPI是一种适用于少数站点间通信的网络,多用于连接上位机和少量PLC之间近距离通信。
MPI网络通信的速率是19.2Kbit/s~12Mbit/s,MPI网络较多支持连接32个节点,较大通信距离为50M。通信距离远,还可以通过中继器扩展通信距离,但中继器也占用节点。
CPU进行数据交换的方法
基于PPI协议实现两个CPU之间进行数据交换:
1、硬件连接
PPI通信建立在485的硬件基础上,因此需要制作一根至少包含一对双绞线的屏蔽线,两端分别接DB9头子的3脚和8脚,屏蔽层接DB9头子的金属外壳。
2、合理分配CPU地址
PPI通信要求PPI网络内每个CPU具有不同地址,Micro/WIN默认为0,CPU默认为2,因此建议主PLC的地址设置为2,从PLC地址依次设置为11、12、13……依次类推。
3、正确初始化
通过初始化特殊寄存器SMB30,将主CPU端口0配置为PPI主站模式,同时将数据缓存区清零。
4、正确准备数据
数据必须按照规定将相应的数据填入缓冲区,例如数据发送缓冲区为VB200,那么VB200就是状态字,不需要填写,用于读取指令执行的状态。
5、适时调用收发指令
PPI通信指令只有两条,分别是:网络读和网络写,调用也很简单,只需要指定本次读写己方的端口和数据缓冲区地址。
6、正确进行指令调用
PPI通讯和MPI通讯都是西门子公司PLC通讯协议的名字
PPI通讯:是西门子公司专为S7-200系列PLC开发的通讯协议。内置于S7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。PPI协议是一种主-从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。主站靠PPI协议管理的共享连接来与从站通讯。PPI协议并不限制与任意一个从站的通讯的主站的数量,但在一个网络中,主站不能超过32个。PPI协议最基本的用途是让西门子STEP7-Micro/WIN编程软件上传和下载程序和西门子人机界面与PC通信。
MPI通讯:MPI (Multipoint interface)是SIMATIC S7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量PLC之间近距离通信。通过PROFIBUS电缆和接头,将控制器S7-300或S7-400的CPU自带的MPI编程口及S7-200CPU 自带的PPI通信口相互连接,以及与上位机网卡的编程口(MPI/DP 口)通过PROFIBUS或MPI电缆连接即可实现。 网络中当然也可以不包括PC机而只包括PLC。MPI的通信速率为19.2K~12Mbit/s ,但直接连接S7-200CPU通信口的MPI网,其最高速率通常为187.5Kbit/s (受S7-200CPU最高通信速率的限制)。在MPI网络上最多可以有32个站,一个网段的最长通信距离为50米(通信波特率为187.5Kbit/s时),更长的通信距离可以通过RS-485中继器扩展。MPI允许主-主通信和主-从通信,每个S7-200CPU通信口的连接数为4个。MPI协议不能与一个作为PPI主站的S7-200CPU通信,即S7-300或S7-400与S7-200通信时必须保证这个S7-200 CPU不能再作PPI主站,Micro/WIN也不能通过MPI协议访问作为PPI主站的S7-200CPU。S7-200CPU只能做MPI从站,即S7-200CPU之间不能通过MPI网络互相通信,只能通过PPI方式互相通信。
它们都是西门子公司plc通讯协议的名字。ppi是西门子的串口通讯,mpi是西门子的485通讯,或叫并口通讯。但是它们和普通的串并口通讯是有区别的哦,就是它们必须要西门子公司的plc硬件通讯接口,离开西门子plc硬件它们就不能用了。就只能用通用机算机232和485通讯协议。主要区别是通讯速率和信息交换方式上的。ppi受硬件关系最高通讯速率在每秒2m以内,一般都是用9600kb,高了的话会通讯不了。而且通讯只能是定向通讯或者是广播式通讯。就是说要么一问一答,要么把消息发出去谁收到谁算有运气,发信息的不管你收没收到。mpi相对于ppi就好多了,速率根据硬件的好坏和距离最高可达12m每秒,一般在1.85mb,通讯方式里加了地址,也有问讯和主从。也就是通讯有了交流也有了长官和士兵,但长官在一套网络里必须是唯一的。交流是长官点名(主、从站交流)主从,点到站名的就可以发信息和长官交流,没点到的就等着,不准说话。长官可以同时点几个名,被点名的也可以和长官说我这里装不下那么信息了。交流的工具和ppi一样都在一条电缆上串接着。
只不过协议不一样。PPI是西门子S7-200专门的协议,可以用再CPU之间的通讯,CPU与别的物质间的通讯;MPI通讯是用于西门子300,400D的通讯协议。