CN1193281C - 自动化设备及更新方法 - Google Patents

自动化设备及更新方法 Download PDF

Info

Publication number
CN1193281C
CN1193281C CNB008182191A CN00818219A CN1193281C CN 1193281 C CN1193281 C CN 1193281C CN B008182191 A CNB008182191 A CN B008182191A CN 00818219 A CN00818219 A CN 00818219A CN 1193281 C CN1193281 C CN 1193281C
Authority
CN
China
Prior art keywords
task
memory
update
automation device
tasks
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.)
Expired - Fee Related
Application number
CNB008182191A
Other languages
English (en)
Other versions
CN1420999A (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
Priority claimed from DE19956271A external-priority patent/DE19956271A1/de
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN1420999A publication Critical patent/CN1420999A/zh
Application granted granted Critical
Publication of CN1193281C publication Critical patent/CN1193281C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24182Redundancy
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24186Redundant processors are synchronised
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24187Redundant processors run identical programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Safety Devices In Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Programmable Controllers (AREA)

Abstract

提供了一种包含面向任务的应用程序的自动化设备(AG),其存储器内容(M)在不中断操作的情况下被传送至一个冗余的自动化设备(AG’)。在一次常规的基本数据传输之后,借助于配属于各任务(T1,T2)的更新任务(T1A,T2A)传输在运行期间改变了的数据,其中,只传输存储器(M)的内容中被各任务(T1,T2)所访问的部分(M1,M2)。

Description

自动化设备及更新方法
技术领域
本发明涉及一种用于控制和/或监测技术过程的自动化设备,其具有一个用于存储至少一个具有至少一个任务的应用程序以及与过程和应用程序相关的数据的存储器,其中,在耦接一个冗余的自动化设备时,将该存储器的内容传送至该冗余自动化设备的存储器中。本发明还涉及一种用于对与该自动化设备通信相连的冗余自动化设备进行更新的方法。
背景技术
存储程序控制装置(Speicherprogrammierbare Steuerung:SPS)是一种应用广泛、专用于单操作并由此而适用于非冗余操作的自动化设备的实现。一台所谓的过程计算机或一台比纯粹办公室用的个人计算机增加了一个专用的网络部件、一种专用的屏蔽设施、一个缓冲存储器和/或一个不间断电源的所谓个人计算机也可以用作自动化设备。
自动化设备基本上和“标准计算机”一样,至少包含一个执行存储在存储器中的应用程序的处理器。自动化设备与标准计算机相比其特殊性在于,自动化设备具有用于与被控制和/或被监测的过程连接的装置,特别是输入/输出装置,如数字/模拟输入接口及数字/模拟输出接口。
与设计用于单操作的自动化设备相反,适用于与至少一个冗余的自动化设备(以下将称之为后备自动化设备)进行冗余操作的自动化设备,其不同之处在于其至少具有一个用于与配属于它的冗余自动化设备进行通信连接的装置。这种装置通常是一种接口,如一个使与所配属的冗余自动化设备能够进行通信连接的串行/并行接口或总线接口。这类适用于冗余操作的自动化设备例如已由EP 0 497 147、EP0636956或DE 19624 302公知。
由EP 0 497 147公知了一种由两个分装置构成的冗余自动化设备。每个分装置都具有一个中央单元和一个存储器,以及一个通信处理器,其中,两个通信处理器通过一个通信连接相互连接。两个分装置执行相同的应用程序,并且为了保证该相同的应用程序的同步处理,通过通信连接交换同步数据。
由EP0 636 956同样公知了一种由两个子系统(即一个原始自动化系统和一个附加自动化系统)构成的自动化系统。当其中一个子系统发生故障时,将通过仍存在的子系统、即所述起始自动化系统实施所述技术过程。在更换了故障子系统、即所述附加自动化系统之后,须将其与所述原始自动化系统再次进行耦接。为此,所述原始自动化系统和附加自动化系统均具有一个通信接口,该两个子系统通过该接口得以通信地连接。原始自动化系统存储器的内容通过该通信接口被传送到附加自动化系统的存储器中。这种传输是通过保持原始自动化系统对技术过程的控制实现的,其中,传输或者是在原始自动化系统对时间要求不高的情况下进行的,或者是连续地在所谓的时间片内进行的。
将第一设备/子系统的存储器内容传输到冗余的第二设备/子系统的存储器也称为“更新”。例如由DE 196 24 302所公知的一种更新方法,利用该方法在进行维护工作时,将原始自动化系统的当前数据传输至主要处于静候状态的附加自动化系统。
该公知的更新方法被划分为两个运行过程。在第一运行过程中,传输是通过连续读出原始自动化系统存储器的内容,并将其写入附加自动化系统的存储器实现的。其中,在一个步骤中要读出或要写入的数据的范围是由该过程所需的时间间隔和与待控制的过程有关的、该原始自动化系统的最大允许执行周期来确定的。在进行了一定数量的这种写、读过程之后,原始自动化系统的“基本数据”被传送给附加自动化系统。但在此期间由于对技术过程的控制并未中断,因此原始自动化系统存储器中的数据仍在不断地发生改变。在此期间改变的存储器内容将在另一个运行过程中被传输。为此在向原始自动化系统的存储器写入新的和/或改变了的数据时,也将相同的数据与位置信息一起写入中间存储器,并且在第二运行过程中,在对位置信息进行分析之后,将中间存储器的内容传输至附加自动化系统的存储器。
发明内容
本发明要解决的技术问题是,提供一种适用于冗余操作的自动化设备,利用它能够非常有效地实现冗余自动化设备或后备自动化设备的更新,而对对技术过程的继续控制没有明显的干扰,并且不需要额外的硬件开销。此外本发明还提供了一种尤其适于对与这样一种自动化设备通信连接的冗余的自动化设备进行更新的方法。
对于所述关于自动化设备的技术问题本发明是通过一种用于控制和/或监测技术过程的自动化设备实现的,其具有一个用于存储至少一个带有至少一个任务的应用程序以及与过程相关和应用程序相关的数据的存储器,其中,通过耦接一个冗余的自动化设备,将该存储器的内容传送到该冗余自动化设备的存储器中,其中,为了传送任务所访问的存储器的部分的内容,为每个任务配置了更新任务,以及当任务和更新任务的运行时间超过预先给定的或可预先给定的运行时间上限时,终止该更新任务。按照本发明设备的优选实施方式,自动化设备还包括记录存储器,各任务的每次对存储器的访问被记录在该记录存储器中,其中,借助于更新任务,对存储器中那些根据各记录存储器的内容被识别为待传输的部分进行传输。在按照本发明的自动化设备中,更新任务的优先级高于该更新任务所属的任务的优先级。
对于本发明的有关更新方法的技术问题本发明是通过一种对自动化设备的冗余自动化设备进行更新的方法实现的,该冗余自动化设备与自动化设备通信相连,该方法在对技术过程进行控制和/或监测期间实施,其中,每个自动化设备各具有一个存储器,其中,在自动化设备的存储器中存储有至少一个带有至少一个任务的应用程序以及与过程相关和应用程序相关的数据,以及其中在第一更新过程中将自动化设备的存储器的内容连续地传输到冗余自动化设备的存储器中,其中,在第二更新过程中,借助于配属于任务的更新任务将存储器中被该任务所访问的部分的内容传输到冗余自动化设备的存储器中,当任务和更新任务的运行时间超过预先给定的或可预先给定的运行时间上限时,终止该更新任务。按照本发明方法的优选实施方式,对任务每次对存储器的访问进行记录,并且更新任务对存储器中根据记录被识别为待传输的部分进行传输。
按照本发明的方法,更新任务的优先级高于该更新任务所属的任务的优先级。当一个更新任务由于超过运行时间上限而被终止时,第二更新过程将重新被起动。第二更新过程在预先给定的或可预先给定的驰豫时间之后被重新起动。
本发明的优点尤其在于,一方面为了更新无需中断对技术过程的控制和/或监测;另一方面即使是在对技术过程进行控制和/或监测期间,也能保持响应时间的上限,即对过程状态的改变作出响应的时间间隔,其中,当更新任务与其所属的应用程序任务一起所要求的运行时间过多时,更新任务将被终止。一旦更新任务被终止,将对技术过程的控制和/或监测重新建立没有更新要求的情况,从而使应用程序能够重新对技术过程的状态变化做出响应。
该自动化设备的存储在存储器中、并由处理器执行的应用程序包含至少一个所谓的任务,即该应用程序的一个运行单元,其运行(顺序、持续时间)由操作系统的调度程序来确定。在自动化设备的存储器中,除了应用程序之外还存储有与过程相关和应用程序相关的数据,例如过程状态及应用程序变量。
在连接了后备自动化设备之后,例如在对后备自动化设备进行了维护之后,就可以将自动化设备存储器的内容传输至后备自动化设备的存储器中(更新)。其中,这种传输是在自动化设备运行期间完成的,即在不中断自动化设备对技术过程的控制的情况下完成的。
该更新方法分为两个运行过程。在第一运行过程中,类似于由DE196 24 302所公知的更新方法,通过连续地读出自动化设备存储器的内容并将其写入后备自动化设备的存储器来实现传输。其中,在一个步骤中要读出或要写入的数据的范围是由该过程所需的时间间隔和与待控制的过程有关的、该自动化设备的最大允许执行周期来确定的。在进行了一定数量的这种写、读过程之后,自动化设备的“基本数据”被传送给后备自动化设备。但在此期间由于对技术过程的控制并未中断,因此自动化设备存储器中的数据仍在不断地发生改变。在此期间改变的存储器内容将在另一个更新过程中被传输。
继续的更新是借助于专用的更新任务实现的,这些更新任务是为了传输每个任务所访问的存储器部分的内容而为应用程序的每个任务所配置的。还可以设置成,一个更新任务配属于多个应用程序的任务。其中,各更新任务在其所属的任务执行结束时被执行。任务及其所配属的更新任务的运行时间的总和应大于任务本身的运行时间。
为了使更新对技术过程的控制没有明显的干扰,允许更新任务的运行以可识别的方式在边界上推迟应用程序的其它任务的开始。为使这一点得到保证,将对任务及其所属的更新任务的运行时间总和进行确定,并作为总运行时间来测量。当测得的总运行时间超过了预先给定的或可预先给定的运行时间上限时,将结束更新任务的执行,更新任务将被终止。
附图说明
下面结合附图对本发明的实施方式进行详细描述。其中,
图1所示为一个具有用于实施技术过程的一个自动化设备和一个与此通信连接的冗余的自动化设备的自动化系统的示意图,
图2至图5所示分别为一个应用程序的、具有不同优先级的任务的时序图,
图6所示为将该自动化设备存储器的一个段的内容传送到相应的冗余自动化设备的存储器的示意图,
图7所示为自动化设备的存储器布局示意图,其中,标出了所述存储器的由某一任务访问的部分/段。
具体实施方式
图1示出了自动化系统AG、AG’,以及受其控制和/或监测的技术过程TP。所述自动化系统AG、AG’具有至少一个自动化设备AG以及一个冗余自动化设备或后备自动化设备AG’。
自动化设备AG和后备自动化设备AG’均能够实施所述技术过程。自动化设备AG和后备自动化设备AG’的不同仅仅是对设备AG和AG’各自的功能在语言描述上的不同。因此第一更新过程中的后备自动化设备AG’可能是一个在时间上稍后的另一更新过程中的自动化设备AG。
为了向技术过程TP发送命令和控制指示,也为了从技术过程接收信号和过程值,在自动化设备AG、AG’和技术过程TP之间设置了通信连接B。该通信连接B在图1中作为总线B示例性地示出。该与技术过程TP的通信连接B也可以全部地或部分地采用常规的连线形式。
同样,为了简单起见,该连接过程的通信连接B也表示自动化设备AG和后备自动化设备AG’之间的通信连接B。通常,目前常用的总线连接B具有足够的带宽,以实现高效的内部通信(自动化设备AG,后备自动化设备AG’)和外部((后备)自动化设备AG、AG’,技术过程TP)通信。但是,同样也可以对内部通信使用一条分开的总线,例如所谓的底板总线,以便用这种方式获得很高的数据传输率,使总的更新速度加快。
此外,自动化设备AG、AG’分别具有存储器M、M’,用于存储至少一个具有至少一个任务T1、T2的应用程序以及与过程相关和应用程序相关的数据。
下面将由应用程序的任务T1、T2是所谓的以固定的时间间隔(如每300ms)被执行的周期性任务T1、T2出发进行说明。只有当任务T1、T2的运行时间本身不超过300ms且在周期性任务T1、T2须重新起动的时刻没有其它任务T1、T2在执行时,周期性任务T1、T2才能每300ms一次地周期性地被执行。
第一个条件的满足是通过应用程序的程序设计来实现的,其中,对以例如300ms固定时间间隔运行的任务T1、T2,不设置其处理所需的运行时间超过300ms的任务。
第二个条件的满足是在程序设计过程中间接实现的,尤其是如以上所述的,由任务管理的调度程序来实施。但是程序设计或程序须周密考虑调度程序用以确定具体的任务T1、T2执行顺序的优先级的分配,以此作为使各个任务T1、T2在指定的时间间隔内的执行在事实上也是可行的基础。
在此举例对这样的情况加以描述:即对需要较多运行时间的输入任务给以比重要的周期性报警任务高的优先级,并因此而使对报警任务的调用在其时间间隔内是不可能的。尽管总能按时到达调用报警任务的时刻,但由于报警任务的优先级较低,只要有优先级较高的输入任务在执行,就无法执行报警任务。
图2示出了一个具有两个任务T1、T2的周期性(应用)程序Ti的工作时序图。所述任务T1、T2以固定的时间间隔运行,其中,任务T1每隔100ms、任务T2每隔225ms被执行一次。该周期性程序Ti本身也可作为任务,例如作为无固定时间间隔的任务。程序Ti的周期性在图2中通过时刻t+275ms所图示的程序Ti的“重新开始”示出。
为了确保被设置以固定时间间隔的任务T1、T2能在事实上分别按照预定的时间间隔的起始时刻起动,可以为任务T1、T2分配优先级,其中,要优先通过处理器处理的任务具有较高的优先级。任务间的协调通过操作系统的调度程序实现。
如果不分配优先级,则如图2所示,任务Ti一次起动之后就能永久执行,至少是执行至其终点。而其它任务T1、T2当其不是直接由永久执行任务Ti调用时,就不可能被执行。但是对这种从另一个永久执行任务Ti直接调用的任务T1、T2,不能或很难实现以固定的时间间隔执行该任务T1、T2,除非任务Ti本身具有调度程序的全部功能。
操作系统中的调度程序简化了对任务T1、T2和Ti的运行协调。调度程序了解每个任务T1、T2和Ti,并对每个任务T1、T2和Ti定义参数,以及确定其运行的类型、持续时间和顺序。
对于图2所示的情况确定,任务T1、T2是周期性的任务T1、T2,其中,任务T1每隔100ms、任务T2每隔225ms被执行一次。此外,为任务T1分配了比任务T2更高的优先级。这一点在图2中用图形坐标所在的位置表示。任务Ti是一个没有固定时间间隔的周期性任务。每当其到达终点时,就重新开始。任务Ti具有最低的优先级。
在到达了应执行任务T1、T2的时刻时,例如:t+100ms,t+200ms,t+225ms,t+300ms,t+400ms,t+450ms,t+500ms,…,调度程序将中断任务Ti的执行,使当时的任务T1、T2投入运行。
在时刻t+900ms,按照所选的例子须使任务T1(100ms时间间隔)和任务T2(225ms时间间隔)同时投入运行。但这是不可能的,因为处理器不能同时执行第一任务T1和第二任务T2的指令。由于任务T1具有比任务T2高的优先级,因此在此时刻以及相似的时刻将首先执行优先级较高的任务T1,然后接着执行任务T2。只有当任务T2也结束之后,才返回任务Ti。
从这种情况可以清楚地看到,即便是将任务T1、T2设置成以固定的时间间隔运行,但其在该固定时间间隔内的实际运行由于系统固有的原因并不总是能得到保证的。为此允许任务T1、T2的起始时刻在一定的范围内延迟。
图3示出了与任务T1、T2相对应的更新任务T1A、T2A是以哪种方式,即在什么时刻投入运行的。其中,对任务T1、T2按照图2重新进行了显示。另外,还示出了与任务T1相对应的更新任务T1A,和与任务T2相对应的更新任务T2A。为简单起见,对每个所显示的调用时刻,任务T1、T2、T1A、T2A应具有各自的相同的运行时间。但任务T1、T2、T1A、T2A的运行时间在不同的调用时刻可以是不同的。
与任务T1相对应的更新任务T1A具有比任务T1本身更高的优先级。由此可以保证,更新任务T1A能够紧接着任务T1的执行而尽快投入运行。对于与任务T2相对应的更新任务T2A情况也类似。
如图3所示,所选择的时间段正好给出这样一种情况,即在这段时间中,任务T1、T2、T1A、T2A的运行时间没有影响周期性任务T1、T2在其各起始时刻的执行(即每隔100ms及每隔225ms)。执行任务T1A、T2A所需的时间全部由任务Ti“负担”。由图可见,相对于图2中任务Ti的重新开始时刻t+275ms,这里移到了时刻t+525ms。应用程序的这种单个周期的延长不被认为是关键的,因为应用程序的周期时间本来就只在极少的情况下是常数,且根据各个任务T1、T2所要求的执行时间而有所不同。
“关键”情况出现在,当更新任务T1A的执行使按固定的时间间隔周期性运行的任务T2在预定起动时刻的起动成问题时。图4示出了这种情况。
在图4中,更新任务T1A的运行时间在时刻t+200ms相对于图3有很小的延长。由此,更新任务T1A在时刻t+225ms,即实际必须起动任务T2的时刻仍在执行。由于更新任务T1A的优先级比任务T2的高,因此尽管已经到达任务T2的起动时刻更新任务T1A也不会被中断。只有当更新任务T1A执行结束时,任务T2才能投入运行。这样就出现了这种情况,任务T2由于更新任务T1A的执行而不能在实际为其设置的固定时间间隔内被执行。
如前所述,这种实际上不能准确地保持固定的时间间隔的情况即便在没有更新任务T1A、T2A的情况下也会出现。因此周期性任务T1、T2调用时刻的较小偏移总是允许的且常常不被注意。对各个周期性任务T1、T2在个别情况下调用时刻的哪些偏移是允许的并不是预先确定的。而是在开发用于控制和/或监测各技术过程TP的程序时,根据调用各个任务T1、T2所要求的时间顺序,尤其是考虑待控制和/或监测的技术过程TP的需要来确定最大允许偏移的量。
对于一个由具有较少任务且对时间要求不严格的任务的程序控制的较慢的过程来说,周期性任务调用时刻的约为若干个100ms的偏移是完全可以允许的;但这对于较快的、对时间要求严格的过程来说,就会造成负面影响。因此要确定最大运行时间t11、t21,即任务T1、T2及配属于其的更新任务T1A、T2A的运行时间和的上限。
这是程序设计技术,原则上没有其它用于确定调用时刻(即时间间隔)、周期性任务T1、T2、或其优先级的工作步骤,其中优先级主要是根据各技术过程TP的情况来设置,并且同样是不能预先确定的。为此可将最大运行时间t11设置为50ms。在图4所示的情况中未达到该最大运行时间t11。因此更新任务T1A不会被中断。只要在更新过程中没有更新任务T1A、T2A被中断,总的更新过程将会继续。
图5所示为运行时间和t1、即任务T1及与之相对应的更新任务T1A的运行时间的和,超过了确定的最大运行时间(例如50ms)的情况。在这种情况下,更新任务T1A的执行被中断,在这里更新任务T1A被终止。
对最大运行时间t11、t21的监测例如是通过具有较高优先级的、为此而设置的监测任务来实现的。该监测任务以较短的时间间隔运行,能够监测运行时间和t1、t2,以及对超过最大运行时间t11、t21进行识别。
通过终止更新任务T1A可以保证周期性任务T2的执行不被错误地延迟。随着更新任务T1A的终止,“等待的”任务T2成为此时具有最高优先级的可以运行的任务。因此这是由调度程序间接地执行的。即使是在更新过程中,也可以保持或保证一定的反应时间,即对技术过程TP中的某一确定的变化(例如在调整过程中测量值的变化)作出反应的时间。
如果在第二运行过程中,即通过更新任务T1A、T2A传输存储器内容的更新阶段中,一个更新任务T1A、T2A由于超过运行时间上限t11、t21而被中止,则该第二运行过程将总地被中断并被刷新,在必要时,会在一个预先给定的或可预先给定的“弛豫时间”(如一分钟)之后开始。
只有当在该第二运行过程中所有更新任务T1A、T2A的执行都未超过运行时间上限t11、t21时,即更新任务通过执行到其程序结束、并在随后的步骤中传输了应用程序在更新期间所访问的一个特定存储区域的内容后而自然终止时,更新才总体上被认为是成功地结束。
后备自动化设备AG’的更新是这样实现的,其中,首先连续读出自动化设备AG的存储器M的内容,然后将其写入后备自动化设备AG’的存储器M’,以实现传输的目的。该更新过程的第一运行过程如图6所示。
根据图6,自动化设备AG存储器M的内容被连续读出,并被传输至后备自动化设备AG’的存储器M’。这在图中是用虚线或实线框出的存储器M的部分表示的。数据传输是通过设置在自动化设备AG和后备自动化设备AG’之间的、在图6中用箭头表示的通信连接B(例如一条总线)实现的。
在这一步骤中将“基本数据”传输给后备自动化设备AG’。这些基本数据包括例如在自动化设备AG上运行的应用程序、以及技术过程TP的所谓外设或过程结构,进一步还可能包括某种应用程序的不规律变化的数据(例如运行参数、接收数据等)。
在更新期间,即在传输“基本数据”期间,自动化设备AG对技术过程TP的控制保持不变,而存储器M的内容连续地改变。存储器M中的这种变化在图6中用存储器M中带有交叉线的区域表示。
在传输“基本数据”时,将考虑所有在该刚刚被读出并被传输的段“之前”发生的变化,因为在其中发生变化的段也与所有前面的段一样被读出并被完整地传输。在图6中这是位于刚被传输过的段之前的段。而图6中所示的另外三个改变了的区域在传输基本数据时不被考虑,因为相应的变化只有在所涉及的段的内容被传输之后才会发生作用。以所描述的方式多次重复传输基本数据不会带来更好的结果,因为存储器M中的变化是连续的,却不是确定的。
作为能够对更新期间发生的待传输的存储器M的内容变化也能加以考虑的补充更新过程,现在将由应用程序的各个任务T1、T2所属的更新任务T1A、T2A起动这一过程。
如图7所示,任务T1、T2不是访问总存储器M,而只是访问自动化设备AG存储器M的一部分M1、M2。任务T1、T2分别访问的存储器部分M1、M2将由其所属的更新任务T1A、T2A以与在第一更新过程中传输基本数据类似的方式连续读出(图中通过存储器部分M1、M2中不同的被框出的区域来表示),并传送到后备自动化设备AG’中的存储器M’中(图中未示出)。其中引入了附加位置信息,该信息给出存储器M中存储器部分M1、M2中刚被读出的区域的位置,并以此保证刚被读出的区域的内容也被写入存储器M’中相应的地址。
即便借助于更新任务T1A、T2A,由任务T1、T2所访问的存储器部分M1、M2的内容的传输基本上是连续进行的,这种连续的传输也是在更新任务T1A、T2A的调用期间完成的。在更新任务T1A、T2A的程序代码中也可以进行设置,使存储器部分M1、M2内容的传输完整地用一个读写过程来完成。
为了使更新任务T1A、T2A只传输由任务T1、T2所访问的存储器部分M1、M2的内容,在更新任务T1A、T2A内设置了用于标识各存储器部分M1、M2的参数,通常这些参数是偏移量和大小或者是首、尾地址。这些参数可以在程序设计过程中被分别赋值。
作为另一种选择还可考虑一种方法,其中,对每个任务T1、T2对存储器M的访问在记录存储器T1M、T2M中加以记录,并且更新任务T1A、T2A传送存储器M1、M2中根据记录存储器T1M、T2M的内容可被识别出为待传输的部分。这避免了在程序设计过程中固定设置存储器部分M1、M2的参数而可能产生的错误,并具有这样的优点,即更新任务T1A、T2A无需传送存储器部分M1、M2的全部内容,而只是传送实际上改变了的部分。
由图6中所示的记录存储器T1M、T2M可以看出,记录存储器T1M、T2M位于其内容被传送给冗余自动化设备AG’的存储器M之外,此外,不需要传输记录存储器T1M、T2M的内容。记录存储器T1M、T2M被作为存储器M的一部分来实现,因此图6中所示的存储器M和记录存储器T1M、T2M的分离仅仅是为了清楚起见而标出的。存储器M的待传输区域由首、尾地址或起始地址加由此地址开始的待传输的数据量给出。不需传送的存储器内容,如所述记录存储器T1M、T2M的内容因此可以存放在以这种方式设置的区域之外。
当在第二更新过程中没有更新任务T1A、T2A由于超过运行时间上限t11、t21而终止时,则在还有待传输的、由应用程序在更新期间访问的特定存储器部分的内容的前提下,该次更新成功结束。后备自动化设备AG’的存储器M’的内容与自动化设备AG的存储器M的内容相对应。
通过一个从自动化设备AG到后备自动化设备AG’的信号可以指示该更新成功结束。于是,当在后备自动化设备AG’中启动应用程序的副本时,并且该后备自动化设备AG’依据该应用程序的副本而实施与自动化设备AG相同的动作时,可进而使数据的一致性得到保证。因此,后备自动化设备AG’例如在必须更换自动化设备AG的情况下,可以立即接替对技术过程TP的控制。
利用更新任务分别传输存储器部分M1、M2的内容是具有优点的,因为各存储器部分内容的改变只发生在当前任务T1、T2的运行期间,而不可能发生在更新任务T1A、T2A运行期间。因此更新任务T1A、T2A可以总是完整地传输存储器部分M1、M2的内容,并保证在更新任务T1A、T2A的末尾各存储器部分M1、M2的内容已经被完整地传输,而无需为这些存储器部分的内容在此期间的改变重新进行传输。
下面将对一种在至此所述的实施方式中特别是与图3所示的情况相关的实施方式的特殊情况进行说明。根据图3,从时刻t+0ms出发,更新任务T1 A在更新任务T2A第一次被调用之前两次被调用并完整地被执行。在全部更新任务T1A、T2A都能被完整地执行而认为更新成功结束之后,须将当前更新任务T1A、T2A被完整地执行的事实存储起来。在图3所示的情况中,将约在时刻t+125ms为更新任务T1A设置一个标识更新任务T1A完整地被执行的“标记”。在时刻t+250ms将为更新任务T2A设置一个相应的标记。由于没有其它的更新任务T1A、T2A,因此以此表示更新过程的成功结束。第二更新过程约在时刻t+250ms结束。尽管在图3、4、5中相应地示出了更新任务T1A、T2A被再次启动的情况,但这不是必须的。
然而在第二更新过程结束之前有一个已成功完成运行的更新任务T1A、T2A被重新起动时,则出现了需特殊处理的情况。在图5中示出了这种情况。在时刻t+125ms更新任务T1A被执行并相应地设置了标记。在时刻t+250ms由于第二更新过程尚未结束,故重新被调用的更新任务T1A由于超过预先给定的运行时间上限t11而终止。在时刻t+275ms将为被执行的更新任务T2A设置相应的标记。
这里设置了两个标记,即对更新任务T1A的第一次执行的标记和对更新任务T2A的唯一一次执行的标记,由此更新过程应是成功结束了。但实际上在相关任务T1所访问的存储器M的存储器部分M1的全部内容被传输之前,更新任务T1A就已经终止了。因此被传输的可能不是该存储器部分M1的全部变化,从而在这种情况下不能认为该更新已经结束。
然而所要求的特殊处理是很容易做到的,即在与各更新任务T1A、T2A相对应的任务T1、T2被重新调用时,将为各更新任务T1A、T2A所配置的标记复位。这对于上述情况意味着,更新任务T1A的标记在时刻t+125ms被置位,而在时刻t+200ms被复位。即便是当在时刻t+275ms更新任务T2A的标记被置位,更新也因为缺少更新任务T1A的标记而仍未结束。实际上该更新过程直到时刻t+375ms才结束,即更新任务T1A的标记被置位且更新任务T2A的标记尚未被复位的最早时刻。
对于按照上述本发明的优选实施方式使用记录存储器T1M、T2M的情况,在更新任务T1A、T2A每次完整地执行之后,分别将记录存储器T1M、T2M中的内容复位,或标记为无效。
另一方面,本发明还涉及对这种情况的处理:其中,有一个特殊的为故障处理或故障响应所设置的任务,即F任务,该任务具有较低的优先级,由于更新任务T1A、T2A的运行时间之和使其实际上在预定的固定时间间隔内无法被执行,因为其优先级较低,而具有较高优先级的可运行的任务T1、T2以及与其相对应的更新任务T1A、T2A将被“优先”执行。
对于这种情况所采取的措施是,具有较高优先级的任务T1、T2的更新任务T1A、T2A,优选的是任务T1的更新任务T1A具有最高优先级,在其本身被执行之前,短时间地、相应地抑制更新任务T1A,将F任务的优先级置为使其立即被执行的值。以这种方式可以保证,在更新中该低优先级的特殊F任务的响应特性也是可预见的,因为该任务的调用要通过更新任务T1A、T2A的附加执行,其延迟不会超过所允许的时间。
由此提供了一种带有面向任务的应用程序的自动化设备,其存储器内容可以在不中断操作的情况下传输给冗余的自动化设备。在常规的基本数据传输之后,借助于为各任务所配置的更新任务来传输运行期间改变的数据,其中,更新任务仅传输存储器内容中由各任务所访问的部分。

Claims (8)

1.一种用于控制和/或监测技术过程(TP)的自动化设备(AG),
-其具有一个用于存储至少一个带有至少一个任务(T1,T2)的应用程序(Ti)以及与过程相关和应用程序相关的数据的存储器(M),
-其中,通过耦接一个冗余的自动化设备(AG’)将该存储器(M)的内容传送到该冗余自动化设备(AG’)的存储器(M’)中,
其特征在于:
-为了传送任务(T1,T2)所访问的存储器(M)的部分(M1,M2)的内容,为每个任务(T1,T2)配置了更新任务(T1A,T2A),以及
-当任务(T1,T2)和更新任务(T1A,T2A)的运行时间超过预先给定的或可预先给定的运行时间上限(t11,t21)时,终止该更新任务(T1A,T2A)。
2.根据权利要求1所述的自动化设备,其中,还包括记录存储器(T1M,T2M),各任务(T1,T2)的每次对存储器(M)的访问被记录在该记录存储器(T1M,T2M)中,其中,借助于所述更新任务(T1A,T2A),对存储器(M)中那些根据各记录存储器(T1M,T2M)的内容被识别为待传输的部分(M1,M2)进行传输。
3.根据权利要求1或2所述的自动化设备,其中,所述更新任务(T1A,T2A)的优先级高于该更新任务(T1A,T2A)所属的任务(T1,T2)的优先级。
4.一种用于对自动化设备(AG)的冗余自动化设备(AG’)进行更新的方法,该冗余自动化设备(AG’)与自动化设备(AG)通信相连,该方法在对技术过程(TP)进行控制和/或监测期间实施,其中,每个自动化设备(AG,AG’)各具有一个存储器(M,M’),其中,在自动化设备(AG)的存储器(M)中存储有至少一个带有至少一个任务(T1,T2)的应用程序(Ti)以及与过程相关和应用程序相关的数据,以及其中在第一更新过程中将自动化设备(AG)的存储器(M)的内容连续地传输到冗余自动化设备(AG’)的存储器(M’)中,其特征在于:在第二更新过程中,借助于配属于任务(T1,T2)的更新任务(T1A,T2A)将所述存储器(M)中被该任务(T1,T2)所访问的部分(M1,M2)的内容传输到冗余自动化设备(AG’)的存储器(M’)中,当任务(T1,T2)和更新任务(T1A,T2A)的运行时间超过预先给定的或可预先给定的运行时间上限(t11,t21)时,终止该更新任务(T1A,T2A)。
5.根据权利要求4所述的方法,其特征在于,对任务(T1,T2)每次对存储器(M)的访问进行记录,并且所述更新任务(T1A,T2A)对存储器(M)中根据所述记录被识别为待传输的部分(M1,M2)进行传输。
6.根据权利要求4或5所述的方法,其特征在于:所述更新任务(T1A,T2A)的优先级高于该更新任务(T1A,T2A)所属的任务(T1,T2)的优先级。
7.根据权利要求4至6中任一项所述的方法,其特征在于:当一个更新任务(T1A,T2A)由于超过运行时间上限(t11,t21)而被终止时,所述第二更新过程将重新被起动。
8.根据权利要求7所述的方法,其特征在于:所述第二更新过程在预先给定的或可预先给定的驰豫时间之后被重新起动。
CNB008182191A 1999-11-15 2000-11-14 自动化设备及更新方法 Expired - Fee Related CN1193281C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE19955073.5 1999-11-15
DE19955073 1999-11-15
DE19956271.7 1999-11-23
DE19956271A DE19956271A1 (de) 1999-11-15 1999-11-23 Automatisierungsgerät und Aufdat-Verfahren

Publications (2)

Publication Number Publication Date
CN1420999A CN1420999A (zh) 2003-05-28
CN1193281C true CN1193281C (zh) 2005-03-16

Family

ID=26055551

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008182191A Expired - Fee Related CN1193281C (zh) 1999-11-15 2000-11-14 自动化设备及更新方法

Country Status (7)

Country Link
US (1) US7168075B1 (zh)
EP (1) EP1238318B1 (zh)
JP (1) JP3754369B2 (zh)
CN (1) CN1193281C (zh)
AT (1) ATE245287T1 (zh)
ES (1) ES2203549T3 (zh)
WO (1) WO2001037058A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1906378A (zh) * 2003-02-10 2007-01-31 费舍-柔斯芒特系统股份有限公司 利用压力测量容器中的流体体积
DE10320826A1 (de) * 2003-05-08 2004-12-02 Siemens Ag Verfahren zur Modernisierung einer technischen Anlage sowie dafür geeignete Antriebsvorrichtung
US7328370B2 (en) * 2003-09-12 2008-02-05 Rockwell Automation Technologies, Inc. Safety controller with simplified interface
US7706895B2 (en) 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
US7921425B2 (en) * 2005-03-14 2011-04-05 Cisco Technology, Inc. Techniques for allocating computing resources to applications in an embedded system
US7233830B1 (en) 2005-05-31 2007-06-19 Rockwell Automation Technologies, Inc. Application and service management for industrial control devices
JP4116640B2 (ja) * 2005-10-28 2008-07-09 ファナック株式会社 多系統制御機能を有する数値制御装置
US7568198B2 (en) * 2006-01-10 2009-07-28 National Instruments Corporation Control of tasks in a programmable logic controller
US7565654B2 (en) * 2006-01-10 2009-07-21 National Instruments Corporation Programmatic control of tasks in a programmable logic controller
US8359112B2 (en) 2006-01-13 2013-01-22 Emerson Process Management Power & Water Solutions, Inc. Method for redundant controller synchronization for bump-less failover during normal and program mismatch conditions
DE502006005726D1 (de) 2006-05-26 2010-02-04 Siemens Ag Anordnung mit mindestens zwei über Kommunikationsmittel verbundenen Automatisierungsgeräten
EP1906277A1 (de) * 2006-09-29 2008-04-02 Siemens Aktiengesellschaft Verfahren zum Synchronisieren von zwei Steuereinrichtungen und redundant aufgebaute Automatisierungsvorrichtung
WO2009068055A1 (de) * 2007-11-28 2009-06-04 Siemens Aktiengesellschaft System und verfahren zur zustandssicherung
CN103127965B (zh) * 2013-03-19 2014-12-31 上海博迅实业有限公司 无污染生物安全柜控制系统
JP6508192B2 (ja) * 2014-03-14 2019-05-08 オムロン株式会社 制御装置及び制御システム
US10180674B2 (en) * 2014-03-14 2019-01-15 Omron Corporation Controller and control system
CN106462138B (zh) * 2014-04-22 2018-11-13 西门子公司 自动化设备在持续运行中的更新
CN113342376B (zh) * 2021-06-23 2022-08-30 支付宝(杭州)信息技术有限公司 一种针对物联网设备的操作系统进行升级的方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3942158A (en) * 1974-05-24 1976-03-02 Allen-Bradley Company Programmable logic controller
JPS5638542A (en) * 1979-09-05 1981-04-13 Hitachi Ltd Controlling method for engine
US4521871A (en) * 1982-04-12 1985-06-04 Allen-Bradley Company Programmable controller with back-up capability
US5168566A (en) * 1983-11-25 1992-12-01 Sharp Kabushiki Kaisha Multi-task control device for central processor task execution control provided as a peripheral device and capable of prioritizing and timesharing the tasks
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4958270A (en) 1989-01-23 1990-09-18 Honeywell Inc. Method for control data base updating of a redundant processor in a process control system
EP0497147A3 (en) 1991-01-28 1993-05-05 Siemens Aktiengesellschaft Redundant automation system
US5313386A (en) * 1992-06-11 1994-05-17 Allen-Bradley Company, Inc. Programmable controller with backup capability
DE59408335D1 (de) 1993-07-28 1999-07-08 Siemens Ag Aufdatverfahren
JPH07129418A (ja) * 1993-11-08 1995-05-19 Fanuc Ltd マルチタスク環境でのプログラム制御方式
US5636124A (en) * 1995-03-08 1997-06-03 Allen-Bradley Company, Inc. Multitasking industrial controller
DE19624302A1 (de) 1996-06-18 1998-01-02 Siemens Ag Aufdatverfahren
US5933347A (en) * 1997-06-13 1999-08-03 Allen-Bradley Company Llc Industrial controller with program synchronized updating of back-up controller
US6560628B1 (en) * 1998-04-27 2003-05-06 Sony Corporation Apparatus, method, and recording medium for scheduling execution using time slot data
DE10065418A1 (de) * 2000-12-27 2002-07-18 Siemens Ag Integrationsverfahren für Automatisierungskomponenten
DE10144987A1 (de) * 2001-09-12 2003-07-24 Rexroth Indramat Gmbh Verfahren zur Steuerung und/oder Regelung von industriellen Prozessen
WO2005055058A1 (en) * 2003-12-04 2005-06-16 Matsushita Electric Industrial Co., Ltd. Task scheduling device, method, program, recording medium, and transmission medium for priority-driven periodic process scheduling

Also Published As

Publication number Publication date
JP3754369B2 (ja) 2006-03-08
ATE245287T1 (de) 2003-08-15
WO2001037058A1 (de) 2001-05-25
ES2203549T3 (es) 2004-04-16
CN1420999A (zh) 2003-05-28
EP1238318A1 (de) 2002-09-11
JP2003529819A (ja) 2003-10-07
EP1238318B1 (de) 2003-07-16
US7168075B1 (en) 2007-01-23

Similar Documents

Publication Publication Date Title
CN1193281C (zh) 自动化设备及更新方法
US20050283673A1 (en) Information processing apparatus, information processing method, and program
CN109983411B (zh) 程序模块的流程控制
CN1316074A (zh) 中断/软件控制的线程处理
JP6406466B1 (ja) 制御装置、制御方法および制御プログラム
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
EP3301526A1 (en) Controller, control method, and program
EP2733613B1 (en) Controller and program
US9152454B2 (en) Method for enabling sequential, non-blocking processing of statements in concurrent tasks in a control device
JP2020061055A (ja) 制御システム、制御装置および制御方法
CN1877471A (zh) 控制装置的任务管理装置和方法
EP0766156A1 (en) Programmable logic controller
JP2009181443A (ja) 産業用コントローラ用機器
CN113010336A (zh) 应用处理器死机现场调试方法及应用处理器
CN87106625A (zh) 按预定顺序执行两个指令序列的方法和设备
US8151028B2 (en) Information processing apparatus and control method thereof
CN1588324A (zh) 基于控制系统实现在线更新数据的方法
CN113342499A (zh) 分布式任务调用方法、装置、设备、存储介质、程序产品
CN114647491A (zh) 一种任务调度方法、装置、设备及存储介质
KR102116174B1 (ko) 멀티코어 프로세서 기반의 plc 및 hmi 통합 시스템
JPH04171538A (ja) 繰返し型データ処理スケジューリング方式
CN110955507B (zh) 基于vxWorks系统的多任务访问同一IIC总线的方法
JP2007219925A (ja) バス制御装置、バス制御プログラム及び記録媒体
JP2697022B2 (ja) ユニットの動作設定方法
JP3797274B2 (ja) ファームウェアディスパッチ方式,方法,およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050316

Termination date: 20151114

EXPY Termination of patent right or utility model