CN111190345B - 每个硬件单元配有多个处理器单元的冗余的自动化系统 - Google Patents

每个硬件单元配有多个处理器单元的冗余的自动化系统 Download PDF

Info

Publication number
CN111190345B
CN111190345B CN201911105428.1A CN201911105428A CN111190345B CN 111190345 B CN111190345 B CN 111190345B CN 201911105428 A CN201911105428 A CN 201911105428A CN 111190345 B CN111190345 B CN 111190345B
Authority
CN
China
Prior art keywords
tasks
hardware unit
group
intermediate memory
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911105428.1A
Other languages
English (en)
Other versions
CN111190345A (zh
Inventor
托马斯·格罗施
阿尔伯特·伦施勒
于尔根·拉福斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN111190345A publication Critical patent/CN111190345A/zh
Application granted granted Critical
Publication of CN111190345B publication Critical patent/CN111190345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31229Supervisor, master, workstation controller, automation, machine control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种冗余的自动化系统的多个硬件单元(2、3),它们分别包含多个处理器单元(4至7)。处理器单元(4至7)分别执行一组任务(G1至G4)。在不同的硬件单元(2、3)上执行的任务组(G1至G4)从受控工业过程(1)直接地或者间接地接收相同的输入信号(E1、E2),并且为受控工业过程(1)得出相同的输出信号(A1、A2)。然而,在不同的硬件单元(2、3)上执行的任务组(G1至G4)的仅仅其中一个的任务将其输出信号(A1、A2)输出给受控工业过程(1)。在不同的硬件单元(2、3)上执行的任务组通过相应的通信连接(14、15)相互同步。在同一个硬件单元上执行的任务组通过相应的一对中间存储器(16至19)来成对地彼此交换数据。

Description

每个硬件单元配有多个处理器单元的冗余的自动化系统
技术领域
本发明涉及一种用于冗余的自动化系统的运行方法,该自动化系统包括至少一个第一和第二硬件单元,其中,第一和第二硬件单元分别包括至少一个第一处理器单元,
-其中,第一硬件单元的第一处理器单元执行第一组任务,
-其中,第二硬件单元的第一处理器单元执行第二组任务,
-其中,第一和第二组任务从受控工业过程直接地或者间接地接收相同的输入信号,并且为受控工业过程得出相同的输出信号,然而仅仅第一组任务或者仅仅第二组任务将其输出信号输出给受控工业过程,
-其中,在第一硬件单元故障时,总是第二组任务将其输出信号输出给受控工业过程,并且在第二硬件单元故障时,总是第一组任务将其输出信号输出给受控工业过程,
-其中,第一和第二组任务经由第一通信连接相互同步。
本发明还涉及一种冗余的自动化系统,其包括至少一个第一和第二硬件单元,其中,第一和第二硬件单元分别包括至少一个第一处理器单元,
-其中,第一硬件单元被构造用于,借助其第一处理器单元执行第一组任务,
-其中,第二硬件单元被构造用于,借助其第一处理器单元执行第二组任务,
-其中,第一和第二组任务从受控工业过程直接或间接地接收相同的输入信号,并且为受控工业过程得出相同的输出信号并将其提供给受控工业过程,
-其中,冗余的自动化系统包括第一通信连接,第一和第二组任务通过该第一通信连接相互同步。
背景技术
这类运行方法和配属的自动化系统由EP 2 657 797 A1以及还由EP 2667 269 A1已知。
在自动化系统中,许多情况下都需要高可用性的解决方案(所谓的H系统)。H系统的特征在于,一个且同一个自动化任务冗余地在多个不同的硬件单元上执行,然而只有其中一个硬件单元的输出信号被真正用于控制工业过程。由此在用于控制该工业过程的硬件单元故障时,能够让另一个硬件单元无延迟地或者至少几乎无延迟地接管过程控制。
为了能够真正无延迟地或者至少几乎无延迟地接管对工业过程的控制,一方面需要使得分别处理自动化任务的硬件单元同步。在此必须确保硬件单元以相同的数据工作并且以相同的方式和方法处理这些相同的数据。此外,在其中一个硬件单元故障并且然后被修理或替换以后,可以将修好的或替换的硬件单元再次引向对该过程进行控制的硬件单元,并且与之同步。为此在上述两个欧洲专利中都有解决方案。
在两个欧洲专利中展示的解决方案是针对分别仅具有唯一的处理器单元的硬件单元所确定的。然而在自动化技术中,越来越多地使用具有多个处理器或多个处理器核、也就是至少一个第一和第二处理器单元的硬件单元。只要还需要使各个硬件单元的处理器单元同步,那么就只能有限地实现对多个处理器单元的利用。尤其是无法利用或者至少仅仅能部分地利用多核处理器的性能优势。此外,在采用上述欧洲专利所提到的做法时存在以下问题,即,该系统的不同任务必须以相同的方式和方法配有断点。这尤其在所使用的程序部分来自软件库并且因而无法更改或者至少不应被更改时是特别困难的。
在现有技术中,断点的时间间隔最大的任务决定了系统的响应能力,从而也决定了过程控制的响应能力。该问题在现有技术中只能通过繁琐地为所有的软件组件配上多个断点才能解决。然而这会导致响应时间延长。
可以将作为自动化任务基础的各个任务分配到不同的处理器单元(处理器或处理器核)上。然而,这仅在以下情况下才直接或间接地形成一种有意义的解决方案:即,任务仅仅利用本地数据工作,或者数据虽然是全域的、但是在借助其中一个处理器单元执行的任务与借助另一个处理器单元所执行的任务之间不需要进行数据交换。在这种情况下,当第一和第二硬件单元除了相应的第一处理器单元以外还分别至少包括一个第二处理器单元时,可以通过以下方式改进已知的做法,
-第一硬件单元的第二处理器单元执行第三组任务,
-第二硬件单元的第二处理器单元执行第四组任务,
-第三和第四组任务从受控工业过程直接地或者间接地接收相同的输入信号,并且为受控工业过程得出相同的输出信号,然而仅仅第三组任务或仅仅第四组任务将其输出信号输出给受控工业过程,
-在第一硬件单元故障时,还总是第四组任务将其输出信号输出给受控工业过程,并且在第二硬件单元故障时,也还总是第三组任务将其输出信号输出给受控工业过程,并且
-第三和第四组任务通过第二通信连接相互同步。
在这种情况下,在相应的任务组之间单独地执行由欧洲专利中已知的做法。然而,正如已经提及的那样,在这种情况下,相应硬件单元的第一处理器单元所使用的任何数据都不被允许由该相应硬件单元的第二处理器单元使用。这样的访问尤其会导致路径同步性的丧失。
发明内容
本发明的目的是,提供以下可能性方案,借助这些可能性方案,即使在硬件单元具有多个处理器单元的情况下也能够以简单的方式将自动化任务分配到硬件单元的处理器单元。
该目的通过根据本发明的运行方法得以解决。
根据本发明,在第一和第二硬件单元分别至少还包括一个第二处理器单元的情况下,前文所述类型的运行方法如下地设计,
-第一硬件单元的第二处理器单元执行第三组任务,
-第二硬件单元的第二处理器单元执行第四组任务,
-第三和第四组任务从受控工业过程直接地或者间接地接收相同的输入信号,并且为受控工业过程得出相同的输出信号,然而仅仅第三组任务或者仅仅第四组任务将其输出信号输出给受控工业过程,
-在第一硬件单元故障时,此外还总是第四组任务将其输出信号输出给受控工业过程,并且在第二硬件单元故障时,此外还总是第三组任务将其输出信号输出给受控工业过程,
-第三和第四组任务通过第二通信连接相互同步,
-第一组任务将数据存储到第一硬件单元的第一中间存储器中,并且第三组任务从第一硬件单元的第一中间存储器中读取出存储到第一硬件单元的第一中间存储器中的数据,
-第三组任务将数据存储到第一硬件单元的第二中间存储器中,并且第一组任务从第一硬件单元的第二中间存储器中读取出存储到第一硬件单元的第二中间存储器中的数据,
-第二组任务将数据存储到第二硬件单元的第一中间存储器中,并且第四组任务从第二硬件单元的第一中间存储器中读取出存储到第二硬件单元的第一中间存储器中的数据,并且
-第四组任务将数据存储到第二硬件单元的第二中间存储器中,并且第二组任务从第二硬件单元的第二中间存储器中读取出存储到第二硬件单元的第二中间存储器中的数据。
因此,一方面通过通信连接实现在一个硬件单元上运行的任务组与在另一个硬件单元上运行的任务组的同步。另一方面,通过中间存储器,使得由其中一个硬件单元的相应一个处理器单元执行的任务利用本地数据工作,然而又与由相应的硬件单元的其他处理器单元执行的任务交换信息。
在一种优选的设计方案中,硬件单元的中间存储器构造成FIFO存储器。这种中间存储器尤其确保了将最早写入的数据首先再次读取出来。使用其他的中间存储器也是可以的,尤其是能够实现要素优先级的中间存储器。在所有的设计方案中都必须注意:相应的中间存储器不会存满并且不溢出。
在另一种优选的设计方案中提出,在自己读取出的数据还没有存储到相应的硬件单元的相应的中间存储器中的情况下,第一至第四组任务等待存入完成。由此能够以简单的方式确保由同一个硬件单元的处理器单元执行的任务组之间的路径同步性。
可行的是,对于第一和第二硬件单元都没有故障的情况,关于哪些任务将其输出信号输出给受控工业过程的规定保持不变。这种设计方案特别易于实现。
优选地,在这种情况下,第一和第四组任务,或者,第二和第三组任务将其输出信号输出给受控工业过程。由此能够特别高效地利用硬件单元之间的通信连接,尽管关于哪些任务将其输出信号输出给受控工业过程的规定是不变的。
可替代的是,检测从第一硬件单元传输给第二硬件单元的数据量,以及从第二硬件单元传输给第一硬件单元的数据量。在这种情况下,可以在考虑到所检测的数据量的情况下动态地规定,哪些任务将其输出信号输出给受控工业过程。
第一通信连接和第二通信连接尤其可以构造成分流或者构造成单一流。此外还可行的是,第一和第二通信连接是在物理上彼此不同的通信连接。然而,通常这只涉及两个通信连接的逻辑区别。
该目的还通过根据本发明的冗余的自动化系统得以解决。
根据本发明,当第一和第二硬件单元分别至少还包括一个第二处理器单元的情况下,前文所述类型的自动化系统如下地设计,
-第一硬件单元被构造用于,借助其第二处理器单元执行第三组任务,
-第二硬件单元被构造用于,借助其第二处理器单元执行第四组任务,
-第三和第四组任务从受控工业过程直接地或间接地接收相同的输入信号,并且为受控工业过程得出相同的输出信号并将该输出信号提供给受控工业过程,
-冗余的自动化系统还包括第二通信连接,第三和第四组任务通过第二通信连接相互同步,
-第一硬件单元具有第一中间存储器,第一组任务将数据存储到该第一中间存储器中,并且第三组任务从该第一中间存储器中读取出存储在该处的数据,
-第一硬件单元具有第二中间存储器,第三组任务将数据存储到该第二中间存储器中,并且第一组任务从该第二中间存储器中读取出存储在该处的数据,
-第二硬件单元具有第一中间存储器,第二组任务将数据存储到该第一中间存储器中,并且第四组任务从该第一中间存储器中读取出存储在该处的数据,并且
-第二硬件单元具有第二中间存储器,第四组任务将数据存储到该第二中间存储器中,并且第二组任务从该第二中间存储器中读取出存储在该处的数据。
由此实现的效果和优点与运行方法的效果和优点相对应。
自动化系统的有利设计方案同样也对应于运行方法的有利设计方案。由此可实现的优点也是一样的。
附图说明
结合以下参考附图详细描述的实施例使得本发明的上述属性、特征和优点以及实现它们的方式和方法更加清楚易懂。在此用示意图示出:
图1示出了一个过程和多个控制该过程的组件,
图2示出了一个冗余的自动化系统的内部构造,以及
图3和4是流程图。
具体实施方式
根据图1,借助自动化系统来控制工业技术过程1。工业技术过程1原则上可以是任何性质的。例如可以是在信函分配设备中用于分配信函时的过程。
自动化系统构造成冗余的自动化系统。尤其是,自动化系统包括至少一个第一硬件单元2和第二硬件单元3。必要时还可以包括其他的、在图中未示出的硬件单元。硬件单元2、3是独立的,并且能够独立于相应的另一个硬件单元3、2来控制过程1。这种冗余的意义和目的是,即使在其中一个硬件单元2、3故障的情况下,过程1也能够在其他的硬件单元3、2的控制下不受干扰地继续运行。
根据图2,第一硬件单元2包括至少一个第一处理器单元4和第二处理器单元5。必要时,第一硬件单元2还可以包括其他在图中未示出的处理器单元。以类似的方式,第二硬件单元3同样包括至少一个第一处理器单元6和第二处理器单元7。必要时,第二硬件单元3也可以包括其他的、在图中未示出的处理器单元。
第一硬件单元2的第一处理器单元4执行第一组任务G1。以类似的方式,第二硬件单元3的第一处理器单元6执行第二组任务G2。以类似的方式,第一硬件单元2的第二处理器单元5执行第三组任务G3。以类似的方式,第二硬件单元3的第二处理器单元7执行第四组任务G4。
不同的任务组G1至G4成对地彼此对应。
尤其是,第一和第二组任务G1、G2借助传感器8(参见图1)从过程1接收相同的输入信号E1。例如可以存在相应的传感器8,这些传感器检测过程1的配属的传感器信号,并且将输入信号E1输出。在此可行的是,输入信号E1从传感器8直接地传输给相应的任务组G1、G2。“直接”在上下文中表示,从相应的传感器8到相应的处理器单元4、6的传输在中间没有接入另一个处理器单元4至7的情况下实现。可替代的是,输入信号E1由传感器8间接地传输给相应的任务组G1、G2。“间接”在上下文中意味着,从相应的传感器8到相应的处理器单元4、6的传输在中间接入了另一个处理器单元4至7的情况下实现。
此外,第一和第二组任务G1、G2为过程1得出相同的输出信号A1,并且为该过程1提供由它们分别得出的输出信号A1。然而,仅仅第一组任务G1或者仅仅第二组任务G2将其输出信号A1输出给过程1。例如,第一和第二组任务G1、G2虽然可以都将输出信号A1传输给一个切换装置9(见图1),然而该切换装置9仅仅将两组任务G1、G2的其中一个的输出信号A1转发给致动器10,并且从而转发给该过程1。
因此,在自己的输出信号A1真正地影响过程1的意义上来讲,这两个任务组G1、G2中只有一个是活跃的。这个组(例如任务组G1)直接接收输入信号E1。另一组(例如任务组G2)可以替代地直接从传感器8或者间接地经由另一个组(根据实例,即经由任务组G1)接收输入信号E1。
以完全类似的方式,第三和第四组任务G3、G4共同协作。特别是,第三和第四组任务G3、G4也由传感器11从过程1直接地或者间接地接收相同的输入信号E2、为过程1得出相同的输出信号A2、并且为过程1提供该输出信号A2。然而,仅仅第三组任务G3,或者仅仅第四组任务G4将其输出信号A2输出给致动器12,从而输出给过程1。如前所述,在这里也可以为此目的而存在相应的切换装置13。
致动器12是与致动器10不同的致动器。切换装置13也是不同于切换装置9的切换装置。以类似的方式,传感器11也可以不同于传感器8。然而,也可以(完全地或者部分地)是同一个传感器。
由于通过两个硬件单元2、3应用了输入信号E1、E2并通过这两个硬件单元2、3得出输出信号A1、A2,可以在两个硬件单元2、3其中一个发生故障时,由相应的另一个硬件单元3、2的处理器单元4、7执行的任务组G1至G4继续将其输出信号A1、A2输出给过程1。在第一硬件单元2故障时,这是第二和第四组任务G2、G4,在第二硬件单元3故障时,这是第一和第二组任务G1、G3。
为了能够确保对过程1的正常控制,由硬件单元2、3执行的任务组G1至G4必须是相互同步的。这是特别必要的,以便在两个硬件单元2、3其中一个发生故障的情况下,能够正常切换活跃的任务组G1至G4。
为了能够确保必要的同步,自动化系统包括第一通信连接14。经由第一通信连接14使得第一和第二组任务G1、G2同步。此外,自动化系统还包括第二通信连接15。经由第二通信连接15使得第三和第四组任务G3、G4同步。就相应的通信连接14、15而言,同步例如能够以相同的方式和方法实现,正如在专利EP 2 657 797 A1和专利EP 2 667 269 A1中详尽描述的那样。
第一通信连接14和第二通信连接15可以根据通信方向分别具有一个流。可替代地,每个通信连接14、15或者每个通信方向能够分别仅仅存在一个单一流,从而最终仅仅产生两个流。甚至可以使得针对两个通信方向的两个通信连接14、15汇集成一个单一流。
此外,在同一个硬件单元2、3上处理的任务组G1至G4也相互交换数据。下面结合第一硬件单元2对其进行阐述。
为了交换数据,第一组任务G1在第一中间存储器16中存储要传输给第三组任务G3的数据。第三组任务G3从第一中间存储器16中读取出存储到第一中间存储器16中的数据。以类似的方式,第三组任务G3在第二中间存储器17中存储要传输给第一组任务G1的数据。第一组任务G1从第二中间存储器17中读取出存储到第二中间存储器17中的数据。中间存储器16、17因此相应地用于间接地将数据从第一组任务G1传输到第三组任务G3。在第一中间存储器16中,因此仅由第一组任务G1写入数据,并且仅由第三组任务G3读取数据。反之,在第二中间存储器17中仅由第三组任务G3写入数据,并且仅由第一组任务G1读取数据。中间存储器16、17例如可以构造成FIFO存储器(FIFO=先入先出,first in-first out)。
在个别情况下可能发生的是,第三或第一组任务G3、G1想要从相应的中间存储器16、17中读取还没有由第一或第三组任务G1、G3存储到相应的中间存储器16、17中的数据。在这种情况下,相关任务组G3、G1等待相应的数据被存储到相应的中间存储器16、17中。
对于第二硬件单元3,完全类似的实施方式是适用的。必要的中间存储器在图2中配有附图标记18和19。
下面结合图3详尽地阐述其中一个活跃的任务组G1至G4的运行方式,并结合图4详尽地阐述其中一个不活跃的任务组G1至G4的运行方式。在此在下文中假设,两个组G1和G2中,组G1是活跃的组,组G2是不活跃的组。
根据图3,活跃的组G1在步骤S1中(而且直接从传感器8)接收其输入信号E1。在步骤S2中,活跃的组G1检查其是否需要第三组G3的数据。如果不需要,活跃的组G1直接转到步骤S3。相反地,如果活跃的组G1需要第三组G3的数据,那么活跃的组G1在步骤S4中检查,所需要的数据是否存储在第二中间存储器17中。如果没有存储,则重复步骤S4,直至数据已存储。否则,活跃的组G1在步骤S5中从第二中间存储器17中读取出相应的数据,并且然后转到步骤S3。在步骤S3中,活跃的组G1为过程1得出输出信号A1。在此,只要有必要,其就考虑输入信号E1和由第三组G3传输的数据。在步骤S6中,活跃的组G1将得出的输出信号A1提供给过程1。尤其是,在步骤S6中可以传输到切换装置9上。在步骤S7中,活跃的组G1将要传输给第三组G3的数据存储到第一中间存储器16中。在步骤S8中,活跃的组G1执行在与非活跃的组G2同步的框架内需要它执行的任务。步骤S8的措施尤其也可以包括将输入信号E1传输给不活跃的组G2。该措施的更多细节请参考前述专利EP 2657 797A1。在执行步骤S8以后,活跃的组G1再次返回到步骤S1。
根据图4,不活跃的组G2在步骤S11中执行以下任务,该任务是其在与活跃的组G1同步的范畴内需要执行的。步骤S11的措施尤其可以包括从活跃的组G1接收输入信号E1。必要时还可以额外地向活跃的组G1回传一个确认。在此,该措施的更多细节也可以参见前述专利EP 2 657 797A1。在步骤S12中,不活跃的组G2检查其是否需要第四组G4的数据。如果不需要,不活跃的组G2直接转到步骤S13。相反地,当不活跃的组G2需要第四组G4的数据时,不活跃的组G2在步骤S14中检查,所需要的数据是否存储在第二硬件单元3的第二中间存储器19中。如果没有存储,则重复步骤S14,直到数据已存储。否则,不活跃的组G2在步骤S15中从第二硬件单元3的第二中间存储器19中读取出相应的数据,然后转到步骤S13。在步骤S13中,不活跃的组G2为过程1得出输出信号A1。只要有必要,它在这里就考虑输入信号E1和由第四组G4传输的数据。在步骤S16中,不活跃的组G2将得出的输出信号A1提供给过程1。尤其是可以传输到切换装置9上。在步骤S17中,不活跃的组G2将要传输给第四组G4的数据写入到第二硬件单元3的第一中间存储器18中。
类似的实施方式也适用于两个任务组G3和G4中的活跃的和不活跃的组。
通常,两个硬件单元2、3正常工作。在第一和第二硬件单元2、3都没有发生故障的情况下,关于哪些任务将其输出信号A1、A2传输给受控工业过程1的规定可以保持不变。例如,能够首先将任务组G1和G3规定为活跃的组,并且保持这个规定,直到第一硬件单元2故障为止。然后,任务组G2和G4就接管活跃任务组的角色。当第一硬件单元2在随后的时间点又再次能够工作时,由其执行的任务组G1、G3是不活跃的组。这种状态再次保持不变,直至第二硬件单元3故障为止。
这种设计方案虽然是可以实现的,然而从通信连接14、15的通信负载角度考虑是次优方案。因为尤其是必须从活跃的任务组传输给不活跃的任务组的数据规模明显大于必须从不活跃的任务组回传给活跃的任务组的数据规模。因此更好的是,将活跃的任务组分配到两个硬件单元2、3上。当第一和第二硬件单元2、3都没有发生故障时,优选地,或者第一和第四任务组G1、G4,或者第二和第三任务组G2、G3将其输出信号A1、A2输出给过程1。
更优的是,按照图2所示借助检测装置20、21检测从第一硬件单元2传输到第二硬件单元3的数据量(Ausmaβ),以及从第二硬件单元3传输到第一硬件单元2的数据量。在这种情况下,测定的数据量可以由检测装置20、21传输到规定装置22。规定装置22在这种情况下动态地确定,哪些任务将其输出信号A1、A2输出给过程1。只要有必要,规定装置22为此目的就可以相应地驱控切换装置9、13。规定装置22在确定时(当然)一方面考虑到硬件单元2、3是否正常工作。如果其中一个硬件单元2、3不正常工作,那么在分配活跃的任务组时不能考虑它。但是,在硬件单元2、3正常工作的数据量的情况下,规定装置22在所提及的确定中考虑到所检测的数据量。规定装置22将活跃的组G1至G4分配到硬件单元2、3上,从而最佳地充分利用了所有通信连接14、15的可用带宽。
因此可以针对组G1至G4的每一对(例如两个组G1和G2)个性化地并单独地确定,相应对的哪个组G1至G4是活跃的组,哪个因此是不活跃的组。
上面结合两个硬件单元2、3以及结合每个硬件单元2、3的两个处理器单元4、7对本发明进行了阐述。然而,这种做法可以轻松扩展到两个以上的硬件单元2、3和/或每个硬件单元2、3的两个以上的处理器单元4至7的情况。尤其是在每个硬件单元2、3具有两个以上的处理器单元4至7时,必须在相应硬件单元2、3的每对处理器单元4至7之间为了在相应硬件单元2、3内进行数据交换而分别设置两个中间存储器16至19。此外,在这种情况下还必须相应地增加通信连接14、15的数量。在两个以上的硬件单元2、3的情况下,必须在硬件单元2、3的所有对之间都设置通信连接14、15。
总而言之,本发明因此包括以下事实:
冗余的自动化系统的多个硬件单元2、3分别包括多个处理器单元4至7。处理器单元4至7分别执行一组任务G1至G4。在不同的硬件单元2、3上执行的任务组G1至G4从受控工业过程1直接地或间接地接收相同的输入信号E1、E2,并且为受控工业过程1得出相同的输出信号A1、A2。然而,在不同硬件单元2、3上执行的任务组G1至G4中的分别仅一个任务将其输出信号A1、A2输出给受控工业过程1。在不同的硬件单元2、3上执行的组G1至G4通过相应的通信连接14、15相互同步。在同一个硬件单元2、3上执行的任务组G1至G4经由相应的一对中间存储器16至19彼此成对地交换数据。
本发明具有许多优势。尤其是可以使得专利EP 2 657 797 A1和专利EP 2 667269 A1中已知的有利做法也能够用在分别具有多个处理器单元4至7的硬件单元2、3中。此外,活跃的任务组G1至G4能够单独地分配到各个处理器单元4至7。由此,尤其是改进了故障表现。例如,个别故障仅仅导致相应的任务组G1至G4停止工作,但是却不会导致相应的硬件单元2、3执行的所有任务都停止。在将任务相应地分配给组G1至G4时,还例如可以使得过程控制和通信对外退耦。成对的任务组G1至G4可以相互独立地参数化。这尤其是涉及在专利EP 2 657 797 A1中阐述的断点。由此能够以简单的方式考虑到不同的动态要求。能够最佳地利用通信连接14、15的传输能力。在消除硬件单元2、3的故障之后的再结合得以简化。
尽管在细节上通过优选实施例更详尽地阐述和说明了本发明,然而本发明不局限于公开的实例,并且本领域技术人员可以从中推导出其他变体,而不背离本发明的保护范围。

Claims (12)

1.一种用于冗余的自动化系统的运行方法,所述自动化系统包括至少一个第一硬件单元(2)和第二硬件单元(3),其中,所述第一硬件单元(2)和所述第二硬件单元(3)分别包括至少一个第一处理器单元和第二处理器单元(4至7),
-其中,所述第一硬件单元(2)的第一处理器单元(4)执行第一组任务(G1),
-其中,所述第二硬件单元(3)的第一处理器单元(6)执行第二组任务(G2),
-其中,所述第一硬件单元(2)的第二处理器单元(5)执行第三组任务(G3),
-其中,所述第二硬件单元(3)的第二处理器单元(7)执行第四组任务(G4),
-其中,所述第一组任务(G1)和所述第二组任务(G2)从受控工业过程(1)直接地或者间接地接收相同的输入信号(E1),并且为所述受控工业过程(1)得出相同的输出信号(A1),然而仅仅所述第一组任务(G1)或仅仅所述第二组任务(G2)将自己的输出信号(A1)输出给所述受控工业过程(1),
-其中,所述第三组任务(G3)和所述第四组任务(G4)从所述受控工业过程(1)直接地或者间接地接收相同的输入信号(E2)并且为所述受控工业过程(1)得出相同的输出信号(A2),然而仅仅所述第三组任务(G3)或者仅仅第四组任务(G4)将自己的输出信号(A2)输出给所述受控工业过程(1),
-其中,在所述第一硬件单元(2)故障时,总是所述第二组任务(G2)和所述第四组任务(G4)将自己的输出信号(A1、A2)输出给所述受控工业过程(1),并且在所述第二硬件单元(3)故障时,总是所述第一组任务(G1)和所述第三组任务(G3)将自己的输出信号(A1、A2)输出给所述受控工业过程(1),
-其中,所述第一组任务(G1)和所述第二组任务(G2)经由第一通信连接(14)相互同步,并且所述第三组任务(G3)和所述第四组任务(G4)经由第二通信连接(15)相互同步,
-其中,所述第一组任务(G1)将数据存储到所述第一硬件单元(2)的第一中间存储器(16)中,并且所述第三组任务(G3)从所述第一硬件单元(2)的第一中间存储器(16)中读取出存储到所述第一硬件单元(2)的第一中间存储器(16)中的数据,
-其中,所述第三组任务(G3)将数据存储到所述第一硬件单元(2)的第二中间存储器(17)中,并且所述第一组任务(G1)从所述第一硬件单元(2)的第二中间存储器(17)中读取出存储到所述第一硬件单元(2)的第二中间存储器(17)中的数据,
-所述第二组任务(G2)将数据存储到所述第二硬件单元(3)的第一中间存储器(18)中,并且所述第四组任务(G4)从所述第二硬件单元(3)的第一中间存储器(18)中读取出存储到所述第二硬件单元(3)的第一中间存储器(18)中的数据,并且
-所述第四组任务(G4)将数据存储到所述第二硬件单元(3)的第二中间存储器(19)中,并且所述第二组任务(G2)从所述第二硬件单元(3)的第二中间存储器(19)中读取出存储到所述第二硬件单元(3)的第二中间存储器(19)中的数据。
2.根据权利要求1所述的运行方法,其特征在于,所述第一硬件单元(2)和所述第二硬件单元(3)的中间存储器(16至19)构造成FIFO存储器。
3.根据权利要求1或2所述的运行方法,其特征在于,在自己要读取的数据尚未存入到相应的硬件单元(2、3)的相应的中间存储器(16至19)中时,所述第一组任务至所述第四组任务(G1至G4)等待存入完成。
4.根据权利要求1或2所述的运行方法,其特征在于,对于所述第一硬件单元(2)和所述第二硬件单元(3)都没有故障的情况,使得关于哪些任务将自己的输出信号(A1、A2)输出给所述受控工业过程(1)的规定保持不变。
5.根据权利要求4所述的运行方法,其特征在于,对于所述第一硬件单元(2)和所述第二硬件单元(3)都没有故障的情况,所述第一组任务(G1)和所述第四组任务(G1、G4),或者,所述第二组任务(G2)和所述第三组任务(G3)将自己的输出信号(A1、A2)输出给受控工业过程(1)。
6.根据权利要求1或2所述的运行方法,其特征在于,检测从所述第一硬件单元(2)传输给所述第二硬件单元(3)的数据量以及从所述第二硬件单元(3)传输给所述第一硬件单元(2)的数据量,并且在考虑到所检测的数据量的情况下,动态地确定,哪些任务将自己的输出信号(A1、A2)输出给所述受控工业过程(1)。
7.根据权利要求1或2所述的运行方法,其特征在于,所述第一通信连接(14)和所述第二通信连接(15)构造成分流或者构造成单一流。
8.一种冗余的自动化系统,包括至少一个第一硬件单元(2)和第二硬件单元(3),其中,所述第一硬件单元(2)和所述第二硬件单元(3)分别包括至少一个第一处理器单元和第二处理器单元(4至7),
-其中,所述第一硬件单元(2)被构造用于,借助所述第一硬件单元的第一处理器单元(4)执行第一组任务(G1),并且借助所述第一硬件单元的第二处理器单元(5)执行第三组任务(G3),
-其中,所述第二硬件单元(3)被构造用于,借助所述第二硬件单元的第一处理器单元(6)执行第二组任务(G2),并且借助所述第二硬件单元的第二处理器单元(7)执行第四组任务(G4),
-其中,所述第一组任务(G1)和所述第二组任务(G2)从受控工业过程(1)直接或间接地接收相同的输入信号(E1),并且为所述受控工业过程(1)得出相同的输出信号(A1)并将该输出信号提供给所述受控工业过程(1),
-其中,所述第三组任务(G3)和所述第四组任务(G4)从所述受控工业过程(1)直接或间接地接收相同的输入信号(E2),并且为所述受控工业过程(1)得出相同的输出信号(A2)并将该输出信号提供给所述受控工业过程(1),
-其中,所述冗余的自动化系统包括第一通信连接(14),所述第一组任务(G1)和所述第二组任务(G2)通过所述第一通信连接相互同步,并且还包括第二通信连接(15),所述第三组任务(G3)和所述第四组任务(G4)经由第二通信连接相互同步,
-其中,所述第一硬件单元(2)具有第一中间存储器(16),所述第一组任务(G1)将数据存储到该第一中间存储器中,并且所述第三组任务(G3)从该第一中间存储器读取出存储在该第一中间存储器中的数据,
-其中,所述第一硬件单元(2)具有第二中间存储器(17),所述第三组任务(G3)将数据存储到该第二中间存储器中,并且所述第一组任务(G1)从该第二中间存储器读取出存储在该第二中间存储器中的数据,
-其中,所述第二硬件单元(3)具有第一中间存储器(18),所述第二组任务(G2)将数据存储到该第一中间存储器中,并且所述第四组任务(G4)从该第一中间存储器中读取出存储在该第一中间存储器中的数据,并且
-其中,所述第二硬件单元(3)具有第二中间存储器(19),所述第四组任务(G4)将数据存储到该第二中间存储器中,并且所述第二组任务(G2)从该第二中间存储器读取出存储在该第二中间存储器中的数据。
9.根据权利要求8所述的冗余的自动化系统,其特征在于,所述第一硬件单元(2)和所述第二硬件单元(3)的中间存储器(16至19)构造成FIFO存储器。
10.根据权利要求8或9所述的冗余的自动化系统,其特征在于,所述第一组任务至所述第四组任务(G1至G4)被构造成,在自己要读取的数据尚未存入到相应的硬件单元(2、3)的相应的中间存储器(16至19)中时,所述第一组任务至所述第四组任务等待存入完成。
11.根据权利要求8或9所述的冗余的自动化系统,其特征在于,所述自动化系统具有检测装置(20、21),由所述检测装置检测从所述第一硬件单元(2)传输给所述第二硬件单元(3)的数据量,以及从所述第二硬件单元(3)传输给所述第一硬件单元(2)的数据量,并且所述自动化系统具有规定装置(22),所检测的数据量被输送给所述规定装置,并且所述规定装置在考虑到所检测的数据量的情况下动态地确定,哪些任务将自己的输出信号(A1、A2)输出给所述受控工业过程(1)。
12.按照权利要求8或9所述的冗余的自动化系统,其特征在于,所述第一通信连接(14)和所述第二通信连接(15)构造成分流或者构造成单一流。
CN201911105428.1A 2018-11-14 2019-11-13 每个硬件单元配有多个处理器单元的冗余的自动化系统 Active CN111190345B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18206328.9A EP3654121B1 (de) 2018-11-14 2018-11-14 Redundantes automatisierungssystem mit mehreren prozessoreinheiten je hardwareeinheit
EP18206328.9 2018-11-14

Publications (2)

Publication Number Publication Date
CN111190345A CN111190345A (zh) 2020-05-22
CN111190345B true CN111190345B (zh) 2023-06-13

Family

ID=64331690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911105428.1A Active CN111190345B (zh) 2018-11-14 2019-11-13 每个硬件单元配有多个处理器单元的冗余的自动化系统

Country Status (3)

Country Link
US (1) US10996659B2 (zh)
EP (1) EP3654121B1 (zh)
CN (1) CN111190345B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019217427A1 (de) * 2019-11-12 2021-05-12 Kuka Deutschland Gmbh Steuern und/oder Überwachen einer Maschinenanordnung

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0477406A1 (de) * 1990-09-27 1992-04-01 Siemens Nixdorf Informationssysteme Aktiengesellschaft Multiprozessorsystem mit gemeinsamem Speicher
DE4446286C1 (de) * 1994-12-23 1996-06-20 Siemens Ag Responsives System zur Signalverarbeitung sowie Verfahren zur Herstellung eines responsiven Systems
FI20020453A0 (fi) * 2002-03-11 2002-03-11 Metso Automation Networks Oy Varmennus prosessinohjausjärjestelmässä
EP2325748A1 (en) * 2009-10-23 2011-05-25 ABB Research Ltd. Industrial automation system architecture
DE102010039607B3 (de) * 2010-08-20 2011-11-10 Siemens Aktiengesellschaft Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems
CA2928233A1 (en) * 2015-04-28 2016-10-28 Invensys Systems, Inc. Distributed computing in a process control environment
CN108023809A (zh) * 2016-10-31 2018-05-11 施耐德电子系统美国股份有限公司 在过程控制系统中具有控制件的多协议网关

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2245737A1 (de) * 1972-09-18 1974-04-04 Siemens Ag Verfahren zum betreiben einer programmgesteuerten datenverarbeitungsanlage
EP0518630A3 (en) * 1991-06-12 1993-10-20 Aeci Ltd Redundant control system
US7287184B2 (en) * 2003-09-16 2007-10-23 Rockwell Automation Technologies, Inc. High speed synchronization in dual-processor safety controller
JP2005250519A (ja) * 2004-03-01 2005-09-15 Yokogawa Electric Corp 2重化システム
EP1906277A1 (de) * 2006-09-29 2008-04-02 Siemens Aktiengesellschaft Verfahren zum Synchronisieren von zwei Steuereinrichtungen und redundant aufgebaute Automatisierungsvorrichtung
CN101465836B (zh) * 2007-12-21 2012-12-19 联发科技股份有限公司 通信系统与参数估计方法
CN101916218B (zh) * 2010-08-10 2012-07-04 西安电子科技大学 基于解析冗余机制的双cpu冗余控制系统
EP2525292A1 (en) * 2011-05-20 2012-11-21 ABB Technology AG System and method for using redundancy of controller operation
EP2657797B1 (de) 2012-04-27 2017-01-18 Siemens Aktiengesellschaft Verfahren zum Betreiben eines redundanten Automatisierungssystems
EP2667269B1 (de) 2012-05-25 2014-12-17 Siemens Aktiengesellschaft Verfahren zum Betreiben eines redundanten Automatisierungssystems
DE102013103380A1 (de) * 2013-04-04 2014-10-09 Phoenix Contact Gmbh & Co. Kg Steuer- und Datenübertragungsanlage, Prozesseinrichtung und Verfahren zur redundanten Prozesssteuerung mit dezentraler Redundanz
CN103941633B (zh) * 2014-04-29 2017-01-25 北京龙鼎源科技股份有限公司 可编程控制器冗余控制方法和系统
US9952932B2 (en) * 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover
CN107025152B (zh) * 2017-05-19 2020-09-18 北京电子工程总体研究所 基于任务级的双冗余热备份设备的数据同步方法
US11330087B2 (en) * 2017-11-16 2022-05-10 Intel Corporation Distributed software-defined industrial systems
US10387257B1 (en) * 2018-07-31 2019-08-20 Dell Products L.P. Systems and methods for reliable redundant management controller firmware update

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0477406A1 (de) * 1990-09-27 1992-04-01 Siemens Nixdorf Informationssysteme Aktiengesellschaft Multiprozessorsystem mit gemeinsamem Speicher
DE4446286C1 (de) * 1994-12-23 1996-06-20 Siemens Ag Responsives System zur Signalverarbeitung sowie Verfahren zur Herstellung eines responsiven Systems
FI20020453A0 (fi) * 2002-03-11 2002-03-11 Metso Automation Networks Oy Varmennus prosessinohjausjärjestelmässä
EP2325748A1 (en) * 2009-10-23 2011-05-25 ABB Research Ltd. Industrial automation system architecture
DE102010039607B3 (de) * 2010-08-20 2011-11-10 Siemens Aktiengesellschaft Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems
CA2928233A1 (en) * 2015-04-28 2016-10-28 Invensys Systems, Inc. Distributed computing in a process control environment
CN108023809A (zh) * 2016-10-31 2018-05-11 施耐德电子系统美国股份有限公司 在过程控制系统中具有控制件的多协议网关

Also Published As

Publication number Publication date
US20200150635A1 (en) 2020-05-14
EP3654121A1 (de) 2020-05-20
CN111190345A (zh) 2020-05-22
US10996659B2 (en) 2021-05-04
EP3654121B1 (de) 2021-06-09

Similar Documents

Publication Publication Date Title
US4466098A (en) Cross channel circuit for an electronic system having two or more redundant computers
US4014005A (en) Configuration and control unit for a heterogeneous multi-system
US6378021B1 (en) Switch control method and apparatus in a system having a plurality of processors
US7996715B2 (en) Multi nodal computer system and method for handling check stops in the multi nodal computer system
JP3988146B2 (ja) マルチノードシステム、ノード間クロスバスイッチ、ノード、スイッチプログラム及びノードプログラム
CN100474283C (zh) 数据处理系统
US20160291565A1 (en) Automation system
CN111190345B (zh) 每个硬件单元配有多个处理器单元的冗余的自动化系统
JPS6115263A (ja) 処理装置間指令転送制御方式
JPH09330106A (ja) バックアップ機能付制御システム
JP2774675B2 (ja) バスコントローラ
US4649534A (en) Telecomputer package switching system
JP2006236371A (ja) 制御システム
JP2815436B2 (ja) 協調分散制御システム
JPH01145701A (ja) プログラマブルコントローラのデータリンクシステム
JP4117685B2 (ja) フォルトトレラント・コンピュータとそのバス選択制御方法
RU2665225C1 (ru) Блок обработки информации
Pimentel et al. A fault management protocol for TTP/C
US6694395B1 (en) Information processing unit with a plurality of input/output processors
JPH0427239A (ja) Lan接続装置の制御方法
JPH04182801A (ja) デジタル制御装置
JPH05151186A (ja) フオルトトレラント方式
CA1229400A (en) Telecommunications packet switching system
JPH0441395Y2 (zh)
JPH07141303A (ja) 並列計算機

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant