工业自动化控制通信协议Profinet系列-1、了解Profinet协议及收集资料

news2024/11/20 11:50:43

工业自动化控制通信协议Profinet系列-1、了解Profinet协议及收集资料

文章目录

  • 工业自动化控制通信协议Profinet系列-1、了解Profinet协议及收集资料
    • 一、前言
    • 二、Profinet了解及资料收集
      • 1. 资料
      • 2. PROFINET到底是什么?
      • 3. 网络模型
      • 4. 应用场景
    • 三、接下来

一、前言

最近需要对profinet协议进行测试,获取对应协议的网络环境信息,比如带宽、时延等信息,在了解了一些资料后发现profinet主要使用在工业自动化领域,最终牵扯到一些PLC的内容,这让我回忆起大学学习PLC的一些场景,禁不住有一些感慨,一晃已经差不多有10年光景了,不由有些恍惚,时间过的真快。言归正传,已经记不得当时用的哪家的PLC了,只依稀记得使用梯形图编程的,做了可视化的界面控制电机,课程时间大概是一个学期,学完就做了一些实验项目,在毕业后就基本再没有接触过PLC的项目。目前从学习研究Profinet的过程中发现了一种软PLC的方案CoDeSys,在搭建Profinet的实验室环境时这种软PLC的方案感觉还是很不错的,降低了PLC的学习门槛,对于想要学习熟悉PLC的人来说都是一个不错的选择,不仅如此,这对PLC的标准化和规模化推广都是很有用的,不得不感慨一下这种开放性的思想真的很重要,PLC想要像单片机甚至树莓派这些硬件设备一样在生活各种场景都推广使用的话这种标准化、开放式的软PLC模式是一种很巧妙的思路,国内目前对这种方案基本呈现两种态度,一种积极拥抱,一种斥排斥态度,甚至有威胁论,这里不过多讨论,但就个人感觉自己不去做只一味排斥的做法多少有点固步自封的意味。
扯远了,这里想要继续研究Profinet,除了花费几百上千买设备搭环境外,接触CodeSys搭建软PLC场景是很必要的一步,也是很省钱的一步,因此,除了收集Profinet的资料外,我这里也收集一些CoDeSys的资料,所以这里的总结也分为两大系列:“Profinet系列”和“CoDeSys系列”。对于PLC工程师,Profinet和CoDeSys的研究可以更深入一些细节,个人觉得这种方案就类似于搭建虚拟机学习Linux一样方便快捷,对于学习和研究很有帮助(设想一下,也许什么时候也会有软单片机方案了,至于软树莓派?其实已经有了,树莓派的desktop,对于几百的树莓派买不起可以先装个虚拟机玩一下),我们这里只针对搭建我们需要的网络测试场景做相关的总结,不对一些细节做过多的了解和总结,有需要的同学可以找更多的资料去学习研究。

二、Profinet了解及资料收集

1. 资料

除了维基百科等常见百科网站的介绍,这里有一些文章对profinet的介绍相对简洁易懂:
https://us.profinet.com/profinet-explained/
https://www.mrchip.cn/newsDetail/3317
https://zhuanlan.zhihu.com/p/79650737
http://pi-china.org.cn/pn_university/?id=57
https://www.founderchip.com/?id=341
这个是网上找到的开源库p-net,适用于嵌入式设备的profinet堆栈的库和教程,对应的基于树莓派、STM32/FreeRTOS、RT-Kernel、CodeSys软PLC的教程都很实用,后续的应用开发和抓包分析过程主要是参考的这里:
https://github.com/rtlabs-com/p-net
https://rt-labs.com/docs/p-net/tutorials/

2. PROFINET到底是什么?

PROFINET 是基于国际标准的开放式工业以太网解决方案。它是一种通信协议,旨在在自动化设置中在控制器和设备之间交换数据。它于 2000 年代初推出,是最广泛采用的工业以太网解决方案。
由于 PROFINET 是一个开放标准,数百家制造商开发了 PROFINET 产品,例如 PLC、PAC、驱动器、机器人、代理、IO 和诊断工具。
为了满足不同场景,除了基础的PROFINET RT,还有PROFINET IRT和PROFINET over TSN。

3. 网络模型

位于ISO/OSI模型的第七层,应用层:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
● 面向应用层-应用层:应用
● 面向应用层-表示层:信息的格式化和编码
● 面向应用层-会话层:通信的同步和控制
● 面向传输层-传输层:设备间链路、分段、故障处理(TCP协议、UDP协议)
● 面向传输层-网络层:分组组装,网络路由选择(IP协议)
● 面向传输层-数据链路层:接入总线介质;发送和接收电报(实时 (RT)、PROFINET 等时实时 (IRT)、时间敏感网络 (TSN))
● 面向传输层-物理层:电子信号的产生(100Mbit/1GBit/…)

4. 应用场景

这里是网上找的一张图片,可以描述对应的工业应用场景:
在这里插入图片描述

三、接下来

接下来我们根据p-net的教程搭建基础的Profinet网络场景,便于调试和分析Profinet。

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

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

相关文章

最详细的Keycloak教程(建议收藏):Keycloak实现手机号、验证码登陆——(二)Keycloak与SpringBoot的集成

上一篇已经介绍了keycloak的下载与使用: Keycloak的下载与使用 本文章和大家分享keycloak怎么去集成springboot项目,以及怎么去做接口权限的校验。 PS:根据红帽的公告,目前在springboot 3.x版本已经不支持keycloak适配器,所以本章…

44岁的「老板」想变年轻

作者 | 辰纹 来源 | 洞见新研社 从村办集体企业余杭县红星五金厂起家,到生产贴牌油烟机,再到注册“老板”商标,改制有限公司,老板电器已经走过了44个春秋。 在这44年中,老板电器是首家登陆资本市场的高端厨电企业&am…

Java总结的question

Java 数据类型 Q1:基本类型和包装类型的区别? 用途:在对象属性中一般用包装类型,包装类型可用于泛型,基本类型不可以存储方式:包装类型一般放在堆,基本数据类型的局部变量一般放在栈中的局部变量表&…

页表置换算法之最佳置换算法(OPT),先进先出置换算法(FIFO),最近最久未使用置换算法(LRU),时钟置换算法(CLOCK)

请求分页存储管理与基本分页存储管理的主要区别: 在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。页…

22-数据结构-内部排序-选择排序

简介:每一趟选择最小或最大的一个,排在前面或后面。主要右简单选择排序和堆排序 一、简单选择排序 1.1简介: 每趟选择最小的,放在前面,一次类推,代码思想:两个循环,外循环是趟数&a…

IDEA提高工作效率的实用技巧

IDEA是一款备受开发者喜爱的集成开发环境,它提供了许多实用的功能,可以帮助我们更快速、更高效地编写代码。本文将介绍一些IDEA的使用技巧提高工作效率的实用技巧。 验证正则表达式 要验证编写的正则表达式是否正确,只需将光标放在要检查的…

【单片机毕业设计】【hj-006-6】天然气、有害混合气体检测 | 空气质量检测 | 有害气体检测

一、基本介绍 项目名: 基于单片机的天然气、有害混合气体检测系统设计 基于单片机的空气质量检测系统设计 基于单片机的 有害气体检测系统设计 项目编号:mcuclub-hj-006-6 单片机类型:STC89C52 具体功能: 1、通过MQ-5检测天然气…

C语言——二周目——输入输出辨析

一、对输入输出的理解 1.明确输入的意义 以往的输入为默认形式(标准输入流——stdin——键盘)。但是输入的形式不止此一种。可以从键盘上敲出输入的数据,同时也可以将文件中、某个字符串甚至结构体的数据作为输入内容进行输入。 输入&#x…

Spring boot 集成 xxl-job

文章目录 xxl-job 简介引入xxl-job依赖配置xxl-job config添加properties文件配置BEAN模式(方法形式)步骤一:执行器项目中,开发Job方法:步骤二:调度中心,新建调度任务 xxl-job 简介 官网:https:…

【虹科干货】Redis Enterprise vs ElastiCache——如何选择缓存解决方案?

使用Redis 或 Amazon ElastiCache 来作为缓存加速已经是业界主流的解决方案,二者各有什么优势?又有哪些区别呢? 文况速览: - Redis 是什么? - Redis Enterprise 是什么? - Amazon ElastiCache 是什么&…

阿里云高庆瑞:高弹性、高可用、低成本的云上资源管理最佳实践

云布道师 为了更好地帮助用户在借助 DevOps 工具缩短开发周期、提升业务效率的同时,也能让业务保持稳定、安全、可靠,且低成本地持续运营,阿里云弹性计算团队独家出品的【弹性计算技术公开课_CloudOps 云上运维季】正式启动。阿里云弹性计算团…

提升服装门店管理效率与顾客体验的RFID智慧门店解决方案

随着科技的不断进步,传统的服装门店在管理过程中面临着一些瓶颈和挑战,条码管理费时费力,服装查找耗时长,库存盘点不准确,销售管理不科学,顾客体验性较差等问题已经成为制约门店发展的难题,为了…

小程序之实例会议OA的首页 (3)

⭐⭐ 小程序专栏:小程序开发专栏 ⭐⭐ 个人主页:个人主页 目录 ​编辑 一.前言 二.flex弹性布局 flex属性 2.1 display: flex 弹性布局属性 2.2 flex-direction属性 2.3 flex-wrap属性 2.4 flex-flow属性 2.5 justify-content属性 三.首页轮播…

12.Bilinear Forms

Bilinear Forms 双线性形式 Metric Tensor 度量张量是双线性形式的一种。 在学习张量积之前,先讨论一般的线性形式 回顾一下上一节学的 Metric Tensor 度量张量所表示的矩阵 是个 对称矩阵。, 度量张量的性质: 双线性形式 定义&#xf…

《算法通关村第二关——终于学会链表反转了》

《算法通关村第二关——终于学会链表反转了》 今天学习链表反转 为什么反转这么重要呢?因为反转链表涉及结点的增加、删除等多种操作,能非常有效考察思维能力和代码驾驭能力。另外很多题目也都要用它来做基础, 例如指定区间反转、链表K个一…

大数据之LibrA数据库系统服务部署原则及运行环境要求

服务部署原则 FusionInsight LibrA集群由多种服务按照一定的逻辑架构组合而成,每个服务包含一个或多个角色,每个角色可以部署一个或多个实例。 服务:服务对外表现为集群提供的组件业务能力,集群中的每个组件对应一个服务名&…

DayDreamInGIS 逆地理编码工具(根据经纬度获取位置描述)插件源码解析

本工具调用高德地图逆地理编码api,根据高的地图逆地理编码api,实现根据经纬度获取位置描述。 总体设计逻辑,窗体采用WPF,通过属性的方式传递交互对象,核心处理逻辑写到button的执行逻辑中。 1.页面 页面XAML&#xf…

6个步骤轻松实现 postman 接口压力测试(建议收藏)

这里讲是postman做接口并发测试,基础用法不做赘述 1、第一步接口可以通的情况下点击右上角save 2、将相应信息填入 3、如果是同一个接口修改不同的值如下图 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文…

LevelDB总结

leveldb架构 顺序写:level db不需要在各个level中去修改位置,而是只要放到最新的memTable中插入,所以在读取数据时如果在上层找到了数据或者数据flag是已删除就不需要继续寻找了。所以其能够提供比读更好的性能。 一、memTable 1.1 LSM-Tre…

mavicat打开本地连接显示2002-Can‘t connnect to server on ‘localhost‘(10061)

报错如下:2002-Can’t connnect to server on ‘localhost’(10061),原因是没有打开mysql 具体操作如下: 按键:CtrlAltDelete打开资源管理器 在服务里找到MySQL然右击“开始”,启动mysql 然后再点击连接,…