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

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

3天内不再提示

S7-1500做服务器端与三方设备的TCP通信

laidenongfhs 来源:中泰PLC自动化教学 2023-07-24 15:40 次阅读

1. 概述

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

2.网络拓扑结构

1500 PLC(192.168.0.1/24)与 PC(192.168.0.2/24)进行OPEN IE TCP通信。1500 PLC作为TCP通信连接的服务器端。

3.组态配置

3.1分配IP

684b4562-29f4-11ee-a368-dac502259ad0.jpg

分配PLC的IP

6865a704-29f4-11ee-a368-dac502259ad0.jpg

689154c6-29f4-11ee-a368-dac502259ad0.jpg

68b1f884-29f4-11ee-a368-dac502259ad0.jpg

3.2创建PLC项目

68cc9ab8-29f4-11ee-a368-dac502259ad0.jpg

68e44528-29f4-11ee-a368-dac502259ad0.jpg

68fd7eee-29f4-11ee-a368-dac502259ad0.jpg在项目树1500_TCP_Server下点击“添加新设备”。

输入设备名称TCP_Server并组态控制器,SIMATIC S7-1500下的CPU1511-1PN, 选择实际使用CPU的订货号以及版本号,本案例使用的是6ES7590-1AF30-0AA0V1.7,点击“确认”后进入设备视图。

6913c4e2-29f4-11ee-a368-dac502259ad0.jpg

693e4df2-29f4-11ee-a368-dac502259ad0.jpg

3.3TCP通信编程

添加新块,类型为全局DB,创建发送数据区DB1,并定义10个字节的数组数据为发送区。区大小根据实际应用定义)

6962dabe-29f4-11ee-a368-dac502259ad0.jpg

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

697d07ae-29f4-11ee-a368-dac502259ad0.jpg

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

69978d04-29f4-11ee-a368-dac502259ad0.jpg

在巡视窗口下选择“属性”,“组态”下的“连接参数”:伙伴选择“未指定”;接口选择CPU实际使用的以太网接口;连接类型选择“TCP”组态模式选择“使用组态的连接”

69b660f8-29f4-11ee-a368-dac502259ad0.jpg

连接数据选择“<新建>”将自动创建“TCP连接166并自动生成连接ID,此处为256;由于CPU作为TCP连接服务器端,所以在伙伴侧选择主动建立连接伙伴地址表示允许与TCP服务器建立连接的客户端IP地址,此处未填表示允许任意有效的IP地址。本地端口是TCP服务器端使用的端口号,此处为2000,用于侦听来自客户端的TCP连接请求;伙伴端口是客户端向服务器端发起建立连接请求时使用的端口号,此处不填表示客户端可使用任意端口;

69cc5566-29f4-11ee-a368-dac502259ad0.jpg

选择“属性”页下“组态”中“块参设置“Tag_1”(%M0.0)作为REQ触发信号,上升沿有效;CONT = 1,保持连接;将步骤1中预定义的发送DB数组作为起始地址;设置发送字节长度,此处为10个字节;

6a07027e-29f4-11ee-a368-dac502259ad0.jpg

将指令TRCV拖拽至0B1的程序段2中根据提示操作添加背景数据块TRCV_DB”,填写TRCV参数:EN R设置为TRUE,保持接收;ID参数为TSEND C创建连接时系统自动生成的连接ID号(见步骤5),此处为256LEN参数此处设置为接收10个字节。DATA参数使用步骤2中预定义的接收DB数组。

6a2731fc-29f4-11ee-a368-dac502259ad0.jpg

3.4下载组态到站点

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

6a55ed80-29f4-11ee-a368-dac502259ad0.jpg

下载对话框设置

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

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

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

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

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

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

6a6ebd92-29f4-11ee-a368-dac502259ad0.jpg

4.TCP 通信测试

在PC上启动TCP客户端程序,设置服务器地址为192.168.0.1,端口号为2000.建立TCP连接。在“网络视图”下的在线监视中可查看TCP连接的状态,如图所示选择工作区列表的“连接”页面,选择组态的连接“TCP 连接 1”,在巡视窗口中选择“诊断”页面下面的“连接信息”->“连接详细信息”下可查看到在线状态“已连接。

6a9541c4-29f4-11ee-a368-dac502259ad0.jpg

在“连接地址详细信息”处可查看连接双方的的IP 地址及端口号。

6aba5b1c-29f4-11ee-a368-dac502259ad0.jpg

TCP连接建立后可通过“Tag_1”(%M0.0)脉冲信号将发送数据区的数据发送到 TCP客户端,在接收数据区可查看 TCP 客户端发给 S7-1500 的数据。

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

    关注

    18

    文章

    5706

    浏览量

    134391
  • 服务器
    +关注

    关注

    12

    文章

    8116

    浏览量

    82509
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1271

    浏览量

    78291
  • S7-1500
    +关注

    关注

    3

    文章

    298

    浏览量

    5843

原文标题:4.TCP 通信测试

文章出处:【微信号:中泰PLC自动化教学,微信公众号:中泰PLC自动化教学】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于S7-1500 CPU集成PN口的Modbus TCP通信快速入门

    S7-1500 PLC需要通过TIA Portal博途软件进行组态配置,从TIA Portal V12SP1开始软件中增加了S7-1500的Modbus TCP块库,用于S7-1500
    发表于 11-21 17:05 3425次阅读

    用队列实现的1对N的TCP服务器端,自动回复信息总发错客户

    本帖最后由 kaneiqi1210 于 2014-7-17 12:43 编辑 如题,我仿照教材用队列TCP一对多的服务器端,在1对1时,没问题,而在1对多时,就出现,自动回复
    发表于 07-17 09:31

    qt tcp程序在服务器端发送数据之前能接收客户发送的数据吗?

    写了一个tcp的客户服务器端,是服务器端给客户发送文件,但是我想在服务器端发送之前先让客户
    发表于 04-22 20:06

    PC访问服务器 并读取服务器端的数据 怎么写啊?

    PC访问服务器并读取服务器端的数据 怎么写啊? 需要访问数据库吗?听说还要服务器那边的用户名和密码才能访问数据库不需要两台pc机的通信的程
    发表于 07-27 09:00

    labview和 读码的以太网通信 (没有服务器端的程序)

    :192.168.100.10)用读码自带的设置软件在电脑上可以发现并设置两台读码, 问题来了:说明书上写可以用TCP,SOCKET通信,但是只有电脑上有客户端接收数据的程序,而读
    发表于 08-14 17:31

    请问gprs与服务器通信服务器端的程序怎么写?

    大家好,最近在做sim808芯片的gprs与服务器通信,用的是阿里云的服务器,请问一下服务器端的程序改怎么写?用VB吗?有没有相关的教程可以推荐一下,谢谢。
    发表于 04-17 23:22

    请问ESP8266设为AP的tcp服务器端如何一对多通信

    我用WiFi模块的AP模式当做TCP服务器来使用,然后用手机的网络助手创建了两个连接。然后在单片机上查询到的IP结果是一个为IPD0,一个为IPD1,对他们进行通信测试时,单片机发
    发表于 04-23 01:53

    为什么LWIP的TCP客户服务器端断开后继续发送数据就无法检测到连接状态?

    发现LWIP的TCP客户有个BUG,当服务器端开之后,如果还继续发送数据,那就不能检测到连接状态。求助求助
    发表于 10-29 20:26

    用freertos和LWIP开发一个服务器端TCP/IP服务

    我在工作中需要在STM32F2系列下,用freertos和LWIP开发一个服务器端TCP/IP服务。由于内存有限并且freertos不便于利用fork函数新建线程,因此采用了select模式编写
    发表于 08-24 07:30

    esp32C3用TCP连接问题,无法识别服务器端主动断开怎么解决?

    服务器端主动断开连接esp32C3用TCP的send函数仍能发送成功返回字节数,但服务器端已经无法收到数据。为何还能发送成功?这里如何判断服务器已断开从而进行断线重连?
    发表于 03-14 06:06

    JAVA教程之TCP服务器端

    JAVA教程之TCP服务器端,很好的JAVA的资料,快来学习吧
    发表于 04-11 17:28 10次下载

    基于SIMOTION和S7-1500TCP通信

    进行非实时的数据交换,本文以S7-1500 和SIMOTION 为例进行TCP 通信的介绍和配置的步骤说明。
    发表于 09-27 10:27 31次下载
    基于SIMOTION和<b class='flag-5'>S7-1500</b>的<b class='flag-5'>TCP</b><b class='flag-5'>通信</b>

    如何仿真博途S7-1500 OPC UA

    添加了一个OPC UA服务器进来,打开添加的OPC UA服务器,它已经找到S7-1500的OPC UA 服务器端
    的头像 发表于 02-07 10:23 2644次阅读
    如何仿真博途<b class='flag-5'>S7-1500</b> OPC UA

    西门子S7-1500 之间 S7 通信

    S7-1500S7-1500 之间 S7 通信 S7-1500 的 PROFINET 通信口可以做 S7
    的头像 发表于 05-29 14:04 4178次阅读
    西门子<b class='flag-5'>S7-1500</b> 之间 S7 <b class='flag-5'>通信</b>

    S7-1500之间S7通信实例

    S7-1500 的 PROFINET 通信口可以做 S7 通信服务器端或客户端。S7-1500 支持 S7单边
    的头像 发表于 06-01 09:25 2377次阅读
    <b class='flag-5'>S7-1500</b>之间S7<b class='flag-5'>通信</b>实例