工作、备用、抢占式实时多任务控制器及其冗余同步方法技术

技术编号:11319933 阅读:105 留言:0更新日期:2015-04-22 09:21
本申请公开了工作、备用、抢占式实时多任务控制器及其冗余同步方法,其中该方法包括;工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器;所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区,以保证抢占式实时多任务控制器在冗余同步过程中始终保持数据的一致性。

【技术实现步骤摘要】
工作、备用、抢占式实时多任务控制器及其冗余同步方法
本专利技术涉及工业控制
,更具体地说,涉及工作、备用、抢占式实时多任务控制器及其冗余同步方法。
技术介绍
RTOS(RealTimemulti-taskingOperationSystem,实时多任务操作系统)是针对不同处理器优化设计的高效率实时多任务内核,任何时刻系统中只能有一个任务处于运行状态,各任务按级别获得对CPU的访问权。RTOS具有抢占式和非抢占式两种任务调度机制,其中抢占式RTOS以更高的实时性成为工业RTOS的首选。在工业控制过程中,为保证控制器的长期可用性,最常用的方法就是对控制器进行冗余同步,当一台控制器出现故障时不间断的切换到另一台控制器上,由切换后的控制器来接管发生故障的控制器的功能。而为保证切换时刻两台控制器上数据的一致性,即没有“数据跳跃”,要求2台控制器上的数据必须始终保持同步。其中,处于工作状态的控制器称为工作控制器,处于备用状态的控制器称为备用控制器。采用抢占式RTOS的控制器称为抢占式实时多任务控制器,其对应的冗余同步方法为,工作控制器在每个用户任务结束后进行一次数据同步。但这种方法只能保证优先级最高的用户任务实现逻辑上的无扰动切换,而在执行优先级较低的用户任务时若发生意外切换的话,就会引起“数据跳跃”。
技术实现思路
有鉴于此,本专利技术提供一种工作、备用、抢占式实时多任务控制器及其冗余同步方法,以保证抢占式实时多任务控制器在冗余同步过程中始终保持数据的一致性。一种抢占式实时多任务控制器的冗余同步方法,包括:工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器;所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区。其中,所述工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器,包括:工作控制器在进入优先级低于所有用户任务的背景任务后,若检测到本次背景任务与前一次背景任务之间有用户任务执行过,则在本次背景任务中触发优先级高于所述用户任务的冗余任务就绪;其中,所述背景任务和所述冗余任务均属于系统任务,所述冗余任务用于通过冗余通讯通道把需要同步的数据发送到备用控制器。其中,所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区,包括:备用控制器在进入优先级低于所有用户任务的背景任务后,若发现之前有通过冗余通讯接收到的同步数据未处理,则在本次背景任务中触发优先级高于所有用户任务的同步任务就绪;其中,所述背景任务和所述同步任务均属于系统任务,所述同步任务用于把所述同步数据保存到用户任务的数据区。其中,所述工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器,包括:工作控制器在执行完最低优先级的用户任务后,在所述最低优先级的用户任务中触发优先级高于所有用户任务的冗余任务就绪;其中,所述冗余任务属于系统任务,用于通过冗余通讯通道把需要同步的数据发送到备用控制器。其中,所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区,包括:备用控制器在执行完最低优先级的用户任务后,若发现之前有通过冗余通讯接收到的同步数据未处理,则在所述最低优先级的用户任务中触发优先级高于所有用户任务的同步任务就绪;其中,所述同步任务属于系统任务,用于把所述同步数据保存到用户任务的数据区。其中,所述工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器,包括:工作控制器在进入优先级低于所有用户任务的背景任务后,关闭工作控制器的任务优先级调度功能,并在所述背景任务中通过冗余通讯通道把需要同步的数据发送到备用控制器,之后重新打开工作控制器的任务优先级调度功能;其中,所述背景任务属于系统任务。其中,所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区,包括:备用控制器在进入优先级低于所有用户任务的背景任务后,若发现之前有通过冗余通讯接收到的同步数据未处理,则关闭备用控制器的任务优先级调度功能,在所述背景任务中把所述同步数据保存到用户任务的数据区,之后重新打开备用控制器的任务优先级调度功能;其中,所述背景任务属于系统任务。一种抢占式实时多任务控制器的冗余同步系统,包括工作控制器和与所述工作控制器相连的备用控制器,其中:所述工作控制器,用于在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到所述备用控制器;所述备用控制器,用于在执行完所有用户任务后,若发现之前有通过冗余通讯接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区。一种工作控制器,应用于抢占式实时多任务控制器的冗余同步系统,该工作控制器用于在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到所述冗余同步系统中的备用控制器。一种备用控制器,应用于抢占式实时多任务控制器的冗余同步系统,该备用控制器用于在执行完所有用户任务后,若发现之前有通过冗余通讯接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区。从上述的技术方案可以看出,由于工作控制器是在所有用户任务都运行完成后,才把需要同步的数据发送到备用控制器,因此避免了低优先级的用户任务在执行过程中被高优先级的用户任务抢占,保证了发送数据的完整、有效;同时,由于备用控制器中的用户任务全部运行完成后数据区处于非操作状态,因此此时保存同步数据不会产生备用控制器和工作控制器中的数据不一致的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例公开的一种抢占式实时多任务控制器的冗余同步方法流程图;图2为本专利技术实施例公开的一种抢占式实时多任务控制器的冗余同步系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,本专利技术实施例公开了一种抢占式实时多任务控制器的冗余同步方法,以保证抢占式实时多任务控制器在冗余同步过程中始终保持数据的一致性,包括:步骤101:工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器;步骤102:备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区。为了更清楚的描述本实施例所公开的技术方案,首先给出以下术语解释:1)抢占式抢占式任务调度机制是RTOS中最为常用的任务调度机制。所谓抢占式,是指当一个低优先级的任务正在运行时,一个高优先级的任务就本文档来自技高网...
工作、备用、抢占式实时多任务控制器及其冗余同步方法

【技术保护点】
一种抢占式实时多任务控制器的冗余同步方法,其特征在于,包括:工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器;所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区。

【技术特征摘要】
1.一种抢占式实时多任务控制器的冗余同步方法,其特征在于,包括:工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器;所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区。2.根据权利要求1所述的方法,其特征在于,所述工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器,包括:工作控制器在进入优先级低于所有用户任务的背景任务后,若检测到本次背景任务与前一次背景任务之间有用户任务执行过,则在本次背景任务中触发优先级高于所述用户任务的冗余任务就绪;其中,所述背景任务和所述冗余任务均属于系统任务,所述冗余任务用于通过冗余通讯通道把需要同步的数据发送到备用控制器。3.根据权利要求1或2所述的方法,其特征在于,所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区,包括:备用控制器在进入优先级低于所有用户任务的背景任务后,若发现之前有通过冗余通讯接收到的同步数据未处理,则在本次背景任务中触发优先级高于所有用户任务的同步任务就绪;其中,所述背景任务和所述同步任务均属于系统任务,所述同步任务用于把所述同步数据保存到用户任务的数据区。4.根据权利要求1所述的方法,其特征在于,所述工作控制器在执行完所有用户任务后,通过冗余通讯通道把需要同步的数据发送到备用控制器,包括:工作控制器在执行完最低优先级的用户任务后,在所述最低优先级的用户任务中触发优先级高于所有用户任务的冗余任务就绪;其中,所述冗余任务属于系统任务,用于通过冗余通讯通道把需要同步的数据发送到备用控制器。5.根据权利要求1或4所述的方法,其特征在于,所述备用控制器在执行完所有用户任务后,若发现之前有通过冗余通讯通道接收到的同步数据未处理,把所述同步数据保存到用户任务的数据区,包括:备用控制器在执行完最低优先级的用户任务后,若发现之前有通过冗余通讯接收到的同步数据未处理,则在所述最低优先级的用户任务中触发优先级高于所有用户任务的同步任务就绪;其中,所述同步任务属于系统任务,用于把所述同步数据保存到用户任务的...

【专利技术属性】
技术研发人员:张国亮裘坤陈健邱旭东奚燕
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1