S7-300与第三方的TCP通信_Clint(STEP7)

1.概述

SIMATIC S7- 300 CPU集成了 PROFINET 接口,该接口除了具备连接 PROFINET总线通信功能,同时还可用于标准的 TCP 通信。

通过组态TCP连接及使用开放式通信专用功能块与其它设备建立TCP连接以实现通信。

本文以S7-300CPU作为TCP的Clint客户端,PC机上运行的TCP&UDPDebug软件模拟第三方设备作为服务器;进行通信的配置过程。

2.自动化解决方案

2.1网络拓扑结构

如图1所示,300 PLC192.168.0.1/24)与 PC192.168.0.2/24)进行OPEN IE TCP通信。300 PLC作为TCP通信连接的客户端。

1500.PNG

1 网络拓扑结构

2.2硬件与软件需求

设备

数量

订货号

注释

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软件环境

3.组态配置

3.1分配 IP地址

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

步骤

操作

备注

1.

.

选择 开始 > 控制面板 > 网络和共享 > 本地连接>属性打开 Internet 协议版本 4(TCP/IPv4)

设置 PC IP 地址。

 

 

2016-12-07_144322.png

 

分配CPU模块的IP地址

步骤

操作

备注

1.

.

用网线直接连接PCCPU315

连接两个设备到同一个以太网物理网上

2.

Engineer PC 上打开 STEP 7 V5.5。进入 SIMATIC Manager 主界面,展开菜单栏“PLC”,单击 Edit Ethernet Node”(编辑以太网节点)

2016-12-07_133746.png

4.

弹出“Edit Ethernet Node”(编辑以太网节点)对话框,点击“Browse”。

2016-12-08_092416.png

3.

按照打印在CPU315模块上的 X2接口MAC地址来确定需要分配IP地址的设备,本案例为00-0E-8C-CD-B4-AA,选中此设备,点击“OK”。

2016-12-07_143859.png

4.

在工作区“IP address”处输入IP地址192.168.0.1和“Subnet mask”处输入255.255.255.0,点击“Assign IP  Configuration”。

2016-12-07_143946.png

5.

操作成功后可显示 “The parameters were transferred successfully.”消息。

2016-12-07_144101.png

 

3.2创建 PLC 项目

STEP7 V5.5中创建一个项目并插入CPU315 站。操作步骤如表3

步骤

操作

备注

1.

.

Engineer PC 上打开 STEP7 V5.5。在 “File” 菜单中选择 “New…” 选项。

 2016-12-07_131946.png

2.

在弹出的创建新项目窗口里输入项目名为“TCP_Client”,然后点击“OK”按钮。

2016-12-07_132150.png

3.

.

TCP_Client下点击右键“Insert New Object”,选择“SIMATIC 300 Station”。

  2016-12-07_132441.png

4.

双击“Hardware”打开硬件组态。

2016-12-07_133256.png

5.

插入 S7-300 插槽。

2016-12-08_095029.png

 

插入S7-300 CPU,与实际PLC一致: 6ES7 315-2EH14-0AB0 V3.2

2016-12-08_095213.png

 

在弹出的“Properties-Ethernet interface PN-IO”对话框的“Parmeters”选项卡中为以太网接口添加,设置IP地址192.168.0.1和子网掩码255.255.255.0

2016-12-07_134129.png

 

点击“New...”新建子网。

2016-12-07_134202.png

 

New subnet Industrial Ethernet”对话框下 NameEthernet(1)

2016-12-07_134208.png

 

新建 Subnet 后,点击“OK”。

2016-12-07_134219.png

 

点击“Save and Compile”按钮。编译保存硬件组态信息。

2016-12-07_134603.png

3 硬件组态

3.3TCP通信向导组态

创建用于开放式 TCP/IP 通信的连接数据的向导 (开放式通信向导)下载链接:

https://support.industry.siemens.com/cs/cn/en/view/98957840/zh

步骤

操作

备注

1.

开始菜单中选择“SIMATIC”—“Open Communication Wizard”。

2016-12-08_100859.png

2.

打开“Open Communication Wizard”。

2016-12-07_134702.png

3.

选择 STEP 7 project

2016-12-07_134746.png

4

选择 TCP_Client 项目。

2016-12-07_134823.png

5

选择 Block folder

2016-12-07_134847.png

 

选择项目下的Blocks

2016-12-07_134941.png

 

点击“Next”。

2016-12-07_135010.png

 

点击“OK”。

2016-12-07_135053.png

 

点击“Next”。

2016-12-07_135132.png

 

选择“Connection type”—“TCP native,

点击“Next”。

2016-12-07_135159.png

 

选择“Communication parter B is not a S7-CPUeg. a PC)”, 点击“Next”。

2016-12-07_135250.png

 

Connect name:300_Client”。

2016-12-07_135412.png

 

选择User interfaceCPU 314/315/317/ET200proIM154-8 CPU)。

2016-12-07_135439.png

 

填入Communication parter B IP地址192.168.0.2,点击“Next”。

2016-12-08_102254.png

 

Communication parter B 端口号:2000,点击“Next”。

2016-12-07_144410.png

 

Communication parter A,数据块NameDB1,点击“Next”。

2016-12-08_103132.png

 

点击“Next”。

2016-12-07_144614.png

 

点击“Finish”。

2016-12-07_144645.png

 

点击“是”。

2016-12-07_144736.png

4 T_BLOCK编程

3.4TCP通信编程

步骤

操作

备注

1.

查看 SIMATIC ManagerBlocks 下生成了 DB1

2016-12-07_144813.png

2.

双击 OB1进入。

2016-12-07_144835.png

3.

需要的功能块。

2016-12-07_145016.png

4.

插入 FB65 TCON

2016-12-07_145131.png

5.

添加背景DB

2016-12-07_150819.png

6.

显示 FB65,背景数据块为 DB65

2016-12-07_150831.png

7.

打开DB1,复制“OUCW_1”名称。

2016-12-07_151330.png

8.

CONNECT”引脚输入DB1. 粘贴“OUCW_1”。

2016-12-07_151217.png

9.

正确填写 FB65 引脚。

2016-12-07_154443.png

10

添加共享 DB11,作为发送数据区。

2016-12-07_154901.png

11

添加变量,类型为数组。

2016-12-07_154949.png

12

添加100 BYTE 的数组变量。

2016-12-07_155051.png

13

添加 FB63,背景数据块为DB63,正确填写 FB63 引脚。

2016-12-07_154711.png

14

添加共享 DB12,作为接收数据区。

2016-12-07_155109.png

15

添加变量,类型为数组。

2016-12-07_155140.png

16

添加100 BYTE 的数组变量。

2016-12-07_155208.png

17

添加 FB64,背景数据块为DB64,正确填写 FB64 引脚。

2016-12-07_155641.png

18

添加 FB66,背景数据块为DB66,正确填写 FB66 引脚。

2016-12-07_155743.png

4 T_BLOCK编程

 

3.5下载组态到站点

步骤

操作

备注

1.

返回 SIMATIC Manager 主界面。

2016-12-07_155946.png

2.

下载项目到 PLC

2016-12-07_160021.png

3.

弹出的“Download”对话框,点击“Yes”。

2016-12-07_160413.png

4.

点击“Yes”。

2016-12-07_160520.png

3.6TCP&UDPDebug组态

下载“TCP&UDPDebug”软件。

步骤

操作

备注

1.

桌面选择“TCP&UDPDebug”图标。

2016-12-08_153557.png

2.

双击进入“TCP&UDPDebug”界面。

2016-12-07_164800.png

3.

右键“服务器模式”,点击“创建服务器”。

2016-12-07_165246.png

4.

填写本机端口号,与Communication parter B 端口号一致。此处为:2000

2016-12-07_165426.png

5.

显示本机服务器(未启动状态)。

2016-12-07_165455.png

6.

右键“Local(192.168.0.2):2000”,点击“启动服务器”。

2016-12-07_165549.png

7.

显示本机服务器(启动状态)。

2016-12-07_165611.png

 

4.TCP通信测试

步骤

操作

备注

1.

SIMATIC Manager 中,Blocks 下插入变量表“Variable Table”。

2016-12-07_155845.png

2.

显示已插入变量表“VAT_1”。

2016-12-08_154918.png

3.

添加变量。

触发“TCON_REQ ”。

2016-12-07_165841.png

4.

TCP&UDP测试工具,显示连接以建立。

2016-12-07_165713.png

5.

硬件组态,点击在线按钮。

2016-12-08_160955.png

6.

硬件组态在线后,双击CPU 315-2PN/DP

2016-12-08_161052.png

7.

进入CPU Module Information 对话框。

2016-12-08_161059.png

8.

进入“Communication”选项卡,可以看到“Open communication via Industrial Ethernet”下“Connection resources in use:”显示为:1

2016-12-08_161225.png

9.

点击“Diagnostics...”,可以看到连接以建立。

2016-12-08_161233.png

10

触发“TSEND_REQ,发送16进制数据“00 11 22 33 44 55 66 77 88 99”。

2016-12-08_154345.png

11

TCP&UDP 测试工具,接收区显示16进制数据“00 11 22 33 44 55 66 77 88 99”。

2016-12-07_170634.png

12

TCP&UDP 测试工具,发送区16进制数据“99 88 77 66 55 44 33 22 11 00”,点击发送按钮。

2016-12-07_170603.png

13

触发“TRCV_EN_R,察看接收到16进制数据“99 88 77 66 55 44 33 22 11 00”。

2016-12-07_170654.png

附录: 例程见附件(建议PC机上下载)