可左右滑动选省市

主从冗余控制系统的数据同步方法及装置实用新型专利

更新时间:2024-09-26
主从冗余控制系统的数据同步方法及装置实用新型专利 专利申请类型:实用新型专利;
地区:江苏-南京;
源自:南京高价值专利检索信息库;

专利名称:主从冗余控制系统的数据同步方法及装置

专利类型:实用新型专利

专利申请号:CN202010239657.9

专利申请(专利权)人:南京南瑞继保电气有限公司
权利人地址:江苏省南京市江宁区苏源大道69号

专利发明(设计)人:徐卫峰,吴波,臧峰,卢海松

专利摘要:本申请提供了一种主从冗余控制系统的数据同步方法、同步装置、电子设备及计算机可读介质。该方法包括:主控制器根据算法执行任务确定进行无扰更新;所述主控制器通过算法任务的同步任务向从控制器发送同步数据;所述从控制器对所述同步数据进行有效性诊断;所述从控制器根据所述有效性诊断的结果确定执行无扰更新;所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原。通过对多个独立算法更新任务下的主从控制器进行合理的任务处理组织、数据同步组织,确保冗余控制模式下多算法更新任务下主从控制器之间的数据一致性。

主权利要求:
1.一种主从冗余控制系统的数据同步方法,其特征在于,包括:主控制器根据算法执行任务确定进行无扰更新;
所述主控制器通过算法任务的同步任务向从控制器发送同步数据;
所述从控制器对所述同步数据进行有效性诊断;
所述从控制器根据所述有效性诊断的结果确定执行无扰更新;
所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原;
其中,所述同步数据包括数据报文组成的数据帧,所述数据报文包括:I/O数据报文、算法执行中间变量数据报文、控制指令数据报文和同步信息数据报文中的一种或多种;
其中,所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文分别包括校验码、变量个数、地址和数据类型,所述同步信息数据报文包括算法页无扰更新标记和各类型同步变量个数;
其中,所述主控制器通过算法任务的同步任务向从控制器发送同步数据,包括:所述主控制器完成无扰更新后将所述算法页无扰更新标记设置为有效;
其中,所述从控制器对所述同步数据进行有效性诊断,包括:获取所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文中的所述变量个数和所述同步信息数据报文中的所述各类型同步变量个数和所述算法页无扰更新标记;
当所述变量个数分别与所述各类型同步变量个数相匹配时,所述同步数据为有效的同步数据。
2.根据权利要求1所述的数据同步方法,其特征在于,所述算法任务包括多个相互独立的算法任务,针对每一个所述算法任务,独立执行相应的数据同步方法。
3.根据权利要求1所述的数据同步方法,其特征在于,所述从控制器根据所述有效性诊断的结果确定执行无扰更新,包括:当所述算法页无扰更新标记设置为有效时,所述从控制器执行无扰更新。
4.一种主从冗余控制系统的数据同步方法,其特征在于,包括:从控制器接收主控制器发送的同步数据;
所述从控制器对所述同步数据进行有效性诊断;
所述从控制器根据所述有效性诊断的结果确定执行无扰更新;
所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原;
所述从控制器执行算法任务;
其中,所述同步数据包括数据报文组成的数据帧,所述数据报文包括:I/O数据报文、算法执行中间变量数据报文、控制指令数据报文和同步信息数据报文中的一种或多种;
其中,所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文分别包括校验码、变量个数、地址和数据类型;
所述同步信息数据报文包括算法页无扰更新标记和各类型同步变量个数;
所述从控制器对所述同步数据进行有效性诊断,包括:获取所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文中的所述变量个数和所述同步信息数据报文中的所述各类型同步变量个数和所述算法页无扰更新标记;
当所述变量个数分别与所述各类型同步变量个数相匹配时,所述同步数据为有效的同步数据。
5.根据权利要求4所述的数据同步方法,其特征在于,所述从控制器根据所述有效性诊断的结果确定执行无扰更新,包括:当所述算法页无扰更新标记设置为有效时,所述从控制器执行无扰更新。
6.一种主从冗余控制系统的数据同步装置,其特征在于,包括:同步数据接收模块,用于从控制器接收主控制器发送的同步数据;
同步数据诊断模块,用于所述从控制器对所述同步数据进行有效性诊断;
第二算法更新模块,用于所述从控制器根据所述有效性诊断的结果确定执行无扰更新;
同步数据还原模块,用于所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原;
第二任务执行模块,用于所述从控制器执行算法任务;
其中,所述同步数据包括数据报文组成的数据帧,所述数据报文包括:I/O数据报文、算法执行中间变量数据报文、控制指令数据报文和同步信息数据报文中的一种或多种;
其中,所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文分别包括校验码、变量个数、地址和数据类型;
所述同步信息数据报文包括算法页无扰更新标记和各类型同步变量个数;
同步数据诊断模块,用于获取所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文中的所述变量个数和所述同步信息数据报文中的所述各类型同步变量个数和所述算法页无扰更新标记;
当所述变量个数分别与所述各类型同步变量个数相匹配时,所述同步数据为有效的同步数据。
7.一种主从冗余控制系统的数据同步电子设备,其特征在于,包括:一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑5中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1‑5中任一所述的方法。 说明书 : 主从冗余控制系统的数据同步方法及装置技术领域[0001] 本申请涉及工业过程控制领域,具体地涉及一种主从冗余控制系统的数据同步方法、装置、电子设备及计算机可读介质。背景技术[0002] 随IT技术的发展,芯片处理能力的增强,极大的拓宽了自动控制系统在工业方面的应用场景。单机的控制系统存在一定的风险,例如控制系统断电、因长期运行而发生故障导致系统不可用等。这些风险对于不允许停机的应用场合是致命的、不可接受的。因此冗余控制系统在工业过程控制领域得到广泛应用,以提高系统运行的可靠性,最大限度保证系统可用。[0003] 在冗余控制系统中,需确保互为冗余的控制器功能一致,具体体现为从控制器必须与主控制器的执行步调和执行数据一致,即从控制器与主控制器同步。控制系统多算法任务的采用,使得数据同步不能再按单算法任务方式设计。如果将数据同步放在最快算法任务执行,虽然可以保证数据最新,但无法保证各算法任务所需的数据断面是完整的。如果把数据同步放在最慢算法任务执行,则显然无法保证最快算法任务的时效性。为此,需采用合理机制保证多算法任务下数据同步的时效性和完整性。[0004] 此外,对于一些应用场合,任何时刻都不允许设备或系统停止运行,以防止其损坏或引起人身伤害。对其控制系统而言,日常维护或升级改造可能涉及修改控制逻辑。这就要求控制系统支持在线逻辑算法的无扰更新,即可对正在运行的控制系统修改逻辑算法将其生效,而不对当前运行系统造成负面影响。对冗余的控制系统而言,由于主控制器和从控制器各自独立运行,在更新的过程中总存在主控制器和从控制器状态不一致的情况。如何确保从控制器不会因为主控制器更新前后,由于同步数据包不一致而引起的数据完整性破坏,是必须考虑的内容。发明内容[0005] 本申请旨在提供一种主从冗余控制系统的数据同步方法,通过合理地组织多算法任务流程和数据同步流程,使得主控制器和从控制器在同时支持无扰更新和多算法更新任务下,主控制器与从控制器之间保持数据一致、任务执行一致。[0006] 根据本申请的一方面,申请提供一种主从冗余控制系统的数据同步方法,包括:[0007] 主控制器根据算法执行任务确定进行无扰更新;[0008] 所述主控制器通过算法任务的同步任务向从控制器发送同步数据;[0009] 所述从控制器对所述同步数据进行有效性诊断;[0010] 所述从控制器根据所述有效性诊断的结果确定执行无扰更新;[0011] 所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原。[0012] 根据本申请的一些实施例,所述算法任务包括多个相互独立的算法任务,针对每一个所述算法任务,独立执行相应的数据同步方法。[0013] 根据本申请的一些实施例,所述同步数据包括数据报文组成的数据帧,所述数据报文包括I/O数据报文、算法执行中间变量数据报文、控制指令数据报文和同步信息数据报文中的一种或多种。[0014] 根据本申请的一些实施例,所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文分别包括校验码、变量个数、地址和数据类型,所述同步信息数据报文包括算法页无扰更新标记和各类型同步变量个数。[0015] 进一步地,所述主控制器通过算法任务的同步任务向从控制器发送同步数据,包括:[0016] 所述主控制器完成无扰更新后将所述算法页无扰更新标记设置为有效。[0017] 根据本申请的一些实施例,所述从控制器对所述同步数据进行有效性诊断,包括:[0018] 获取所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文中的所述变量个数和所述同步信息数据报文中的所述各类型同步变量个数和所述算法页无扰更新标记;[0019] 当所述变量个数分别与所述各类型同步变量个数相匹配时,所述同步数据为有效的同步数据。[0020] 根据本申请的一些实施例,所述从控制器根据所述有效性诊断的结果确定执行无扰更新,包括:[0021] 当所述算法页无扰更新标记设置为有效时,所述从控制器执行无扰更新。[0022] 根据本申请的另一方面,提供一种主从冗余控制系统的数据同步方法包括:[0023] 主控制器根据算法执行任务确定进行无扰更新;[0024] 所述主控制器通过算法任务的同步任务向从控制器发送同步数据;[0025] 所述主控制器执行所述算法任务。[0026] 根据本申请的另一方面,提供一种主从冗余控制系统的数据同步方法,包括:[0027] 从控制器接收主控制器发送的同步数据;[0028] 所述从控制器对所述同步数据进行有效性诊断;[0029] 所述从控制器根据所述有效性诊断的结果确定执行无扰更新;[0030] 所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原;[0031] 所述从控制器执行所述算法任务。[0032] 根据本申请的一些实施例,所述同步数据包括数据报文组成的数据帧,所述数据报文包括:[0033] I/O数据报文、算法执行中间变量数据报文、控制指令数据报文和同步信息数据报文中的一种或多种。[0034] 根据本申请的一些实施例,所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文分别包括校验码、变量个数、地址和数据类型,所述同步信息数据报文包括算法页无扰更新标记和各类型同步变量个数,所述从控制器对所述同步数据进行有效性诊断,包括:[0035] 获取所述I/O数据报文、算法执行中间变量数据报文、控制指令数据报文中的所述变量个数和所述同步信息数据报文中的所述各类型同步变量个数和所述算法页无扰更新标记;[0036] 当所述变量个数分别与所述各类型同步变量个数相匹配时,所述同步数据为有效的同步数据。[0037] 根据本申请的一些实施例,所述从控制器根据所述有效性诊断的结果确定执行无扰更新,包括:[0038] 当所述算法页无扰更新标记设置为有效时,所述从控制器执行无扰更新。[0039] 根据本申请的另一方面,提供一种主从冗余控制系统的数据同步装置,包括:[0040] 第一算法更新模块,用于主控制器根据算法执行任务确定进行无扰更新;[0041] 同步数据发送模块,用于所述主控制器通过算法任务的同步任务向从控制器发送同步数据;[0042] 第一任务执行模块,用于所述主控制器执行所述算法任务。[0043] 根据本申请的另一方面,提供一种主从冗余控制系统的数据同步装置,包括:[0044] 同步数据接收模块,用于从控制器接收主控制器发送的同步数据;[0045] 同步数据诊断模块,用于所述从控制器对所述同步数据进行有效性诊断;[0046] 第二算法更新模块,用于所述从控制器根据所述有效性诊断的结果确定执行无扰更新;[0047] 同步数据还原模块,用于所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原;[0048] 第二任务执行模块,用于所述从控制器执行所述算法任务。[0049] 根据本申请的另一方面,提供一种主从冗余控制系统的数据同步电子设备,包括:[0050] 一个或多个处理器;[0051] 存储装置,用于存储一个或多个程序;[0052] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的数据同步方法。[0053] 根据本申请的另一方面,还提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的数据同步方法。[0054] 本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明[0055] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。[0056] 图1示出根据本申请示例实施例的数据同步过程示意图。[0057] 图2示出根据本申请示例实施例的数据同步方法时序图。[0058] 图3示出根据本申请示例实施例的数据报文结构图。[0059] 图4示出根据本申请示例实施例的数据有效性诊断流程图。[0060] 图5示出根据本申请示例多算法更新任务数据同步过程示意图。[0061] 图6示出根据本申请示例实施例的数据同步装置组成图。[0062] 图7示出根据本申请另一示例实施例的数据同步装置组成图。[0063] 图8示出根据本申请示例实施例的数据同步电子设备组成框图。具体实施方式[0064] 下面将参考附图更全面地描述示例实施例。然而,示例实施例能以多种形式实施,且不应被理解为限于在此阐述的实施例。提供这些实施例是为使得本申请更全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。[0065] 此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。[0066] 应理解,虽然本文中可能使用术语第一、第二等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。[0067] 本领域技术人员可以理解,附图只是示例实施例的示意图,可能不是按比例的。附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。[0068] 针对冗余控制系统中,主控制器与从控制器在执行多个算法任务时,存在的数据完整性问题和数据时效性问题,提出一种数据同步方法,以保证主控制器和从控制器执行多个算法任务时数据的完整性和有效性。[0069] 以下将结合附图,对本申请的技术方案进行详细说明。[0070] 图1示出根据本申请示例实施例的数据同步方法过程示意图。[0071] 当冗余控制系统执行多个算法任务时,主控制器与从控制器在每一个算法执行任务过程中进行一次数据同步,各个算法执行任务之间的数据同步相互独立。主控制器与从控制器之间某一个算法任务的一次数据同步过程如图1所示:[0072] 在步骤101,主控制器执行接收到的算法任务。在步骤102,主控制器通过网络将从控制器执行所述算法任务所需的数据发送给从控制器。在步骤103,从控制器对主控制器发送过来的数据进行接收。[0073] 在步骤104,从控制器对接收的数据进行校验。数据校验是为保证数据的完整性进行的一种验证操作。数据校验的过程通常为,数据发送方和接收方采用同样的算法计算出校验值。通过对比校验值来进行数据校验。[0074] 在步骤105,从控制器判断接收的数据是否通过校验。通常数据发送方采用预先指定的算法对原始数据计算出一个校验值,接收方用同样的算法计算一次校验值,如果两次计算得到的检验值相同,说明数据是完整的,则通过校验。如果两次计算得到的检验值不同,则未通过校验。[0075] 如果同步数据通过校验,则执行步骤106,从控制器对同步数据进行解析。数据解析过程是获取不同格式数据的数据值的过程。通常数据在传输过程中,需要采用一定的数据格式、数据组织形式等,所以无法直接进行应用。只有通过解析,获取原始数据值,才能进行使用。数据解析完成后,触发步骤107。在步骤107中,从控制器执行与主控制相同的算法任务,对数据进行还原,之后等待接收下一个算法任务的同步数据。[0076] 至此,主控制器和从控制器就完成了一个算法任务的数据同步,如图1中所示的任务1。每一个算法执行任务按照图1中所示的相同流程和处理方式,各自相互独立。如图1所示,多个算法执行任务按照任务等级的不同来决定执行的先后顺序。例如,任务1的等级最高,因此第一个执行。相应地,按照任务等级执行其他算法任务。[0077] 图2示出根据本申请示例实施例的数据同步方法时序图。[0078] 当冗余控制系统需要进行在线逻辑算法的无扰更新时,本申请提供的数据同步方法如图2所示。[0079] 首先,主控制器根据算法任务确定进行无扰更新。具体地,主控制器根据算法组态的更新状态来判断是否进行更新。无扰更新是对正在运行的控制系统修改逻辑算法将其生效,而不对当前运行系统造成负面影响。[0080] 完成更新后,主控制器通过算法任务的同步任务向从控制器发送同步数据。数据在发送过程中,需要按照一定的格式进行组织。根据本申请的示例实施例,同步数据按照数据报文的形式组成数据帧进行发送。图3示出根据本申请示例实施例的数据报文结构图。[0081] 如图3所示,本申请示例实施例中采用的数据报文根据类别可分为I/O数据报文310、算法执行中间变量数据报文320、控制指令数据报文330和同步信息报文340。每类报文均包含报文头和报文体两部分内容。[0082] 参见图3,I/O数据报文310、算法执行中间变量数据报文320和控制指令数据报文330的报文头中可以包括以下数据对象:任务等级301、报文类型302、变量个数303和校验码304。同步信息报文340的报文头中包括任务等级301、报文类型302和校验码304。其中,任务等级301,用于确保主控制器的任务等级与从控制器匹配。报文类型302用以区分不同的报文类型。变量个数303为报文体内与报文类型匹配的数据具体个数。校验码304用于主控制器与从控制器之间的数据校验。[0083] 如图3所示,报文体中包括具体的同步数据对象信息。I/O数据报文310、算法执行中间变量数据报文320和控制指令数据报文330的报文体具有相同的结构。该结构中的数据对象包括:地址305、数据类型306和数据值307。其中,地址305用以表示当前数据值在主控制器存储器中的相对位置,该相对位置与从控制器内表示相同物理含义的数据一致,在数据还原任务内需根据地址305进行还原。数据类型306为数据值的类型,在数据还原时需根据数据类型306对数据值进行解析处理。数据值307为实际的同步数据数值,该数据值实际为主控制器上一周期运算的结果。[0084] 同步信息报文340中的报文体内容与其他报文不同,其内容包括对同步I/O数据个数341、同步算法执行中间变量数据个数342、同步控制指令数据个数343以及算法页无扰更新标记344。其中,在步骤S220,主控制器完成更新后,向从控制器发送的同步数据中,算法页无扰更新标记344设置为有效。[0085] 所述主控制器向所述从控制器发送同步数据之后,执行算法任务。至此,主控制器完成了一个计算周期内的算法更新任务。[0086] 从控制器接收主控制器发送的同步数据后,所述从控制器对所述同步数据进行有效性诊断。从控制器对接收到的同步数据报文需经过有效性诊断才能够进行使用。图4示出根据本申请示例实施例的数据有效性诊断流程图。[0087] 如图4所示,从控制器接收到的同步数据报文中包含多种类型的数据报文,所述数据报文分时发送,因此从控制器接收后按接收先后顺序进行校验、解析等诊断处理。[0088] 参见图4,从控制器在步骤401中,获得I/O数据报文中的发送端校验码。在步骤402中对所有I/O数据报文中的数据按校验算法进行校验,获取校验码。在步骤403中,将步骤402中获得的校验码与步骤401中从报文中取得的发送端校验码进行比较;如果匹配,则执行步骤404,对接收到的I/O数据报文进行解析,获得具体的同步数据和变量个数,之后执行步骤405。如果不匹配则,则直接执行步骤405。[0089] 在步骤405,获得算法执行中间变量数据报文的发送端校验码。在步骤406中对所有算法执行中间变量数据报文中的数据按校验算法进行校验,获取校验码。在步骤407中,将步骤406中获得的校验码与步骤405中从报文中取得的发送端校验码进行比较;如果匹配,则执行步骤408,对接收到的算法执行中间变量数据报文进行解析,获得具体的同步数据和变量个数,之后执行步骤409。如果不匹配则,则直接执行步骤409。[0090] 在步骤409,获得控制指令变量数据报文的发送端校验码。在步骤410中对所有控制指令变量数据报文中的数据按校验算法进行校验,获取校验码。在步骤411中,将步骤410中获得的校验码与步骤409中从报文中取得的发送端校验码进行比较;如果匹配,则执行步骤412,对接收到的控制指令变量数据报文进行解析,获得具体的同步数据和变量个数,之后执行步骤413。如果不匹配则,则直接执行步骤413。[0091] 在步骤413,获得同步信息报文的发送端校验码。在步骤414中对所有同步信息报文中的数据按校验算法进行校验,获取校验码。在步骤415中,将步骤414中获得的校验码与步骤413中从报文中取得的发送端校验码进行比较;如果匹配,则执行步骤416,对接收到的同步信息报文进行解析,获得各类型同步变量个数及算法页无扰更新标记,之后执行步骤417。如果不匹配则,则直接执行步骤417。[0092] 在步骤417中,将各类型报文中解析得到的各类型的变量个数与同步信息报文中解析得到的各类型变量个数进行对比校验。如果数量匹配,在步骤418中,将上述解析的各类同步数据标记为有效。如果数量不匹配,在步骤420中将上述解析的各类同步数据标记为无效。至此,完成对同步数据的有效性诊断。之后,进入步骤419,触发对应等级的算法任务执行。[0093] 从控制器根据所述有效性诊断的结果确定执行无扰更新。在上述有效性诊断过程中,从控制器获取了同步信息报文中的算法页无扰更新标记。如果,算法页无扰更新标记的设置为有效,表明主控制器已经进行了无扰更新,从控制器相应地执行无扰更新。否则,从控制器不进行无扰更新。[0094] 从控制器根据所述有效性诊断的结果对所述同步数据进行还原。在上述有效性诊断过程中,从控制器获取了不同数据报文中数据的地址和数据类型。具体的还原过程为,从控制器根据数据类型对数据值进行解析处理,获取数据的真实值,并根据获取的数据地址将其存储至从控制器对应的地址中。[0095] 同步数据还原之后,从控制器执行算法任务。[0096] 图5示出根据本申请示例实施例的多算法任务下无扰更新时的数据同步过程示意图。[0097] 下面将结合图5,对多算法任务下主控制器与从控制器进行无扰更新时的数据同步流程。控制器中的算法任务按照计算周期进行执行。在一个执行周期内,一项算法任务包括三个环节,分别是算法无扰更新环节501、同步数据发送环节503以及算法执行环节504。在算法无扰更新环节501中,主控制器在完成了自身任务的无扰更新后,将算法页无扰更新标记设置为有效(环节502),并通过同步数据发送环节503,以同步数据发送组帧包含在同步信息报文内,发送至从控制器。[0098] 对从控制器而言,一个执行周期内,一项算法任务包括四个环节,分别是同步数据报文接收和解析环节505、算法无扰更新环节506、同步数据还原环节507以及算法执行环节508。在环节505,完成对同步数据报文的接收和解析,为从控制器的任务执行做好准备。在环节506,从控制器无扰更新中,首先判断收到的主控制器发送过来的算法无扰更新标记是否设置为有效,如果设置为有效,则进行从控制器的无扰更新,否则跳过本环节。在环节507中,对同步数据进行还原。同步数据还原时,需跳过无扰更新涉及所涉及的地址段同步数据,对其他数据进行还原。最后,在环节508对算法进行执行。[0099] 图6示出根据本申请示例实施例的数据同步装置组成图。[0100] 如图6所示,本申请还提供一种主从冗余控制系统的数据同步装置600,包括第一算法更新模块610、同步数据发送模块620、第一算法执行模块630。其中:[0101] 第一算法更新模块,用于主控制器根据算法执行任务确定进行无扰更新。同步数据发送模块,用于所述主控制器通过算法任务的同步任务向从控制器发送同步数据。第一任务执行模块,用于所述主控制器执行所述算法任务。[0102] 图7示出根据本申请另一示例实施例的数据同步装置组成图。[0103] 如图7所示,本申请还提供一种主从冗余控制系统的数据同步装置200,包括同步数据接收模块210、同步数据诊断模块220、第二算法更新模块230、同步数据还原模块240和第二任务执行模块250。其中:[0104] 同步数据接收模块210,用于从控制器接收主控制器发送的同步数据。同步数据按照数据报文的形式组成数据帧进行发送。本申请示例实施例中采用的数据报文类别可分为I/O数据报文、算法执行中间变量数据报文、控制指令数据报文和同步信息报文。每类报文均包含报文头和报文体两部分内容。[0105] 同步数据诊断模块220,用于所述从控制器对所述同步数据进行有效性诊断。有效性诊断的结果包括两方面内容。一方面为,所述同步数据是否为有效的数据,只有有效的数据才可以作为从控制器执行算法任务的依据。另一方面,通过同步数据判断主控制器是否执行了无扰更新,以此作为从控制器进行无扰更新的依据,从而保证主从控制器之间的同步。[0106] 第二算法更新模块230,用于所述从控制器根据所述有效性诊断的结果确定执行无扰更新。具体的,当同步数据中的算法无扰更新标记设置为有效时,从控制器之行无扰更新。[0107] 同步数据还原模块240,用于所述从控制器根据所述有效性诊断的结果对所述同步数据进行还原。具体的还原过程为,从控制器根据数据类型对数据值进行解析处理,获取数据的真实值,并根据获取的数据地址将其存储至从控制器对应的地址中。[0108] 第二任务执行模块250,用于所述从控制器执行所述算法任务。[0109] 图8示出根据本申请示例实施例的数据同步电子设备组成框图。[0110] 本申请还提供一种数据同步电子设备700。图8显示的控制设备700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。[0111] 如图8所示,控制设备700以通用计算设备的形式表现。控制设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730等。[0112] 存储单元720存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书描述的根据本申请上述各实施例的方法。[0113] 存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。[0114] 存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。[0115] 总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。[0116] 电子设备700也可以与一个或多个外部设备7001(例如触摸屏、键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。[0117] 显然,上述实施例仅是为清楚地说明本申请所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本申请的保护范围之中。

专利地区:江苏

专利申请日期:2020-03-30

专利公开日期:2024-07-26

专利公告号:CN113467222B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部