工厂的生产工艺对自动化网络提出了高可用性的要求,为此,国际电工委员会制定了IEC62439国际标准。本文通过用高可用性网络的基本概念和几种高可用性网络的工作原理,对高可用性网络的技术做简要介绍,希望能对读者有所裨益。
1.高可用自动化网络的概念
1.1网络失效的恢复
工厂要依靠自动化系统的正常运行。工厂仅能容忍自动化系统短时的失效,这个时间被称为容许时间。网络的恢复时间应该小于这个容许时间,在工厂回到正常运行状态之前,应用必须要执行额外的任务(与协议、数据处理、下一个通信周期的等待相关)。应用可以按他们的容许时间进行分类,见表1。
表1 ――应用容许的时间
应用 |
容许时间 |
非实时自动化系统,如:企业资源计划,制造执行系统 |
<10 s |
通用自动化,如:人机界面,SCADA,楼宇自动化 |
<1 s |
工厂自动化,如:制造自动化,过程自动化,电厂 |
<100 ms |
实时自动化,如:同步驱动器,机器人控制,变电站 |
<10 ms |
当有些工厂需要连续运行时,要求就会更加严格,不许有停机时间,只能在大修时间段进行维护和再配置。在这种情况下,容许时间就是这个严格要求,比如,这就规定了设备部件的热切换的时间。
自动化系统可以用不同的冗余方法来解决失效问题。方法的不同在于怎样进行冗余, 但他们的关键性能要素都是恢复时间,比如,在中断发生后恢复运行所需的时间。如果恢复时间超过了工厂容许时间,保护机制会引发(安全)停车,这可能会使生产带来巨大损失。
恢复时间的一个关键特性是它的确定性,比如,保证恢复时间肯定低于某个特定值,满足基本要求(某个时间的单一失效,没有共模失效,小于最大容许时间)。
无论工厂是否依靠自动化网络的正常运行,增加网络的可用性都是非常必要的。这里不讨论使用元件的可靠性或者增加维护来提高可用性。我们只考虑系统一旦失效,协议带来的冗余功能,以及如何自动重新配置网络中的元件。
1.2网络冗余的分类
考虑两类网络冗余:
• 在网络内的冗余管理;
• 在终节点的冗余管理。
在网络内的冗余管理
网络内的冗余应用在广域网上,以前现场总线3层路由器会根据链接失效计算可变的路径。相应的协议作为IP簇的一部分,已经得到很好的验证。根据拓扑结构,恢复时间为几十秒,或者要几分钟。这种恢复时间仅能被很缓慢的应用所接受。
自动化网络通常运行在一个的局域网(LAN)上,比如,操作的报文穿通常梭于1层的重发器或者2层的交换机之间,但不会跨越路由器。虽然通过路由器或者防火墙发出和进入的报文确实存在,但不是关键和主要的。
传统上,在一个局域网内的冗余由协议来处理,当连接丢失后,重新配置局域网,并进行切换。使用冗余连接并切换的方法有:根据IEEE 802.1D标准的快速生成树协议(RSTP)。
改进的2层冗余协议建立在与RSTP相似的原理上,但提供了一种更快的恢复,它是根据自动化网络具有环行拓扑的假定而设计。终节点(end node)是不变化的自动化节点。
在终节点内的冗余管理
对恢复时间的进一步加快需要在终节点内管理冗余,需要配备多个、冗余连接的终节点。通常,双重连接(doubly attached)终节点提供了两通道冗余。这种类型的冗余,不用考虑在局域网内的切换。
对于实时应用,例如:同步驱动器,并行运行对断开的网络保证了无间断的恢复,但需要网络的完全双重化。有些关键应用还需要双重连接节点,来对付单一连接失效,甚至都没有恢复时间。
[DividePage:NextPage]
1.3几种冗余协议的比较和性能指标
每种协议提供了:
• 一个最大的、确定的和保证的恢复时间(有时要取决于拓扑结构);
• 针对应用在不同环境下的实际通信透明度;并且
• 双重连接节点可与单一连接节点互操作(如:市售产品、IT设备)。
表2 一些冗余协议的部分特性比较,按恢复时间进行排序
协议 |
方案 |
帧丢失 |
冗余协议 |
终节点连接 |
网络拓扑 |
失效恢复时间 |
IP |
IP 路由 |
有 |
在网络中 |
单一连接 |
单一网格 |
典型:>30 s 无确定性 |
STP |
IEEE 802.1D:1998 |
有 |
在网络中 |
单一连接 |
单一网格 |
典型:>20 s 无确定性 |
RSTP |
IEEE 802.1D:2004 |
有 |
在网络中 |
单一连接 |
单一网格 |
典型:>2 s 无确定性 |
CRP |
IEC 62439, 第7章 |
有 |
在终节点 |
单一和双重连接 |
连接的, 双重网格 |
最差:1 s 512个终节点 |
MRP |
IEC 62439, 第5章 |
有 |
在网络中 |
单一连接 |
环型 |
最差:200 ms 50个交换机 |
|
IEC 62439, 第8章 |
有 |
在终节点 |
双重连接 |
连接的, 双重网格 |
最差:4,8 ms 500个终节点 |
PRP |
IEC 62439, 第6章 |
无 |
在终节点 |
双重 |
独立双重网格 |
0 |
注:表2中的保证恢复时间必须使用特定的设置和参数才能实现。在用户的实践和不断总结中,采用不同的设置和参数可能达到更短的恢复时间。
当用户进行具体实施时,不同解决方案的参考指标包括:
• 失效恢复时间;
• 修理恢复时间;
• 复原恢复时间;
• 最差恢复时间;
• 对正常运行的影响。
失效的情况包括:
• 当前有效网络管理器(如果存在)的失效,然后修理和复原;
• 当前网络时间源(如果存在)的失效,然后修理和复原。
2. MRP(Media Redundancy Protocol)――基于环型拓扑的介质冗余协议
2.1 MRP 概述
介质冗余协议指定了一种基于环型拓扑的恢复协议。MRP是对使用交换机、可能发生单一失效、具有确定性反应的网络而设计。MRP 是基于ISO/IEC 8802-3 (IEEE 802.3) 和IEEE 802.1D的特性,包括过虑数据库(FDB)功能,MRP位于数据链路层和应用层之间(参见图1)。
遵从协议的网络应具有环型的拓扑结构,带有多个节点。网络中的一个节点扮演介质冗余管理器(MRM)的角色。MRM的功能是监视和控制环型拓扑结构,一旦网络出现失效便立即反应。MRM通过一个环端口(ring port)往环上发送帧,然后在另一个环端口接收这些帧来完成其作用的,在相反方向上也是一样的。
在环中的其他节点扮演介质冗余客户机(MRC)的角色。一个MRC在接收来自MRM的重新配置帧时起作用,可以在它的两个环端口上改变连接。
遵从协议的节点应能执行下面的功能:
• 介质冗余管理器(MRM);
• 介质冗余客户机(MRC);或者
• 既是MRM又是MRC(但两个角色不能同时有效)。
每个MRP兼容节点都有一个内置交换机,带两个环端口,连接在环上。环上的每个节点能够探测失效或者恢复内部交换机连接,或者恢复相邻节点。
MRP由一个服务和一个协议实体组成,参看图1中的栈模型。
[DividePage:NextPage]
图1 – MRP 栈
2.2 环端口
MRM和MRC应该有两个环端口。 MRM和MRC应该能够探测失效或者使用基于IEEE 802.3机制,对一个环端口恢复连接。
2.3 介质冗余管理器(MRM)
MRM的第一个环端口应连接到MRC的一个环端口。MRC的另一个环端口一个连接到另一个MRC的环端口或者MRM的第二个环端口,从而形成一个如图2所示的环型拓扑结构。
图2 ―带有一个管理器和多个客户机的MRP环型拓扑
MRM应该监控环的状态:
• 在配置周期,往环的两个方向上,发送MRP_Test帧;
• 设置一个环端口为转发(FORWARDING)状态,如果另一个环端口接收到自己的MRP_Test帧(这意味着环是闭合的,见图2),则把它设置成阻止(BLOCKED)状态;
• 如果在一个MRP_TSTdefaultT或MRP_TSTshortT或MRP_TSTNRmax时间的配置周期里,另一个环端口不能接收到自己的MRP_Test帧(这意味着环是断开的,见图3),把两个环端口都设置为转发(FORWARDING)状态。
图3 ―MRP MRM 在环断开的情况
下面的机制保证MRM和MRC之间在环拓扑变化时的同步。
MRM应该指出环状态的变化,给所有MRC发送MRP_TopologyChange帧。当探测到环路断开时,那么MRM通过它的两个环端口发送 MRP_TopologyChange 帧。这个帧带有一个延时时间,延时后执行环型拓扑的改变。这个延时参数称为MRP_Interval。当这个时间结束,所有MRC应该清除它们的过虑数据库(FDB)。.
每个MRC应该对延时参数MRP_Interval,返回一个MRP_LinkUp或者MRP_LinkDown 帧到MRM,告诉MRM在这个时间结束后,MRC将改变它的端口状态,从BLOCKED 到 FORWARDING(MRP_LinkUp帧)或者到DISABLED(MRP_LinkDown帧)。
[DividePage:NextPage]
2.4 介质冗余客户机(MRC)
每个MRC应该在一个环端口接收MRP_Test帧,然后从另一个环端口转发,反方向也一样。
如果MRC探测到一个失效或者恢复一个环端口连接,MRC可以通过它的两个环端口,发送MRP_LinkChange帧通知这个变化。每个MRC应该从一个环端口接收MRP_LinkChange 帧,然通过另一个环端口后转发,反方向的情况也一样。
每个MRC应能从一个环端口接收MRP_TopologyChange帧,然后转发到另一个环端口, 反方向也一样。每个MRC应能处理这些帧。如果在一个给定间隔(MRP_TOPchgT)收到MRP_TopologyChange 帧,它应该清除它的过虑数据库FDB。
2.5 冗余域
冗余域表示一个环。缺省时,所有MRM 和MRC都属于整个缺省域。每个域分派了一个独一无二的身份标识ID,做为它的关键属性,特别当一个MRM或者一个MRC为多个环的成员时,这样就不会造成混淆。在每个冗余域中,一个节点应该严格指派两个唯一的环端口。
(转载)