一种多机热备控制方法与流程
未命名
08-03
阅读:68
评论:0

1.本发明涉及多机热备技术领域,尤其涉及一种多机热备控制方法。
背景技术:
2.随着计算机技术的发展,工业控制系统的自动化程度日益提高,同时系统的安全可靠问题也越来越突出。系统在连续长期运行过程中,不可避免地出现故障,为了维护系统高可靠性、高可用性,此必须采取有效的容错方案以确保系统不间断地稳定运行。
3.热备技术是控制系统容错的关键技术之一。目前,双机热备技术的研究较为成熟,随着工业控制对系统可靠性的提升,多机热备技术随之产生。
4.多机热备技术是对双机热备技术的拓展,常规的多机热备方案需要增设仲裁模块,对多机的主从控制状态进行识别及系统指令输出,但由于硬件模块增加导致系统整体可靠性降低;常规调度逻辑为多机独立计算,对多机的计算结果进行择源或者加权融合输出,但由于多机之间未进行计算过程同步导致长时间计算偏差累计,在主从控制器切换时会出现输出不连续的问题。
技术实现要素:
5.本发明旨在至少解决相关技术中存在的技术问题之一。为此,本发明提供一种多机热备控制方法。
6.本发明是通过以下技术方案予以实现:一种多机热备控制方法,用于由n个控制器构成的控制系统,各个控制器之间相互数据通信连接,其中,n为大于1的自然数,所述控制方法包括以下步骤:步骤s100,由1号至n号依次对各控制器进行编号;步骤s200,各控制器分别判断其当前的控制状态,将一个控制器设定为主控制状态,执行步骤s300;其余的n-1个控制器设定为从控制状态,执行步骤s400;
7.步骤s300,当前为主控制状态的控制器在一个控制周期内执行以下步骤:步骤s301,输入接口读取控制参数;步骤s302,控制器运算;步骤s303,重新判断该控制器的控制状态,若该控制器为主控制状态,则向各从控制器的缓存区同步控制器运算结果,执行步骤s304;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400;步骤s304,重新判断该控制器的控制状态,若该控制器为主控制状态,则输出接口输出控制指令,在下一控制周期重新执行步骤s300;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400;
8.步骤s400,当前为从控制状态的控制器在一个控制周期内执行以下步骤:步骤s401,自本控制器的缓存区同步其缓存的控制器运算结果;步骤s402,输入接口读取控制参数;步骤s403,控制器运算;步骤s404,重新判断该控制器的控制状态,若该控制器为主控制状态,则输出接口输出控制指令,在下一控制周期重新执行步骤s300;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400。
9.优选的,各控制器分别判断其当前的控制状态的步骤包括:步骤s201,1号控制器检测是否本控制器无故障,若是则本控制器设为主控制状态,若否则本控制器设为从控制状态;步骤s202,2号控制器至n号控制器分别检测是否本控制器无故障且依次检测本控制器的前序控制器是否有故障或无心跳,若均为是则本控制器设为主控制状态,否则本控制器设为从控制状态。
10.优选的,所述步骤s303中判断相应控制器是否为主控制状态的子步骤如下:检测是否本控制器无故障,若是则本控制器为主控制状态;否则本控制器设为从控制状态。
11.优选的,所述步骤s304中判断相应控制器是否为主控制状态的子步骤与所述步骤s404中判断相应控制器是否为主控制状态的子步骤相同,包括:若本控制器为1号控制器,检测是否本控制器无故障,若是则本控制器设为主控制状态;否则本控制器设为从控制状态;若本控制器为2号控制器至n号控制器中的任一控制器,检测是否本控制器无故障且依次检测本控制器的前序控制器是否有故障或无心跳,若均为是则本控制器设为主控制状态;否则本控制器设为从控制状态。
12.本发明实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:本发明所述控制方法对现有硬件平台改进小,无需增设仲裁模块,系统整体可靠性高,可用于双机热备及双机以上的多机热备,具有良好的拓展性;可实现多机热备控制系统的主控制器与从控制器在一个控制周期内的无缝切换;并且由于在每个无主控制器与从控制器切换的控制周期内各主控制器都会向相应的从控制器同步其控制器运算结果作为从控制器在下一控制周期控制器运算的初值,因此在上述情况下各控制器的控制器运算结果不存在计算偏差或者计算偏差极小,从而能够实现在一个控制周期内主控制器与从控制器的平滑切换,保证在主从控制器切换时输出的控制指令的连续性,使得本控制方法对硬件平台兼容性强、通用性广;另外,即使在某一控制周期内主控制器与从控制器发生切换,但是该控制周期的下一控制周期相应的主控制器仍会向从控制器同步运算结果,因此不会累计计算偏差;编号靠前的控制器成为主控制器相较于编号靠后的控制器成为主控制器具有较高的优先级,逻辑清晰、易于实现,在对控制系统的维护过程中,通过监视主控制器序号即可完成对故障控制器的定位,便于管理。
13.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
14.图1是本发明所述控制方法的时序图。
具体实施方式
15.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。以下实施例用于说明本发明,但不能用来限制本发明的范围。
16.在本发明实施例的描述中,需要说明的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明实施例的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
17.在本发明实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明实施例中的具体含义。
18.在本发明实施例中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
19.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
20.本发明提供的一种多机热备控制方法,用于由n个控制器构成的控制系统,各个控制器之间相互数据通信连接,即各个控制器之间可通过光纤、网线等介质进行数据通信,其中,n为大于1的自然数,其特征在于,所述控制方法包括以下步骤:步骤s100,由1号至n号依次对各控制器进行编号,将控制系统分为1号控制器、2号控制器、3号控制器、
···
、n号控制器。
21.步骤s200,各控制器分别判断其当前的控制状态,将一个控制器设定为主控制状态,执行步骤s300;其余的n-1个控制器设定为从控制状态,执行步骤s400。
22.步骤s300,当前为主控制状态的控制器在一个控制周期内执行以下步骤:步骤s301,输入接口读取控制参数,控制参数是指控制器进行控制器运算所需的所有输入信息,如用户参数设定、测量信息等;步骤s302,控制器运算,即基于上一个控制周期控制器运算结果、当前控制周期的控制参数,进行当前控制周期控制器运算,得到该控制器当前控制周期的控制器运算结果。具体的,不同用途的控制器所对应的控制器运算会涉及到不同的算法,可能涉及到的算法包括但不限于卡尔曼滤波、加权递推滤波、算数平均滤波等滤波算法,以及pid、神经网络、智能控制等控制算法;步骤s303,重新判断该控制器的控制状态,若该控制器为主控制状态,则通过光纤、网线等介质向各从控制器的缓存区同步控制器运算结果,执行步骤s304;若该控制器为
从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400;步骤s304,重新判断该控制器的控制状态,若该控制器为主控制状态,则输出接口输出控制指令,在下一控制周期重新执行步骤s300;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400。具体的,控制指令是用于输出控制指令的控制器所对应的控制器运算结果中用于进行系统控制的值。
23.步骤s400,当前为从控制状态的控制器在一个控制周期内执行以下步骤:步骤s401,自本控制器的缓存区同步其缓存的控制器运算结果,即将本控制器缓存区缓存的控制器运算结果作为本控制器当前控制周期控制器运算的初值;步骤s402,输入接口读取控制参数,即控制器进行控制器运算所需的所有输入信息,如用户参数设定、测量信息等,在每一控制周期,从控制状态的控制器所读取的控制参数与主控制状态的控制器所读取的控制参数相同;步骤s403,控制器运算,即基于步骤s401得到的初值、步骤s402得到的控制参数,进行当前控制周期控制器运算,得到该控制器当前控制周期的控制器运算结果。具体的,对于同一控制系统,步骤s403与步骤s302所涉及的算法相同;步骤s404,重新判断该控制器的控制状态,若该控制器为主控制状态,则输出接口输出控制指令,在下一控制周期重新执行步骤s300;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400。由于步骤s304与步骤s404同步运行,因此在每一控制周期,有且仅有一个输出接口输出控制指令,可实现多机热备控制系统的主控制器与从控制器在一个控制周期内的无缝切换,其中,主控制器是指处于主控制状态的控制器,从控制器是指处于从控制状态的控制器。
24.本控制方法对现有硬件平台改进小,无需增设仲裁模块,系统整体可靠性高,可用于双机热备及双机以上的多机热备,具有良好的拓展性;可实现多机热备控制系统的主控制器与从控制器在一个控制周期内的无缝切换;并且由于在每个无主控制器与从控制器切换的控制周期内各主控制器都会向相应的从控制器同步其控制器运算结果作为从控制器在下一控制周期控制器运算的初值,因此在上述情况下各控制器的控制器运算结果不存在计算偏差或者计算偏差极小,从而能够实现在一个控制周期内主控制器与从控制器的平滑切换,保证在控制状态切换时输出的控制指令的连续性,使得本控制方法对硬件平台兼容性强、通用性广;另外,即使在某一控制周期内主控制器与从控制器发生切换,但是该控制周期的下一控制周期相应的主控制器仍会向从控制器同步运算结果,因此不会累计计算偏差。
25.所述步骤s200中,各控制器分别判断其当前的控制状态的步骤包括:步骤s201,1号控制器检测是否本控制器无故障,若是则本控制器设为主控制状态,若否则本控制器设为从控制状态,其中,“本控制器无故障”是指“本控制器运行正常,cpu、磁盘等无故障报警”;步骤s202,2号控制器至n号控制器分别检测是否本控制器无故障且依次检测本控制器的前序控制器是否有故障或无心跳,若均为是则本控制器设为主控制状态,否则本控制器设为从控制状态,其中,本控制器的前序控制器是指,所对应的编号小于本控制器编号的控制器,如3号控制器的前序控制器是指1号控制器和2号控制器,5号控制器的前序控制器是指1号控制器至4号控制器。本控制器的前序控制器“有故障或无心跳”是指,本控制器的前序控制器“运行异常,cpu、磁盘等故障报警,或者未接收到前序控制器的心跳信息”。通过步
骤s200可使多台控制器仅有1台为主控制器,其他均为从控制器,实现各控制器的控制状态管理,无需增设仲裁模块,系统整体可靠性高。
26.所述步骤s303中判断相应控制器是否为主控制状态的子步骤如下:检测是否本控制器无故障,若是则本控制器为主控制状态;否则本控制器设为从控制状态。在执行步骤s303时,若本控制器为2号控制器至n号控制器中的任一控制器,无需对本控制器的前序控制器进行检测即可确定本控制器是否为主控制器,可简化判断过程。
27.所述步骤s304中判断相应控制器是否为主控制状态的子步骤与所述步骤s404中判断相应控制器是否为主控制状态的子步骤相同,包括:若本控制器为1号控制器,检测是否本控制器无故障,若是则本控制器设为主控制状态;否则本控制器设为从控制状态;若本控制器为2号控制器至n号控制器中的任一控制器,检测是否本控制器无故障且依次检测本控制器的前序控制器是否有故障或无心跳,若均为是则本控制器设为主控制状态;否则本控制器设为从控制状态。上述步骤相当于在输出控制指令前重新确定主控制器及从控制器,且编号靠前的控制器成为主控制器相较于编号靠后的控制器成为主控制器具有较高的优先级,逻辑清晰、易于实现,在对控制系统的维护过程中,通过监视主控制器序号即可完成对故障控制器的定位,便于管理。
28.参考图1,当n=3时,存在1号控制器、2号控制器及3号控制器,若在当前周期内的t1_2时刻检测到主控制器有故障,具体控制步骤如下:当前控制周期内,在t1_0时刻,若1号控制器为主控制器,则其读取控制参数并进行控制器运算;2号控制器及3号控制器作为从控制器,执行从控制器的相应步骤。在t1_1时刻,若1号控制器无故障,则1号控制器仍为主控制器,向从控制器缓存区同步控制器运算结果;2号控制器及3号控制器作为从控制器,执行从控制器的相应步骤。在t1_2时刻,若1号控制器有故障,则1号控制器设定为从控制器,不输出控制指令;若2号控制器无故障,则2号控制器设定为主控制器,由2号控制器输出控制指令,此时3号控制器仍为从控制器,不输出控制指令。
29.进入下一控制周期后,在t2_0时刻,由2号控制器作为主控制器,读取控制参数并进行控制器运算,1号控制器和3号控制器均作为从控制器并执行从控制器的相应步骤。在t2_1时刻,若2号控制器无故障,则2号控制器仍为主控制器,向从控制器缓存区同步控制器运算结果;1号控制器及3号控制器作为从控制器,执行从控制器的相应步骤。在t2_2时刻,若1号控制器有故障,则1号控制器仍为从控制器,不输出控制指令;若2号控制器无故障,则2号控制器仍为主控制器,由2号控制器输出控制指令,此时3号控制器仍为从控制器,不输出控制指令。
30.参考图1,当n=3时,存在1号控制器、2号控制器及3号控制器,若在当前周期内的t1_1时刻检测到主控制器有故障,具体控制步骤如下:当前控制周期内,在t1_0时刻,若1号控制器为主控制器,则其读取控制参数并进行控制器运算;2号控制器及3号控制器作为从控制器,执行从控制器的相应步骤。在t1_1时刻,若1号控制器有故障,则1号控制器切换为从控制器,不向其余从控制器缓存区同步控制器运算结果;2号控制器及3号控制器仍作为从控制器,执行从控制器的相应步骤。在t1_2时刻,1号控制器有故障,不输出控制指令;若2号控制器无故障,则2号控制器设定为主控制器,由2号控制器输出控制指令,此时3号控制器仍为从控制器,不输出控制指令。
31.进入下一控制周期后,在t2_0时刻,由2号控制器作为主控制器,读取控制参数并进行控制器运算,由于本控制周期的上一控制周期没有相应的主控制器向从控制器同步控制器运算结果,即t1_1时刻至t1_2时刻之间1号控制器未向2号控制器和3号控制器同步控制器运算结果,因此本控制周期内t1_2时刻后1号控制器自该控制器缓存区读取的控制器运算结果为上一控制周期内1号控制器的控制器运算结果,本控制周期内t1_2时刻后3号控制器自该控制器缓存区读取的控制器运算结果为上一控制周期内3号控制器的控制器运算结果,也就是说,在出现故障的控制周期内各控制器独立计算且未同步控制器运算结果,但是由于出现故障的下一控制周期相应的主控制器仍会向从控制器同步运算结果,因此不会累计计算偏差。在t2_1时刻,若2号控制器无故障,则2号控制器仍为主控制器,向从控制器缓存区同步控制器运算结果;1号控制器及3号控制器作为从控制器,执行从控制器的相应步骤。在t2_2时刻,若1号控制器有故障,则1号控制器仍为从控制器,不输出控制指令;若2号控制器无故障,则2号控制器仍为主控制器,由2号控制器输出控制指令,此时3号控制器仍为从控制器,不输出控制指令。
32.本发明所述控制方法对现有硬件平台改进小,无需增设仲裁模块,系统整体可靠性高,可用于双机热备及双机以上的多机热备,具有良好的拓展性;可实现多机热备控制系统的主控制器与从控制器在一个控制周期内的无缝切换;并且由于在每个无主控制器与从控制器切换的控制周期内各主控制器都会向相应的从控制器同步其控制器运算结果作为从控制器在下一控制周期控制器运算的初值,因此在上述情况下各控制器的控制器运算结果不存在计算偏差或者计算偏差极小,从而能够实现在一个控制周期内主控制器与从控制器的平滑切换,保证在主从控制器切换时输出的控制指令的连续性,使得本控制方法对硬件平台兼容性强、通用性广;另外,即使在某一控制周期内主控制器与从控制器发生切换,但是该控制周期的下一控制周期相应的主控制器仍会向从控制器同步运算结果,因此不会累计计算偏差;编号靠前的控制器成为主控制器相较于编号靠后的控制器成为主控制器具有较高的优先级,逻辑清晰、易于实现,在对控制系统的维护过程中,通过监视主控制器序号即可完成对故障控制器的定位,便于管理。
33.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种多机热备控制方法,用于由n个控制器构成的控制系统,各个控制器之间相互数据通信连接,其中,n为大于1的自然数,其特征在于,所述控制方法包括以下步骤:步骤s100,由1号至n号依次对各控制器进行编号;步骤s200,各控制器分别判断其当前的控制状态,将一个控制器设定为主控制状态,执行步骤s300;其余的n-1个控制器设定为从控制状态,执行步骤s400;步骤s300,当前为主控制状态的控制器在一个控制周期内执行以下步骤:步骤s301,输入接口读取控制参数;步骤s302,控制器运算;步骤s303,重新判断该控制器的控制状态,若该控制器为主控制状态,则向各从控制器的缓存区同步控制器运算结果,执行步骤s304;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400;步骤s304,重新判断该控制器的控制状态,若该控制器为主控制状态,则输出接口输出控制指令,在下一控制周期重新执行步骤s300;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400;步骤s400,当前为从控制状态的控制器在一个控制周期内执行以下步骤:步骤s401,自本控制器的缓存区同步其缓存的控制器运算结果;步骤s402,输入接口读取控制参数;步骤s403,控制器运算;步骤s404,重新判断该控制器的控制状态,若该控制器为主控制状态,则输出接口输出控制指令,在下一控制周期重新执行步骤s300;若该控制器为从控制状态,在本控制周期内不执行其他操作,在下一控制周期执行步骤s400。2.根据权利要求1所述的一种多机热备控制方法,其特征在于,所述步骤s200中,各控制器分别判断其当前的控制状态的步骤包括:步骤s201,1号控制器检测是否本控制器无故障,若是则本控制器设为主控制状态,若否则本控制器设为从控制状态;步骤s202,2号控制器至n号控制器分别检测是否本控制器无故障且依次检测本控制器的前序控制器是否有故障或无心跳,若均为是则本控制器设为主控制状态,否则本控制器设为从控制状态。3.根据权利要求1所述的一种多机热备控制方法,其特征在于,所述步骤s303中判断相应控制器是否为主控制状态的子步骤如下:检测是否本控制器无故障,若是则本控制器为主控制状态;否则本控制器设为从控制状态。4.根据权利要求1所述的一种多机热备控制方法,其特征在于,所述步骤s304中判断相应控制器是否为主控制状态的子步骤与所述步骤s404中判断相应控制器是否为主控制状态的子步骤相同,包括:若本控制器为1号控制器,检测是否本控制器无故障,若是则本控制器设为主控制状态;否则本控制器设为从控制状态;若本控制器为2号控制器至n号控制器中的任一控制器,检测是否本控制器无故障且依次检测本控制器的前序控制器是否有故障或无心跳,若均为是则本控制器设为主控制状态;否则本控制器设为从控制状态。
技术总结
本发明涉及多机热备技术领域,尤其涉及一种多机热备控制方法,用于由N个控制器构成的控制系统,各个控制器之间相互数据通信连接,通过各控制器分别判断其控制状态,从而执行相应的步骤,实现在一个控制周期内主控制器与从控制器的切换,使得每一控制周期,有且仅有一个输出接口输出控制指令。本发明所述控制方法对现有硬件平台改进小,无需增设仲裁模块,系统整体可靠性高,能够实现在一个控制周期内主控制器与从控制器的平滑切换,保证在主从控制器切换时输出的控制指令的连续性。器切换时输出的控制指令的连续性。器切换时输出的控制指令的连续性。
技术研发人员:王福 王小东 黄炜 徐凯 李佳川 赵宾 孟令桐 郭颖
受保护的技术使用者:中国船舶集团有限公司第七〇七研究所
技术研发日:2023.06.28
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/