0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-01-05 09:58 次阅读

概述

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

5b4e3724-8c5c-11ed-bfe3-dac502259ad0.png

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

5b5dab28-8c5c-11ed-bfe3-dac502259ad0.png

分配CPU模块的IP地址

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

5b643a88-8c5c-11ed-bfe3-dac502259ad0.png

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

5b6c2e14-8c5c-11ed-bfe3-dac502259ad0.png

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

5b7542e2-8c5c-11ed-bfe3-dac502259ad0.png

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

5b89f002-8c5c-11ed-bfe3-dac502259ad0.png

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

5b91fbf8-8c5c-11ed-bfe3-dac502259ad0.png

创建 PLC 项目

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

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

5b9907a4-8c5c-11ed-bfe3-dac502259ad0.png

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

5b9e3c56-8c5c-11ed-bfe3-dac502259ad0.png

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

5baa76b0-8c5c-11ed-bfe3-dac502259ad0.png

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

5bb6bbbe-8c5c-11ed-bfe3-dac502259ad0.png

5. 插入 S7-300插槽。

5bbd145a-8c5c-11ed-bfe3-dac502259ad0.png

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

5bcd6bca-8c5c-11ed-bfe3-dac502259ad0.png

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

5bd44fee-8c5c-11ed-bfe3-dac502259ad0.png

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

5bdbe16e-8c5c-11ed-bfe3-dac502259ad0.png

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

5be1f20c-8c5c-11ed-bfe3-dac502259ad0.png

新建 Subnet 后,点击“OK”。

5be71a5c-8c5c-11ed-bfe3-dac502259ad0.png

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

5beccb8c-8c5c-11ed-bfe3-dac502259ad0.png

表3硬件组态

TCP通信向导组态

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

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

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

5bf4774c-8c5c-11ed-bfe3-dac502259ad0.png

2. 打开“Open Communication Wizard”。

5c0e6986-8c5c-11ed-bfe3-dac502259ad0.png

3. 选择 STEP 7 project。

5c16881e-8c5c-11ed-bfe3-dac502259ad0.png

4 选择 TCP_Server 项目。

5c1f0304-8c5c-11ed-bfe3-dac502259ad0.png

5 选择 Block folder。

5c293572-8c5c-11ed-bfe3-dac502259ad0.png

选择项目下的Blocks。

5c2f6b7c-8c5c-11ed-bfe3-dac502259ad0.png

点击“Next”。

5c3878a2-8c5c-11ed-bfe3-dac502259ad0.png

点击“OK”。

5c417740-8c5c-11ed-bfe3-dac502259ad0.png

点击“Next”。

5c480862-8c5c-11ed-bfe3-dac502259ad0.png

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

5c4fe230-8c5c-11ed-bfe3-dac502259ad0.png

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

5c58e970-8c5c-11ed-bfe3-dac502259ad0.png

Connect name:“300_Server”。

5c61b8d4-8c5c-11ed-bfe3-dac502259ad0.png

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

5c68f8c4-8c5c-11ed-bfe3-dac502259ad0.png

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

5c75c8d8-8c5c-11ed-bfe3-dac502259ad0.png

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

5c7e788e-8c5c-11ed-bfe3-dac502259ad0.png

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

5c87dbfe-8c5c-11ed-bfe3-dac502259ad0.png

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

5c93b834-8c5c-11ed-bfe3-dac502259ad0.png

点击“Next”。

5cb0689e-8c5c-11ed-bfe3-dac502259ad0.png

点击“Finish”。

5cb956fc-8c5c-11ed-bfe3-dac502259ad0.png

点击“是”。

5cd6b468-8c5c-11ed-bfe3-dac502259ad0.png

表4 T_BLOCK编程

TCP通信编程

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

5ce0d2ae-8c5c-11ed-bfe3-dac502259ad0.png

2. 双击 OB1进入。

5d06feac-8c5c-11ed-bfe3-dac502259ad0.png

3. 需要的功能块。

5d0f46de-8c5c-11ed-bfe3-dac502259ad0.png

4. 插入FB65 TCON

5d172a0c-8c5c-11ed-bfe3-dac502259ad0.png

5. 添加背景DB。

5d2103ba-8c5c-11ed-bfe3-dac502259ad0.png

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

5d2b7d2c-8c5c-11ed-bfe3-dac502259ad0.png

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

5d3280b8-8c5c-11ed-bfe3-dac502259ad0.png

9. 正确填写 FB65 引脚。

5d3b8776-8c5c-11ed-bfe3-dac502259ad0.png

10 添加 Bata Block。

5d41d360-8c5c-11ed-bfe3-dac502259ad0.png

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

5d4e0b30-8c5c-11ed-bfe3-dac502259ad0.png

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

5d555ab6-8c5c-11ed-bfe3-dac502259ad0.png

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

5d7ac24c-8c5c-11ed-bfe3-dac502259ad0.png

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

5d84a474-8c5c-11ed-bfe3-dac502259ad0.png

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

5d9b5fc0-8c5c-11ed-bfe3-dac502259ad0.png

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

5da4aada-8c5c-11ed-bfe3-dac502259ad0.png

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

5dab2f36-8c5c-11ed-bfe3-dac502259ad0.png

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

5dccb994-8c5c-11ed-bfe3-dac502259ad0.png

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

5dd73b58-8c5c-11ed-bfe3-dac502259ad0.png

表4 T_BLOCK编程

下载组态到站点

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

5ddc7f28-8c5c-11ed-bfe3-dac502259ad0.png

2. 下载项目到 PLC。

5de4d83a-8c5c-11ed-bfe3-dac502259ad0.png

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

5ded597e-8c5c-11ed-bfe3-dac502259ad0.png

TCP&UDPDebug组态

步骤 操作 备注
1. 桌面选择“TCP&UDPDebug”图标。 5df2fa1e-8c5c-11ed-bfe3-dac502259ad0.png
2. 双击进入“TCP&UDPDebug”界面。

5dfc6022-8c5c-11ed-bfe3-dac502259ad0.png

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

5e07a64e-8c5c-11ed-bfe3-dac502259ad0.png

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

5e14f8bc-8c5c-11ed-bfe3-dac502259ad0.png

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

5e1c7e0c-8c5c-11ed-bfe3-dac502259ad0.png

TCP通信测试

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

5e259b90-8c5c-11ed-bfe3-dac502259ad0.png

2. 添加变量。

5e2ca462-8c5c-11ed-bfe3-dac502259ad0.png

3. 触发“TCON_REQ ”。

5e34c5e8-8c5c-11ed-bfe3-dac502259ad0.png

M10.0 TCON_REQ显示为“true”。

5e40b736-8c5c-11ed-bfe3-dac502259ad0.png

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

5e49a63e-8c5c-11ed-bfe3-dac502259ad0.png

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

5e5026a8-8c5c-11ed-bfe3-dac502259ad0.png

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

5e5aea48-8c5c-11ed-bfe3-dac502259ad0.png

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

5e825c68-8c5c-11ed-bfe3-dac502259ad0.png

进入CPU的 Module Information 对话框。

5e9ab434-8c5c-11ed-bfe3-dac502259ad0.png

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

5eb4d8aa-8c5c-11ed-bfe3-dac502259ad0.png

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

5ecf16d4-8c5c-11ed-bfe3-dac502259ad0.png

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

5ee35d42-8c5c-11ed-bfe3-dac502259ad0.png

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

5f056536-8c5c-11ed-bfe3-dac502259ad0.png

触发“TSEND_REQ”,发送。

5f12da18-8c5c-11ed-bfe3-dac502259ad0.png

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

5f2f0b0c-8c5c-11ed-bfe3-dac502259ad0.png

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

5f52970c-8c5c-11ed-bfe3-dac502259ad0.png

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

5f7a4900-8c5c-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    18

    文章

    5706

    浏览量

    134415
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1272

    浏览量

    78306
  • S7-300
    +关注

    关注

    8

    文章

    224

    浏览量

    33785
  • SIMATIC
    +关注

    关注

    1

    文章

    230

    浏览量

    15523

原文标题:S7-300与第三方的TCP通信_Server(STEP7)

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Labview如何内嵌操作第三方EXE程序!

    自己在网上搜了下相关资料,能把第三方EXE内嵌进入容器里,但是有个问题,这个第三方软件必须手动拖到容器正中间,手动最大化。请问有什么方法可以自动实现吗? 下图是我内嵌的POLL 软件。如图!
    发表于 04-18 14:26

    #硬声创作季 #PLC S7-300PLC-04 STEP7编程快速入门-1

    plcstepSTEP7
    水管工
    发布于 :2022年10月21日 14:56:59

    如何把第三方库加到PROTEUS中?

    新手求教,弱弱的问下,下了一个第三方库,说是要先安装,再添加路径,可是我下来的第三方库没有看到安装文件啊。还望指教如何添加!
    发表于 06-15 22:32

    在计算机与第三方设备通信时,常用的计算机编码

    在计算机与第三方设备通信时,常用的计算机编码
    发表于 07-10 13:06

    第三方dll调用问题!!!

    第三方dll,没有.h,labview怎么实现调用,dll可以用VS打开,类库说明也有
    发表于 05-11 09:14

    LabVIEW与第三方软件交互问题

    现在做一个软件,就是通过LabVIEW去与第三方软件进行交互操作!已经通过百度找到了利用user32.dll调用FindWindowA与PostMessage去实现对计算器,找了多方资料也没有找到解决办法。想做一个软件就是对图片2中第三方软件中控件进行控制的方法谢谢各位帮
    发表于 12-26 17:13

    下载python第三方

    python第三方库的下载
    发表于 07-02 13:12

    国内知名第三方检测认证机构排名

    第三方检测机构国内起步的很晚,基本是2000年以后的事情,进入改革开放以来,特别是新世纪以来,国家对第三方机构的政策越来越放开了,很多职能部门都逐步下放到第三方机构来做。为了保证产品品质,就有
    发表于 07-19 16:57

    头文件中包含第三方文件

    macrocmake如果源文件(例如 CPP)中包含第三方头文件,但是头文件(例如 hpp)中不包含该第三方文件头,采用 PRIVATE。如果源文件和头文件中都包含该第三方文件头,采用 PUBLIC
    发表于 08-18 08:10

    苹果7手表 第三方无线充 又充不了

    苹果7手表 第三方无线充 又充不了苹果 手表无线充搞死人啊
    发表于 12-23 17:32

    西门子S7-1200以太网接口通信功能分享

    与WinCC OPC通信的相同。可以用WinCC Basic的运行系统对人机界面进行在线仿真,只需要与计算机通信S7-1200,就可以模拟PLC和人机界面组成的控制系统。8.S7-1
    发表于 02-24 19:59

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

    SIMATIC S7- 300 CPU集成了 PROFINET 接口,该接口除了具备连接 PROFINET总线通信功能,同时还可用于标准的 TCP 通信。通过组态
    的头像 发表于 04-03 09:13 4165次阅读

    STEP7 5.5中对S7-300 CPU程序的上载过程

    本文简要讲解在STEP7 5.5中对S7-300 CPU程序的上载过程,S7-400 CPU 的上载方法与此相同,可作参考。
    的头像 发表于 07-15 10:39 7484次阅读

    S7-300 PN CPU之间的TCP通信(STEP7)

    使用开放式通信专用的功能块。依据RFC793的TCP协议,在STEP7”通讯块”的“标准库”(图1所示)中提供了下列FB,通过用户程序与符合以太网标准的通讯伙伴进行数据交换。
    的头像 发表于 11-23 09:51 3309次阅读

    STEP7 5.5中对S7-300 CPU程序的上载过程

    本文简要讲解在STEP7 5.5中对S7-300 CPU程序的上载过程,S7-400 CPU 的上载方法与此相同,可作参考。
    的头像 发表于 02-12 15:01 2666次阅读