s7-200 plc与s7-300 plc之间采用mpi通讯方式时,s7-200 plc中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的v 存储区当中即可,而s7-300 plc中需要在组织块ob1(或是定时中断组织块ob35)当中调用系统功能x_get(sfc67)和x_put(sfc68),以实现s7-200 plc与s7-300 plc之间的通讯。调用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三 种波特率,例子程序当中选用了19.2k的速率。
s7-200 plc修改mpi地址可以参考下图:
图1 s7-200 设置mpi地址
s7-300 plc修改mpi地址可以参考下图:
图2 s7-300 设置mpi地址
例子程序在ob1当中调用数据读写功能块:sfc67和sfc68,如下图:
图3 程序编写
分别在step7 microwin32 和step7当中监视s7-200和s7-300 plc当中的数据,数据监视界面如下:
图4 s7-200监控结果
图5 s7-300监控结果
通过cp5611,step7 microwin32, set pg/pc interface可以读取s7200和s7300的站地址,如下图:
图6 cp5611诊断结果(站地址0为进行编程的计算机)
图7 使用step7 microwin32诊断结果