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

描述

概述

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通信连接的客户端。

S7-300

图 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 地址。
 

S7-300

 

 

分配CPU模块的IP地址

 

步骤 操作 备注
1.
.
用网线直接连接PC和CPU315。 连接两个设备到同一个以太网物理网上
2. 在 Engineer PC 上打开 STEP 7 V5.5。进入 SIMATIC Manager 主界面,展开菜单栏“PLC”,单击 “Edit Ethernet Node”(编辑以太网节点)。  

S7-300

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

S7-300

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

S7-300

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

S7-300

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

S7-300

 

 

创建 PLC 项目

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

 

步骤 操作 备注
1.
.
在 Engineer PC 上打开 STEP7 V5.5。在 “File” 菜单中选择 “New…” 选项。  

S7-300

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

S7-300

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

S7-300

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

S7-300

 
5. 插入 S7-300 插槽。  

S7-300

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

S7-300

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

S7-300

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

S7-300

 
  “New subnet Industrial Ethernet”对话框下 Name:Ethernet(1)。  

S7-300

 
  新建 Subnet 后,点击“OK”。  

S7-300

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

S7-300

 

 

表3 硬件组态

TCP通信向导组态

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

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

 

步骤 操作 备注
1. 开始菜单中选择“SIMATIC”—“Open Communication Wizard”。  

S7-300

 
2. 打开“Open Communication Wizard”。  

S7-300

 
3. 选择 STEP 7 project。  

S7-300

 
4 选择 TCP_Server 项目。  

S7-300

 
5 选择 Block folder。  

S7-300

 
  选择项目下的Blocks。  

S7-300

 
  点击“Next”。  

S7-300

 
  点击“OK”。  

S7-300

 
  点击“Next”。  

S7-300

 
  选择“Connection type”—“TCP native”,
点击“Next”。
 

S7-300

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

S7-300

 
  Connect name:“300_Server”。  

S7-300

 
  因为 S7 300 作服务器,因此选择“Passive”。  

S7-300

 
  选择User interface:CPU 314/315/317/ET200pro(IM154-8 CPU)。  

S7-300

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

S7-300

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

S7-300

 
  Communication parter A,数据块Name:DB1,点击“Next”。  

S7-300

 
  点击“Next”。  

S7-300

 
  点击“Finish”。  

S7-300

 
  点击“是”。  

S7-300

 

 

表4 T_BLOCK编程

TCP通信编程

 

步骤 操作 备注
1. 查看 SIMATIC Manager—Blocks 下生成了 DB1。  

S7-300

 
2. 双击 OB1进入。  

S7-300

 
3. 需要的功能块。  

S7-300

 
4. 插入 FB65 TCON  

S7-300

 
5. 添加背景DB。  

S7-300

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

S7-300

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

S7-300

 
9. 正确填写 FB65 引脚。  

S7-300

 
10 添加 Bata Block。  

S7-300

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

S7-300

 
11 添加变量,类型为数组。  

S7-300

 
12 添加100个 BYTE 的数组变量。  

S7-300

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

S7-300

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

S7-300

 
15 添加变量,类型为数组。  

S7-300

 
16 添加100个 BYTE 的数组变量。  

S7-300

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

S7-300

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

S7-300

 

 

表4 T_BLOCK编程

下载组态到站点

 

步骤 操作 备注
1. 返回 SIMATIC Manager 主界面。  

S7-300

 
2. 下载项目到 PLC。  

S7-300

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

S7-300

 

 

TCP&UDPDebug组态

 

步骤 操作 备注
1. 桌面选择“TCP&UDPDebug”图标。 S7-300
2. 双击进入“TCP&UDPDebug”界面。  

S7-300

 
3. 右键“客户端模式”,点击“创建连接”。  

S7-300

 
  在弹出的创建连接对话框中填写目标IP:192.168.0.1;
端口:2000;本机端口:随机端口;点击“创建”按钮。
 

S7-300

 
  显示客户端模式(未连接状态)。  

S7-300

 

 

TCP通信测试

 

步骤 操作 备注
1. 在SIMATIC Manager 中,Blocks 下插入变量表“Variable Table”。  

S7-300

 
2. 添加变量。  

S7-300

 
3. 触发“TCON_REQ ”。  

S7-300

 
  M10.0 TCON_REQ 显示为“true”。  

S7-300

 
  TCP&UDP测试工具,右键客户端模式下的 192.168.0.1:2000,点击“连接”。  

S7-300

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

S7-300

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

S7-300

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

S7-300

 
  进入CPU的 Module Information 对话框。  

S7-300

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

S7-300

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

S7-300

 
  “TCP&UDPDebug”界面,接收区选择“十六进制”。  

S7-300

 
  写入16进制数据“99 88 77 66 55 44 33 22 11 00”。  

S7-300

 
  触发“TSEND_REQ”,发送。  

S7-300

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

S7-300

 
  在发送区写入16进制数据“00 11 22 33 44 55 66 77 88 99”,点击“发送”按钮。  

S7-300

 
  触发“TRCV_EN_R”,接收到 10 个字节数据。  

S7-300

 

 

  审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分