技术中心
 
 

如何计算工业以太网的响应时间和网络负载

   日期:2009-02-23     作者:管理员    


  在工业以太网的设计中,计算服务的响应时间和网络的负载量是一项重要的内容,这是预估网络性能的重要参数,对网络的实时性影响很大。下面就以施耐德电气透明就绪工业以太网中的三种实时服务为例,讨论这两项指标的计算方法,为读者计算自己的网络指标提供借鉴。

  响应时间计算
  Modbus  报文处理服务的响应时间  

  图中: CT1——PLC1的扫描时间;
  CT2——PLC2的扫描时间;
  NAT——网络访问时间;
  TT——事务处理时间。
  PLC 模块处理数据交换是与PLC 周期同步的,输入/ 输出交换也以相同的方式同步。当发生事件时,比如输入到达PLC1,只有当这一输入处理完,才开始后面的周期,PLC 程序执行之后才能传输报文,也就是事件发生后约1.5 个周期。  


  表1中网络访问时间(NAT) 的单位为毫秒,为模块传输时间和报文在网络上传输的延迟之和。

  整个信息处理时间TT包括从 PLC1传输报文,被 PLC2接收、处理请求、返回响应、到被 PLC1接收( 比如更新输出) 的延迟。如上图所示:
  ■  事务TT 的时间范围为:
 

 2×CT1 + 2×NAT < TT < 4×CT1 + CT2 + 2×NAT
  例如:Quantun 系统,扫描时间为20ms,结果为:60ms<TT<120ms
  ■  平均TTave 时间为:
  T T ave = 3×CT1 + 0.5×CT2 + 2×NAT
  例如:Quantun 系统,扫描时间为20ms,因此 TTave=90ms
  ■  如果计算从PLC1输入到PLC2输出的TT 时间为:
  TT  = 1.5×CT1 + 1×CT2 + 1×NAT
  例如:Quantun 系统,扫描时间为20ms,因此 TT=60ms

  全局数据服务的响应时间  

  图中: CT-发布信息的周期时间;
  NAT-网络访问时间;
  TT-事务处理时间。
  事务时间(TT) 包括站 PLC1发布全局数据,PLC2 接收处理,到向PLC1 重传的延迟。对于交换变量:
  ■  如果CT < 5 毫秒,事务时间为: TT = 5 × CT
  ■  如果CT >=10 毫秒,事务时间为:TT = 3 × CT
  例如:Quantum NOE模块的CT=5ms,那么TT=25ms。如果设置CT=10ms,那么TT=30ms。

  I/O 扫描服务的响应时间  


  图中: CT-PLC扫描时间;
  RT-从输入到输出的响应时间。

  应用响应时间(RT)包括从远程输入获取数据到更新远程输出之间的时间延迟。它包含了 PLC 应用处理时间。
  RT 响应时间包含下列参数:
  

  图中TMod In与TMod Out:读 / 写设备响应时间 (TMod取决于设备,但一般在1 到8 毫秒)。
  表2给出了 TMod In 与 TMod out 的响应时间:
  
  表2

  TIOS In 与 TIOS Out:
  对相同设备操作时,两个扫描周期之间的时间 (可用图5做参考。TIOS 与CPU 周期时间并行执行,因此在计算RT 响应时间时,可以隐去) 。
  

  N:PLC CPU周期数。请见表3详细信息。CPU周期数N为:
  
  Tnet:网络上的传播时间 ( 取决于应用,Tnet一般为:十兆网络0.05 ms,百兆网络0.005ms)。
  通过下列公式可以估算RT响应时间:
  RTmin,TIOS 隐去的最小响应时间:
  RTmin = Tmod In  + Tnet + N x CycleT + Tnet + TMod Out
  RTtypic, 0,5 TIOS隐去的典型响应时间:
  RTtypic =TMod In + 0.5×TIOS In + Tnet + N×CycleT + 0.5×TIOS Out + Tnet + TMod Out
  RTmax, TIOS不隐去的最大响应时间:
  RTmax = TMod In + TIOS In + Tnet + N×CycleT + TIOS Out + Tnet + TMod Out
  举例:Quantum PLC,扫描时间20ms,带20个 Momentum I/O, 所以平均响应时间为:RT= 1+0.5x 5 + 20 + (0.5x 5) + 4= 30ms

  网络负载估算指南
  为了估算以太网上的网络负载,需要计算连入网络的所有设备的所有通信服务量。由于以太网具有很高的性能,在多数情况下,网络负载可以很容易地控制在以太网的性能上限之内,而不会显著地影响 到总的应用响应时间。这是因为以太网的速率非常高:网络事务处理时间小于总的应用响应时间的10%。为了确保低水平的网络负载,并避免大量的理论计算,我们强烈建议您应用交换网技术 ( 树型、星型或菊花链型拓扑) 分隔冲突域,限制网络负载。
  以下为网络负载估算指南。只有使用交换网络或菊花链网络,才不需要对冲突域内的情况进行系统估算。
  我们的指南仅限于以太网的下列通信服务:
  ■  TCP/IP Modbus 报文;
  ■  I/O 扫描;
  ■  全局数据。

  其它服务(如故障设备替换、网络管理SNMP、Web等)以及事务管理(重试与冲突、用于建立管理服务的带宽等)在此估算指南中都不作考虑。

  估算TCP/IP Modbus 报文
  估算TCP/IP Modbus 报文所占用的带宽是一件十分复杂的工作,这是因为在应用程序所请求的每一次事务中,大量的参数都会变化。

  事务周期性
  事务的周期性是不容易确定的。请求是在发起任务时发送出去的,但响应则依赖于目的站的任务处理时间。如果网络上数据流量太大,则响应要等好几个周期。在进入事务周期时,必须估算所有这

些参数。

  报文长度
  ■  报文的一部分具有相同的长度,它是几个相继封装的信息:以太网 (26), IP (24), TCP (24), 和Modbus-MBAP (7),总共为81 字节, 12 个字节用于响应包空隙的填充;
  ■  数据帧的后一部分的长度取决于Modbus PDU 请求/响应及其参数的长度。在表4中列出了各种不同的情况 (取值为字节)。
  估算Modbus TCP/IP 报文所使用的带宽时,需要考虑事务的下列特性参数:
  

  ■  发送报文的时间,以毫秒计算;
  ■  Modbus PDU 请求的大小,以字节计算;
  ■  Modbus PDU 响应的大小,以字节计算。
  下面公式给出了Modbus TCP 报文服务的网络负载估算方法,单位为字节/ 秒:
  (186 + 请求Modbus PDU 的大小+ 响应Modbus PDU 的大小)x 1000 / 发送报文的周期
  需要为每个事务的每个扫描的设备进行计算。
  下面举例说明:Quantum PLC 请求读子站的10个保持寄存器(03),周期为100ms:(186+5+22)x 1000/100=2,130字节/秒

  I/O 扫描器的估算
  估算I/O 扫描器所使用的带宽,需要考虑每个扫描站的下列特征参数:
  ■  扫描周期,单位毫秒;
  ■  读变量的大小,单位字;
  ■  写变量的大小,单位字。
  注:扫描周期受到被扫描设备响应时间的限制。
  下面公式给出了I/O 扫描器服务的网络负载估算方式,单位为字节/ 秒:
  (103 + 2 x 读变量大小 + 95 + 2 x 写变量大小)x 1000 / 扫描周期
  需要为每个扫描站的每个扫描设备进行计算。
  举例说明:Quantum PLC 对10个Momentum I/O (32点)进行扫描,周期为30ms:(103+2x10+95+2x10)x1000/30=238x1000/30=7,933字节/秒

  全局数据的估算
  为了估算全局数据服务所占用的带宽,需要考虑属于同一多播组的所有变量的特征参数:
  ■  发布周期,按扫描数计算;
  ■  主任务周期,按毫秒计算;
  ■  变量大小,按字数计算。
  对于多播组中所有至少发布一个变量的站,都要收集这些参数。
  全局数据服务的网络负载估算公式如下,单位为字节/ 秒:
  (变量大小 x 2 + 90) x 1000 / ( 主任务周期+ 发布周期)
  需要为所有多播组的所有变量进行计算。
  下面举例说明,Quantum PLC,主任务周期为30ms,发布周期为50ms, 变量为:300个字:(300x2+90)x1000/(30+50)=8,625字节/秒

  系统估算
  考虑到下面情况时,可以用前面的估算获得流量信息:
  ■  一个发送报文或I/O 扫描器请求的站;
  ■  一组属于同一个全局数据组的站。
  最终的目标是估算连接多个工作站时的网络流量。
  对于每个PLC站,需要下列信息:
  ■  按照前面方式计算出的PLC站所管理的流量水平(I/O 扫描、报文及全局数据的流量之和);
  ■  PLC站所属的冲突域。
  全局数据流量的估算还需要一些其它信息:
  ■  预先计算好的各个全局数据组的流量等级;
  ■  属于全局数据组的PLC站列表。
  第一步,是要计算各个冲突域中的网络流量。 所谓冲突域就是使用了集线器的域。用交换机可以分开两个冲突域。如果在网络基础设施中只采用了交换方式或菊花链方式(强烈推荐采用这种方式,将网络负载尽可能地降低),那么直接跳到下一步。如果您用集线器把所有站的所有网络流量都连接到同一个冲突域中,表5可以帮您计算网络流量:
  
  第二步,计算两个冲突域之间的网络流量。如果只采用了交换方式或菊花链方式(建议不要用两个集线器),那么只需要加上每个链路传输的报文。如果在某些地方采用了集线器,那么在这一步中,只需要将一个集线器域的流量加到另一个上(如,通过一个交换机)。
  第三步,是计算每个冲突域的总网络流量。在各个域中,需要把“内部”冲突域的流量加到与其它冲突域通信的流量上。在某个域上计算流量时,适用下列规则:
  ■  如果某个PLC属于域,则它所发生的所有流量都要包含在流量计算中;
  ■  如果某个PLC不属于域,则只有发送到域的流量才包含在流量计算中。
  注:在计算过程中,我们假定交换机启用了组播过滤,而全局数据流量也在属于全局数据组的机器所在的冲突域上传播。
  第四步,是对比每个冲突域的网络流量负载和以太网的巨大带宽(十兆

、百兆、等)。用户应确保应用负载不得超过可用的网络带宽容量。自动化网络上的可用带宽换算成假设网络容量的百分比。这取决于所使用的工业以太网标准。允许的带宽为理论总带宽的30%到40%,同时还与使用的网络拓扑有关。
  如果应用的负载超过了可用的带宽,则必须使用更多的交换机减少冲突域中的工作站数,(因而降低了域中的内部流量)降低应用的带宽负载,以及/ 或者提高所采用的工业以太网标准。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢