白话冗余和热备的区别
冗余其实是一个很宽泛的技术概念,而不是大家理解中的技术方法,冗余原始概念是重复配置系统的一些部件,当系统发生故障时,冗余配置的部件介入并承担故障部件的工作,由此减少系统的故障时间。
冗余按类型分为主动和被动形式,所谓主动和被动主要是主从切换的能动性上来分析,主动冗余是可以主动切换,就是可以随时自行切换;被动冗余是指当正在运行的组件坏掉或者不正常的时候才会切换到备用组件,其中也包括用户手动或者用户程序切换方式,按照功能来分又分成Hot standby、Warm standby 和 Cold standby,整理以后见下图:
1、Cold standby
冷备用,其实说白了就是backup,他是通过备份所有正常运行的组件放在一旁或者仓库里,等运行的组件坏了以后更换新的组件来完成系统的正常运行,这个冗余时间和更换时间息息相关。这种冷备用方式很少去关注响应时间,并且需要运维人员干预操作。举个例子,一套PLC运行系统,在做备件时做了完全的配置备件,当PLC在运行时因为夜晚雷电发现有一块AI卡件烧毁了,运维人员马上把系统断电,然后更换卡件,在上电运行,这就是一个完整的cold standby的过程,至于其中耽误的时间,只能视运维人员的对系统的熟练程度而定并且必须被动接受。
2、Warm standby
温备用,是两套完全一样的配置组件,一个正常运行被视为主,另一个带机并不运行备用被视为从,每隔一段时间,主从的内容相互交换一次,当运行组件出现故障,备用组件才会运行承担工作。举个例子,西门子的300软冗余系统,两台微处理器的冗余方式就是温备,主处理器控制系统的输入和输出(I / O),而备用处理器上电和主处理器停止控制过程中的等待时间。当发生这种情况,备用处理器承担的I / O控制,并采取指定的主处理器,处理器允许脱机成为次要处理器,并可以在不牺牲过程控制维护。
在正常操作中,主处理器提供定期更新的备用处理器。这些更新通常发生在每个程序扫描结束,并可能在任何时间只涉及了部分数据。因此,当转换发生时,备用处理器可以工作过的数据不完整,因为它可能会采取一些备用处理器程序扫描追上来这里的主要是前转换。这可能有助于在转换过程中颠簸。
从硬件的角度来看,温,热冗余系统几乎相同,所以很容易混淆。
3、Hot standby
热备用,是两套完全一样的组件,全部都是上电并运行的状态,两个组件同时进行数据采集、数据处理和计算,只是主组件担任输出控制任务,两个组件实时交互,当主从切换的时候必须完成无扰动切换。而且热备组件系统是随时切换同时检测组件状态并报告。
热备系统即使在一瞬间也不能让系统go down,当主从切换的时候,需要完成系统通讯消息和数据更新以及堆栈的同步,从而苛刻实现程序执行的速度和堆栈段内容都是一致的,为了确保热备系统的操作正确性,全部数据需要实时主从交互,其交互方法有两种,第一种就是常规的扫描和传输方法,这种技术早期被施耐德的PLC广泛使用,首先先是在程序扫描结束后传输所改变的内容,首先程序扫描时间是程序执行和传输的时间组合,这也就是PLC的执行周期为什么有时间周期定义之说了,这样就不是每次把PLC内全部程序进行交互,减少同步任务复合,但当从plc内没有程序的时候,主plc会把全部内容同步过去,但这个过程只是上电或者首次运行时候做一次比较。这种热备方式是一种经典和准确的热备方法,并且这种方法延续至今。
第二种方法就是异步传输方法,在异步传输,主系统中在其电路有两个独立的微处理器。第一个微处理器执行程序。在执行结束,所有数据被传递给第二个微处理器。这第二个微处理器处理所有的传输任务,而第一个微处理器执行下一个程序扫描。因此,一个微处理器是执行,而另一种是传输到备用处理器的数据。 由于这种从主处理器辅助处理器的数据传输是异步的程序扫描,它随时的数据传输,而不会影响程序执行和系统负荷。这种热备异步传输的方式是AB的Contrologix一项技术,他的冗余配置中主从系统各有三个CPU,第一个就是执行程序的CPU,第二个就是起到数据总线的背板CPU,第三个就是同步模块RM的CPU,所以他的任务被分配在多个CPU当中。
最后还是要说一下,其实大家理解中的冗余技术其实就是热备的方法,因为传统DCS进入大家视野比较早,DCS厂家把冗余概念做到了极致,它把两套物理硬件在逻辑上封装成为一个独立体,所以造成很多技术人员认为只有物理上两个组件但在逻辑上是一个组件被称为冗余,逻辑上是两个组件的叫做热备。