1 概述
PROFINET实时以太网是由Profibus International(PI)组织提出的基于以太网的自动化标准。从2004年4月开 始,PI与Interbus Club总线俱乐部联手,负责合作开发与制定标准。PROFINET构成从I/O级直至协调治理级的基于组件的分布式自动化 系统的体系结构方案,并可以将Profibus技术和Interbus现场总线技术在整个系统中无缝地集成。PROFINET能为紧要任务提供最低限度的 性能保证服务,同时也能为非紧要任务提供尽力服务。
2 PROFINET的实时通讯分类
PROFINET区分两类不同性能的实时周期通讯,一种是实时(RT)通讯,主要用于工厂自动化,这一类没有时间同步要求,一般只要求响应时间为 5-10ms。另一种是等时同步实时(IRT),主要用于有苛刻时间同步要求的场合例如运动控制,电子齿轮。与此对应,PROFINET提供两类实时通讯 通道具体分为RT实时通道和IRT实时通道。另外还包括一个标准通讯通道,标准通道是使用TCP/IP协议的非实时通讯通道,主要用于设备参数化、组态和 读取诊断数据。
实时通道RT是软实时SRT(Software RT) 方案,它旁路TCP/IP层,同时为优化通讯功能,PROFINET RT帧根据 IEEE802.1Q/P定义了报文的优先级,最多可用7级。PROFINET RT帧中的状况信息域用来标识设备和数据的状况(例如:运行,停止,出 错)。其通讯协议及帧结构如图1。
图1 PROFINET RT通讯协议及其帧结构
实时通道IRT是硬实时HRT(Hardware RT) 方案,实时性是基于一个建立在快速以太网Layer2上的时间触发(time- triggered)协议,由内嵌的Switch-ASIC同步实时交换芯片保证。这样可以进一步缩短通讯栈软件的处理时间,特别适用于高性能传输、过程 数据的等时同步传输、以及快速的时钟同步运动控制。由于基于硬件实现,IRT帧中通常无需RT帧中的IEEE802.1Q VLAN标识。 PROFINET的IRT通讯协议及帧结构如图2。
图2 PROFINET IRT通讯协议及其帧结构
从图1,图2也可以看出,PROFINET 实时数据帧(包括RT和IRT 帧)都是在按IEEE802.3所定义的标准化的帧格式基础上略作改动, 让其L/T字段的值>1500,这是一个保存的EtherTypeⅡ,可以用于唯一地识别PROFINET的实时数据帧以区别于其他采用标准IT协 议的以太网帧,优先进行传输。PROFINE的以太网类型标识中用0x0800标识IP帧,使用0x8892标识PROFINET实时帧。帧中的应用标识 符(frame-ID)域标识所接收的数据的传输,即标识周期传输和非周期传输(报警和事件)。
按照PROFIBUS国际组织提供的数据[1],PROFINET在IRT通讯方式下应用在同步运动控制场合,其性能比目前的现场总线方案要提升 100倍。这种基于硬件的同步实时(IRT)通讯解决方案能够在大量数据需要传递的情况下保持足够高的时间确定性;同时,可缓解PROFINET设备上处 理器的通讯任务。因此,本文以下对它进行具体分析。
3 PROFINET对IEEE 1588的改进
PROFINET IRT所采用的时间同步协议是基于改进的IEEE1588[2]。IEEE 1588 的基本功能是使分布式网络内的最精确时钟 (reference clock)与其它时钟保持同步,它定义了一种精确时间协议PTP(Precision Time Protocol),用于对标 准以太网或其它采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行亚微秒级同步。
一个IEEE 1588 精密时钟( PTP) 系统包括多个节点, 可以以为每一个都代表一个时钟,时钟之间经过网络连接。IEEE 1588 将 整个网络内的时钟分为两种,普通时钟OC(Ordinary Clock)和边界时钟BC(Boundary Clock),只有一个PTP 通讯端口的 时钟是普通时钟,有一个以上PTP 通讯端口的时钟是边界时钟,每个PTP端口提供独立的PTP通讯。其中,边界时钟BC通常用在网桥(交换机)和路由器 等这些用来划分子网的网络设备中,用于防止这些网络设备产生大的延迟抖动。普通时钟通常用在节点上。
随着温度变化和时间推移,发送节点和接收节点的时钟频率将发生偏差,由此会造成漂移(drifts)。为此,在PTP中需要通过一个闭环控制(loop)进行补偿,以如下PI-loop为例。
其中, y[k]是被控量, x[k]是偏差变量, k代表同步循环。 KR,Kn 是 控制参数。T是采样时间,它即是PTP同步信息(Sync信息)之间的发送间隔。每个PTP从属时钟以及BC的每个从属时钟端口都必须含有类似的闭环控 制,闭环控制的设计直接关系到时间同步的精度。如图3上半部分所示,在BC中的时钟振荡器(Oscillator)将会参照PTP Slave,以一定的 函数关系进行调节,调节后的时钟将成为下一个网段的PTP Master。以此类推,反复进行,直至目的节点Time Client。这样,当在总线式拓 扑中有多个网桥链式联结时,这种方式实质上产生了控制循环的级联(cascade),会导致不稳定,从而使得IEEE 1588无法满足苛刻的同步要 求 [3] 。
图3 IEEE1588边界时钟和PROFINET旁路时钟对比
相对于IEEE1588的“Boundary Clock”, PROFINET进行了修正,修正后称之为旁路时钟BpC(Bypass clock)[5]。
时间同步的关键题目是网桥等网络设备中的时延不定常,从而造成时间抖动。假如能找出计算网桥中时延的方法,那么就可以对它进行补偿。如图3下半部分所 示,PROFINET的BpC正是基于这种思想,通过对PTP报文进行必要的操纵和处理(Message processing)来对时延进行补偿,具体 的处理操纵可能涉及贸易秘密,尚未见公然报道。基本思想如下:
1) 假设一个PTP网桥在端口s收到一个Sync报文,那么接收时间戳Trx,s将会产生, 当BpC的其它端口j开始向下游传递该Sync报文时,发送时间戳Ttx,j将会产生。这样,可以得到所需的时钟校正值(clock correction):Ttx,j -Trx,s 。
2) 如图4所示,使用Ldi代表传输间隔造成的延迟,bdi代表网桥中的时延,将所得到的本网桥内时延bdi和本段传输时延Ldi的信息加进到将要 转发的Sync报文中,这样目的节点就可以得到报文所尽历的精确时延。PTP 主时钟到PTP 从属时钟的累积时延为:
借助这以一方式,就可以把网桥看成具有定常时延的网络组件,从而避开了控制循环的级联。
图4 时延叠加
5
PROFINET将极大的改善现有自动化技术发展过程中的通讯瓶颈,同时实现自动化技术从以实现控制任务为主导向实现高度集成和优化的信息收集、分析 和处理任务为主导的转移,使得实现控制任务将成为未来自动化平台的低层次要求。本文希看通过对PROFINET实时通讯较具体的分析,能有助于将来我国自 有产业以太网标准的发展。