S7-1200PLC 基于以太网的TCP通信_1200tcp通信案例-程序员宅基地

技术标签: 笔记  

硬件:cpu 1214C
目的:测试TCP通信
软件:Portal V14SP1

1. 硬件组态

插入两台cpu,分配IP地址,并在网络视图下将两个PLC的网口连接起来
PLC_1:192.168.0.20
PLC_2:192.168.0.21
将PLC_1作为客户端,PLC_2作为服务器端

2. PLC与PLC之间的TCP通信

(1). TCP 客户端编程

在PLC_1中新建一个DB块,创建两个数组ToPLC_2和FromPLC_2

在PLC_1的OB1中插入TSEND_C指令

引脚 说明
REQ 请求发送数据
CONT 为1时建立连接,为0时断开连接
DATA 存放发往PLC_2的数据
CONNECT 建立连接所需的相关参数,下面我们在组态中填写该引脚

选中TSEND_C指令,在组态→连接参数 界面,填写相关的连接参数
连接数据:新建PLC_1_Send_DB和PLC_2_Receive_DB
连接类型:选择TCP
连接ID:填入1
由于PLC_1作为客户端,选择主动建立连接,服务器端的端口号保持默认2000

插入TRCV指令,用于接收从PLC_2发送过来的数据

引脚 说明
EN_R 为1时启用接收功能
ID 填入连接ID
DATA 存放接收到的来自PLC_2数据
(2). TCP 服务器端编程

在PLC_2中新建一个DB块,创建两个数组ToPLC_1和FromPLC_1

在PLC_2的OB1中插入TRCV_C指令

引脚 说明
EN_R 为1时启用接收功能
CONT 为1时建立连接,为0时断开连接
DATA 存放接收到的来自PLC_1数据
CONNECT 建立连接所需的相关参数,组态如下
插入TSEND指令,使PLC_2每接收到一次来自PLC_1的数据,就触发一次TSEND指令
引脚 说明
REQ 请求发送数据
ID 连接ID
LEN 发送的数据长度,这里我们不指定长度,填入0
DATA 存放发往PLC_1的数据

3. PLC与第三方设备TCP通信

将PLC_1作为服务器端,SocketTool软件模拟客户端
SocketTool发送数据后,PLC_1根据收到的报文反馈相应数据

(1). PLC端编程

新建数据块,在数据块中建立变量
ToClientHexArry:13位Byte数组,每个Byte用于存放两位16进制字符
FromClinetHexArry:6位Byte数组,每个Byte用于存放两位16进制字符
FromClinetString:将FromClinetHexArry数组转换成字符串,便于赋值和比较
ToClientString:将ToClientHexArry数组转换成字符串,便于赋值和比较

在OB1中插入TRV_C指令

引脚 说明
EN_R 为1时启用接收功能
CONT 为1时建立连接,为0时断开连接
DATA 存放接收到的来自PLC_1数据
CONNECT 建立连接所需的相关参数,组态如下

伙伴:选择未指定
伙伴地址:输入计算机的IP地址,本机地址为192.168.0.232
连接数据:新建PLC_1_Receive_DB
端口号:默认2000
客户端选择主动建立连接

插入TSEND指令,
当PLC_1收到客户端发来的’010000000000’报文时,发送数据’05060A00010200100000000000’

(2). 利用SocketTool软件进行通信测试

打开SocketTool软件,选择TCP Client,单击创建

输入PLC_1的IP地址和端口号,点击确定

点击连接按钮,成功建立和PLC的通信连接

勾选下方的显示16进制值,在发送窗口中输入010000000000,点击发送数据
在上方数据接收窗口中可以看到从PLC回传过来的数据05060A00010200100000000000

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43922025/article/details/105442637

智能推荐

苹果录音功能在哪?iPhone自带录音功能的正确打开方式_苹果手机录音功能在哪-程序员宅基地

文章浏览阅读2w次。苹果手机的录音功能在哪?很多小伙伴平常会需要录音,但是在苹果手机中找不到这样的功能,如果你觉得苹果手机并没有这样的功能,那可是大错特错。在苹果手机里面,我们可以借助苹果手机的自带应用——语音备忘录进行录音。操作方法:1.打开苹果手机,在桌面应用中找到语音备忘录2.在界面上点击红色的按钮开始录音3.完成录音之后点击红色的按钮停止4.新录制完成的音频会自动保存在语音备忘录以iOS 1..._苹果手机录音功能在哪

基于VR技术的输电线路巡检仿真系统_vr 电力线路-程序员宅基地

文章浏览阅读1.5k次。基于VR技术,搭建电力输电仿真系统用于培训,提供用户沉浸式学习体验、交互式操作体验,VR设备能够提供沉浸式真实感的模拟场景,使得输电线路巡检内容视觉化,跨越了空间和时间的限制,有针对性的解决传统输电运检室对新员工培训的所遇到的困难.并且借助VR设备交互性特点,给学员提供误操作带来的严重后果的虚拟体验,目前高压电力设备的操作培训是基于实物进行的,不仅有较高的危险性,还不能辨别操作者是否规范操作。在输..._vr 电力线路

获取视频旋转角度,并对视频进行旋转_displaymatrix: rotation of -90.00 degrees-程序员宅基地

文章浏览阅读1.6w次。Android平台上录制视频时,如果是横屏录制(手机逆时针旋转90度),则录制的视频时不带角度的。如果是竖屏录制(正常的拿手机的姿势),此时的录制的视频的旋转角度是90度。如果再旋转90度,此时一般音量键和关屏键朝下,此时的视频的旋转角度是180。以此类推。所以在手机上的视频一般会有4中角度的视频,播放时,要对视频资源进行旋转后在进行播放。一般而言,带角度的视频和不带角度的视频,数据帧里面的宽_displaymatrix: rotation of -90.00 degrees

networkx读取csv,无法在Python中的networkx中加载一个简单的csv-程序员宅基地

文章浏览阅读191次。I am a complete noobie in Python, and I would like to study a dataset using the networkx package. I do not understand what is wrong here:I have a csv which looks like this (extract):['152027', '-6167'..._networdx 加载 csv

敏感词过滤与DFA算法Trie树_trie 和 dfa-程序员宅基地

文章浏览阅读9.2k次。关键字过滤 trie树_trie 和 dfa

NetLogon特权提升漏洞(CVE-2020-1472)复现_zerologon漏洞修复方法-程序员宅基地

文章浏览阅读2.4k次。简介CVE-2020-1472是一个windows域控中严重的远程权限提升漏洞,攻击者通过NetLogon,建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。影响版本Windows Server 2008 R2 for x64-based Systems Service Pack 1Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)Window.._zerologon漏洞修复方法

随便推点

【友云音】【问题排查记录-5】中间件启动异常_nc中间件一直打不开-程序员宅基地

文章浏览阅读1.1k次。问题现象NC中间件启动时一直卡在这个界面不进行加载。问题分析1、查看了ncSysconfig,发现了客户的jvm参数有一段异常。客户在部署的时候少填写了一段jar包。造成中间件启动异常。上面是正确写法,下面是异常填写。修改后启动正常。2、后续客户加上友云音的jvm参数后,发现中间件启动异常缓慢,之前启动中间件5min左右,现在启动了10min还在继续。于是查看了客..._nc中间件一直打不开

3dmax渲染卡光子、灯光缓存的处理方法-程序员宅基地

文章浏览阅读194次。有3dmax效果图渲染需求可以使用渲染100(注册填邀请码‘7788’可领券免费测试)检查灯光材质细分,全局细分,灯光缓存细分是否过高,如果参数过高,尝试调低参数渲染。可以试一下优化场景的工具,清理空物体、空代理、适当塌陷精简场景、清理场景垃圾等。、在vray全局开关勾选最大射线强度。通过隐藏或删除模型的方式逐步排查。、检查是否存在坡度渐变材质。、清理空物体等场景垃圾。

FPGA设计中,对SPI进行参数化结构设计_fpga spi spi_send-程序员宅基地

文章浏览阅读367次。今天给大侠带来FPGA设计中,对SPI进行参数化结构设计,话不多说,上货。为了避免每次SPI驱动重写,直接参数化,尽量一劳永逸。SPI master有啥用呢,你发现各种外围芯片的配置一般都是通过SPI配置的,只不过有三线和四线。SPI slave有什么用呢,当外部主机(cpu)要读取FPGA内部寄存器值,那就很有用了,FPGA寄存器就相当于RAM,cpu通过SPI寻址读写数据。代码仅供参考,勿做商业用途。SPI salveSPI salve支持功能: 支持三线SPI或者.._fpga spi spi_send

kettle-如何将作业(job)中设置的参数值,传递到子转换(ktr)脚本_kettle9.0 参数无法传递给子转换-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏16次。用途如何将作业(job)中设置的参数值,传递到子转换(ktr)脚本1、作业总体流程1.1、作业命名参数1.2、设置变量-步骤/* 如何将作业(job)中设置的参数值,传递到子转换(ktr)脚本功能:获取或设置变量作用域:仅当前作业(job)有效parent_job.setVariableparent_job.getVariable功能:获取或设置参数变量作用域:作业(..._kettle9.0 参数无法传递给子转换

Linxu界面之如何使侧边栏自动隐藏?(Ubuntu)_如何隐藏ubuntu侧边栏-程序员宅基地

文章浏览阅读5.5k次。如果你装了ubuntu桌面版就会发现默认情况下桌面左边会有一个侧边栏,从中我们可以启动一些软件,但是这个侧边栏一直显示在桌面左边不是很美观,还会占据桌面的的空间。我们可以使其自动隐藏起来,当我们需要时只要把鼠标放到桌面左边它就会出现。1. 系统设置-外观打开系统设置,打开外观选项2. 点击"行为"标签3. 打开自动"隐藏启动器&a_如何隐藏ubuntu侧边栏

JSP九大内置对象详解全析(三):session对象_session撖寡情-程序员宅基地

文章浏览阅读1.1w次,点赞11次,收藏68次。1、session对象概述 session对象是由服务器自动创建与用户请求相关的对象。服务器会为每一个用户创建一个session对象用来保存用户信息,跟踪用户操作。该对象内部使用Map类来保存数据,因此它的数据类型是key-value形式。对应javax.servlet.http.HttpSession.class对象。 服务器为不同的浏览器在内存中创建用于保存数据的对象叫seesio_session撖寡情

推荐文章

热门文章

相关标签