1.s7-200和s7-300进行mpi通信
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诊断结果
2.s7-200和s7-300进行profibus通信
s7-300与s7-200通过em277进行 profibus dp通讯,需要在step7中进行s7-300站组态,在s7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在v 存储区,并且s7-300组态em277从站时设置正确的地址即可。
插入一个s7-300的站:
图8 s7-300组态
选中step7的硬件组态窗口中的菜单 option® install new gsd(gsd 文件下载:113652)
导入siem089d.gsd文件,安装em277从站配置文件,如下图:
图9 安装gsd
在simatic文件夹中有em277的gsd文件:
图10 安装gsd
导入gsd文件后,在右侧的设备选择列表中找到em277从站,profibus dp®additional field devices®plc®simatic®em277,并且根据通讯字节数,选择一种配置,本例选择8字节入/8字节出的方式,如下图:
图11 通信区域组态
根据em277上的拨位开关设定以上em277从站的站地址。
图12组态dp通信地址
组态完系统的硬件配置后,将编译下载到s7-300的plc当中。s7-300的硬件下载完成后,将em277的拨位开关拨到与以上硬件组 态的设定值一致,在s7-200中编写程序将进行交换的数据存放在vb0-vb15,对应s7-300的pqb0-pqb7和pib0-pib7,打开 step7中的变量表和step7 microwin32的状态表进行监控,它们的数据交换结果如下图:
图13 通信数据监控
图14 通信数据监控
注意:vb0-vb7是s7-300写到s7-200的数据,vb8-vb15是s7-300从s7-200读取的值。em277上拨位开 关的位置一定要和s7-300中组态的地址值一致。如果使用的s7-200通信区域不从vb0开始,则需要设置地址偏移,在s7-300硬件组态中双击 em277,修改数值0为实际使用的数值即可,如下图所示:
图15 地址区域偏移设置
3.s7-200和s7-300进行以太网通信
可以把s7-200的以太网模块cp243-1配置为client,使用step 7 micro/win32中的向导进行通信的配置即可。在命令菜单中选择工具--> 以太网向导。
图16 打开以太网向导
第一步是对以太网通信的描述.点击下一步开始以太网配置。
图17 向导介绍
在此处选择模块的位置,在线的情况下,您也可以用读取模块按钮搜寻在线的cp243-1模块。点击下一步;
图18 读取模块
在此处填写ip地址和子网掩码。点击下一步;
图19 地址设置
需要填写模块的连接数目,如只和cp343-1通信则在此处填写1,点击下一步。
图20 模块占用地址设置
选择此为客户机连接,远程属性tsap (transport service access point)填写为03.02,输入343-1的ip地址.,点击数据传输按钮进入数据交换的定义。
图21 连接设置
点击新传输按钮进入设置:选择是读取数据还是写入数据。填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址,本例中为从s7-300的mb200开始读取8个字节到vb1000开始的8个字节的区域中。
点击确认按钮:
图22 数据区域设置
选择crc校验,使用缺省的时间间隔30秒,点击下一步按钮。
图23 使用crc
填写模块所占用的v存储区的起始地址。你也可以通过suggest address按钮来获得系统建议的v存储区的起始地址, 点击下一步按钮。
图24 配置存储区
完成以太网向导配置后需要在程序中调用以太网向导所生成的ethx_ctrl和eth0_xfr, 然后,将整个项目下载到作client的s7-200 cpu上。
图25 程序编写