S7-300和S7-200进行MPI通信(STEP7)
S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V存储区当中即可;
S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68)。 调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为 P#DB1.DBX50.0 BYTE 10.
首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三 种波特率。
S7-200 PLC修改MPI地址可以参考下图:
图1 S7-200 设置MPI地址
S7-300 PLC修改MPI地址可以参考下图
图2 S7-300 设置MPI地址<例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:
图3 程序编写
S7-300侧程序编写,也可参看:通过系统功能(SFC)实现基于MPI的S7通信
分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下: