转发知乎
PLC攻城狮
《想了解Profinet,这一篇就够了》
profinet的历史
Profinet是一种工业总线标准,设计用于在工业系统中收集并传输数据,并且可以实现实时数据的发送和接受(1ms或者更短)。Profinet标准化组织隶属于 Profibus&Profinet intermational(PI),位于德国的Karlsruhe。
profinet的概述
PROFINET是一个开放式的工业以太网通讯协定,主要由西门子公司和PROFIBUS & PROFINET国际协会所提出。PROFINET应用TCP/IP及资讯科技的相关标准,是实时的工业以太网。自2003年起,PROFINET是IEC 61158及IEC 61784标准中的一部分。
PROFINET=PROFIbus+etherNET,把Profibus的主从结构移植到以太网上,所以profinet会有Controller和Device,他们的关系可以简单的对应于profibus的Master和Slave。
另外由于profinet是基于以太网的,所以可以有以太网的星型、树形、总线型等拓扑结构,而profibus只有总线型。所以profinet就是把profibus的主从结构和ethernet的拓扑结构相结合的产物。
PROFINET有模组化的结构,使用者可以依其需求选择层叠的机能。各机能的差异是在于为了满足高速通讯的需求,而对应资料交换种类的不同。
为了达到上述的通讯机能,定义了以下三种的通讯协定等级。
TCP/IP是针对PROFINET CBA及工厂调试用,其反应时间约为100ms。
RT(实时)通讯协定是针对PROFINET CBA及PROFINET IO的应用,其反应时间小于10ms。
IRT(等时实时)通讯协定是针对驱动系统的PROFINET IO通讯,其反应时间小于1ms。
利用以太网的分析工具可以纪录及显示的PROFINET通讯协定的封包,也有一些软件可以解读PROFINET的资料帧(比如用wireshark)。
Profinet协议细节
因为使用了IEEE 802.3以太网标准和TCP/IP,大多数的PROFINET通信是通过没有被修改的以太网和TCP/IP包来完成。这使得可以无限制地把办公网络的应用集成到PROFINET网络中。
RT的通信不仅使用了带有优先级的以太网报文帧,而且优化掉了OSI协议栈的3层和4层。这样大大缩短了实时报文在协议栈的处理时间,进一步提高了实时性能。由于没有TCP/IP的协议栈,所以RT的报文不能路由。
IRT通信是满足最高的实时要求,特别是针对于等时同步的应用。IRT是基于以太网的扩展协议栈,能够同步所有的通信伙伴并使用调度机制。IRT通信需要在IRT应用的网络区域内使用IRT交换机。在IRT域内也可以并行传输TCP/IP协议包。
以PROFINET RT为例来理解在整个通信的过程中实时性能是如何来保证的。
从通信的终端设备(PN控制器和PN设备)来看,首先采用了优化的协议栈。这样一来在终端的设备上数据报文被处理的时间大大的缩短,这是实时性能保证的一个方面。
其次是终端设备上采用的分时间段处理机制,这样保证了在每个通信的循环的周期内终端设备即可以处理RT的实时数据又可以处理TCP或UDP的数据。
且在每个循环内优先处理RT的实时数据。这里需要强调的是每个PN终端设备只对自己的负责,需要发送的数据会按发送循环发送、对于由其他设备发到自己的数据会进行立即接收,且发送和接收是并行处理。
从通信的传输设备(SCALANCE X交换机)来看,首先采用百兆全双工的交换网络,这样一来每个终端设备的每个端口都是独享带宽,且可以双向不间断的收发数据。其次是交换机支持802.1P或802.1Q的标准,使得发到交换机网络的PN的数据帧被优先处理和转发。
上面介绍的是PN RT的实时性能从机理上如何保证的。而从量化的角度去分析的话,PN RT完全是靠计算来精确保证每个发送循环所能发送的报文及对RT数据的时间的预留。
对于RT来说,在物理层上传输的最小报文帧来为88个字节,最大报文帧来为1488个字节。其中包括了12个字节的帧间隔,
Profinet使用注意事项
1.Profinet的数据传输带宽是100MBps
2.设备之间的总线长度为100m(超过100m需要设备进行中继,路由器 profinetio 都可以)
3.数据传输方式为全双工,没有终端电阻
4.一致性数据最大为254bytes
5.对于上位计算机可以使用标准以太网卡,不需要专用适配器
6.对于profinet诊断可以使用it工具
7.使用IP地址和设备名称区分,在组态时都要设置,否则无法成功组态。
8.对于IRT应用,必须要使用支持IRT的专用交换机。