工业自动化控制通信协议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。