S7-1500 CPU与S7-300通信处理器CP 343-1进行TCP通信的配置过程

描述

1.          概述

SIMATIC S7- 1500 CPU集成了 PROFINET 接口,该接口除了具备连接 PROFINET总线通信功能,同时还可用于标准的 TCP 通信。通过组态TCP连接或使用开放式通信专用功能块与其它设备建立TCP连接以实现通信。本文介绍了S7-1500 CPU与S7-300 通信处理器CP 343-1进行TCP通信的配置过程(包括同一个项目中的指定对象和非指定对象)。

2.          自动化解决方案

2.1                    网络拓扑结构

如图1所示,S7-1500 PLC(192.168.0.1/24)与 S7-300 CPU通过CP 343-1(192.168.0.2/24)进行TCP通信。

cpu

                              图 1网络拓扑结构

2.2                        硬件与软件需求

设备 数量 订货号 注释
PM190 W 120/230 VAC 1 6EP1333-4BA00 负载电源模块
CPU 1511-1 1 6ES7590-1AF30-0AA0 V1.7
存储卡2GB 1 6ES7954-8LP01-0AA0 作为装载存储器
CPU 315-2 DP 1 6ES7315-2AG10-0AB0 V2.6
CP 343-1 1 6GK7343-1CX10-0XE0 V3.0
SCALANCE X208 1 6GK5208-0BA10-2AA3 交换机

表 1硬件列表

                  设备 数量 订货号 注释
STEP 7 Professional V13 SP1 Update4 1 6ES7822-1AA03-0YA5  
Windows 7 Ultimate SP1
64-bit Operating System
1    

表 2软件环境

3.                     组态配置

3.1            分配 IP地址

通过如下的步骤配置 PC的 IP地址

步骤 操作 备注
1.
.
选择 “开始 > 控制面板 > 网络和共享 > 本地连接>属性”打开 Internet Protocol Version 4(TCP/IPv4),
设置PC的 IP 地址。
cpu

分配CPU模块的IP地址(指定对象)

步骤 操作 备注
1.
.
用网线将CPU 1511-1、CP343-1和PG分别连接到X208交换机上    将设备连接到同一个以太网物理网上
2. 在 Engineer PC 上打开 TIA V13。进入项目视图,展开项目树下的“在线访问”,选择实际使用的物理网卡,双击“更新可访问的设备”。 cpu
3. 按照打印在CP1511-1模块上的X1接口MAC地址来确定需要分配IP地址的设备,本案例为00-1B-1B-13-92-E6,展开“可访问设备[00-1B-1B-13-92-E6]”,双击“在线和诊断”。 cpu
4. 在工作区选择“功能”下的“分配IP地址”,输入IP地址192.168.0.1和子网掩码255.255.255.0,点击“分配IP地址”,操作成功后可在巡视窗口信息页面看到 “参数已成功传送”消息。    cpu
5. 类似操作为CP343-1分配IP地址192.168.0.2和子网掩码255.255.255.0  

3.2            创建 PLC 项目

在 STEP7 V13中创建一个项目并插入CPU1511-1 和CPU 317站。指定对象操作步骤如表3

步骤 操作 备注
1.
.
在 Engineer PC 上打开 TIA V13。在 “项目” 菜单中选择 “新建(N)…” 选项。   cpu
2. 在弹出的创建新项目窗口里输入项目名为“1500_TCP”, 然后点击“创建”按钮。 cpu
3.
.
在项目树 1500_TCP下点击“添加新设备”。 cpu
4. 输入设备名称PLC_1并
组态控制器,SIMATIC S7-1500下的CPU1511-1 PN, 选择实际使用CPU的订货号以及版本号,本案例使用的是6ES7511-1AK00-0AB0 V1.7,点击“确认”后进入设备视图。
cpu
5. 在工作区的设备视图下双击CPU1511-1 接口可打开位于巡视窗口下的属性页,选择“常规”下方的“以太网地址”,为以太网接口添加子网PN/IE_1,设置IP地址192.168.0.1和子网掩码255.255.255.0 。 cpu
6. 重复步骤3~5,插入315 PLC和CP343-1,将以太网接口连接到步骤5建立的子网PN/IE_1.分配IP地址192.168.0.2和子网掩码255.255.255.0; cpu

表3 指定对象硬件组态

非指定对象操作步骤如表4

步骤 操作 备注
1. 1500项目组态参考指定对象添加,步骤1~5 cpu
2. 重复1500PLC添加项目步骤3~5,插入315 PLC和CP343-1,在工作区的设备视图下双击CP343-1 接口可打开位于巡视窗口下的属性页,选择“常规”下方的“以太网地址”,为以太网接口新添加子网PN/IE_2,设置IP地址192.168.0.2和子网掩码255.255.255.0 。 cpu

表4 非指定对象硬件组态

3.3             TCP通信编程

指定对象TCP通讯编程

步骤 操作 备注
1. 在项目树下双击“设备和网络”,进入工作区图形窗口选择“网络视图”,点击连接图标cpu,选择“TCP连接”,单击CPU1511 以太网接口,将拖拽出的虚线连接至CP343-1以太网接口双击建立“TCP_连接_1”; cpu
2. 在项目树下PLC_1程序块中添加新块,类型选择全局DB,创建发送数据区DB1,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义) cpu
3. 继续添加全局DB,创建接收数据区DB2,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义) cpu
4. 打开OB1,将指令TRCV_C拖拽至OB1的程序段1,根据提示操作添加背景数据块“TRCV_C_DB”。 cpu
5. 在巡视窗口下选择“属性”,“组态”中的“连接参数”:
接口选择CPU实际使用的以太网接口;
组态模式选择“使用组态的连接”
连接类型选择“TCP”
连接数据在点击cpu按钮弹出的选择连接对话框中选择“TCP_连接_1”,将自动加载本地ID,以及通信伙伴的信息;
如果1500 CPU作为TCP连接服务器端,则在伙伴侧选择“主动建立连接”;如果1500 CPU作为客户端,则在本地侧选择“主动建立连接”,本例程设计为1500CPU作为TCP客户端;
本地端口设为2000,表示CPU 1511用端口号2000发送数据到服务器;
伙伴端口即服务器端CP343-1使用的端口此处设为2000,表示CP343-1将侦听来自端口2000的TCP数据;
cpu
6. 选择“属性”页下“组态”中“块参数”:
EN_R设置为TRUE,保持接收;
CONT = 1,保持连接;
确认CONNECT指针指向"PLC_1_Receive_DB"
将步骤1中预定义的接收DB数组作为起始地址;
cpu
7. 将指令TSEND拖拽至OB1的程序段2中,根据提示操作添加背景数据块“TSEND_DB”,
填写TRCV参数:
设置“Tag_1”(%M0.0)作为REQ触发信号,上升沿有效;
ID参数为TRCV_C创建连接时系统自动生成的连接ID号(见步骤5),此处为256;
LEN参数此处设置为接收10个字节。
DATA参数使用步骤2中预定义的发送DB数组“发送数据区.SendBuff”。
  cpu
8. 参照步骤2和3,在PLC_2下添加发送数据区DB2,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义),添加接收数据区DB3,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义) cpu
9. 双击项目树下“设备和网络”进入网络视图;
拉开列表区,选择“连接”页面;
双击本地站点为“PLC_2”的连接;
查看巡视窗口下“属性”页面->“常规”->“本地ID”
记录块参数,此处ID为1,LADDR为16#100
cpu
10 打开PLC_2下程序块中的OB1,在右侧“指令”任务卡->通信->通信处理器->Simatic NET CP下,将“AG_SEND”指令拖拽至程序段1; cpu
ID及LADDR参数值见步骤9,其余参数设置如下
ACT:start(M0.0)
SEND:P#DB2.DBX0.0 BYTE 10
LEN: 10
DONE:send_done(M0.1)
ERROR:send_error(M0.2)
STATUS:send_status(MW2)
11 类似步骤10,将指令“AG_RECV”拖拽至操作程序段2; cpu
ID及LADDR参数值见步骤9,其余参数设置如下
RECV:P#DB3.DBX0.0 BYTE 10
NDR:recv_ndr(M0.3)
ERROR:recv_error(M0.4)
STATUS:recv_status(MW4)
LEN:recv_len(MW6)

表5 指定对象TCP通信编程

非指定对象TCP通讯编程

步骤 操作 备注
1. 参考指定建立连接步骤2~6,在配置第5步连接参数伙伴选择未指定对象,设置IP地址:192.168.0.2,伙伴端口号2000; cpu
2. 参照指定建立连接步骤2和3,在PLC_2下添加发送数据区DB2,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义),添加接收数据区DB3,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义) cpu
3. 双击项目树下“设备和网络”进入网络视图;
点击连接图标cpu,选择“TCP连接”,右击300PLC下拉菜单选择添加新连接;
选择非指定对象,因为300作为服务器,所以不勾选主动建立连接
cpu
4. 打开PLC_2下程序块中的OB1,在右侧“指令”任务卡->通信->通信处理器->Simatic NET CP下,将“AG_SEND”指令拖拽至程序段1; cpu
ID及LADDR参数值见步骤9,其余参数设置如下
ACT:start(M0.0)
SEND:P#DB2.DBX0.0 BYTE 10
LEN: 10
DONE:send_done(M0.1)
ERROR:send_error(M0.2)
STATUS:send_status(MW2)
5. 类似步骤10,将指令“AG_RECV”拖拽至操作程序段2; cpu
ID及LADDR参数值见步骤9,其余参数设置如下
RECV:P#DB3.DBX0.0 BYTE 10
NDR:recv_ndr(M0.3)
ERROR:recv_error(M0.4)
STATUS:recv_status(MW4)
LEN:recv_len(MW6)

表6 非指定对象TCP通信编程

3.4             下载组态到站点

如图2所示,在项目树中选中PLC_1,点击工具栏中的下载图标,弹出下载对话框如图3所示。

 cpu

图 2 下载站点配置

下载对话框设置

a.      PG/PC接口的类型下拉框中选择PN/IE

b.      PG/PC接口下拉框中选择连接CPU的实际以太网卡

c.      接口/子网的连接下拉框选择CPU连接的子网PN/IE_1

d.      点击“开始搜索”按钮,搜索网络连接的兼容设备

e.      在兼容设备列表中选择搜索出的设备CPU1511-1 PN

f.       点击“下载”按钮,按照提示完成站点下载

cpu

图 3下载对话框

     参看以上步骤下载PLC_2到CPU315中

4.     TCP通信测试

在PLC_1和PLC_2各建立一个监视变量表并进入监视状态如图4所示,将PLC_1发送器数据设为全16#01,PLC_2发送器数据设为全16#02;

PLC_1下M0.0从0→1→0,点击项目树下设备和网络在工作列表区下查看连接是否建立,如图5所示cpu表示连接已建立,在巡视窗口诊断页面连接信息中能查到更多关于连接的详细信息。

cpu

图4 创建监视变量表

cpu

图5 检测连接状态

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分