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

相关文章

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

电脑提示msvcp90.dll缺少怎么办? MSVCP90.dll文件丢失的修复方法

《电脑提示msvcp90.dll缺少怎么办?MSVCP90.dll文件丢失的修复方法》今天我想和大家分享的主题是关于在使用软件时遇到的一个问题——msvcp90.dll丢失,相信很多老师在使用电脑时... 在计算机使用过程中,可能会遇到 MSVCP90.dll 丢失的问题。MSVCP90.dll 是 Mic

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触