本发明属于冗余系统切换,涉及一种高精度冗余励磁系统切换方法。
背景技术:
1、双模冗余是比较常用的硬件冗余方式,也称为高精度冗余,它包括双模热备冗余和冷备冗余。其中又以双模热备冗余最为常用。双模热备冗余系统中,两个模块同时工作。其中一个作为主模块,对系统输入输出具有控制权;另一个为备份模块,它与主模块保持实时同步,一旦主模块发生故障,系统立刻进行切换,备份模块获取输入输出控制权,成为新的主模块,原来的主模块降级为备份模块。
2、现有的plc冗余系统中,大多数是基于硬件的冗余方式,根据冗余理论,充分考虑中型plc冗余架构的可靠性要求,结合几种冗余方式的比较,选择基于硬件的双机热备冗余作为plc冗余架构的冗余方式。
3、但是在plc的冗余系统设计中,数据同步是必须面临和解决的关键技术。如何实现主备plc之间的数据同步,解决其它冗余plc的数据同步中,存在的数据同步量大和数据同步过程增大系统扫描周期的问题。
技术实现思路
1、本发明所要解决的技术问题是提供一种高精度冗余励磁系统切换方法,实现同步数据的并行传输,使得每个扫描周期的数据同步量减小。
2、为解决上述技术问题,本发明所采用的技术方案是:一种高精度冗余励磁系统切换方法,包括如下步骤:
3、s1,设计冗余架构,包括cpu模块冗余、机架冗余、电源冗余、通信双网冗余、同步数据冗余和i/o模块冗余;
4、s2,分析,根据冗余架构制定冗余节点,代表带有容错器件或模块的容错性;
5、s3,cpu模块框架设计,cpu模块以arm7芯片为主控制器,片外扩展总线上挂接一片sram,主控制器和sram之间通过fpga构成连通,fpga作为数据同步功能模块;
6、s4,主芯片接口电路设计,cpu和fpga之间除地址总线,数据总线和控制总线外,还有fpga与cpu之间的信息交互线以及fpga的配置线,fpga与cpu之间的信息交互线用于两个处理器之间的协同工作,实现fpga的数据同步功能;fpga内部提供一个通道,当cpu访问sram时,将相应的地址总线,数据总线和控制总线与sram接通;
7、s5,双处理器协同工作设计,cpu为主控芯片,负责除数据同步以外的所有plc的所有任务,fpga作为协处理器,负责数据同步工作;fpga内部有两片ram空间以及寄存器和计数器,皆有自己独立的地址空间,cpu对这些进行读写操作;
8、s6,故障检测机制设计,包括故障模式定义、故障检测和诊断;
9、s7,系统容错机制设计,系统容错机制包括系统运行机制定义、双机协同与数据同步模式设计和系统故障处理与状态切换机制。
10、在s1中,电源冗余中的电源模块故障是plc系统发生故障率较高的模块,当系统中一个电源模块发生故障时,系统也不用进行切换;只有当两个电源模块同时发生故障时,系统才切换到另一个机架上的plc系统上继续执行控制任务;只有当主备机架上的四个电源都故障,系统才会因为电源模块故障而停机。
11、在s2中,判断容错性包括:
12、s2-1,当电源模块发生故障时,另一个与之并联的模块独自提供电源,系统无任何影响;
13、s2-2,当数据同步链路或远程i/o模块发生故障时,系统自动的切换到另一个备份模块,控制系统其它模块不变,实现模块级切换;
14、s2-3,当cpu模块、通信模块、现场总线连接线路发生故障或两个电源模块同时发生故障时,备份plc系统将会取代原来的主plc系统单机运行,实现系统级切换。
15、在s5中,双处理器协同工作切换包括:
16、s3-1,当cpu模块作为主模块工作时,由cpu执行用户程序,并直接在外部sram中对相关元件进行操作;
17、s3-2,当cpu模块作为热备模块时,fpga自动接收来自主cpu的同步数据;
18、s3-3,fpga的工作模式由cpu告知。
19、系统故障处理与状态切换机制对于主plc系统的故障,根据其处理结果分为三种:第一种是系统无需切换;第二种是系统进行模块级切换;第三种是系统进行系统级切换。
20、无需切换中,在plc冗余架构中,电源模块由两个模块并联工作,当一个模块发生故障时,另一个模块能够独自提供系统电源,对系统其它模块不会造成任何影响。
21、进行模块级切换中,数据同步链路以及远程i/o模块都是模块级并联冗余,当它们中任意一个模块发生故障,都只是进行模块级切换而不需要进行系统级切换,cpu在检测到这类模块故障时,将通过另一个模块继续运行。
22、进行系统级切换中,当主plc系统cpu模块,通信模块或通信链路故障时,没有模块级并联冗余,需要进行系统级切换,主plc系统将系统状态信息通过以太网通信链路或数据同步链路传送给热备plc,热备plc在接收到主模块故障信息后,开始执行完整的系统扫描任务,同时使输入输出有效,plc以单机模式运行,原来的主plc系统在故障恢复后,通过自动同步链接,成为热备plc,而原来的热备plc成为主plc,组成新的冗余系统。
23、状态切换机制中,在正常的冗余plc系统中,主plc和热备plc的工作内容不同;两个原本相互独立的plc在建立冗余热备plc的过程中,或冗余系统建立后发生故障的时候,两个plc的状态都会发生转换。
24、本发明的主要有益效果在于:
25、通过一个fpga模块来监测和记录需要进行同步的数据,实现同步数据的并行传输,使得每个扫描周期的数据同步量减小。
26、数据同步过程完全由fpga完成,不占用cpu资源,数据同步过程不会增大系统扫描周期,能够提高冗余plc的性能。
27、采用vhdl语言进行fpga功能设计,并给出了fpga各个功能模块的详细设计及关键模块的仿真结果,在硬件平台上实现了主备plc之间的数据同步,解决了其它冗余plc的数据同步方法中存在的数据同步量大和数据同步过程增大系统扫描周期的问题。
28、对plc冗余系统的cpu模块进行了硬件总体设计,设计了plc冗余系统的容错机制,包括故障检测机制以及故障后的状态切换机制。
29、通过分析比较现有冗余plc中的数据同步模式,设计了一种监测式数据同步模式,能最大限度的减少同步数据量,而且数据同步工作不占用cpu资源,提高了冗余系统的性能。
1.一种高精度冗余励磁系统切换方法,其特征是,包括如下步骤:
2.根据权利要求1所述的高精度冗余励磁系统切换方法,其特征是:在s1中,电源冗余中的电源模块故障是plc系统发生故障率较高的模块,当系统中一个电源模块发生故障时,系统也不用进行切换;只有当两个电源模块同时发生故障时,系统才切换到另一个机架上的plc系统上继续执行控制任务;只有当主备机架上的四个电源都故障,系统才会因为电源模块故障而停机。
3.根据权利要求1所述的高精度冗余励磁系统切换方法,其特征是:在s2中,判断容错性包括:
4.根据权利要求1所述的高精度冗余励磁系统切换方法,其特征是:在s5中,双处理器协同工作切换包括:
5.根据权利要求1所述的高精度冗余励磁系统切换方法,其特征是:系统故障处理与状态切换机制对于主plc系统的故障,根据其处理结果分为三种:第一种是系统无需切换;第二种是系统进行模块级切换;第三种是系统进行系统级切换。
6.根据权利要求5所述的高精度冗余励磁系统切换方法,其特征是:系统无需切换中,在plc冗余架构中,电源模块由两个模块并联工作,当一个模块发生故障时,另一个模块能够独自提供系统电源,对系统其它模块不会造成任何影响。
7.根据权利要求5所述的高精度冗余励磁系统切换方法,其特征是:系统进行模块级切换中,数据同步链路以及远程i/o模块都是模块级并联冗余,当它们中任意一个模块发生故障,都只是进行模块级切换而不需要进行系统级切换,cpu在检测到这类模块故障时,将通过另一个模块继续运行。
8.根据权利要求5所述的高精度冗余励磁系统切换方法,其特征是:系统进行系统级切换中,当主plc系统cpu模块,通信模块或通信链路故障时,没有模块级并联冗余,需要进行系统级切换,主plc系统将系统状态信息通过以太网通信链路或数据同步链路传送给热备plc,热备plc在接收到主模块故障信息后,开始执行完整的系统扫描任务,同时使输入输出有效,plc以单机模式运行,原来的主plc系统在故障恢复后,通过自动同步链接,成为热备plc,而原来的热备plc成为主plc,组成新的冗余系统。
9.根据权利要求8所述的高精度冗余励磁系统切换方法,其特征是:状态切换机制中,在正常的冗余plc系统中,主plc和热备plc的工作内容不同;两个原本相互独立的plc在建立冗余热备plc的过程中,或冗余系统建立后发生故障的时候,两个plc的状态都会发生转换。