热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

32通过tcp发送数组_西门子S71500与S7300PN的TCP通信(图文)

加微信号“15021230050”,邀请您加入“信控电气”微信群。点击文章最下方“阅读原文”,加入超级工控技术群。免费学习PLC编程技术,

加微信号“15021230050”,邀请您加入“信控电气”微信群。

点击文章最下方阅读原文”,加入超级工控技术群。

免费学习PLC编程技术,包吃住还有工资...

西门子S7-1500S7-300PNTCP通信

1.概述

2.自动化解决方案

2.1网络拓扑结构

2.2硬件与软件需求

3.组态配置

3.1分配 IP地址

3.2创建 PLC 项目

3.3TCP通信编程

3.4下载组态到站点

4.TCP通信测试

1. 概述

SIMATIC S7- 1500 CPU集成了 PROFINET 接口,该接口除了具备连接 PROFINET总线通信功能,同时还可用于标准的 TCP 通信。通过组态TCP连接或使用开放式通信专用功能块与其它设备建立TCP连接以实现通信。本文介绍了S7-1500 CPU与S7-300 PN CPU进行TCP通信的配置过程。

2. 自动化解决方案

2.1  网络拓扑结构

如图1所示,1500 PLC(192.168.0.1/24)与 300 PN CPU(192.168.0.2/24)进行OPEN IE TCP通信。

d1a717ce04ca966aa176debd4719816a.png

                              图 1网络拓扑结构

2.2  硬件与软件需求

设备

数量

订货号

注释

PM190 W 120/230 VAC

1

6EP1333-4BA00

负载电源模块

CPU 1511-1

1

6ES7511-1AK00-0AB0

V1.7

存储卡2GB

1

6ES7954-8LP01-0AA0

作为装载存储器

CPU 317-2 PN/DP

1

6ES7317-2EK14-0AB0

V3.1

SCALANCE X208

1

6GK5208-0BA10-2AA3

交换机

表 1硬件列表

                  设备

数量

订货号

注释

STEP 7 Professional V13 SP1 Update1 

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

7232b8d0c873c38c5a5c498644fd2392.png

分配CPU模块的IP地址

步骤

操作

备注

1.

用网线将两个CPU和PG分别连接到X208交换机上

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

2.

在 Engineer PC 上打开 TIA V13。进入项目视图,展开项目树下的“在线访问”,选择实际使用的物理网卡,双击“更新可访问的设备”。

aa4241399364f21d11ab8c874011e021.png

3.

按照打印在CP1511-1模块上的X1接口MAC地址来确定需要分配IP地址的设备,本案例为00-1B-1B-13-92-E6,展开“可访问设备[00-1B-1B-13-92-E6]”,双击“在线和诊断”。

48c6a35bac8017500e88bbb3cfd31d19.png

4.

.

在工作区选择“功能”下的“分配IP地址”,输入IP地址192.168.0.1和子网掩码255.255.255.0,点击“分配IP地址”,操作成功后可在巡视窗口信息页面看到 “参数已成功传送”消息。

5a8b739e9c593120946acc2af9af0593.png

5

类似操作为CPU317分配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)…” 选项。

bf2307254b05dad7f01f2daf68e6eaac.png

2.

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

b45334955e428242ca69774b71390383.png

3.

.

在项目树 1500_TCP下点击“添加新设备”。

ec9335f424224d3bd15164575d07f9f6.png

4.

输入设备名称PLC_1并

组态控制器,SIMATIC S7-1500下的CPU1511-1 PN, 选择实际使用CPU的订货号以及版本号,本案例使用的是6ES7 511-1AK00-0AB0 V1.7,点击“确认”后进入设备视图。

707c0d9528a51fb9412459018ffd7509.png

5.

在工作区的设备视图下双击CPU1511-1 接口可打开位于巡视窗口下的属性页,选择“常规”下方的“以太网地址”,为以太网接口添加子网PN/IE_1,设置IP地址192.168.0.1和子网掩码255.255.255.0 。

56d95aca6bf9c3d4af19a7b4eac63426.png

6

重复步骤3~5,插入317 PLC,分配IP地址及子网掩码

167f7b9a71840ff90ef9032e386036b0.png

表3 硬件组态

3.3 TCP通信编程

步骤

操作

备注

1.

在项目树下PLC_1程序块中添加新块,类型选择全局DB,创建发送数据区DB1,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义)

ce864255033fa80d3ac6e56761a9a281.png

2.

继续添加全局DB,创建接收数据区DB2,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义)

02a2b7f9f473c7909891f7ed5c427997.png

3.

打开OB1,将指令TRCV_C拖拽至OB1的程序段1,根据提示操作添加背景数据块“TRCV_C_DB”。

c72c31815395691e20b6d68602bba805.png

4

在巡视窗口下选择“属性”,“组态”下的“连接参数”:

l 伙伴选择“PLC_2”;

l 接口选择CPU实际使用的以太网接口;

l 组态模式选择“使用程序块”

ca29d95cb9457353111b12707ac89e53.png

5

l 本地和伙伴的连接数据下拉框均选择“”,将分别创建各自的连接数据块“PLC_1_Receive_DB”和“PLC_2_Send_DB”,并自动创建各自的连接ID,此处均为1

l 当创建完连接数据块后,连接类型即可选择,本例中使用的连接类型为“TCP”。

l 如果1500 CPU作为TCP连接服务器端,则在伙伴侧选择“主动建立连接”;如果1500 CPU作为客户端,则在本地侧选择“主动建立连接”,本例程设计为1500CPU作为TCP服务器端;

ac84300ce630180369183e567bb09f18.png

6

l 1500 本地端口设为2000,用于侦听来自客户端317CPU的TCP连接请求;

l 伙伴端口是317CPU客户端向服务器端发起建立连接请求时使用的端口号,此处不填表示客户端可使用任意端口;

b6f1ef5542eba43e5734906d579eb06c.png

7

选择“属性”页下“组态”中“块参数”:

l EN_R设置为TRUE,保持接收;

l CONT = 1,保持连接;

l 确认CONNECT指针指向"PLC_1_Receive_DB"

l 将步骤1中预定义的接收DB数组作为起始地址;

769cad2f8b5cde5782e22a28c411a9a1.png

8

将指令TSEND拖拽至OB1的程序段2中,根据提示操作添加背景数据块“TSEND_DB”,

填写TRCV参数:

l 设置“Tag_1”(%M0.0)作为REQ触发信号,上升沿有效;

l ID参数为TSEND_C创建连接时系统自动生成的连接ID号(见步骤5),此处为1;

l LEN参数此处设置为接收10个字节。

DATA参数使用步骤2中预定义的发送DB数组“"发送数据区".SendBuff”。

75b2a571c9e3b08a4f3ec401bb00d19a.png

9

参照步骤1和2,在PLC_2下添加发送数据区DB2,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义),添加接收数据区DB3,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义)

83ff08f2c3a2101a4a2f57355af9d2b9.png

10

打开OB1,将指令TCON拖拽至OB1的程序段1,根据提示操作添加背景数据块“TCON_DB”。

4a3a8085f6729bb99cff25fbb92d29ae.png

11

在巡视窗口下选择“属性”,“组态”下的“连接参数”:

l 伙伴选择“PLC_1”;

l 接口选择CPU实际使用的以太网接口;

l 连接类型选择TCP;

l 连接数据选择步骤5生成的连接DB,本地为“PLC_2_Send_DB”,伙伴为“PLC_1_Receive_DB”;

0bd7035c6f9914eb409a50ff6c113087.png

12

设置“Tag_1”(%M0.0)作为REQ触发信号,上升沿有效;

44b469d68edbac2493ec8d0f2d93b6c9.png

13

继续将TSEND和TRCV指令分别拖拽至程序段2和程序段3,根据提示添加相应的背景数据块

TSEND参数:

l REQ:Tag_2(M0.1)上升沿有效

l ID:参看步骤11的本地ID,此处为1;

l LEN:10字节

l DATA:"发送数据区".SendBuff;

TRCV参数:

l EN_R:设置为TRUE,由M0.2简单逻辑实现;

l ID:参看步骤11的本地ID,此处为1;

l LEN:10字节;

l DATA:"接收数据区".RecvBuff

e0f2ee3fd11e1e35c10092bceb3f47ac.png

表5 T_BLOCK编程

3.4 下载组态到站点

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

b5601654f7ede465fda85c96cc1d4f64.png

图 2 下载站点配置

下载对话框设置

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

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

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

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

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

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

4fc06f8209e029fe494021229ab24fc4.png

图 3下载对话框

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

4. TCP通信测试

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

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

b495bf670e606d138bdac710adced930.png

图4 创建监视变量表

70c5ad0689618520e718fabd826334a2.png

图5 检测连接状态

PLC_2下M0.1从0→1→0,PLC_2发送10字节到PLC_1,如图6所示PLC_1能正确接收PLC_2发送的数据;类似PLC_2下M0.0从0→1→0,PLC_1发送10字节到PLC_2,PLC_2也能正确接收PLC_1发送的数据。

93a8dd809890926fdf5c8336ca5bd673.png

图6 数据收发测试

免责声明:本文系网络转载或改编,版权归原作者所有!

a76ca8850f6fafae20ab9ae0eab3bcb9.png

免费学习PLC编程技术,包吃住还有工资...

加微信号“15021230050”,邀请您加入“信控电气”微信群。

点击“阅读原文”,加入超级工控技术群:818836855




推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 交换机配置:intg100unshintvlani1ipadd192.168.56.177qstelseuser-iv4authaaaproinsshupl3qsshuserpyt ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
  • HSRP热备份路由器协议的应用及配置
    本文介绍了HSRP热备份路由器协议的应用及配置方法,包括设计目标、工作原理、配置命令等。通过HSRP协议,可以实现在主动路由器故障时自动切换到备份路由器,保证网络连通性。此外,还介绍了R1和R2路由器的配置方法以及Sw1和Sw2交换机的配置方法,最后还介绍了测试连通性和路由追踪的方法。 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • 用户视图(查看运行状态或其他参数)系统视图(配置设备的系统参数)system-viewEntersystemview,returnuservi ... [详细]
author-avatar
书友74972801
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有