西门子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

相关文章

录音功能在哪里? 电脑手机等设备打开录音功能的技巧

《录音功能在哪里?电脑手机等设备打开录音功能的技巧》很多时候我们需要使用录音功能,电脑和手机这些常用设备怎么使用录音功能呢?下面我们就来看看详细的教程... 我们在会议讨论、采访记录、课堂学习、灵感创作、法律取证、重要对话时,都可能有录音需求,便于留存关键信息。下面分享一下如何在电脑端和手机端上找到录音功能

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

Linux之UDP和TCP报头管理方式

《Linux之UDP和TCP报头管理方式》文章系统讲解了传输层协议UDP与TCP的核心区别:UDP无连接、不可靠,适合实时传输(如视频),通过端口号标识应用;TCP有连接、可靠,通过确认应答、序号、窗... 目录一、关于端口号1.1 端口号的理解1.2 端口号范围的划分1.3 认识知名端口号1.4 一个进程

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github