【边缘计算网关教程】4.西门子PPI协议对接

news2024/9/22 7:25:32

前景回顾:【边缘计算网关教程】3.创建第二个流程-CSDN博客

目录

1. 硬件连接

2. PLC串口参数

   2.1. 打开STEP7软件

   2.2. 查看通信参数

3. 网关设置

   3.1. PLC连接设置

   3.2. 数据点位设置

   3.3. 测试


西门子 PPI 协议

适配PLC:S7-200

西门子S7-200 PLC没有网口,只有串口。串口通信使用的是PPI协议,以下主要讲解EG8200Mini使用PPI协议读取西门子S7-200 PLC的数据。

1. 硬件连接

EG8200Mini和西门子S7 200通信之前,必须保证接线正确。PPI采用的是485通信,具体接线为3脚接A,8脚接B:

实际接线图如下:红色是RS485A接S7 200的3脚,蓝色是RS485B接S7 200的8脚

2. PLC串口参数

   2.1. 打开STEP7软件

   2.2. 查看通信参数

可以看到站号是2,波特率是9600,后面网关配置需要使用该参数

3. 网关设置

   3.1. PLC连接设置

从左侧拖入一个Siemens节点,双击打开设置页面,根据PLC的串口参数填写配置如下:

协议:选择PPI串口:选择RS485-1,根据实际硬件连接选择波特率:9600数据位:8停止位:1校验位:EVEN通讯超时:2000串口分帧:100,单位ms,串口分帧时间根据实际情况填写,推荐50-100ms站号:2

按照如上设置好PLC的连接信息,此时点击部署后,可以看到PLC显示状态就绪:

   3.2. 数据点位设置

通常情况下,可以在Siemens节点的参数列表内填写要读取的数据点,数据点填写完成后,会按照设定的频率自动读取PLC的点位。本示例采用了高级的方案,以函数的方式来读取PLC的点位,此方案的好处是可以动态修改要读取的数据点。

拖入一个函数节点,复制如下代码:

msg.payload = []msg.payload[0] = {}msg.payload[0].func = "ReadBool"msg.payload[0].body = {}msg.payload[0].body.name = "I0.5"msg.payload[0].body.address = "I0.5"msg.payload[0].body.length = 1return msg;

这段代码的意思是:使用“ReadBool”方法读“I0.5”地址的1个Bool量,结果存在名字为“I0.5”的变量中。其中length表示一次性可以读多个连续地址的值。msg.payload是一个数组,你也可以一次性读多种不同类型的数据。所有可调用的方法,可参考节点介绍:

示例如下:

   3.3. 测试

拖入一个注入节点和调试节点,如图所示,点击注入节点,观察读到的数据点结果为:I0.5:true,通信成功

参考见:https://mp.weixin.qq.com/s/BttiBr5jWNeMYQMI_aG-BA-成都纵横智控

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫之路(2):爬天气情况

hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:绝命Coding-CSDN博客 &a…

Stable Diffusion 深度探索:从入门到精通的全方位教程

在人工智能艺术创作的浪潮中,Stable Diffusion 作为一股不可忽视的力量,正以其独特的魅力吸引着无数创作者和科技爱好者的目光。本文旨在为大家提供一份详尽的 Stable Diffusion 教程,从基础概念到高级应用,带领你一步步走进这个充…

k8s record 20240710 监控

不是adaptor 是opetator 案例 监控有了,日志搜集呢? 一、kubelet 的小弟 kubelet — 负责维护容器的生命周期,节点和集群其他部分通信 cAdvisor 集成在 Kubernetes 的 kubelet 中,能够自动发现和监控集群中所有的容器。dockers…

基于SpringBoot+Vue的数码论坛系统(带1w+文档)

基于SpringBootVue的数码论坛系统(带1w文档) 基于SpringBootVue的数码论坛系统(带1w文档) 数码论坛系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知数码论坛系统的便捷高效,不仅为用户提供了服务,而且也推广了自己&…

SpringBoot整合JWT示例教程

1. JWT简介 JSON Web Token (JWT) 是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为 JSON 对象安全地传输信息。由于这些信息是经过数字签名的,因此可以被验证和信任。JWT 通常用于身份验…

深度学习论文: YOLOv5, YOLOv8 and YOLOv10: The Go-To Detectors for Real-time Vision

深度学习论文: YOLOv5, YOLOv8 and YOLOv10: The Go-To Detectors for Real-time Vision YOLOv5, YOLOv8 and YOLOv10: The Go-To Detectors for Real-time Vision PDF:https://arxiv.org/pdf/2407.02988v1 PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks 1 概…

51单片机-第三节-LCD1602调试工具,矩阵键盘

一、LCD调试工具函数: 使用: 所有函数,前两个参数,均为指定显示位置。 四个参数的,第四个参数,为保留位数,少的保留后面(123,2 -> 23),多的前面补零。 …

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《天气数据驱动下基于深度主动学习的新型电力系统供需失衡风险快速评估方法 》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Apache-Flink未授权访问高危漏洞修复

漏洞等级 高危漏洞!!! 一、漏洞描述 攻击者没有获取到登录权限或未授权的情况下,或者不需要输入密码,即可通过直接输入网站控制台主页面地址,或者不允许查看的链接便可进行访问,同时进行操作。 二、修复建议 根据业务/系统具体情况,结合如下建议做出具体选择: 配…

产品经理-研发流程-敏捷开发-迭代-需求评审及产品规划(15)

敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。 通俗来说,敏捷开发是一个软件开发流程,是一个采用了迭代方法的开发流程 简单来说,迭代就是把一个大产品拆分出一些最小的实现单位。完成不同的迭代就最…

交易平台Zero Hash现已支持SUI交易

Zero Hash是一家领先的加密货币和稳定币基础设施平台,为包括Stripe、Shift4和Franklin Templeton在内的公司提供支持,现在也支持对SUI的访问。此举使Zero Hash的客户及其终端用户能够使用SUI。 提供API和SDK以及专注于无缝连接法币、加密货币和稳定币的…

Python | Leetcode Python题解之第231题2的幂

题目: 题解: class Solution:BIG 2**30def isPowerOfTwo(self, n: int) -> bool:return n > 0 and Solution.BIG % n 0

【Redis】哨兵(sentinel)

文章目录 一、哨兵是什么?二、 哨兵sentinel文件参数三、 模仿主机redis宕机四、哨兵运行流程和选举原理SDOWN主观下线ODOWN客观下线 五、 使用建议 以下是本篇文章正文内容 一、哨兵是什么? 哨兵巡查监控后台master主机是否故障,如果故障了…

PostgreSQL 如何应对因大量并发删除操作导致的性能问题?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 如何应对因大量并发删除操作导致的性能问题一、优化索引二、批量删除三、分区表四、调整参…

kotlin数据类型

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 Kotlin基本数值类型 基本数据类型包括 Byte、Short、Int、Long、Float、Double 整数类型 类型位宽最小值最大…

GloVe: Global Vectors for Word Representation论文笔记解读

基本信息 作者Jeffrey Penningtondoi10.3115/v1/D14-1162发表时间2014期刊EMNLP网址https://aclanthology.org/D14-1162.pdf 研究背景 1. What’s known 既往研究已证实 全局矩阵分解方法:LSA,考虑整个语料库词频的统计信息得到共现矩阵,通…

访问 Postman OAuth 2.0 授权的最佳实践

OAuth 2.0 代表了 web 安全协议的发展,便于在多个平台上进行授权服务,同时避免暴露用户凭据。它提供了一种安全的方式,让用户可以授权应用程序访问服务。 在 Postman 中开始使用 OAuth 2.0 Postman 是一个流行的API客户端,支持 …

FlinkModule加载HiveModule异常

HiveModule这个模块加载不出来 加在不出来这个模块&#xff0c;网上查说是要加下面这个依赖 <dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-hive_${scala.binary.version}</artifactId><version>${flink.…

.Net Core 微服务之Consul(二)-集群搭建

引言: 集合上一期.Net Core 微服务之Consul(一)(.Net Core 微服务之Consul(一)-CSDN博客) 。 目录 一、 Consul集群搭建 1. 高可用 1.1 高可用性概念 1.2 高可用集群的基本原理 1.3 高可用集群的架构设计 1.3.1 主从复制架构 1.3.2 共享存储架构 1.3.3 负载均衡…

三维空间中的旋转方向(blender坐标系、python中两种旋转方式、VTK坐标系)

在三维空间中&#xff0c;旋转的方向 通常遵循右手定则&#xff08;右手螺旋法则&#xff09;&#xff1a; 右手握住旋转轴&#xff0c;拇指指向轴的正方向。 其余手指弯曲的方向就是正旋转方向&#xff08;被视为逆时针旋转&#xff09;。 当旋转角度为正值&#xff08;如90度…