1 引言
基于TCP/IP协议的工业以太网以其高通信速率和低应用成本被大量应用到工业通信中。以太网协议和TCP/IP协议本身未定义冗余通信,因此以提高可靠性为目标的以太网冗余通信研究受到了极大关注。以太网高可用性自动化网络标准IEC CDV 62439提出了“冗余至网络"和“冗余至节点"两类以太网冗余方案。前一类方案只提供线路和交换机冗余,节点本身没有冗余通道。比较典型的应用有STP、RSTP和MSTP。它们采用物理环网连接交换机和网桥。正常工作时阻断一个方向的通道防止“广播风暴”。故障发生后,通过启用阻断通道实现冗余通信。这类方案实现成本低,但是存在一定的故障恢复时间,且无法解决因节点网卡故障引起的通信中断。后一类方案中的节点和两个独立的冗余以太网连接,节点同时在两个网络上收发数据,因此能消除网络的故障恢复时间。其典型代表为PRP。PRP节点上连接冗余以太网的两个通道具有相同的MAC地址和IP地址。所有报文同时在两个网络上发送,接收节点通过报文时间标签筛选冗余报文。这种方案不可避免地增加了网络上报文的数量,且不能实现精确的时钟同步。文献中介绍了一种基于环网的冗余方案,该方案能同时实现节点的冗余通信和网络的精确时钟同步。该方案的节点具有两个具有数据交换功能的以太网接口。节电通过菊花链的形式串接成一个环网,故障发生时通过调整路由表实现冗余通信。采用环网冗余的ProfiNet把每个通信周期分成IRT部分和Open部分。在IRT部分节点向环网的两个方向同时发送数据,实现了重要报文零故障恢复时间的冗余通信。但是当多个节点同时发生故障时,就会造成环网的瘫痪。另有文献介绍的主干冗余方法则极大地利用了网络资源,它采用多条独立的以太网连接两个节点,数据在各个以太网上分散传输。故障发生后,通过其他通道分担故障通道的报文传输实现冗余通信,此方案无法消除故障恢复时间。本文提出了一种新的冗余至节点的工业以太网冗余方案,通过在报文中设计报文时间标签、节点间互检生成并实时维护网络状态映射表、次要报文在网络状态良好时采用双网分散传输等措施,可有效降低了网络的通信负荷,提高以太网的稳定性与可靠性。
2 冗余通信结构设计
2.1 网络拓扑结构
本方案的冗余通信网络采用“冗余至节点"的双以太网结构(如图1)。每个节点配备两个完全独立的网络接口(通讯介质、网络控制器、驱动接口等均冗余配置),构成A、B两个独立以太网通道。每个接口拥有各自的IP地址,分别与物理上独立的以太网A网和B网相连。IP地址的第四个字节与节点号对应(例如,节点n的A网和B网的IP地址分别为128.128.3.n,128.128.4.n)。当其中一个网络出现故障时,节点仍可以利用另一个网络进行报文收发,有效提高了系统的可靠性。
图1 冗余以太网拓扑结构
2.2 节点网络层次模型
网络中报文可以在A、B两个网络冗余传输也可以独立分散传输。但在应用层上必须保证所有报文的端口单一性,因此本文在TCP/IP层和应用层之间设计了冗余处理层,如图2所示。
发送方的冗余处理层负责报文冗余通信方式的选择,冗余报文的复制、报文时间标签的添加、传输通道的分配,实现了节点双网冗余传输和双网分散传输的发送。
接收方的冗余处理层负责报文冗余通信方式的判别、冗余报文的合并、网络故障自诊断,实现了节点双网冗余传输和双网分散传输的接收。
图2 通信节点的结构
2.3 通信报文格式
为区分冗余报文、非冗余报文以及实现冗余报文的筛选,本方案把以太网报文用户数据区的前2个字节定义为报文时间标签(如图3)。报文时间标签的最高位为“冗余通信”表示冗余通信传输方式。低15位为循环序列码,标识相同传输模式下发往同一目标节点的报文发送顺序。本方案在发送节点为每个目标节点、广播组、多播组各设计了一个寄存器存放上一次发送的报文的循环序列号。通过时间标签相当于为两个节点的通信传输建立了连接。
图3 冗余以太网报文格式
3 冗余通信的实现
3.1 双网冗余传输处理
利用报文中的时间标签,节点可以实现零故障恢复时间的双以太网冗余通信,其通信过程分为冗余发送处理和冗余接收处理。
3.1.1 冗余发送处理机制
发送节点的冗余处理层根据报文的目标地址把对应寄存器里的循环序列码加1,作为新报文的循环序列码。新报文同时在A、B两个网络上发送。因此当一个通道出现故障时,发送节点仍能通过另一个通道及时发送报文,实现了零故障恢复时间的冗余发送。
3.1.2 时间优先法冗余接收处理机制
双冗余传输模式下,接收方同时接受A、B两个网络上的报文,当一个通道出现故障时,接收方仍能通过另一个通道及时接收到报文,实现了零故障恢复时间的冗余接收。接收节点通过报文时间标签判断来自A、B两个网络的报文是否相同。实际应用中,冗余报文在A、B两个网络上的到达时间可能存在差别。本方案采用时间优先法处理冗余报文的接收,即只接收通过校验的优先到达的报文。
本方案在接收节点设计了一组报文时间标签队列,每个队列对应一个发送节点,用于冗余报文的筛选(如图4)。节点接收到来自节点n的校验正确的新报文后,查询节点n的队列,如果队列中已经有该报文的时间标签存在,节点丢弃该报文并删除队列中该报文的时间标签。否则节点在队列中存放报文的时间标签及其到达时间。因此即使从传输超前的网络中接收的报文校验失败,节点仍有机会从传输滞后的网络中接收数据。与PRP的“滑动丢包窗口”相比采用此方法处理冗余报文增加了报文接收的可靠性。节点根据队列中存放的报文到达时间周期性地清除队列中超时的报文的时间标签,以确保队列中的报文时间标签在合理接收范围内。[page]
通过以上处理机制有效地消除了双网冗余传输通信的故障恢复时间,提高了报文的实时性和可靠性。
图4 报文时间标签队列
3.2 网络在线故障自诊断
双网冗余传输模式提高了工业实时以太网的通信容错能力。但是故障的存在将降低系统的稳定裕度,本文采用节点互检技术在线实时诊断网络的故障状态,以保证网络运行在最佳工作状态。接收节点利用网络诊断报文诊断网络的故障状况并在节点中建立网络状态映射表。
3.2.1 网络诊断广播报文
为了实现在线实时的网络故障诊断,同时避免故障诊断占用过多的网络资源,网络上的节点周期性的在两个以太网上同时广播网络诊断报文。接收节点根据该报文的接收情况判断自身与网络上其他节点各个通道的连接是否正常。
3.2.2 网络诊断报文接收分析
本方案在每个节点上设置了一组定时器,每个定时器对应发送节点的一个通道,用于维护网络诊断报文的接收。如果在一定时间内未接收到某个通道广播的网络诊断报文,表示接收节点已经和发送节点的该通道失去了通信连接,节点把该通道用“故障”状态标识,否则用“正常"状态标识。接收节点以此建立并更新网络状态映射表。每次节点接收到新的诊断报文后都将重置相应的定时器。
3.2.3 网络状态映射表的建立与维护
网络中的每个节点利用以上方法把其他节点的各通道分为“故障"和“正常",并周期性的更新网络状态映射表。新入网的节点用双网冗余传输模式传输所有报文并通过分析接收的网络诊断报文快速建立网络状态映射表。其他节点通过分析它发送的网络诊断报文在网络状态映射表中添加对它的故障映射。网络状态映射表实时地上传到监控中心,监控中心利用它们实时地分析整个控制系统通信网络的状态,从而提高了系统的可维护性。
3.3 自适应多模式冗余通信处理
过程控制系统中不同重要性的报文具有不同的传输性能要求。本方案根据报文实时性、可靠性和响应性的要求把网络中的报文分成重要报文和次要报文。在网络状态良好时,本方案对不同的报文采用不同的冗余传输机制,由此既保证了重要报文的可靠通信又极大地利用了网络带宽。
3.3.1 报文分类
重要报文:包括系统自检报文、控制指令、系统配置信息报文。这类报文对实时性、可靠性和响应性具有很高要求。发送方需要在最快时间内把报文发送到目标节点。如果报文丢失或延时过长会造成严重后果。
次要报文:包括控制设备、数据采集设备发送的各个通道的实时数据以及通道的状态。这类报文一般按周期发送,即使丢失了一个周期的报文,节点仍能通过下一个周期获得数据。
3.3.2 重要报文双网冗余传输
本方案中的重要报文在任何情况下均采用双网冗余传输方式传输,实现了重要报文零故障恢复时间的冗余通信,保证了重要报文的可靠性和实时性。
3.3.3 次要报文双网分散传输通信
根据网络状态映射表,节点可以准确获得当前网络的状况。当网络处于良好的工作状态时,本方案采用双网分散传输模式传输次要报文,使系统次要报文的传输切换到另一个网络。
4 验证与测试
本文通过8口交换机TP-Link TL-SF1008+连接浙江中控GCS-2主控卡和带有双网口的PC机。并在主控卡和PC机上实现本冗余方案,利用PC机上的Ehtereal软件查看接收的报文。主控卡以1s为周期向PC机发送重要报文,以100ms为周期发送实时数据等次要报文。网络状态映射表建立前,所有节点均以双网冗余传输模式传输报文,此时PC机平均每秒接收154包UDP报文。当系统进入混合冗余传输模式后,PC机每秒平均接收84包UDP报文,有效降低了网络的负荷。
断开1号节点A通道后,PC机仍旧能从通道B接收到节点1的重要报文,实现了重要报文零故障恢复时间的冗余传输。经过3.1 S(定时时间T为3 S),平均每秒从1号节点B通道接收的次要报文的数量从5包增加为10包,实现了次要报文双网分散传输的冗余切换。
增加2号节点B通道的网络负荷,当网络负荷超过20%时,部分重要报文的到达时间滞后于A通道,由于本文采用时间优先法处理报文的接收,因此应用程序处理A通道的报文,既优先到达的报文,提高了系统的实时性。
图5 验证测试网络拓扑图
5 结论
本方案根据工业应用场合零故障恢复时间以及高可靠性与高可用性等特殊要求,设计了一种自适应多模式冗余通信,有效地提高了重要报文传输的实时性和可靠性,提高了网络带宽的利用率,可满足大部分工业应用中通信网络的要求,具有较高的实际意义和推广价值。
上一篇:工业以太网中层次拓扑结构对网络性能的影响
下一篇:Ethernet/IP通信适配器的设计与实现
推荐阅读最新更新时间:2024-05-02 23:23
- 基于TMS320F2812的电力系统谐波分析仪的设计与实现
- USB接口研究与硬件电路设计
- 关于错误This header file is only used internally by ATL under the WinCE OS tree
- 基于AD9850的DDS电路图
- 【NXP Rapid IoT评测】Rapid IoT Studio online IDE生成工程的待机电流
- 要用zigbee做个小项目,求推荐。。
- PKE PEPS芯片 ATA5702 /ATA5700的开发入门
- MEGAL8 485程序调不通,希望大家能帮帮忙,看一看~~~
- inf 是怎样关联到设备的
- 阅读TI DLP ® 博文,TI DLP ® 带你走进不一样的视野!