控制器冗余切换方法、装置、计算机设备和存储介质与流程

文档序号:15019366发布日期:2018-07-25 00:20阅读:151来源:国知局

本申请涉及工业自动控制技术领域,特别是涉及一种控制器冗余切换方法、装置、计算机设备和存储介质。



背景技术:

随着工业自动控制技术的发展,为了提高工业控制现场的可靠性要求,出现了双机冗余技术,当一个控制器设备出现故障后,另一个设备可以交替工作,保证了控制系统的可持续运行。

然而,目前的控制器冗余切换方式,通常通过配置第三方监控装置来实现切换,由第三方监控装置监测控制器的工作状态实现控制器切换,一旦第三方装置出现故障,即不能实现双机切换,还增加了新的故障点。并且,使用第三方装置除了增加导致增加新的故障点还增加了硬件成本。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够减少第三方故障点、降低硬件成本的控制器冗余切换方法、装置和电路。

一种控制器冗余切换方法,所述方法包括以下步骤:

获取对机发送的中断信号频率和脉冲信号频率;

根据所述中断信号频率和脉冲信号频率进行脉冲计数,确定故障计数值;

根据所述故障计数值确定对机故障程度;

比较本机与对机的故障程度,根据比较结果进行控制器切换。

在其中一个实施例中,还包括:

当本机工作点异常时,确定所述异常工作点对应的异常数值;

根据所述异常工作点对应的异常数值确定本机故障程度。

在其中一个实施例中,所述故障计数值与中断信号频率成正比。

在其中一个实施例中,所述根据所述故障计数值确定对机控制器故障程度的步骤包括:

获取所述故障计数值,根据所述故障计数值判断控制器故障程度为正常状态、轻微故障、中度故障或严重故障;

若所述故障计数值大于第一阈值小于第二阈值,则确定控制器故障程度为正常状态;

若所述故障计数值大于第三阈值小于第四阈值,则确定控制器故障程度为轻微故障,所述第三阈值大于第二阈值;

若所述故障计数值大于第五阈值小于第六阈值,则确定控制器故障程度为中度故障,所述第五阈值大于第四阈值;

否则,控制器故障程度为严重故障。

在其中一个实施例中,所述根据所述控制器故障程度进行控制器切换的步骤包括:

获取本机故障程度;

比较所述本机故障程度与本机故障程度;

若所述本机故障程度小于对机故障程度,将本机切换为主机。

一种控制器冗余切换装置,所述装置包括:

获取模块,用于获取对机发送的中断信号频率和脉冲信号频率;

计数模块,用于根据所述中断信号频率和脉冲信号频率进行脉冲计数,确定故障计数值;

确定对机故障模块,用于根据所述故障计数值确定对机控制器故障程度;

比较模块,用于比较本机与对机的故障程度,根据比较结果进行控制器切换。

在其中一个实施例中,所述装置还包括:

确定异常数值模块,用于当本机工作点异常时,确定所述异常工作点对应的异常数值;

确定本机故障模块,用于根据所述异常工作点对应的异常数值确定本机故障程度。

在其中一个实施例中,所述故障计数值与中断信号频率成正比。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述控制器冗余切换方法中任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述控制器冗余切换方法中任一项所述的方法的步骤。

上述控制器冗余切换方法、装置、计算机设备和存储介质,该方法本机控制器首先通过接收对机控制器发送的中断信号频率和脉冲信号频率进行脉冲计数确定故障计数值,通过故障计数值反应了对机控制器出现的故障程度,其次,通过比较自身故障程度与对机的故障程度进而切换控制器主备机。该方法实现了控制器能够自主监控对方工作状态,根据本机与对机的故障程度独立完成主备机控制器的切换,减少第三方监控设备带来的故障点并降低了硬件成本。

附图说明

图1为一个实施例中控制器冗余切换方法的应用环境图;

图2为一个实施例中控制器冗余切换方法的流程示意图;

图3为一个实施例中比较本机与对机的故障程度的步骤的流程示意图;

图4为另一个实施例中控制器冗余切换方法的流程示意图;

图5为一个实施例中控制器冗余切换装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请提供的控制器冗余切换方法,可以应用于如图1所示的应用环境中。其中,第一控制器102和第二控制器202通过两对(四条)控制线进行通信。第一主控制器102和第二控制202都可以为主备机,当第一控制器102为主机时,第二主控制器202为备机;当第二控制器202为主机时,第一控制器102即为备机。第一控制器102和第二控制器202可以使用但不限于完全相同的硬件,两对控制线为General Purpose Input Output线(通用输入/输出线),简称为GPIO线。

两对GPIO线均可设置为输入或输出,第一控制器102上GPIO线的四个IO(输入/输出)口分别为DI11、DI12、DO11、DO12,第二控制器202GPIO线的四个IO(输入/输出)口分别为DI21、DI22、DO21、DO22,其中,第一条GPIO线连接DO11口和DI21口,第二条GPIO线连接DO12口和DI22口,第三条GPIO线连接DI11口和DO21口,第四条GPIO线连接DI12口连接DO22。

第一控制器102通过第一条GPIO线发送中断信号以及第二条GPIO线发送脉冲信号给第二控制器202,同时通过第三条GPIO线和第四条GPIO线接收第二控制器202发送的中断信号和脉冲信号。

相反的,第二控制器202通过第三条GPIO线发送中断信号以及第四条GPIO线发送脉冲信号给第一控制器102,同时通过第一条GPIO线和第二条GPIO线接收第一控制器102发送的中断信号和发送脉冲信号。

在一个实施例中,如图2所示,提供了一种控制器冗余切换方法,该方法应用于图1所示的备机,包括以下步骤:

S202,接收对机发送中断信号频率和脉冲信号频率。

其中,对机是与本机具有主备关系的另一控制器,即主机。通常情况下,主机正常工作时,处于在线状态,可以同时进行输入工作和输出工作。而备机处于离线状态,备机仅能够接收主机和外部输入的数据。具体地,主机(对机)实时向本机发送中断信号和脉冲信号。本机根据接收到的中断信号和脉冲信号确定对机的工作状况。

中断信号频率是固定时间内发送的脉冲宽度。脉冲信号是一种离散信号,波形形状多种多样,并且波形与波形之间存在着明显的间隔,但是具有一定的周期性,脉冲信号频率即为1秒钟内发送了多少个波形周期,例如,一秒钟内发送十个相同的波形周期,则脉冲信号频率为10个/秒。具体地,本机接收到对机的中断信号和脉冲信号后,提取中断信号频率和脉冲信号频率。

以图1为例,当第一控制器102为本机时,即第二控制器202为对机,第二控制器202即可通过GPIO控制线输出中断信号和脉冲信号,即第一控制器102通过GPIO控制线从DI11口和DI12口接收对机第二控制器202发送的中断信号和脉冲信号,并且提取出中断信号频率和脉冲信号频率。

S204,根据中断信号频率和脉冲信号频率进行脉冲计数,确定故障计数值。

具体地,脉冲计数是对从外界接收到的周期不固定的脉冲进行计数。当第二控制器202发送的中断信号到达第一控制器102的DI11口时,第一控制器102和第二控制器202的通信信号即会接通,则第一控制器102从DI11口接收到的中断信号开始上升沿,当中断信号上升沿时,本机DI12口根据接收到的脉冲信号开始进行脉冲计数。当第二控制器202的中断信号发送完毕时,第一控制器102和第二控制器202的通信信号断开,第一控制器102接收的中断信号下降沿,DI11口中断信号下降沿时,本机DI12口即可停止脉冲计数,接收到的总的脉冲计数值即为故障计数值。

S206,根据故障计数值确定对机故障程度。

具体地,不同的故障计数值对应的故障程度不一样,第一控制器102通过脉冲计数后确定的故障计数值可以直接得知第二控制器202的故障程度为多少。

在一个实施例中,根据故障计数值确定对机故障程度包括以下步骤:

S1,获取故障计数值,根据故障计数值判断控制器故障程度为正常状态、轻微故障、中度故障或严重故障。

具体地,控制器在运行中可能出现各种各样的故障,根据对控制器功能的影响的程度,根据故障计数值将控制器的故障程度划分为状态正常、轻微故障、中度故障或严重故障。

S2,若故障计数值大于第一阈值小于第二阈值,则确定控制器故障程度为正常状态。

S3,若故障计数值大于第三阈值小于第四阈值,则确定控制器故障程度为轻微故障,第三阈值大于第二阈值。

S4,若故障计数值大于第五阈值小于第六阈值,则确定控制器故障程度为中度故障,第五阈值大于第四阈值。

S5,否则,控制器故障程度为严重故障。

具体地,优选第一阈值为95、第二阈值为105、第三阈值为145、第四阈值为155、第五阈值为195以及第六阈值205。当故障计数值大于95小于105时控制器故障程度为正常状态;当故障计数值大于145小于155时,确定控制器故障程度为轻微故障;若故障计数值大于195小于205时,则确定控制器故障程度为中度故障;除开以上范围以及计数值等于0时,则确定控制器故障程度为严重故障。状态正常的控制器优先于轻微故障的控制器,轻微故障的控制器优先于中度故障的控制器,中度故障的控制器优先于严重故障的控制器。

S208,比较本机与对机的故障程度,根据比较结果进行控制器切换。

在一个实施例中,如图3所示,比较本机与对机的故障程度,根据比较结果进行控制器切换包括以下步骤:

S302:获取本机故障程度。

其中,第一控制器102(本机)为离线的备机控制器,离线的备机控制器可以接收输入但是无法输出,也就是第一控制器102可以接收外部发送的数据但是自身无法发送数据出去,当第一控制器102从离线备机切换为在线的主机时即可同时输入和输出。

具体的,第一控制器102通过接收外部采集反馈的数据值,外部所反馈的数据值即为第一控制器102的本机的故障计数值,根据故障计数值得知本机的故障程度是正常状态、轻微故障、中度故障或者严重故障。

S304:比较本机故障程度与对机故障程度。

其中,获取本机故障程度以及从脉冲计数后获取的对机故障程度后,将本机的故障程度与对机的故障程度进行比较,选择故障程度较小的控制器切换为主机。

具体地,第一控制器102根据接收第二控制器202发送的中断信号和脉冲信号后进行脉冲计数得到了第二控制器202的故障计数值确定了第二控制器202的故障程度,以及第一控制器102通过自身接收的外部反馈数据值获取了本机故障计数值确定了本机的故障程度,不同的故障程度对控制器正常工作的影响程度不一样,故障越严重影响越大,第一控制器102比较本机和第二控制202的故障程度,选择故障程度较小的控制器切换为主机。

S306:若本机故障程度小于对机故障程度,将本机切换为主机。

具体地,第一控制器102比较本机故障程度与第二控制器202的故障程度,若第一控制器102的故障程度小于第二控制器202的故障程度,即第一控制器102的故障程度小于第二控制器202的故障程度,则第一控制器102自动将本机切换成主机,将第二控制器202切换线为备机。

若第一控制器102的故障程度大于等于第二控制器202故障程度,即第一控制器102的故障程度相对于第二控制器202的故障程度较为严重或者与第二控制器的故障程度相等,则维持第二控制器202为主机,不将第一控制器102切换为主机,即不进行主备机切换。当备机比较本机和对机(主机)的故障程度时,两机相比切换故障轻的为主机(在线机),切换故障严重的为备机(离线机)。

例如,本机为备机(离线)控制器时,只能输入不能输出,对机为主机(在线)控制器,可以输入也可以输出。当对机输出中断信号和脉冲信号给本机,本机接收该信号进行脉冲计数确定对机的故障程度为中度故障,并且本机通过外部的数据值确定本机故障程度为轻微故障,本机比较对机的中度故障和本机的轻微故障,轻微故障的本机优先于中度故障的对机,即将本机从备机切换为主机,从离线状态切换为在线状态。若对机故障程度仍为中度故障,而本机故障程度为中度故障或严重故障,则不进行主备机切换,维持对机的在线状态,即对机仍然为主机,本机仍然为备机。

表1为主备机切换逻辑:

其中,表1中的A表示状态正常、B表示轻微故障、C表示为中度故障以及D表示为严重故障。具体地,若本机和对机状态皆为A,则维持当前的在线机;若本机的状态为B,对机状态为A,则切换对机在线;若本机状态为B对机状态为A,则切换本机在线,表1中其他切换逻辑原理相同,在此不再赘述。

在另一个实施中,当主备机进行切换后,如图1中第一控制器102从备机切换到主机,第二控制器202从主机切换为备机后。第二控制器202为备机后即可视为本机,第一控制器102成为对机。同样的,第二控制器202通过GPIO控制线从DI21口和DI22口接收第一控制器102发送的中断信号和脉冲信号,根据中断信号和脉冲信号进行脉冲计数获取第一控制器102的故障计数值确定第一控制器102的故障程度,然后第二控制器比较本机故障程度和第一控制器102的故障程度,第二控制器202根据比较的结果决定是否将本机切换为主机,原理与第一控制器102为本机,第二控制器202为对机时相同,在此不再赘述。

上述控制器冗余切换方法,通过接收对机控制器发送的信号进行计数获取故障计数值,对机故障计数值反应了对机控制器出现的故障程度,再通过与本机的故障程度进行比较切换故障严重的控制器为离线备机,故障轻的控制器为在线主机,实现了控制器自主监控对方工作状态,独立完成主备机的切换,减少第三方监控设备带来的故障点和降低了硬件成本。

在另一个实施例中,如图4所示,控制器冗余切换方法的包括以下步骤:

S402,当本机工作点异常时,确定异常工作点对应的异常数值;

其中,控制器工作异常时,出现异常的工作点可能是阀门开度量出现故障、电源出现故障或者其他通讯故障等。当控制器与每个工作点进行正常通信工作时,对应的工作点都会反馈数据给控制器,该数据包括电流电压。控制器在进行相关工作时,对应的工作点会反馈相应大小的电流给控制器,控制器通过接收反馈的电流值反应了控制器进行该项工作时的状态,一旦控制器没有接收到相应工作点反馈的电流值,则可以确定该工作点出现了异常,也就可以确定该控制器的工作状态出现了故障。

具体地,工作点工作出现异常时,工作异常的工作点会有一个对应的异常数值,该异常数值就是反应该控制器故障程度的故障计数值,控制器获取本身异常工作点的异常数值可以确定本机故障程度。

S404,根据异常工作点对应的异常数值确定本机故障程度。

具体地,控制器在进行相关工作时会接收到对应工作点反馈的数据值,当工作点出现异常时,控制器接收不到外部所反馈的数据值,即可确定该控制器工作状态出现故障,通过获取工作点对应的异常数值确定本机的故障程度。

该控制器冗余切换方法,通过本机自主判断自身的工作状态确定本机的故障程度,不需要第三方监控设备即可完成自身故障判断,再比较本机与对机的故障程度进行主备机切换,实现监控切换一体化,取缔了第三方的监控设备。

在一个实施例中,故障计数值与中断信号频率成正比。

具体地,故障计数值等于中断信号频率与脉冲信号频率的乘积,本申请优选脉冲信号频率为1万个/秒,当中断信号频率为14.6毫秒/脉宽时,故障计数值为146。当中断信号频率为19.6毫秒/脉宽时,故障计数值则为196,故障计数值随中断信号频率的增加而增加。

在另一个实施例中,当控制器为在线主机时,通过接收异常工作点的异常数值后,将该异常数值调制成脉冲信号频率和中断信号频率发送给离线备机,该异常数值也就是在线主机的故障计数值,离线备机通过接收到该中断信号频率和脉冲信号频率确定在线主机的故障状态,进一步比较主备机的故障程度进行主备机切换。

例如,在线主机通过外部反馈的数据确定异常数值为146,该在线主机将此异常数值146调制成发送频率为10000个/秒的脉冲信号发送给备机,中断信号即为14.6毫秒的脉宽发送出去,若异常数值为196,则中断信号频率调制成19.6毫秒的脉宽发送出去,主机控制器发送的中断信号频率跟随本机异常工作点对应的异常数值的不同而进行调整,随异常数值的变化而变化。

上述控制器冗余切换方法、装置、计算机设备和存储介质,该方法本机控制器首先通过接收对机控制器发送的中断信号频率和脉冲信号频率进行脉冲计数确定故障计数值,从故障数值反应了对机控制器出现的故障程度,其次,通过比较自身故障程度与对机的故障程度进而选择控制器切换。实现了控制器自主监控对方工作状态,根据故障程度独立完成主备控制器的切换,减少第三方带来的故障点并降低了硬件成本。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种控制器冗余切换装置,包括:接收模块502、计数模块504、确定故障程度模块506和比较模块508,其中:

接收模块502,用于接收对机发送的中断信号频率和脉冲信号频率。

计数模块504,用于根据中断信号频率和脉冲信号频率进行脉冲计数,确定故障计数值。

确定对机故障模块506,用于根据故障计数值确定对机控制器故障程度。

比较模块508,用于比较本机与对机的故障程度,根据比较结果进行控制器切换。

在一个实施例中,所述控制器冗余切换装置还包括:确定异常数值模块以及确定本机故障模块。

确定异常数值模块,用于当本机的工作点异常时,确定异常工作点对应的异常数值;

确定本机故障模块,用于根据异常工作点对应的异常数值确定本机故障程度。

在一个实施例中,故障计数值与中断信号频率成正比。

在一个实施例中,确定对机故障模块包括:获取单元、正常状态单元、轻微故障单元、中度故障单元以及严重故障单元。

获取单元,获取故障计数值,根据故障计数值判断控制器故障程度为正常状态、轻微故障、中度故障或严重故障。

正常状态单元,若故障计数值大于第一阈值小于第二阈值,则确定控制器故障程度为正常状态。

轻微故障单元,若故障计数值大于第三阈值小于第四阈值,则确定控制器故障程度为轻微故障,第三阈值大于第二阈值。

中度故障单元,若故障计数值大于第五阈值小于第六阈值,则确定控制器故障程度为中度故障,第五阈值大于第四阈值。

严重故障单元,否则,控制器故障程度为严重故障。

在一个实施例中,比较模块还包括获取本机故障单元、比较故障单元以及切换单元。

本机故障单元,用于获取本机故障程度。

比较故障单元,用于比较本机故障程度和对机故障程度。

切换单元,用于若本机故障程度小于对机故障程度,则进行控制器主备机切换。

关于控制器冗余切换装置的具体限定可以参见上文中对于控制器冗余切换方法的限定,在此不再赘述。上述控制器冗余装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种控制器冗余切换方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

获取对机发送中断信号频率和脉冲信号频率;

根据中断信号频率和脉冲信号频率进行脉冲计数,确定故障计数值;

根据故障计数值确定对机故障程度;

比较本机与对机的故障程度,根据比较结果进行控制器切换。

具体地,在一个实施例中,处理器执行计算机程序时实现的根据故障计数值确定对机故障程度包括以下步骤:

S1,获取故障计数值,根据故障计数值判断控制器故障程度为正常状态、轻微故障、中度故障或严重故障。

S2,若故障计数值大于第一阈值小于第二阈值,则确定控制器故障程度为正常状态。

S3,若故障计数值大于第三阈值小于第四阈值,则确定控制器故障程度为轻微故障,第三阈值大于第二阈值。

S4,若故障计数值大于第五阈值小于第六阈值,则确定控制器故障程度为中度故障,第五阈值大于第四阈值。

S5,否则,控制器故障程度为严重故障。

在一个实施例中,处理器执行计算机程序时实现的比较本机与对机的故障程度,根据比较结果进行控制器切换包括以下步骤:

获取本机故障程度,比较本机故障程度与对机故障程度,

若所述本机故障程度小于对机故障程度,将本机切换为主机。

在一个实施例中,如图4所示,处理器执行比较本机故障程度与对机故障度的步骤时具体包括以下步骤:

当本机工作点异常时,确定异常工作点对应的异常数值,

根据异常工作点对应的异常数值确定本机故障程度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1