西门子6AV2124-4QB00-0AX0
line;color:#333333;">
1.概述
通过以太网可以实现S7-1200与S7-200连接通信。S7-200可以使用 模块(CP243-1或CP 243-1 IT)连接到以太网上,该模块提供S7 通信的功能,既可作为客户机,也可以作为服务器,可以同时与多8个S7 通信伙伴进行通信;S7-1200 集成以太接口,提供S7 通信的功能,只能作为服务器,可以同时建立3 个通信连接。
下面会用一个实例来描述S7-200 如何与S7-1200建立通信连接。
line;color:#333333;">
图1: 实例网络拓扑图
line;color:#333333;"> 2.硬件需求
line;color:#333333;">•® S7-1214C AC/DC/RLY
•® CPU 224 XP CN DC/DC/DC
•® CP243-1 IT
•® SCALANCE X204-2
•® PG/PC(使用编程电缆)
line;color:#333333;">
3.软件需求
line;color:#333333;">•® S7-1200编程软件 STEP 7 Basic V10.5
•® S7-200 编程软件 STEP 7 –MicroWIN V4.0 SP6
line;color:#333333;"> 4.组态
line;color:#333333;">
4. 1 S7-1200 配置
•® 使用STEP 7 Basic 创建项目“comS7200”;
line;color:#333333;">
图2: 创建项目
line;color:#333333;"> •® 添加S7-1200 设备 CPU1214C;
line;color:#333333;">
图3: 添加PLC设备
line;color:#333333;">
4. 2 S7-1200 PLC 编程
•® 在Program blocks 下,添加程序块(DB1,DB2,DB3),其中DB1和DB3为符号DB(选择 Symbolic access only),DB3为地址DB(不选择 Symbolic access only) , S7 通信只支持地址DB 寻址通信;
line;color:#333333;">
图4: 创建地址DB2
line;color:#333333;"> •® 打开全局DB2,输入2个数组类型数据,每个数组有16 个元素;
line;color:#333333;">
图5: 在DB2中添加数据
line;color:#333333;">
•® 创建两个Watch table(Watch table_1, Watch table_2) 用来观察DB2的实时状态;
•® 将程序下载到PLC CPU1214C 中。
line;color:#333333;">
4. 3 S7-200 配置
使用STEP 7-MicroWIN 中以太网向导将CP243-1 IT 配置为 S7 客户端。
•® 通过菜单打开以太网向导工具;
line;color:#333333;">
图6: 以太网向导
line;color:#333333;"> •® 设置模块位置,可以使用“读取模块”来自动识别;
line;color:#333333;">
图7: 模块位置设置
line;color:#333333;"> •® 设置模块CP243-1 IT 的IP地址192.168.0.8和子网掩码255.255.255.0;
line;color:#333333;">
图8: 设置IP 地址
line;color:#333333;"> •® 设置模块的连接数1 ,多只能设置8个,也就是说S7-200可同时与多 8 个 S7 通讯伙伴进行通讯;
line;color:#333333;">
图9: 设置模块连接数;
line;color:#333333;"> •® 建立客户端连接 Connection_1,设置服务器传输层服务接入点 TSAP 03.01和服务器IP地址 192.168.0.18 , TSAP 由 2 个字节组成。个字节为连接资源。第二个字节为通讯模板的机架号和插槽号;
line;color:#333333;">
图10: 配置连接
line;color:#333333;"> •® 创建读取数据传输 PeerMessage_1, 读取服务器 16字节 DB2.DBB0~ DB2.DBB15 到VB0~VB15;
line;color:#333333;">
图11: 配置数据传输0
line;color:#333333;"> •® 创建读取数据传输 PeerMessage_2, 将 16字节VB16~VB31写入服务器DB2.DBB16~ DB2.DBB31 ;
line;color:#333333;">
图12: 配置数据传输1
line;color:#333333;"> •® 为配置分配存储区;
line;color:#333333;">
图13: 分配存储区
line;color:#333333;">
4. 4 S7-200 PLC 编程
•® 在STEP 7-MicroWIN 中主程序中,调用子程序ETH0_CTRL;
line;color:#333333;">
西门子6AV2124-4QB00-0AX0
图14: 调用ETH0_CTRL
line;color:#333333;">
其中CP_Ready 为CP 243-1 IT 的状态(0 未准备就绪,1 准备就绪),CH_Ready 为每个通道或 IT 服务的状态(0通道 ,值为256):Error 为出错或报文代码;
•® 程序建立后,需通过PPI连接 将程序块和数据块下载到S7-200 CPU中;
line;color:#333333;">
图15: 设置 PG/PC 接口CP5611(PPI)
line;color:#333333;">
•® 这样以后就可以通过以太网接口进行下载,将PG/PC接口设为TCP/IP连接;
•® 在STEP 7-MicroWIN 中主程序中,调用子程序ETH0_XFR读取服务器数据,相应的连接通道和数据;
line;color:#333333;">
图16:调用ETH0_XFR 读取服务器
line;color:#333333;"> •® 在STEP 7-MicroWIN 中主程序中,调用子程序ETH0_XFR写入服务器数据,相应的连接通道和数据;
line;color:#333333;">
图17:调用ETH0_XFR 写入服务器
line;color:#333333;"> •® 将程序下载到S7-200 CPU 中;
line;color:#333333;">
4. 5 检测 S7-1200 与S7-200 PLC 通信结果
•® 从S7-200 程序中可知,在M10.0 从0变为1时,读取S7-1200的数据DB2.DBB0~DB2.DBB15 到VB0~VB15中;
line;color:#333333;">
图18:S7-1200 DB2.DBB0~DBB15
line;color:#333333;">
line;color:#333333;">
图19:S7-200 VB0~VB15
line;color:#333333;"> •® 从S7-200 程序中可知,在M11.0 从0变为1时,将S7-200的数据VB16~VB31 写入S7-1200 的DB2.DBB16~DB2.DBB31中;
line;color:#333333;">
图20:S7-200 VB16~VB31
line;color:#333333;">
line;color:#333333;">
图21:S7-1200 DB2.DBB16~DBB31
line;color:#333333;">
5.结
S7 1200 与 S7-200 通过 S7通信的基本原理如下图所示:
line;color:#333333;">
图22:S7-200与S7-1200 通信原理
line;color:#333333;">
注意:
CP 243-1 IT 可支持一个或多个远程通讯伙伴的多 8 个 S7 通讯通道到客户机(多212 字节)或服务器。CP 243-1 IT 可以根据客户机/服务器原理在每个通道运行。每个通道,每次只能接收、处理或响应(主动响应或被动响应)一个请求。只有在发送响应后,CP 243-1 IT 通讯处理器才能接受其它请求。
line;color:#333333;"> 1.操作面板同S7-200 CPU间的时钟操作
line;color:#333333;"> 1.1使用S7-200 CPU时钟对操作面板的时钟同步
line;color:#333333;">
步骤如下:
(1) 在Micro/Win中,周期调用READ_RTC函数,以定时读取S7-200 CPU的系统时钟,将时钟信息存放在V区,比如VB100。
(2) 如果是用WinCC Flexible 组态:请先设置好通讯参数;然后在“区域指针”页内,建立“日期/时间PLC”, 指向S7-200 中存放时间信息的区域VW100即可。见下图:
line;color:#333333;">
line;color:#333333;"> (3) 如果是用ProTool组态:请先设置好控制器的通讯参数;然后插入“日期/时间-PLC” 区域指针, 指向S7-200 中存放时间信息的区域VW100即可。见下图:
line;color:#333333;">
line;color:#333333;"> 1. 2通过面板修改S7-200 PLC时钟
line;color:#333333;">
大致设置如下:
(1) 在操作面板项目中创建: 1个标志变量(比如:地址为 V20.0)和年、月、日、时、分、秒 6 个 BYTE变量,分别连接到PLC的连续V区中,比如:VB70 – VB75。
(2) 在 MicroWin中,用标志变量触发来调用SET_RTC,将VB70 – VB75作为时间参数传递给该函数,来实现通过面板修改S7 PLC时间。
(3) 注意:给S7-200设定系统时间时,不要给时间信息中的“星期”字节赋“0”值,请给出确切的“星期几”否则会导致时钟同步失败。或将此字节置为常数 1。
西门子6AV2124-4QB00-0AX0