S7-1200PLC通讯问题总结

文章目录

  • 一、硬件
    • 1.串口通信
      • RS232
      • RS485
      • RS422
    • 2.网口通信
  • 二、协议
    • 1.串口通信协议
    • 2.网口通信协议
  • 三、程序编写
    • 1.S7通信
      • PUT
      • GET
    • 2.开放式以太网通信


一、硬件

可分为PLC与PLC通信,PLC与上位机通信,PLC与变频器通信,PLC与仪器仪表通信,触摸屏与仪器仪表、变频器通信等等。

1.串口通信

RS232

只支持1对1通信;距离近,不允许远距离传输,15m左右;全双工,发送和接收同时进行,速度慢。
在这里插入图片描述

RS485

半双工,通讯速度较快;传输距离较远,3000m左右;支持1对多通信。优先选择RS485。
在这里插入图片描述

RS422

具备RS485的优点,但界限复杂,成本高。
在这里插入图片描述

2.网口通信

现阶段主流通信。

二、协议

1.串口通信协议

PPI通信,属于西门子内部通信协议;
MPI通信;
Profibus DP通信;
USS通信,用于西门子变频器通信;
Modbus通信。

2.网口通信协议

开放式以太网通信:TCP;
S7通信,西门子内部产品之间通信。

三、程序编写

1.S7通信

PUT

步骤:
1.组态CPU,并添加新子网;
在这里插入图片描述
2.点击“连接”,选择S7连接;
在这里插入图片描述
3.右键点击CPU,添加新连接,依次点击添加、关闭;
在这里插入图片描述
4.选中S7_连接_1,填写伙伴地址;
在这里插入图片描述
5.查看本地ID号;
在这里插入图片描述
6.勾选系统和时钟存储器,1HZ表示1秒触发1次;
在这里插入图片描述
7.在“连接机制”里,勾选“允许来自远程对象的PUT/GET通信访问”;
在这里插入图片描述
8.新建一个DB块“PUT”,用于存储要发送的信息,取消“优化的块访问”,并添加如下变量;
在这里插入图片描述
9.在主程序块Main中调用PUT指令;
其中:
REQ表示触发信号;
ID表示本地ID号;
ADDR_1表示对方接收的数据,填写对方PLC存储区地址和要发送的字节数,只能以字节形式填写,如果发送的数据类型不是字节,则需要计算一下发送的数据占几个字节,这里发送DB块“PUT”中的数据,4个real型,转换成Byte后有16个;
SD_1表示要发送的数据,填写己方存储区地址和要发送的字节数。
在这里插入图片描述
在这里插入图片描述

GET

1.组态过程和PUT类似;
2.建立一个新的DB块“GET”,用于存储接收到的信息,取消“优化的块访问”,并添加如下变量;
在这里插入图片描述
3.在主程序块Main中调用GET指令;
其中:
ADDR_1表示对方发送的数据的存储区地址;
RD_1表示读取到的数据在己方的存储区地址。
在这里插入图片描述
在这里插入图片描述

2.开放式以太网通信

步骤:
1.组态两个CPU,两台均设置为“暖启动-RUN”;
在这里插入图片描述
2.勾选系统和时钟存储器;
3.在“连接机制”里,勾选“允许来自远程对象的PUT/GET通信访问”;
4.假设第一台PLC作为发送端,则在该CPU下新建一个DB块Send,取消优化的块访问,并添加如下变量;
在这里插入图片描述
5.在主程序块Main中调用TSEND_C指令,并组态;
在这里插入图片描述
在这里插入图片描述
6.第二台PLC为接收端,在该CPU下新建一个DB块Receive,取消优化的块访问,并添加如下变量;
在这里插入图片描述
7.在主程序块Main中调用TRCV_C指令,并组态;
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/458825.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构——单链表详解

目录 前言 一.什么是链表 1.概念 ​编辑 2.分类 二.单链表的实现(不带头单向不循环链表) 2.1初始化 2.2打印 2.3创建新节点 2.4头插、尾插 2.5头删、尾删 2.6查找 2.7在指定位置之前插入 2.8在指定位置之后插入 2.9删除pos位置 2.10删除pos之后的 2.11销毁链表…

风丘EV能量流测试解决方案 提高电动汽车续航能力

电动汽车(EV)近些年发展迅猛,已被汽车业内普遍认为是未来汽车发展的新方向,但现如今电动汽车仍然存在一些短板,导致其还无法替代传统燃油车。对此,首先想到的肯定就是电动车的续航问题。其实解决电动车续航…

锁(二)队列同步器AQS

一、队列同步器AQS 1、定义 用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。是实现锁的关键。 2、实现 同步器的设计是基于模板方法模式的,也就是说&#…

社交媒体数据治理:Facebook的隐私与透明度

在数字化时代,社交媒体平台扮演着连接人们、传播信息的关键角色。然而,随着社交媒体数据的积累和应用,数据治理的议题逐渐引起了社会的广泛关注。本文将深入探讨Facebook在社交媒体数据治理方面的举措,特别关注其在隐私保护和透明…

Vue代理模式和Nginx反向代理(Vue代理部署不生效)

在使用axios时,经常会遇到跨域问题。为了解决跨域问题,可以在 vue.config.js 文件中配置代理: const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: {port: 7070,prox…

PMP证书含金量如何?到底有啥用处?

接下来就为大家对PMP的一些入门问题做个解答。 01PMP是什么? | PMP是指项目管理专业人士资格认证。 | 美国项目管理协会(PMI)举办的项目管理专业人员(PMP)认证考试。 | 是目前项目管理领域含金量很高的认证。 国内…

实例分割论文阅读之:《Mask Transfiner for High-Quality Instance Segmentation》

1.摘要 两阶段和基于查询的实例分割方法取得了显著的效果。然而,它们的分段掩模仍然非常粗糙。在本文中,我们提出了一种高质量和高效的实例分割Mask Transfiner。我们的Mask Transfiner不是在规则的密集张量上操作,而是将图像区域分解并表示…

cesium系列篇:Entity vs Primitive 源码解析(从Entity到Primitive)02

上篇文章中,我们介绍了使用viewer.entities.add添加entity之后的信号传递以及最后entity对象被传递到GeometryVisualizer; 这篇文章,我们则介绍如何在逐帧渲染的过程中根据GeometryVisualizer中的entity对象创建相应的primitive 这是下文中…

C语言中的内存函数你知道多少呢?

目录 ​编辑 1. memcpy的使用和模拟实现 1.1函数介绍 ​编辑 1.2函数的使用 1.3模拟实现 2. memmove的使用和模拟实现 2.1函数介绍 2.2函数的使用 2.3模拟实现 3. memset函数的使用 3.1函数介绍 3.2函数的使用 ​编辑 4. memcmp函数的使用 4.1函数介绍 4.2函数…

漏电流的检测要求和理解

漏电流的检测要求和理解 简介漏电流的产生和效应标准要求漏电流的试验漏电流与电磁兼容的关系小结 简介 漏电流是指非功能性电流,是非期望的会引起安全方面危险的电流。漏电流表明了设备中电气绝缘起到防电击作用具有的性能,以使穿过电气绝缘的电流控制…

基于spring cloud alibaba的微服务平台架构规划

平台基础能力规划(继续完善更新…) 一、统一网关服务(独立服务) 二、统一登录鉴权系统管理(独立服务) 1.统一登录 2.统一鉴权 3.身份管理 用户管理 角色管理 业务系统和菜单管理 部门管理 岗位管理 字典管…

3D Slicer-最强大的开源医学图像分割工具简要概述

3D Slicer-最强大的开源医学图像分割工具简要概述 本系列涵盖从 3D Slicer 医学图像查看器的基础使用到高级自动分割扩展程序的内容(从入门到高阶!),具体包括软件安装、基础使用教程,自动分割扩展(totalse…