概述
SIMATIC S7- 300 CPU集成了 PROFINET 接口,该接口除了具备连接 PROFINET总线通信功能,同时还可用于标准的 TCP 通信。
通过组态TCP连接及使用开放式通信专用功能块与其它设备建立TCP连接以实现通信。
本文以S7-300CPU作为TCP的服务器,PC机上运行的TCP&UDPDebug软件模拟第三方设备作为客户端;进行通信的配置过程。
自动化解决方案
网络拓扑结构
如图1所示,300 PLC(192.168.0.1/24)与PC(192.168.0.2/24)进行OPEN IE TCP通信。300 PLC作为TCP通信连接的客户端。
图1网络拓扑结构
硬件与软件需求
设备 |
数量 |
订货号 |
注释 |
PS307 120/230 VAC |
1 |
6ES7307-1EA01-0AA0 |
负载电源模块 |
CPU 300 |
1 |
6ES7315-2EH14-0AB0 |
|
存储卡4MB |
1 |
6ES7953-8LM11-0AA0 |
作为装载存储器 |
安装导轨 |
1 |
6ES7390-1AE80-0AA0 |
|
PC |
1 |
表1硬件列表
设备 |
数量 |
订货号 |
注释 |
STEP 7 V5.5 SP4 |
1 |
6ES7810-4CC10-0YA5 |
|
Windows 7专业版SP1 64-bit Operating System |
1 |
表2软件环境
组态配置
分配 IP地址
通过如下的步骤配置PC的IP地址
步骤 |
操作 |
备注 |
1. . |
选择“开始>控制面板>网络和共享>本地连接>属性”打开Internet协议版本4(TCP/IPv4), 设置 PC 的 IP 地址。
|
|
分配CPU模块的IP地址
步骤 |
操作 |
备注 |
1. . |
用网线直接连接PC和CPU315。 |
连接两个设备到同一个以太网物理网上 |
2. |
在 Engineer PC 上打开 STEP 7 V5.5。进入 SIMATIC Manager 主界面,展开菜单栏“PLC”,单击“Edit Ethernet Node”(编辑以太网节点)。 |
|
4. |
弹出“Edit Ethernet Node”(编辑以太网节点)对话框,点击“Browse”。 |
|
3. |
按照打印在CPU315模块上的 X2接口MAC地址来确定需要分配IP地址的设备,本案例为00-0E-8C-CD-B4-AA,选中此设备,点击“OK”。 |
|
4. |
在工作区“IP address”处输入IP地址192.168.0.1和“Subnet mask”处输入255.255.255.0,点击“Assign IP Configuration”。 |
|
5. |
|
创建 PLC 项目
在 STEP7 V5.5中创建一个项目并插入CPU315 站。操作步骤如表3
步骤 |
操作 |
备注 |
1. . |
在 Engineer PC 上打开 STEP7 V5.5。在“File”菜单中选择“New…”选项。 |
|
2. |
在弹出的创建新项目窗口里输入项目名为“TCP_Server”,然后点击“OK”按钮。 |
|
3. . |
在TCP_Client下点击右键“Insert New Object”,选择“SIMATIC 300 Station”。 |
|
4. |
双击“Hardware”打开硬件组态。 |
|
5. |
插入 S7-300插槽。 |
|
插入S7-300 CPU,与实际PLC一致:6ES7 315-2EH14-0AB0 V3.2。 |
|
|
在弹出的“Properties-Ethernet interface PN-IO”对话框的“Parmeters”选项卡中为以太网接口添加,设置IP地址192.168.0.1和子网掩码255.255.255.0。 |
|
|
点击“New...”新建子网。 |
|
|
“New subnet Industrial Ethernet”对话框下 Name:Ethernet(1)。 |
|
|
新建 Subnet 后,点击“OK”。 |
|
|
|
表3硬件组态
TCP通信向导组态
创建用于开放式TCP/IP通信的连接数据的向导(开放式通信向导)下载链接:
https://support.industry.siemens.com/cs/cn/en/view/98957840/zh
步骤 |
操作 |
备注 |
1. |
开始菜单中选择“SIMATIC”—“Open Communication Wizard”。 |
|
2. |
打开“Open Communication Wizard”。 |
|
3. |
选择 STEP 7 project。 |
|
4 |
选择 TCP_Server 项目。 |
|
5 |
选择 Block folder。 |
|
选择项目下的Blocks。 |
|
|
点击“Next”。 |
|
|
点击“OK”。 |
|
|
点击“Next”。 |
|
|
选择“Connection type”—“TCP native”, 点击“Next”。 |
|
|
选择“Communication parter B is not a S7-CPU(eg. a PC)”, 点击“Next”。 |
|
|
Connect name:“300_Server”。 |
|
|
因为 S7 300作服务器,因此选择“Passive”。 |
|
|
选择User interface:CPU 314/315/317/ET200pro(IM154-8 CPU)。 |
|
|
Communication parter B的IP地址192.168.0.2,点击“Next”。 |
|
|
Communication parter A端口号:2000,点击“Next”。 |
|
|
Communication parter A,数据块Name:DB1,点击“Next”。 |
|
|
点击“Next”。 |
|
|
点击“Finish”。 |
|
|
点击“是”。 |
|
表4 T_BLOCK编程
TCP通信编程
步骤 |
操作 |
备注 |
1. |
查看 SIMATIC Manager—Blocks 下生成了 DB1。 |
|
2. |
双击 OB1进入。 |
|
3. |
需要的功能块。 |
|
4. |
插入FB65 TCON |
|
5. |
添加背景DB。 |
|
7. |
打开DB1,复制“OUCW_1”名称。 |
|
8. |
“CONNECT”引脚输入DB1. 粘贴“OUCW_1”。 |
|
9. |
正确填写 FB65 引脚。 |
|
10 |
添加 Bata Block。 |
|
添加共享 DB11,作为发送数据区。 |
|
|
11 |
添加变量,类型为数组。 |
|
12 |
添加100个 BYTE 的数组变量。 |
|
13 |
添加 FB63,背景数据块为DB63,正确填写 FB63 引脚。 |
|
14 |
添加共享 DB12,作为接收数据区。 |
|
15 |
添加变量,类型为数组。 |
|
16 |
添加100个 BYTE 的数组变量。 |
|
17 |
添加 FB64,背景数据块为DB64,正确填写 FB64 引脚。 |
|
18 |
添加 FB66,背景数据块为DB66,正确填写 FB66 引脚。 |
|
表4 T_BLOCK编程
下载组态到站点
步骤 |
操作 |
备注 |
1. |
返回 SIMATIC Manager 主界面。 |
|
2. |
下载项目到 PLC。 |
|
3. |
弹出的“Download”对话框,点击“Yes”。 |
|
TCP&UDPDebug组态
步骤 |
操作 |
备注 |
1. |
桌面选择“TCP&UDPDebug”图标。 |
|
2. |
双击进入“TCP&UDPDebug”界面。 |
|
3. |
右键“客户端模式”,点击“创建连接”。 |
|
在弹出的创建连接对话框中填写目标IP:192.168.0.1; 端口:2000;本机端口:随机端口;点击“创建”按钮。 |
|
|
显示客户端模式(未连接状态)。 |
|
TCP通信测试
步骤 |
操作 |
备注 |
1. |
在SIMATIC Manager 中,Blocks 下插入变量表“Variable Table”。 |
|
2. |
添加变量。
|
|
3. |
触发“TCON_REQ ”。 |
|
M10.0 TCON_REQ显示为“true”。 |
|
|
TCP&UDP测试工具,右键客户端模式下的 192.168.0.1:2000,点击“连接”。 |
|
|
TCP&UDP测试工具,显示连接以建立。 |
|
|
硬件组态,点击在线按钮。 |
|
|
硬件组态在线后,双击CPU 315-2PN/DP。 |
|
|
进入CPU的 Module Information 对话框。 |
|
|
进入“Communication”选项卡,可以看到“Open communication via Industrial Ethernet”下“Connection resources in use:”显示为:1。 |
|
|
点击“Diagnostics...”,可以看到连接以建立。 |
|
|
“TCP&UDPDebug”界面,接收区选择“十六进制”。 |
|
|
写入16进制数据“99 88 77 66 55 44 33 22 11 00”。 |
|
|
触发“TSEND_REQ”,发送。 |
|
|
TCP&UDP测试工具,接收区显示16进制数据“99 88 77 66 55 44 33 22 11 00”。 |
|
|
在发送区写入16进制数据“00 11 22 33 44 55 66 77 88 99”,点击“发送”按钮。 |
|
|
触发“TRCV_EN_R”,接收到 10个字节数据。 |
|
审核编辑:郭婷
-
cpu
+关注
关注
68文章
10824浏览量
211095 -
接口
+关注
关注
33文章
8486浏览量
150808 -
服务器
+关注
关注
12文章
9010浏览量
85163
原文标题:S7-300与第三方的TCP通信_Server(STEP7)
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论