Profinet协议基础知识

导语

PROFINET是针由PI推出的一种开放式的工业以太网标准,主要用于工业自动化和过程控制领域,符合IEEE 802.3规范下的内容,具备自动协商、自动交叉的功能。

一、PROFINET基础概念

1.PROFINET是什么

PROFINET是针由PI推出的一种开放式的工业以太网标准,主要用于工业自动化和过程控制领域,符合IEEE 802.3规范下的内容,具备自动协商、自动交叉的功能。

它是一种基于以太网的技术,因此具有和标准以太网相同的一些特性如全双工、多种拓扑结构等,其速率可达百兆或千兆。另外它也有自己的独特之处,如:能实现实时的数据交换,是一种实时以太网;与标准以太网兼容,可一同组网;能通过代理的方式无缝集成现有的现场总线等。

2.PROFINET的ISO/OSI参考模型

图:PROFINET的ISO/OSI参考模型

来源:PI官方文档《PROFINET系统描述》

PROFINET使用了物理层、链路层、网络层、传输层与应用层协议,其中物理层规定了百兆或千兆的传输速率,网络层与传输层则沿用TCP/IP协议族的标准,而独到之处在于数据链路层与应用层的规范。

PROFINET链路层:参考了IEEE 802.3、IEEE 802.1Q、IEC 61784-2等标准,分别保证了全双工、优先级标签、实施扩展的能力,从而能够实现RT(实时通信)、IRT(等时实时通信)、TSN(时间敏感网络)等通信形式。

PROFINET应用层:有多种应用层的协议标准,如IEC 61784、IEC 61158确保了PROFINET IO服务,IEC 61158 Type 10确保 PROFINET CBA服务等等。

3.PROFINET应用领域

图:PROFINET时延与应用领域

PROFINET可实现不同时延下的数据传输服务,时延范围从100ms到31.25us不等;根据应用的时间要求可以将划分出PROFINET的数个应用领域,如:低时延对应高实时要求的运动控制领域;中高时延对应的过程/工厂自动化领域。

4.PROFINET模块化概念

图:PROFINET模块化

PROFINET将工业以太网应用分为了8个部分,并分别针对每个部分的特点发表了相应的技术规范,使PROFINET能够应用于各种工厂场景之下。

5.PROFINET一网到底

图:PROFINET一网到底

由于PROFINET的兼容标准以太网以及能够通过代理方式兼容现有的现场总线的特质,PROFINET可以实现“一网到底”的功能:即工业产业链层级中,管理级的设备能够直接与现场级的设备进行数据的交互;并能实现不同层级上的纵向设备集成或相同层级上的横向设备集成。

6.PROFINET与PROFIBUS的对比

图:PROFINET与PROFIBUS的对比

二、PROFINET实时通信

1.实时通信要求

1)周期时间或响应时间须有上限:数据的发送必须在既定的时间内完成或开始;

2)抖动随精度增加须更小:传输精度要求更高的情况下,时间抖动也必须更小;

3)数据量在一个时间单位内必须传输:数据的传输必须在既定的时间内完成;

4)用特殊网络组件保证通信不冲突:保证在各类特殊情况下都能有序通信;

5)时隙协议保证数据在合适时传输:针对各类实时性要求不同数据有不同的发送策略;

6)时间同步许多过程应用同步触发:整个网络存在时间同步机制,各站点应用可进行同步触发。

2.PROFINET架构

PROFINET有两种通信堆栈结构,标准以太网通信堆栈与实时以太网通信堆栈,以满足标准与实时的数据传输需求,既实现了实时的数据传输,也兼容了已有的标准以太网。

图:PROFINET通信堆栈

来源:PI官方文档《PROFINET技术概览》

在需要实时数据传输的情况下,PROFINET对通信堆栈结构进行了修剪:在网络层与传输层部分进行了删减,并在数据链路层开辟了专用的数据通道和通信机制,实现了实时通信、等时实时通信的功能,满足实时数据传输的需求。

3.PROFINET RT通信

3.1 概述

应用场景:实时RT用于时间苛刻的过程数据,用于循环用户数据或者事件驱动的报警。

特点:

1)PROFINET使用优化的实时通信数据;;

2)通信彻底地不占用处理器的资源;

3)可以使用标准的网络不见;

4)响应时间范围为1-10ms。

3.2 PROFINET报文帧与RT帧结构

图:PROFINET报文帧结构

图:PROFINET RT帧结构

RT帧结构参数解释:

VLAN:优先级数据标签,有0-7八个优先级,数值越大则优先级越高;RT帧此处为6;

Eth.type(上图左数第三个):0x8892代表该帧为PROFINET协议的一个帧;

Frame:规定该帧的实时等级、数据通道;

RT-User:该帧携带的数据,36-1440字节,数据长度不足则会自动补齐;

APDU status:该帧数据位的一些指示状态;

FCS:循环冗余校检码;

4.PROFINET IRT通信

4.1 概述

应用场景:等时实时通信IRT用于特殊要求的应用,如运动控制和工厂自动化的高性能应用。

特点:

  • IRT实现循环周期小于1ms,抖动精度小于1us;
  • 通讯周期分为确定性通道和开放式通道;
  • TCP/IP和RT数据在开放式通道进行数据交换;
  • 两种数据交换同时存在,不会影响同步循环控制。

4.2 PROFINET IRT帧结构

图:PROFINET IRT帧结构

与RT帧相比,IRT帧删掉了VLAN部分,直接使用Frame_ID指示帧类型,减少开销。

4.3 PROFINET IRT通信的技术基础

4.3.1 时隙技术

图:PROFINET 时隙划分

来源:PI官方文档《PROFINET现场设备》

PROFINET将数据传输的事件流划分成等时时间片(如1ms),并在每个等时时间片中,都单独给IRT帧优先预留了一定的传输时间,IRT传输时间过去以后,再进行RT帧、标准帧等数据的传输。以此保证了IRT帧数据传输的实时性与等时性。

4.3.2 同步技术

图:PROFINET 同步技术

来源:PI官方文档《PROFINET系统描述》

PROFINET设备网络中存在一个主时钟,主时钟使用同步帧来将一个时钟系统(IRT域内)所有设备的本地时钟的脉冲发生器同步成相同的时钟,以保证总线周期达到同步,且偏差在1us内。

三、PROFINET IO设备

1.PROFINET IO设备类型

PROFINET IO设备可分为Device(从站)、Controller(主站)与Supervisor(监视器)。

图:PROFINET IO设备

来源:PI官方文档《PROFINET系统描述》

PROFINET从站:读写IO数据;例子:远程IO、伺服驱动器、变频器等现场设备;

PROFINET主站:过程数据交互、配置、逻辑 控制、报警;例子:PLC、IPC等;

PROFINET监视器:设备参数配置、设备诊断、程序上传/下载;例子:PC、HMI等;

2.PROFINET IO一致性类等级

PROFINET以IO设备的功能为分类依据,将各类IO划分成一致性类,以达到如下目的:

  • 简化最终用户/系统集成商对满足所要求特性的部件的选择;
  • 确保在同一一致性类的设备的功能范围相对统一;
  • 设备认证的基础。

图:PROFINET IO设备一致性类等级

图:PROFINET IO设备的部分一致性类选择参考

3.PROFINET IO设备模型

图:PROFINET IO设备模型图-1

来源:PI官方文档《PROFINET系统描述》

图:PROFINET IO设备模型图-2

DAP:Device Access Point,设备访问点;其余设备可通过该处(通常为网口)接入网络;其Slot编号通常为0;

Slot:槽;可用作PROFINET IO设备的模组扩展;或接入实际的参数引脚,如速度等;

Subslot:子槽;一个相对的概念,功能与槽相同;

Index:索引;存放slot或subslot内的一些非循环数据,可通过read/write服务进行读写;

4.PROFINET IO设备GSD文件

GSD(General Station Description)文件是基于XML语法格式的文本文件,描述了PROFINET IO设备的一些参数以及技术特性,如:

  • 所有可能的模块和子模块(组态数据);
  • 总线接口(DAP);
  • 模块的启动参数;
  • 设备基本信息、诊断信息。

图:PROFINET IO设备GSD文件部分信息

来源:PI官方文档《PROFINET现场设备》

可以使用XML-Viewer来检视GSD文件内容,PROFINET监视器可以利用设备的GSD文件进行网络组态的配置。

5.PROFINET IO主从通信关系

PROFINET主从站间使用应用关系(Application Relation,AR)描述它们之间的通信关系(Communication Relation,CR);而CR又可分为3种:记录数据CR、IO数据CR、警报CR;3种CR标识了主站与从站之间的数据传输类型,并分别标识了其传输的以太网通道类型,如下图所示:

图:PROFINET 主从设备通信的AR与3种CR

来源:PI官方文档《PROFINET系统描述》

图:PROFINET 网络的AR关系

来源:PI官方文档《PROFINET系统描述》

图:PROFINET 网络组态(AR、CR等)配置

来源:PI官方文档《PROFINET系统描述》

这种AR、CR的关系,是由监视器内的工程配置软件根据主从站的GSD文件,进行整个网络的组态配置后,整个系统启动时主站与从站建立起来的。

四、PROFINET设备实现

1.PROFINET 设备开发流程

图:PROFINET 设备开发流程

  • 开会确定开发方案;
  • 前期的开发环境搭建;
  • PROFINET设备的软硬件设计;
  • 编写GSD文件,描述设备各类参数;
  • 使用官方软件对编写的GSD文件进行认证测试;设备硬件需提交值PNO测试中心进行测试认证;
  • 认证测试通过后,设备即可应用于现场。

2.PROFINET 协议栈方案

图:软件实现PROFINET通信

来源:PI官方文档《实现PROFINET产品的开发方法》

在集成标准Ethernet控制器的处理器上,使用软件代码实现PROFINET协议栈,此时不需要PROFINET ASIC芯片或FPGA实现PROFINET通信,但时间性能不高,仅适用于对PROFINET性能要求不高和非IRT的应用。

特点:

  • 只需标准硬件支持即可,无需专用ASIC芯片;
  • PROFINET协议栈可用;
  • 仅能满足一致性类ClassA、Class B;
  • 不支持IRT通讯;
  • 需要外接Switch/ PHY。

2.PROFINET 专用硬件方案

图:硬件实现PROFINET通信

来源:PI官方文档《实现PROFINET产品的开发方法》

设计专用硬件实现PROFINET协议,开发难度、成本较大,但是PROFINET性能高,适用于对PROFINET性能要求高和IRT的应用。

特点:

  • 高性能;
  • 时钟、应用同步;
  • 集成多端口IRT-Switch;
  • 满足一致性类ClassA、Class B;
  • 需要协议硬件支持。

3.PROFINET 模块化方案

图:模块化实现PROFINET通信

来源:PI官方文档《实现PROFINET产品的开发方法》

已经实现了PROFINET功能的硬件模块,并且已经预留好了通信用的引脚或接口,使用者需要做的,就是围绕模块进行外围电路的设计,并通过预留的函数接口进行数据的收发。

特点:

  • 开发周期短;
  • 产品市场化时间段;
  • 方便扩展其他总线接口;
  • 满足一致性类ClassA、Class B或Class C;
  • 通信和应用分开;
  • 硬件成本高。

4.PROFINET 不同方案的性能对比

图: PROFINET不同方案的性能对比

来源:PI官方文档《实现PROFINET产品的开发方法》

参考资料:

PI官方文档《PROFINET系统描述》

PI官方文档《PROFINET技术概览》

PI官方文档《PROFINET现场设备》

PI官方文档《实现PROFINET产品的开发方法》

Manfred Popp, Industrial communication with PROFINET