技术文章

当前页面: 首页 >技术文章 >PROFINET通信实时性分析

PROFINET通信实时性分析

供稿:gorgensen 2013/9/9 16:06:20

0 人气:870

  • 关键词: PROFINET IO;刷新时间;实时性;响应时间
  • 摘要:通过对PROFINET IO概念的介绍,以及对PROFINET非实时报文和实时报文在以太网及交换机中的传输时间的研究,得出不同组态距离的IO设备的刷新时间,从而正确设置组态参数,避免了由于刷新时间和看门狗时间设置不当而导致的设备故障。

PROFINET IO通信实时性分析

摘要:通过对PROFINET IO概念的介绍,以及对PROFINET非实时报文和实时报文在以太网及交换机中的传输时间的研究,得出不同组态距离的IO设备的刷新时间,从而正确设置组态参数,避免了由于刷新时间和看门狗时间设置不当而导致的设备故障。

关键词:PROFINET IO;刷新时间;实时性;响应时间


       PROFINETPROcessFieldNET的缩写,是基于工业以太网的开放的、标准的、实时的通信协议,可以应用TCP/IP协议和IT标准,与现场设备实现无缝集成,可以说PROFINET是工业以太网应用在现场级的一种实施协议。

PROFINET主要有两种通信方式[1]
    
1PROFINET IO实现控制器与分布式I/O之间的实时通信;
    
2PROFINET CBA实现分布式智能设备之间的实时通信。
   
PROFINET的角度来看,PROFINET IO是在工业以太网上实现模块化、分布式应用的通信概念。通过PROFINET IO,分布式I/O和现场设备能够集成到以太网通信中。
1 PROFINET IO
的基本概念
1.1 PROFINET IO
的工程模型
   
1IO控制器
    IO
控制器[2]一般是可编程控制器(例如PLC),它能够执行自动化程序。其功能相当于PROFIBUS类型1的主站。
    
2IO设备
    IO
设备是连接到PROFINET网络中的现场分布式I/O
    
3IO监视器
    IO
监视器[2]是一种工程设备,通常为PCHMI或可编程控制器,用于IO控制器和IO设备的调试和诊断,在运行期间连接IO监视器,通常只是暂时性地用于调试和故障处理。IO监视器的功能相当于PROFIBUS类型2的主站。
    1
PROFINET IO系统应该包括至少1IO控制器和1IO设备。
1.2  PROFINET IO
的数据流
    PROFINET IO
通信站点的数据交换是通过标准通道[3](基于UDP/IP)和实时通道完成的。在这些通道里,数据使用不同的协议进行传输。例如启动时从站参数是由主站通过UDP协议传递的,设备地址名字的分配是通过DCP协议完成的,这些都属于标准数据,也可以称为非实时(NRT)数据。而周期数据[4]、报警数据是通过实时协议传送的,被称为实时数据。
1.3 
组态PROFINET IO及其重要概念
1.3.1 
组态PROFINET IO
    PROFINET IO
组态如图1所示,主站是CPU319-3 PN/DP,从站有3IO设备,分别为ET-200SET-200proET-200eco,还可以继续添加IO设备,SIMATIC 产品系列的 PROFINET 设备具有PROFINET接口[5](带或不带集成交换机)。带集成交换机的 PROFINET 设备通常具有2个端口,用于网络的线性总线结构。 同时还提供有3个或更多端口的 PROFINET 设备以连接树型拓扑。由图1可见,CPU319通过双绞屏蔽线与设备3(ET-200S)连接,不同的IO设备之间通过它们自带的交换机接口进行连接。

1.3.2  PROFINET IO中的不同时间概念
    (1)
发送时钟(Send clock[6]IRTRT通信中2个连续间隔之间的时间段。发送时钟是用于交换数据的可能的最短传输时间;
    (2)
更新时间(Update time):更新时间=发送时钟× Factor
   
在此时间间隔之内,IO 控制器/IO 设备为 PROFINET IO 系统中的IO设备/IO 控制器提供新的数据。可以为每个IO设备单独组态发送周期,并定义将数据从 IO 控制器发送到 IO 设备(输出)的时间间隔以及将数据从 IO 设备发送到IO控制器的时间间隔(输入)。更新时间在SETP7组态中可以设置。
    (3)Factor
Fatcor是放大倍数,为2n,也称减速比(Reduction Ratio[7]
    (4)
看门狗时间 Watchdog xime
   
通过STEP7,采用更新时间的整倍数来设置看门狗时间,该时间也可由用户修改。如果在看门狗时间内IO控制器没有为IO设备提供输入/输出数据,IO设备将出现故障并给出替换值。这种情况将作为站故障报告给IO控制器。
2
研究PROFINET IO实时性的必要性
   
首先,在运动控制系统等对实时性要求很高的领域,用户需要知道PROFINET IO数据循环的周期,以便更好地进行生产。其次,如果在STEP7工程工具中对PROFINET IO设备的更新时间和看门狗时间设置不合适,设备就会在运行时出现莫名其妙的故障。所以,对PROFINET IO实时性的研究是很有必要并且具有现实意义。     
3  PROFINET IO
的实时性
3.1 
标准以太网的帧结构
   
标准以太网的帧如表1所示。可以看出,一个标准以太网帧数据大小为64 B1  500 B。快速以太网(100 Mb/s)传输1 518 B数据的时间是120 μs,传输64 B数据的时间是5 μs

3.2  交换机制
 
 SIMATIC 中的交换机通过 PROFINET 上的2个机制满足实时要求。
  (1) 存储与转发S&FStore and Forward[4]
  使用存储转发方法时,交换机将完整地存储消息帧,并将它们排成一个队列。 如果交换机支持国际标准 IEEE 802.1Q,则根据其在队列中的优先级存储数据。 这些消息帧随后将有选择性地转发给可访问已寻址节点的特定端口(存储转发)。
  对于存储转发,数据经过交换机时先存储进行校验,然后由交换机根据地址表再进行转发。
  (2)直通交换方式(Cut Through[4]
  在直通交换方式过程中,并不是将整个数据包临时存储在缓冲区中,而是在目标地址和目标端口已经确定后,马上将整个数据包直接传送到目标端口。这样通过交换机传送数据包所用的时间是最小的,且不受消息帧长度的影响。当目标段与下一个交换机的端口之间的区段已被占用时,数据将根据优先级的存储和转发过程临时存储。
  根据西门子交换机SCALANCE X200手册,64 B的数据S&F延迟时间是10 μs1 500 B数据S&F延迟时间是130 μs
  根据IEEE802.1Q定义的以太网报文的优先级,在标准以太网报文中加入4B来标识报文的优先级,凡是支持IEEE802.1Q的交换机都会对这些报文进行优先级的识别和处理,以图2所示为例说明,交换机的端口2收到报文1并进行存储转发,这时端口3收到报文2和报文3,由于报文1正在被发送,即使它是非实时的报文也不能被中断,由于报文2的优先级低于报文3的优先级,所以报文3会被优先发送出去,这时从端口1发送的顺序就是报文1、报文3、报文2

3.3  PROFINET IO实时数据传输的延迟时间
   
假设组态ET200分布式I/O模块不是很多的情况下,这样一个最小的以太网报文64 B完全可以控制I/O,那么就认为PROFINET报文的大小为64 B。根据快速以太网(100 Mb/s)传输64 B数据的时间是5 μs,经过n台交换机的传输时间约为n×5 μs。根据SCALANCE X200手册,64 B的数据S&F延迟时间是10 μs,经过n台交换机的延迟时间约为n×10 μs。那么RT数据的延迟时间为10+5μs
   
但是还需要考虑另一种情况,如果RT数据经过每台交换机准备发送,恰好每台交换机都正在转发一个最大的非实时(NRT)以太网报文,RT的数据必须等待非实时(NRT)数据发送完毕然后再进行传输,当然,这种情况是极特殊的。这样通过计算快速以太网传输1 518 B数据的时间是120 μs,最大非实时数据(NRT)以太网报文经过n台交换机的传输时间约为n×120 μs。根据SCALANCE X200手册,1 500 B的数据S&F延迟时间是130 μs,经过n台交换机的延迟时间约为n×130 μs。这种情况,经过n台交换机一个RT数据总的延迟时间约为10+5μs+n×130+120μs。如果存在64SCALANC X200交换机串联,则最远现场IO的延迟时间约为64×130+120+64×10+5=16.96 ms
   
这样根据所计算的结果,如果通过STEP7设置最远设备的刷新时间PROFINET IO网络中,一个IO控制器控制64IO设备时,Step7默认计算控制每一个IOUpdate time1 ms。而在PROFINET网络中,不可避免地存在非实时(NRT)数据,例如通过SFB52/53读写数据记录,通过SNMP诊断和维护PROFINET网络、PG诊断、视频或音频等。
   
如果使用默认设置的1 ms,则最远现场IO可能出现莫名其妙的丢站现象,可能会被认为是电磁干扰等造成的,从而无法排除现场故障。如果存在上述网络拓扑结构,最好设置最远现场IO的刷新时间在8 ms以上,或者调整看门狗时间,即调整刷新时间的倍数,使IO控制器和IO设备不会检测到错误。
   
根据这种分析方法,对任何的PROFINET网络拓扑结构都可以通过上述的方法确定PROFINET  IO设备的刷新时间,避免出现IO错误。
   
如果使用SCANLANCE X IRT交换机串联,由于IRT交换机使用Cut Through的处理数据方式,这样数据的延迟时间会明显缩短。
  如果使用带有PN接口的ET200串联,由于集成ERTEC芯片,同样适用Cut Though的数据处理方式,这样数据的延迟时间会大大缩短。
  由交换机的机制和数据在网络介质中传输造成的延迟可以看出,距离主站组态距离不同的IO设备数据更新时间是不同的,距离主站越远的设备,IO数据更新时间越长,所以必须要设定相应的看门狗时间,以避免因为到达看门狗时间数据未更新而造成设备故障误报。
   
使用IRT(等时实时)通信可以有效地减少数据在交换机上的延迟,因为IRT数据经过交换机使用的是Cut Through方式。
参考文献
[1]
崔坚,李佳,杨光. 西门子工业网络通讯指南(下册)[M].北京:机械工业出版社, 2005199-201.
[2]RAIMOND P, MARK M,
汤亚锋. 西门子PROFINET工业通信指南 [M].北京:人民邮电出版社,200746-48.

 

手机扫描二维码分享本页

工控网APP下载安装

工控速派APP下载安装

 

我来评价

评价:
一般