PROFINET 的数据交换基于提供者/消费者模型实现。提供者/消费者模型包括三种实体:信息的提供者和消费者,以及提供者和消费者建立联系的消息代理。它通过拉(Pull)和推(Push)两种模型实现。在拉模型中,提供者从应用管理层接收一个发布请求,并通过网络组播它的响应,需要数据的消费者给予响应,由管理器从提供者“拉”出数据供消费者使用。模型提供了两种服务:证实服务和非证实服务。证实服务仅用于提供者和消费者位于不同的应用进程AP( Application
Process) 时,消费者按照客户机/服务器模式使用证实服务请求加入发布,提供者给予响应并返还给消费者。非证实服务中提供者仅负责在合适的时间将其信息分发给消费者,消费者无需对信息进行确认。PROFINET 基于无证实服务的提供者/消费者模型的推模式。控制器和IO 设备既可以作为提供者,也可作为消费者。提供者以固定时间间隔Δt1 将数据传送给消费者,消费者以固定时间Δt2 接收。传输期间数据未经任何保护,也不需消费者确认。其模型如图所示。

传统的以太网使用CSMA /CD (带有冲突监测的载波监听多路访问) 协议实现介质访问控制,虽然工业以太网可使用标准的通信协议(如TCP / IP 或UDP / IP)来提高其实时性,但数据包的传输时延很大程度上依赖网络负载而不能预先确定,因此标准协议通信过程中会产生帧过载现象,这即加大传输时延及处理器计算时间, 从而延长发送周期,严重影响网络的实时性。为此, PROFINET 通过对发送器和接收器的通信栈进行实时性优化,可保证同一网络中不同站点可在一个确定时段内完成时间要求严苛的数据传输。PROFINET 通过软实时和硬实时方案对ISO /OSI 参考模型的第2 层进行了优化, 此层内所改进的实时协议对数据包的寻址不是通过IP 地址实现的, 而使用接收设备的MAC 地址, 同时保证与其他标准协议在同一网络中的兼容性。PROFINET 的协议架构如图所示。

- 协议简介
PROFINET 为减小交换机在帧处理时的最大周期偏差,使用 VLAN 标签对帧进行优先级标识,从而控制运行时间内设备之间的数据流。PROFINET 实时帧使用优先级6 或7 发送。遵照IEEE802.1Q,VLAN 标签对以太网帧扩展了4Byte 。Ether type 0x8100 确定VLAN 标签协议标识符。VLAN 帧格式在IEEE 802.1D 中定义。IEEE 分配以太网协议0x8892 对实时帧进行标识。帧类型标识符用于描述两个设备之间的通信信道。以太网与帧类型标识符的结合即可对实时帧进行识别,实时帧结构如图12.x 所示。其中,RT 数据区内的用法与结构没有具体定义,但若实时帧长度<4 Byte,则实时数据的长度必须扩展到最小40Byte。VLAN TPID 区的CFI 用于区别以太网和令牌环网的类型。对于接收器,控制器首先验证 6Byte 的目的地址,随后在Profinet 协议栈中用以太网类型和帧类型标识符将帧分配到相应信道。

- 通信的建立
PROFINET 使用发送器/接收器通信方式进行数据传输。PROFINET 设备可同时作为接收器和发送器进行工作。在周期性实时数据的通信中,数据交换是基于连接的,连接的建立及删除由应用层协议控制;数据的接收器不会对数据包的接收状态向发送器进行明确回复,而仅通过监控时间间隔来考察数据接收情况。此外,PROFINET 实时协议不支持数据的分段及重组,以及长度超出以太
网标准数据包长度(包含所有协议首部)的传输。当PROFINET 发起者收到要建立的连接方面的信息时,这些信息可能来自于工程设计系统,也可能来自于保存的组态数据,它利用这些数据自动尝试与响应者建立连接。在成功建立连接之后,发送器向接收器传输实时的生产数据或I/O 数据。与此相反,发起者也可提供删除连接的触发,如上位操作终端或设计系统删除连接。此外,发起者可以将发送器和接收器组合在同一个设备中,其回路的监控是通过实时协议的数据安全特性、发送器和接收器的高层协议和特殊的监控机制来实现的。

设备描述文件GSD
在RPOFIBUS 中,设备描述文件GSD(General Station Description)把PROFINET 设备集成到一个IO 控制器的组态工具中。PROFINET 的GSD 文件基于XML。IO 设备的属性以GSD 文件的形式描述,该文件包括如下的信息:
IO 设备属性(如通信参数)。可嵌入的模块(类型数)。独立模块的组态数据。 模块参数。记录诊断错误的文本(如断线、短路),XML 是PROFINET IO 设备GSD 文件的描述基础。
因为XML 是一个开放的、应用普遍并且已被接受的用于描述数据的标准,所以有以下可用的标准工具和属性:
通过一个标准工具生成和确认。外部语言的集成。分层的结构。
GSD 文件的结构符合ISO 15745 规范,由报头、应用层的设备描述(如组态数据和模块参数)和传输层的通信属性描述组成。
- 等时同步机制
PROFINET 的IRT 协议主要为运动控制等硬实时系统提供解决方案。它通过使用时分多路复用协议及特殊通信ASIC (专用集成电路),确保在网络过载或网络拓扑动态变化时的通信质量。此外,IRT 需要确定的网络组态,即通信前应规划网络拓扑、源/目的节点、通信数据量、连接路径属性等。IRT 的一个传输周期主要由IRT 通道和开放通道进行分配,硬件ASIC 会对IRT 周期定时进行监视。
IRT 通道用于传输等时同步的周期性实时帧,开放通道用于传输非同步实时帧和非实时帧( NRTframe)。IRT 周期组成及分配如图12.x 所示。

PROFINET 在实现网络同步时使用精确透明时钟协议( Precision Transparent Clock Protoco,PTCP) 来记录传输链路时间参数。PTCP 位于OSI 参考模型的第2 层,不具路由功能,但具有显著优点,如同步精度高、消耗资源少、带宽使用少、管理要求低,并对网络组件的CPU 性能和存储器性能无特殊要求。PTCP 主端用一个多播帧触发同步,其帧结构如图12.x 所示。此帧的接收器通过接收到的同步信息调整自身的时钟。调整时不能破坏相应设备的本地时间记录。

PROFINET 将同一个时钟进行同步的子网内所有通信参与者定义为一个PTCP 子域。PTCP 子域内可实现PTCP 主端和PTCP 从端之间微秒级或亚微秒级时间同步。PTCP 同步是通过周期性地交换两个网络节点间的同步帧序列来实现的,其中具有最高精确度时钟(主时钟)的网络节点用于同步其它节点的本地时钟(从时钟)。同一序列的所有帧具有相同的序列号。同步过程包含时延测量和子域内同步两个阶段。同步过程的第一个阶段是测量相互通信双方(时延请求者与时延响应者)之间的时延,即时延测量阶段,其在同步过程中的主要任务是测量通信双方之间的时延。通常情况下,该时延由3 部分组成,即请求者本地时延、应答者本地时延及帧传输时延。首先,时延请求者向时延响应者发送一个时延请求(时延帧),该帧的精确传输时间由时延请求者确定并记录。之后, 时延响应者在收到的数据包上添加一个时间戳, 并将接收时间通过一个时延响应(应答帧)回复给时延请求者,并通过发送一个跟随响应(跟随帧),将本地时延通报给时延请求者。在数据传输期间,线路上对称的时延对测量的准确性具有决定性意义。子域内同步阶段,PTCP 子网内的时间同步是通过在PTCP 主端发送一个同步帧实现的。此过程会指定PTCP 的主时钟值,以及发送者与接收者之间链路时延。PTCP 从端将利用同步帧和跟随帧中信息,同步其本地时钟(PTCP 从时钟)。在PROFINET 中,将收到同步帧和跟随帧发送出去的网络节点称为透明时钟。透明时钟必须测量发送同步帧/跟随帧的内部校正时延,以及透明时钟与同步帧/跟随帧的发送器之间的线路时延,从而校正接收时间。此外,若传输设备向发送器或接收器添加时间戳时出现抖动或主时钟和从时钟的晶振频率之间偏差,均会在主时钟和从时钟之间产生偏差。因此,在完整地进行一次同步之后,可通过更新偏移量的测量值来确定此偏差,并通过调整从时钟进行校正。
- IT 集成功能
PROFINET 的一个重要特征就是可以同时传递实时数据和标准的TCP/IP 数据。在其传递TCP/IP 数据的公共通道中,各种业已验证的IT 技术都可以使用(如http 、HTML 、SNMP、DHCP和XML 等)。在使用PROFINET 的时候,可以使用这些IT 标准服务加强对整个网络的管理和维护,这意味着调试和维护中的成本的节省。
- IP 管理
PROFINET 使用TCP/IP 则表示,必须给网络用户(PROFINET 设备)分配IP 地址。使用制造商专用的配置系统分配地址:在网络上不可用网络管理系统的情况下需用此可选方案。因此,PROFINET 规定了DCP(发现和基本配置)协议,该协议允许使用制造商专用的组态/编程工具给IP 参数赋值,或者在跨系统工程设计内(例如:在PROFINET 连接编辑器内)给IP 参数赋值。使用 DHCP 自动分配地址:目前动态主机配置协议(DHCP)已经成为事实上的标准,它
用在办公环境带有网络管理系统的网络内分配和管理IP 地址。PROFINET 现已选择采用这些标准,为此,PROFINET 描述了如何能在PROFINET 环境下优化使用DHCP。在PROFINET 设备中实现DHCP 是一种可选方案。