西门子PLC1200--与电脑连接的TCP通讯

2024-06-20 02:04

本文主要是介绍西门子PLC1200--与电脑连接的TCP通讯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本例演示将PLC作为服务器,电脑作为客户端,进行通讯。
反过来也是一回事,就不啰嗦了。
二者进行TCP通讯,是基于网线的,电脑上用的是网口,PLC上用的是Profinet接口,即PN口。

软件工具准备

西门子PLC的开发环境是博途V18
TCP调试助手工具,其实任意一个调试助手都可以。

IP地址和端口的概念

IP地址就是你的电脑在网络上的地址,形象化的理解,就是你家住的小区的邮政地址,即XX省XX市XX区XX路XX号。通过IP地址可以找到具体的每一台电脑,但是不再继续精确了。
如果要找到具体你家怎么办呢,那就给小区的每户都分配一个编号,每个应用程序要使用网络的时候,就请求使用一个唯一的编号,这样就可以对应到每个具体的应用程序了。
但这个端口号,不是随便用的,有一些被用来实现系统的固定功能,比如HTTP通讯用到的8080端口,TELNET用到的23端口等,
西门子1200PLC的端口是2000到5000(如果记错了请告知)

通讯过程

这个过程就像我们平时上网一样,网站的服务器平时都处于等待状态,我们需要连接网站服务器时,就由我们的电脑主动发起连接,去进行通讯。所以一定是服务器Server端(S端)去侦听端口,客户端Client(C端)主动建立连接,建立完成后,客户端发送数据就可以被服务器端收到。

本例中PLC作为服务器,去侦听一个端口,端口号2000。
电脑作为主动发起通讯的客户端,来主动创建一个连接。

所以服务器端的IP地址是一定要知道的,本例中是192.168.2.222。
常规上网时,客户端的IP地址不重要,因为我们使用的是TCP/IP协议,在TCP/IP协议中就会将客户端的IP地址等一系列信息打包,在服务器端收到数据后会拆包,得到一些基础信息,以及我们发送的数据,在做数据返回时,就会知道数据到底发到哪里。

但在本例中,PLC不允许连接任意地址,只对特定IP地址的客户端进行连接,所以在PLC编程时,要将电脑的IP地址填入。电脑的IP地址可以通过下图查到:
在这里插入图片描述
在这里插入图片描述

端口号需要事先约定好,本例中是2000。

PLC端的编程

这部分很简单,用梯形图就可以了。
我们使用“开放式用户通信–其他”中的2个控件,
将TCON拖入程序段1
将TRCV拖入程序段2
接下来就是对2个控件进行设置

组态设备

本例使用1212DCDCDC,将其拖入组态界面
在这里插入图片描述
双击设备,在下方属性界面继续设置
1 添加新子网PN/IE_1
2 IP地址192.168.2.222,子网掩码255.255.255.0
在这里插入图片描述
3 开启系统存储位和时钟存储位
在这里插入图片描述
至此组态完成,开始编程。

TCON控件

先点击TCON控件的如下图标
在这里插入图片描述
在下面的属性设置窗口进行通讯连接设置:
1 连接参数中按下图进行设置
在这里插入图片描述
说明一下,192.168.2.222是本PLC地址,192.168.2.111是电脑地址
“连接数据”下拉,选择新建,连接ID为1
伙伴为未指定,并由伙伴进行主动连接,
说明本PLC是作为服务器等待连接,伙伴(即电脑)作为客户端主动发起连接。
2 REQ选择FirstScan,即上电就启动侦听,以等待连接

新建一个变量表

将需要的变量放在这里,本例中没有用到发送,所以无需发送结构体
在这里插入图片描述

TRCV控件

按下图设置好TRCV控件
在这里插入图片描述
注意ID要和TCON中的ID设置成一样

PLC下载并运行

启动在线调试模式,双击我的变量表,并开启监控数据
在这里插入图片描述
此时PLC作为服务器,设置并启动完成,正在等待客户端进行连接和通讯。

联机调试

电脑端设置IP地址为192.168.2.111
打开TCP调试助手
点击TCP Client
主机地址:192.168.2.222
主机端口:2000
点击连接网络
在这里插入图片描述
可以看到绿灯亮起,说明连接建立成功。

以文本方式发送数据

输入数据,并点击手动发送按钮
在这里插入图片描述
在PLC的数据监控页面,可以看到接收到的数据
在这里插入图片描述

以16进制方式发送数据

在这里插入图片描述
接收到的数据如下:
在这里插入图片描述

这篇关于西门子PLC1200--与电脑连接的TCP通讯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076788

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

宝塔安装的MySQL无法连接的情况及解决方案

《宝塔安装的MySQL无法连接的情况及解决方案》宝塔面板是一款流行的服务器管理工具,其中集成的MySQL数据库有时会出现连接问题,本文详细介绍两种最常见的MySQL连接错误:“1130-Hostisn... 目录一、错误 1130:Host ‘xxx.xxx.xxx.xxx’ is not allowed

电脑提示Winmm.dll缺失怎么办? Winmm.dll文件丢失的多种修复技巧

《电脑提示Winmm.dll缺失怎么办?Winmm.dll文件丢失的多种修复技巧》有时电脑会出现无法启动程序,因为计算机中丢失winmm.dll的情况,其实,winmm.dll丢失是一个比较常见的问... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

C#使用MQTTnet实现服务端与客户端的通讯的示例

《C#使用MQTTnet实现服务端与客户端的通讯的示例》本文主要介绍了C#使用MQTTnet实现服务端与客户端的通讯的示例,包括协议特性、连接管理、QoS机制和安全策略,具有一定的参考价值,感兴趣的可... 目录一、MQTT 协议简介二、MQTT 协议核心特性三、MQTTNET 库的核心功能四、服务端(BR

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程