在工业以太网的设计中,计算服务的响应时间和网络的负载量是一项重要的内容,这是预估网络性能的重要参数,对网络的实时性影响很大。下面就以施耐德电气透明就绪工业以太网中的三种实时服务为例,讨论这两项指标的计算方法,为读者计算自己的网络指标提供借鉴。
响应时间计算
Modbus 报文处理服务的响应时间
图中: CT1——PLC1的扫描时间;
CT2——PLC2的扫描时间;
NAT——网络访问时间;
TT——事务处理时间。
PLC 模块处理数据交换是与PLC 周期同步的,输入/ 输出交换也以相同的方式同步。当发生事件时,比如输入到达PLC1,只有当这一输入处理完,才开始后面的周期,PLC 程序执行之后才能传输报文,也就是事件发生后约1.5 个周期。
表1中网络访问时间(NAT) 的单位为毫秒,为模块传输时间和报文在网络上传输的延迟之和。
整个信息处理时间TT包括从 PLC1传输报文,被 PLC2接收、处理请求、返回响应、到被 PLC1接收( 比如更新输出) 的延迟。如上图所示:
■ 事务TT 的时间范围为:
例如: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不属于域,则只有发送到域的流量才包含在流量计算中。
注:在计算过程中,我们假定交换机启用了组播过滤,而全局数据流量也在属于全局数据组的机器所在的冲突域上传播。
第四步,是对比每个冲突域的网络流量负载和以太网的巨大带宽(十兆
如果应用的负载超过了可用的带宽,则必须使用更多的交换机减少冲突域中的工作站数,(因而降低了域中的内部流量)降低应用的带宽负载,以及/ 或者提高所采用的工业以太网标准。