S7-1200 CPU 通过以太网与S7-200 CPU 通信

所完成的通信任务:

① S7-1200 将通信数据区 DB1 中的212 个字节发送到 S7-200 的VB 数据区。

② S7-1200 读取 S7–200中的VB数据区存储到S7-1200 的数据区DB2 。

S7-200 Server 端的组态

1.打开 STEP 7 Micro/WIN 软件,创建一个新项目,在“PLC”>“TYPE”选择所使用 CPU 的型号,如图1. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图1. 选择S7-200 CPU 类型

2.选择“工具”>“以太网向导” 进入 CP243-1 的向导配置,如图2. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图2. 使用以太网向导

3.选择CP243-1 模板的位置。

CP243-1 紧邻 CPU 安装,所以模板位置为0 ,也可以通过“读取模块”读出模板位置,如图3. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图3. 选择模板位置

4.设置 CP243-1 模板的 IP 地址

IP 地址:192. 168. 70. 101 ,子网掩码:255. 255. 255. 0,如图4.所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图4. 设置网络地址

5.设置模块所占用输出地址字节和连接数,如图5. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图5. 设置占用输出地址及网络连接数

6.将CP243-1 定义为 Server 端,如图6. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图 6. 定义为 Server 端

S7-1200 CPU 通过以太网与S7-200 CPU 通信

注意:本例S7-200中安装的CP243-1紧邻CPU,位置为0,故TSAP地址为10.00;若CP243-1在位置为1,则TSAP地址为10.01。

7.选择CRC校验,如图7. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图7. 选择CRC 较验

8.为配置分配存储区

根据以态网的配置,需要一个V存储区,用户可以指定一个未用过的V存储区的起始地址,也可以点击“建议地址”按钮使用建议地址。如图8. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图8. 为配置分配存储区

9.生成以太网用户子程序。如图9. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图9. 生成子程序

10.调用向导中生成的子程序,并将程序下载到CPU中。如图10. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图10. 调用子程序

S7-1200 Client 端的配置编程

1.使用 STEP7 V11软件新建一个项目并完成硬件配置,网络组态

1.1 在“项目树”>“设备组态”>“网络视图”下,按如下图片中1~6的步骤建立S7连接,如图11. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图11. 建立S7连接

1.2 按如下图片中1~3的步骤填写连接参数,如图12. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图12. 定义连接对方IP地址

1.3 在“地址详细信息”中设置通信伙伴的TSAP地址,如图13. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图13. 定义通信双方TSAP号

S7-1200 CPU 通过以太网与S7-200 CPU 通信

注意:通讯伙伴的TSAP地址设定必须与CP243-1的组态一致,如图6所示。

2.软件编程

2.1 创建发送数据块DB1(接收区数据块DB2类似),定义为212个字节的数组,如图14.和15. 所示。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图14. 创建发送数据块DB1

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图15. 定义212个字节的数组

2.2 在OB1中,从“指令”-->“S7 通信”下,调用Get、Put通信指令,程序见图16。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图16. 程序调用功能

CALL “PUT”, %DB3//调用 PUT,使用背景DB块:DB3REQ:=%M0.7//系统时钟 2秒脉冲ID:=W#16#0100//连接号,要与连接配置中一致,创建连接时的连接号DONE:=%M2.0// 为1时,发送完成ERROR:=%M2.1// 为1时,有故障发生STATUS:=%MW4// 状态代码ADDR_1:=P#DB1.DBX1000.0 BYTE 212// 发送到通信伙伴数据区的地址SD_1:=P#DB1.DBX0.0 BYTE 212// 本地发送数据区

CALL “GET”, %DB4//调用 GET,使用背景DB块:DB4REQ :=%M0.7//系统时钟 2秒脉冲ID:=W#16#0100//连接号,要与连接配置中一致,创建连接时的连接号NDR:=%M2.2//为1时,接收到新数据ERROR:=%M2.3//为1时,有故障发生STATUS:=%MW6//状态代码ADDR_1:=P#DB1.DBX2000.0 BYTE 212//从通信伙伴数据区读取数据的地址RD_1:=P#DB2.DBX0.0 BYTE 212//本地接收数据地址

3.监控结果

通过在S7-1200侧编程进行S7通信,实现两个CPU之间的数据交换,监控结果如图17。

S7-1200 CPU 通过以太网与S7-200 CPU 通信

图17. S71200和S7200监控数据


分享到:


相關文章: