说一个有点“特殊”的工业总线协议——Profinet


编辑导语:说一个有点“特殊”的工业总线协议——Profinet写这篇文章的目的主要是想帮助大家进一步深入理解OSI七层模型。经常与西门子PLC打交道的朋友一定非常熟悉Profinet协议,它是工业现场应用非常广…

写这篇文章的目的主要是想帮助大家进一步深入理解OSI七层模型。

经常与西门子PLC打交道的朋友一定非常熟悉Profinet协议,它是工业现场应用非常广泛的基于工业以太网的协议

那么它的“特殊性”是什么呢?

Profinet的特殊性在于,虽然Profinet是基于以太网技术的协议,但是它并不能直接与我们的上位机系统对接。

注:这里假定我们的上位机系统的硬件是常用的工控机或服务器,不考虑一些嵌入式的终端。

也就是说,虽然Profinet在物理层上依托的是以太网,但是它只能作为设备之间的通讯协议,例如PLC的CPU与从站、变频器等设备的通讯。进行数据采集的上位机系统不能直接通过Profinet与设备进行通讯,进而获取设备的数据。

那么问题来了,既然上位机和支持profinet协议的设备都能够通过一根网线连在一起,那么为什么不能彼此通讯呢?

这里大家可以先回顾一下之前的文章《工业生产现场设备层数据采集基础教程》

其中提到了OSI七层模型,如下图:

OSI七层模型

简单的理解,一种设备如果能够直接与上位机进行通讯,它所采用的各层通讯协议必须是TCP/IP协议族中的协议

造成Profinet特殊性的原因在于,Profinet对OSI七层模型做了精简,只保留应用层和物理层,所以,尽管Profinet在物理层采用的是以太网,但是在其他各层上已经与TCP/IP协议族的体系结构有了很大的不同,因此,协议不兼容,无法直接与上位机系统做通讯。

注:Profinet协议进行这样的设计是为了尽量减少数据在不同层间传输过程中打包和解包的时间,保证在最短时间内完成数据交换,提升实时性。毕竟保证实时性是工业现场设备通讯的重要需求。当然,为了保证实时性,Profinet在其他方面也做了一些有别于我们传统以太网通讯的调整。

其实,如果说Profinet具有“特殊性”,那么,也是由于我们日常认知中的一个误区所导致的,这个误区是,由于以太网经常与TCP/IP协议族绑定在一起使用,尤其我们平时接触最多的互联网环境,这就导致了我们只要看到在物理层面使用以太网的协议,直觉上就将其与TCP/IP协议关联起来,误认为该协议属于TCP/IP协议族。其实,以太网只是定义了物理层的标准,并没有对OSI其他层的协议做规定。

说到这里,想必大家也都清楚了,其实Profinet并不是一种“特殊”的协议。只是由于我们缺乏对OSI七层模型的深入理解。

为了加深对Profinet的理解,看一个工业现场的网络拓扑图,如下图,我们可以看到,PLC的CPU在与从站等设备通讯时采用的是Profinet,而在与上位机进行通讯时采用的是西门子以太网协议S7,并且,从拓扑图中可以看出这两种协议是在同一个网络中传输的。

网络拓扑图

最后想再次强调,只有对OSI七层模型进行透彻的理解才能避免在协议方面的一些错误认识,所以我也一再强调,做工业现场的数据采集工作,首先需要掌握的原理就是OSI七层模型,而Profinet的所谓的“特殊性”正好帮助我们更加透彻地理解OSI七层模型。


最近更新于 2023-03-23 猿小六2021-10-23 发布, 已阅 2519 次。