西门子S7-200与西门子S7-300之间的通讯

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 程序编写