JP3754369B2 - 自動化装置および更新方法 - Google Patents
自動化装置および更新方法 Download PDFInfo
- Publication number
- JP3754369B2 JP3754369B2 JP2001539086A JP2001539086A JP3754369B2 JP 3754369 B2 JP3754369 B2 JP 3754369B2 JP 2001539086 A JP2001539086 A JP 2001539086A JP 2001539086 A JP2001539086 A JP 2001539086A JP 3754369 B2 JP3754369 B2 JP 3754369B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- update
- memory
- automation device
- execution
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24182—Redundancy
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24186—Redundant processors are synchronised
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24187—Redundant processors run identical programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2038—Error 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)
- Debugging And Monitoring (AREA)
- Programmable Controllers (AREA)
- Safety Devices In Control Systems (AREA)
- Communication Control (AREA)
Description
【0001】
本発明は、技術的プロセスを制御及び/又は監視するための自動化装置であって、少なくとも1つのタスクならびにプロセス関連およびユーザプログラム関連のデータを有する少なくとも1つのユーザプログラムを記憶するためのメモリを備え、冗長自動化装置の連結の際に冗長自動化装置のメモリ内へ自動化装置のメモリの内容が転送される自動化装置に関する。さらに本発明は、このような自動化装置に通信接続されている冗長自動化装置の更新方法に関する。
【0002】
蓄積プログラム制御(SPS)は、個別作動に、従って非冗長性の作動に適している自動化装置の広く普及している特別な実現である。いわゆるプロセスコンピュータまたは純粋な事務所用のパーソナルコンピュータに比較して特に特別な電源部分、特別なシールド、バッファされたメモリ及び/又は無停電の電源装置を補われているいわゆるパーソナルコンピュータも自動化装置として使用される。
【0003】
基本的に自動化装置は、あらゆる“標準コンピュータ”のように、メモリ内に格納されている応用プログラムを実行するための少なくとも1つのプロセッサを含んでいる。標準コンピュータに比較しての自動化装置の特殊性は、自動化装置は制御及び/又は監視すべきプロセスに接続するための手段、特に例えばディジタル及び/又はアナログ入力インタフェースまたはディジタル及び/又はアナログ出力インタフェースのような入力及び出力装置を有することにある。
【0004】
個別作動用の自動化装置と異なって、少なくとも1つの冗長自動化装置(以下ではバックアップ自動化装置とも呼ばれる)による冗長作動に適している自動化装置は、冗長自動化装置とは少なくとも、冗長自動化装置との通信接続装置が相違している。このような通信接続装置は通常例えば、冗長自動化装置との通信接続の形成を可能にする直列及び/又は並列インタフェースまたはバスインタフェースである。このような冗長作動のために適した自動化装置は例えばヨーロッパ特許第 0 487 147号、ヨーロッパ特許第 0 636 956号およびドイツ特許第196 24 302号明細書から知られている。
【0005】
ヨーロッパ特許第 0 497 147号明細書から、2つの部分装置から構成された冗長自動化装置が知られている。各部分装置は中央処理装置とメモリと通信プロセッサとを有し、両方の通信プロセッサは通信線を介して互いに接続されている。両部分装置は同一のユーザプログラムを実行し、通信線を介して同一のユーザプログラムの同期処理を保証するために同期化データを交換する。
【0006】
ヨーロッパ特許第 0 636 956号明細書から同じく、2つの部分システム(すなわち原自動化システム及び/又は追加自動化システム)を有する自動化システムは知られている。部分システムの1つが故障した際に技術的プロセスは残存する部分システム(すなわち原自動化システム)により制御される。故障した部分システム(すなわち追加自動化システム)の交換の後にこの部分システムが再び原自動化システムに連結されなければならない。そのために原自動化システムも追加自動化システムも、両部分システムを通信的に接続し得る通信インタフェースを有する。この通信接続を介して原自動化システムのメモリの内容が追加自動化システムのメモリ内に転送される。この転送は、転送が原自動化システムの時間的に危険でない状態中にもしくは順次にいわゆるタイムスライス内で行われることによって、原自動化システムによる技術的プロセスの制御を保ったまま行われる。
【0007】
冗長性の第2の装置もしくは部分システムのメモリ内へ第1の装置もしくは部分システムのメモリの内容を転送することは“更新”とも呼ばれる。例えばドイツ特許第196 24 302号明細書から、例えば保守作業に基づいて一時的に停止される追加自動化システムに原自動化システムの現在のデータストックが伝達される更新方法は知られている。
【0008】
公知の更新方法は2つの進行過程に分けられている。第1の進行過程では原自動化システムのメモリの内容が順次の原自動化システムのメモリからの読出しおよび追加自動化システムのメモリ内への書込みにより伝送される。その際に1つのステップで読出しまたは書込みをされるデータの長さは、この過程に必要とされる時間と、制御すべきプロセスに関して最大許容可能な原自動化システムの潜伏期間とにより決定される。特定の数のこのような書込み過程および読出し過程の後に追加自動化システムへの原自動化システムの“基本データストック”の転送が行われる。しかしこの時間中に、原自動化システムのメモリ内のデータは技術的プロセスの中断されない制御に基づいて連続的な変更を受ける。これらのその間に変更されたメモリ内容はその後の進行過程で伝送される。そのために原自動化システムのメモリ内への新しいデータ及び/又は変更されたデータの書込みの際に同一のデータが位置情報と一緒に一時メモリ内にも書込まれ、第2の進行過程で一時メモリの内容が位置情報の評価のもとに追加自動化システムのメモリ内に伝送される。
【0009】
本発明の課題は、冗長性作動に適した自動化装置であって、冗長自動化装置またはバックアップ自動化装置の更新を特に効率的に、また技術的プロセスの継続される制御の著しい中断なしに、また追加的なハードウェア費用なしに可能にする自動化装置を提供することである。さらに、このような自動化装置に通信接続されている冗長自動化装置を更新するのに特に適した方法が提供されなければならない。
【0010】
自動化装置に関する課題は本発明によれば請求項1の特徴により解決される。有利な実施例は請求項1に従属する請求項の対象である。
【0011】
更新方法に関する課題は本発明によれば請求項4の特徴により解決される。有利な実施例は請求項4に従属する請求項の対象である。
【0012】
本発明により得られる利点は特に、一方では更新のために技術的プロセスの制御及び/又は監視が中断されなくてよいこと、他方では技術的プロセスの継続される制御及び/又は監視中にも、ユーザプログラムのタスクと一緒に長いラン時間を必要とする更新タスクが終了されることによって、反応時間上限(すなわち変更がプロセスの状態に反応される時間)が守られることである。更新タスクが終了されると直ちに、技術的プロセスの制御及び/又は監視に関して再び、更新の必要なしに乗り切ることのできる状況が作られているので、再びユーザプログラムの可能性に相応して技術的プロセスの追加変更に反応される。
【0013】
メモリ内に格納されプロセッサにより実行される自動化装置のユーザプログラムは少なくとも1つのいわゆるタスク(すなわち進行(順序、継続時間)をオペレーティングシステムのいわゆるスケジューラにより決定されるユーザプログラムの進行ユニット)を含んでいる。ユーザプログラムに追加して、自動化装置のメモリ内にはプロセス関連およびユーザプログラム関連のデータ(例えばプロセス状態およびユーザプログラムの変数)も記憶されている。
【0014】
例えばバックアップ自動化装置における保守作業の終了後のバックアップ自動化装置の連結の際、バックアップ自動化装置のメモリ内へ自動化装置のメモリの内容が転送される(更新)。この転送は自動化装置の作動中に、すなわち自動化装置による技術的プロセスの中断されない制御中に行われる。
【0015】
更新方法は2つの実行段階に分けられている。第1の実行段階では、ドイツ特許第196 24 302号明細書から知られている更新方法に類似して、自動化装置のメモリの内容が順次の読出しおよび書込みによりバックアップ自動化装置のメモリ内に伝送される。その際に1つのステップで読出しまたは書込みをされるデータの長さは、この過程に必要とされる時間と、制御すべきプロセスに関して最大許容可能な原自動化システムの潜伏期間とにより決定される。特定の数のこのような書込み過程および読出し過程の後に追加自動化システムへ原自動化システムの“基本データストック”の転送が行われる。しかしこの時間中に、原自動化システムのメモリ内のデータは技術的プロセスの中断されない制御に基づいて連続的な変更を受ける。これらのその間に変更されたメモリ内容はその後の更新過程で伝送される。
【0016】
その後の更新は、それぞれのタスクがアクセスするメモリの部分の内容を転送するためにユーザプログラムの各タスクが対応付けられている特別な更新タスクによって行われ、更新タスクがユーザプログラムの多数のタスクに対応付けられているように計画されていてもよい。それぞれの更新タスクは、更新タスクが対応付けられているタスクの実行に続いて実行される。タスクおよび対応付けられている更新タスクの実行時間の合計はタスク自体の実行時間よりも必ず大きい。
【0017】
更新が技術的プロセスの継続される制御の著しい中断なしに行われるように、更新タスクの実行がユーザプログラムの他のタスクの開始を常に余裕をもって遅らせてよい。このことを保証するために、タスクおよび対応付けられている更新タスクの実行時間の合計が求められ、合計実行時間として捕捉される。捕捉された合計実行時間が予め定められたまたは予め定め得る実行時間上限を超過すると、更新タスクが終了されることによって、更新タスクの実行は終了される。
【0018】
以下において本発明の実施例を図面により一層詳細に説明する。
図1は、技術的プロセスを監視制御するための自動化装置とそれに通信接続されている冗長自動化装置とを有する自動化システムの概要を示す図、
図2ないし図5は、ユーザプログラムのそれぞれ異なる優先順位を有する種々のタスクの時間的経過、
図6は、自動化装置のメモリの個々のセグメントの内容を冗長自動化装置の対応するメモリへ転送する概要図、
図7は、特定のタスクがアクセスする標識を付けられたセクション及びセグメントを有する自動化装置のメモリのメモリレイアウトの概要図である。
【0019】
図1は自動化システムAG、AG′およびこれにより制御及び/又は監視すべき技術的プロセスTPを示す。自動化システムAG、AG′は少なくとも1つの自動化装置AGと冗長自動化装置またはバックアップ自動化装置AG′とを含んでいる。
【0020】
自動化装置AGもバックアップ自動化装置AG′も技術的プロセスTPを監視制御すべき立場にある。自動化装置AGとバックアップ自動化装置AG′との間の区別は装置AG、AG′のそれぞれの機能を記述する純粋に言葉上での区別である。すなわち、最初の更新過程のバックアップ自動化装置AG′は時間的にそれよりも後に位置するその後の更新過程の自動化装置AGであってよい。
【0021】
命令および制御指令を技術的プロセスTPに伝達するために、またこれから信号およびプロセス値を受信するために、通信接続Bが自動化装置AG、AG′と技術的プロセスTPとの間に設けられている。この通信接続Bは図1に例としてバス接続Bとして示されている。プロセスTPとの通信接続Bは全体的にまたは部分的に従来の配線の形態で構成されていてもよい。
【0022】
同じく単に図面を簡単にする理由から、プロセス接続を可能にする通信接続Bは自動化装置AGとバックアップ自動化装置AG′との間の通信接続をも表している。通常現在使用されているバス接続Bは、内部(自動化装置AG、バックアップ自動化装置AG′)の通信も外部((バックアップ‐)自動化装置AG、AG′、技術的プロセスTP)の通信も取り扱うために十分な帯域幅を有している。しかし、更新が全体として加速されて行われるように、場合によっては特に高いデータ転送速度を達成するために、内部の通信を独立したバス(例えばいわゆるバックプレーンバス)を介して取り扱うことも同じく可能である。
【0023】
さらに各自動化装置AG、AG′は、少なくとも1つのタスクT1、T2ならびにプロセス関連およびユーザプログラム関連のデータと共に少なくとも1つのユーザプログラムを記憶するために設けられているメモリM、M′を有する。
【0024】
以下では、ユーザプログラムのタスクT1、T2はそれぞれ固定のタイムスロット(例えば300ms毎のタイムスロット)内で実行されるいわゆるサイクリックなタスクT1、T2であることから出発する。サイクリックなタスクT1、T2は、タスクT1、T2自体の実行時間が300msを越えず、またこのサイクリックなタスクT1、T2が再び開始さなければならない時点に他のタスクT1、T2が実行されない場合にのみ、規則正しく300ms毎に実行される。
【0025】
第1の条件は、ユーザプログラムのプログラミングにより、例えば300msのタイムスロット内で実行されるタスクT1、T2に対して、処理に300msよりも長い実行時間を必要とするジョブが予定されないようにすることによって満たされる。
【0026】
第2の条件は上述したように、スケジューラがタスクマネージメントを主に引き受けるのでなおさら、プログラミングの過程で間接的にのみ満たされる。プログラミングつまりプログラムはいずれにしても、スケジューラに対して競合するタスクT1、T2の実行の際の順位に対する尺度である優先順位のよく練り上げられた割当てにより、それぞれのタスクT1、T2の実行が意図されるタイムスロット内で実際にも可能であることの基礎である。
【0027】
例としてここでは、実行時間の長くかかるインプットタスクに重要なサイクリックなアラームタスクよりも高い優先順位が割当てられ、従ってアラームタスクの呼出しがそのタイムスロット内で可能でない場合が説明される。アラームタスクの呼出し時点は常に再び到達されるが、アラームタスクはその低い優先順位のために、それよりも高い優先順位を有するインプットタスクが実行される間は実行されない。
【0028】
図2は2つのタスクT1、T2を有するサイクリックな(ユーザ)プログラムTiの時間的経過を示す。タスクT1、T2は固定のタイムスロット内で実行され、その場合タスクT1は100ms毎に、タスクT2は225ms毎に実行される。サイクリックなプログラムTiもタスクとして(例えば固定のタイムスロットなしのタスクとして)理解され得る。プログラムTiの反復性は図2にグラフィックに時点t+275msにおけるプログラムTiの“新開始”として示されている。
【0029】
固定のタイムスロット内での進行を予定されているタスクT1、T2が実際にそれぞれタイムスロットにより予め定められた開始時点で開始されることを保証するために、タスクT1、T2に優先順位が割当てられる。タスクのより高い優先順位はプロセッサによるその優先的な処理を生じる。タスクの協調はオペレーティングシステムのスケジューラにより行われる。
【0030】
優先順位の割当てなしでは、図2に示されている状況を顧慮して、いったん開始されたタスクTiが永久的に、少なくとも1つのそれがその終了に達するまで、実行される。その後のタスクT1、T2は、それらが永久的に実行されるタスクTiから直接的に呼出されないかぎり、実行されない。しかし、他の永久的に実行されるタスクTiからのタスクT1、T2のこのような直接的な呼出しにより、タスクT1、T2の実行のための固定のタイムスロットが実現されず、または実現に困難を伴う。なぜならば、タスクTiがそれ自体でスケジューラの全機能を使用するからである。
【0031】
オペレーティングシステム内に含まれているスケジューラはタスクT1、T2、Tiの進行の際の協調を簡単化する。そのためにスケジューラに各タスクT1、T2、Tiについての知識が与えられ、各タスクT1、T2、Tiに対して形式、継続時間およびその進行の順序を決定するパラメータが定められる。
【0032】
図2に示されている状況に対してはタスクT1、T2に対して、それがサイクリックなタスクT1、T2であることが決定され、その場合タスクT1は100ms毎に、タスクT2は225ms毎に呼出されなければならない。追加的にタスクT1にタスクT2よりも高い優先順位を割当てられる。このことは図2に縦軸上の位置によりグラフィックに示されている。タスクTiは固定のタイムスロットなしのサイクリックなタスクである。このタスクTiは、それがその終了に達するつど、新たに開始される。タスクTiは最も低い優先順位を有する。
【0033】
タスクT1、T2の1つが実行されるべき時点の1つ、例えばt+100ms、t+200ms、t+225ms、t+300ms、t+400ms、t+450ms、t+500ms、…、に到達すると、スケジューラはタスクTiの実行を中断し、それぞれのタスクT1、T2が実行されるように計らう。
【0034】
時点t+900msで、選ばれた例によれば、同時にタスクT1(100msのタイムスロット)もタスクT2(225msのタイムスロット)も実行されなければならない。これは、プロセッサが第1のタスクT1の命令を第2のタスクT2の命令と同時に実行することはできないので、可能でない。タスクT1にはタスクT2よりも高い優先順位が割当てられたので、この時点およびそれとほぼ同じ時点で先ず優先順位の高いほうのタスクT1が、その直後にタスクT2が実行される。タスクT2が終了された後に初めて、再びタスクTiに戻される。
【0035】
この状況から、タスクT1、T2が固定のタイムスロット内での進行に対して予定されている場合に対しても、その実際の進行が予定されているタイムスロット内でシステム内在的に常には保証されないことは明らかである。それゆえ、個々のタスクT1、T2の開始時点のシフトがある限度内で許容可能である。
【0036】
図3は、このようにして、すなわちタスクT1、T2に対応付けられている更新タスクT1A、T2Aがどの時点で実行されるかを示す。図2によるタスクT1、T2が改めて示されている。追加的に、タスクT1に対応付けられている更新タスクT1Aと、タスクT2に対応付けられている更新タスクT2Aとが示されている。簡単化のためにはタスクT1、T2、T1A、T2Aは示されている呼出し時点でもそれぞれ等しい実行時間を有していなければならない。しかしタスクT1、T2、T1A、T2Aの実行時間は呼出し時点から呼出し時点へと異なっていてもよい。
【0037】
タスクT1に対応付けられている更新タスクT1AはタスクT1自体よりも高い優先順位を有する。それにより、更新タスクT1Aが可能なかぎりタスクT1の実行にすぐ続いて実行されることが保証されている。このことはタスクT2に対応付けられている更新タスクT2Aに対しても同様に当てはまる。
【0038】
図3から、タイムスロットの選ばれたセクションに対して、タスクT1、T2、T1A、T2Aの実行時間がサイクリックなタスクT1、T2の実行をそれらのそのつどの開始時点(100ms毎または225ms毎)で妨げない状況が与えられていることは明らかである。更新タスクT1A、T2Aの実行のために必要とされる時間は完全にタスクTiの“負担”になる。このことは、タスクTiの新開始に対する時点が図2にくらべて時点t+275msから時点t+525msへずらされていることから明らかである。ユーザプログラムの個々のサイクルのこの延長は危険とみなされない。なぜならば、そのサイクル時間はいずれにせよ非常に稀な場合にしか一定でなく、個々のタスクT1、T2に対していずれにせよ必要な実行時間に応じて相違するからである。
【0039】
“危険な”状況は、更新タスクT1Aの実行がサイクリックな固定のタイムスロット内で進行するタスクT2の開始をその予め定められた開始時点で疑わしいものにするときに初めて存在する。このような状況は図4に示されている。
【0040】
時点t+200msでの更新タスクT1Aの実行時間は図4では図3にくらべてわずかに長い。それにより更新タスクT1Aが時点t+225msで、すなわち本来タスクT2が開始されなければならないであろう時点でまだ実行される。更新タスクT1AはタスクT2よりも高い優先順位を有するので、更新タスクT1Aは、たといタスクT2の開始時点が到達されているとしても、中断されない。タスクT2は更新タスクT1Aの実行が終了されたときに初めて実行される。それによっていま、タスクT2が更新タスクT1Aの実行に基づいてもはや本来予定されている固定のタイムスロット内で実行されない状況が存在する。
【0041】
既述のように、このような状況(すなわち固定のタイムスロットが正確に守られない状況)は更新タスクT1A、T2Aの不存在のときにも生じる。従って、サイクリックなタスクT1、T2の呼出し時点のわずかなずれは常に許容可能であり、しばしば気付かれない。個々のサイクリックなタスクT1、T2の呼出し時点のどのずれが個々の場合に許容可能であるかは予め決定し得ない。その代わりに、それぞれの技術的プロセスTPの制御及び/又は監視のためのプログラムの開発の際に、最大許容可能なずれの大きさが、個々のタスクT1、T2の呼出しの際の必要な時間的順序に従って、また特に制御及び/又は監視をすべきプロセスTPの必要条件を考慮に入れて、決定される。
【0042】
数100msのサイクリックなタスクの呼出し時点のずれは、時間的にほとんど危険でない少数のタスクを有するプログラムにより制御される遅いプロセスの場合には常に許容可能であり得るが、時間的に危険な速いプロセスの場合には不利な結果をもたらす。こうして最大実行時間t11、t21と、タスクT1、T2と、対応付けられている更新タスクT1A、T2Aの和に対する上限とが決定される。
【0043】
これはプログラミング技術的に、それぞれの技術的プロセスTPの状況にほぼ合わせなければならず、それによって同じく前もって決定可能でないサイクリックなタスクT1、T2のタイムスロットの呼出し時点の決定またはそれらの優先順位の決定と基本的に異なる作業ステップではない。最大実行時間t11は値50msに決定され得よう。この最大実行時間t11は図4による状況では到達されていない。従って、更新タスクT1Aは中断されないであろう。更新過程中に更新タスクT1A、T2Aが中断されないかぎり、更新過程は全体として継続される。
【0044】
図5には、和実行時間t1(すなわちタスクT1ならびに対応付けられている更新タスクT1Aの実行時間の和)は例えば50msの決定された最大実行時間t11を超過するであろう状況が示されている。この状況では、更新タスクT1Aが終了されることによって、更新タスクT1Aの実行は中断される。
【0045】
最大実行時間t11、t21の監視は例えばそのために予定されている相応の高い優先順位を有する監視タスクにより行われる。これは和実行時間t1、t2の監視および最大実行時間t11、t21の超過の認識が可能であるように狭いタイムスロット内で進行する。
【0046】
更新タスクT1Aの終了により、サイクリックなタスクT2の実行が許容不可能に遅らされないことが保証されている。更新タスクT1Aの終了により、“待ち”タスクT2が現在最も高い優先順位を有する実行可能なタスクになる。従って、これがスケジューラにより直接に実行するべく予定される。それによって更新中にも特定の反応時間(すなわち技術的プロセスTP内の特定の変化、例えば調節過程で流入する測定値の変化に反応する時間)が守られ、または保証される。
【0047】
第2の実行中に(すなわちメモリの内容の転送が更新タスクT1A、T2Aにより行われる更新のセクション中に)、更新タスクT1A、T2Aが実行時間上限t11、t21の超過に基づいて終了されると、第2の実行は全体として終了され、新たに、場合によっては例えば1分の予め定められた、または予め定め得る“緩和時間”の経過の後に開始される。
【0048】
第2の実行中にすべての更新タスクT1A、T2Aが、実行時間上限t11、t21の超過なしに処理される場合、すなわち更新タスクT1A、T2Aがそのプログラム終端に達成され、ユーザプログラムが更新中にアクセスする特別なメモリ範囲の内容が最後のステップで転送されることにより、自ずから終了する場合にのみ、更新は全体として成功裡に終了されたとみなされる。
【0049】
いまや、先ず自動化装置AGのメモリMの内容が順次に読出され、バックアップ自動化装置AG′のメモリM′内に書込まれることによりこのバックアップ自動化装置AG′に伝送されることによって、バックアップ自動化装置AG′の更新が行われる。更新過程のこの第1の実行は図6に示されている。
【0050】
図6によればメモリMの内容が順次に読出され、バックアップ自動化装置AG′のメモリM′内に伝送される。これはメモリMの破線または実線で囲まれたセクションにより示されている。伝送は自動化装置AGとバックアップ自動化装置AG′との間に設けられている通信接続B(例えばバス)を介して行われる。これは図6に矢印により示されている。
【0051】
このステップにより“基本データストック”がバックアップ自動化装置AG′に伝送される。この基本データストックは例えば、自動化装置AG上で実行されるユーザプログラムと、技術的プロセスTPのいわゆる周辺またはプロセスイメージと、場合によってはいくつかの絶え間のない変更を受けないユーザプログラムのデータ(例えばオペレーティングパラメータ、レセプトデータ、など)とを含んでいる。
【0052】
更新中に(すなわち“基本データストック”の伝送中にも)、技術的プロセスTPの監視制御は自動化装置AGにより不変に保たれるので、メモリMの内容の連続的な変更が行われる。メモリM内のこれらの変更は図6にメモリM内の×印の範囲により示されている。
【0053】
“基本データストック”の転送時には、丁度読出されかつ転送されるセクションの“前”のすべての変化が考慮に入れられる。なぜならば、これらの変化が生じているセクションはまさにすべての以前のセクションのように読出され、また完全に転送されるからである。これは図6では、丁度転送される範囲の前に位置している範囲である。図6に示されているその後の3つの変更された範囲は基本データストックの伝送時に考慮に入れられない。なぜならば、相応の変化は、当該セクションの内容が伝送された後に初めて有効になるからである。説明したように基本データストックの転送の多数回の繰り返しはここでより良い結果をもたらさない。なぜならば、メモリM内の変化は連続的には行われるが、確定的には行われないからである。
【0054】
転送すべきメモリMの内容の、更新中にも行われる変更を考慮に入れる立場にある補足的な更新実行として、いまユーザプログラムの各タスクT1、T2に対応付けられている更新タスクT1A、T2Aを有する実行が開始される。
【0055】
図7から明らかなように、タスクT1、T2は自動化装置AGのすべてのメモリMにではなく、メモリMのセクションM1、M2にのみアクセスする。それぞれのタスクT1、T2がアクセスするセクションM1、M2はそれぞれ対応付けられている更新タスクT1A、T2Aにより順次に、第1の更新実行での基本データストックの転送と同じように、読出され(それぞれのセクションM1、M2内の異なる囲みをされた範囲により示されている)、またバックアップ自動化装置AG′の(図示されていない)メモリM′内に伝送される。その際、メモリMに関するセクションM1、M2の丁度読出される範囲の位置を示し、また丁度読出される範囲の内容がメモリM′内の相応のアドレスに書込まれることを保証する追加的な位置情報が利用される。
【0056】
更新タスクT1A、T2Aにより、それぞれのタスクT1、T2がアクセスするメモリM1、M2の部分の内容の転送が基本的に順次に行われるときにも、この順次の転送は更新タスクT1A、T2Aの呼出し内で行われる。更新タスクT1A、T2Aのプログラムコード内で、メモリセクションM1、M2の内容の転送が完全に読出し過程および書込み過程により行われるように構成されていてもよい。
【0057】
更新タスクT1A、T2Aが、専らそれぞれのタスクT1、T2がアクセスするメモリM1、M2の部分の内容を転送する立場に置かれるようにするために、更新タスクT1A、T2A内でそれぞれのメモリセクションM1、M2を標識するためのパラメータは、通常オフセットおよび大きさとして、または開始アドレスおよび終了アドレスとしても、知られている。これらのパラメータはプログラミングの際にそのつどの値により占められる。
【0058】
代替的に、各タスクT1、T2に対してメモリMへのそのアクセスがログメモリセルT1M、T2M内に記録され、更新タスクT1A、T2Aが、それぞれのログメモリセルT1M、T2Mの内容により転送すべきものとして認識可能であるメモリM1、M2の部分を転送する方法も考えられる。この方法は、考慮に入れるべきメモリセクションM1、M2に対するパラメータをプログラミングの際に決定しなければならない、場合によっては誤りを孕んでいる要請を防止し、さらに更新タスクT1A、T2AがメモリセクションM1、M2のすべての内容を転送しなくなよく、実際に変更された部分のみを転送すればよいという利点を有する。
【0059】
図6にログメモリセルT1M、T2Mが概略的に示されていると共に、冗長自動化装置AG′に内容を伝送すべきメモリMの外側にログメモリセルT1M、T2Mが位置し、特にログメモリセルT1M、T2Mの内容の転送が必要でないことが示されている。ログメモリセルT1M、T2MはメモリMの部分として実現されていてもよいので、図6で仮定されているメモリMとログメモリセルT1M、T2Mとの間の分離は図面をわかりやすくする役割のみをする。メモリMの転送すべき範囲は開始アドレスおよび終了アドレスまたは開始アドレスおよびこの開始アドレスに続いて伝送すべきデータボリュウムにより知らされる。例えば前記のログメモリセルT1M、T2Mの内容のような転送すべきでないメモリ内容はこのようにして予定されている範囲の外側に位置し得る。
【0060】
第2の更新実行中に更新タスクT1A、T2Aが実行時間上限t11、t21の超過に基づいて終了されないと、更新は、ユーザプログラムが更新中にアクセスする特別なメモリ範囲の内容のなお進めるべき転送を留保して、成功裡に終了したものとみなされる。バックアップ自動化装置AG′のメモリM′の内容は自動化装置AGのメモリMの内容に一致する。
【0061】
自動化装置AGからバックアップ自動化装置AG′への信号により、更新が成功裡に終了していることがバックアップ自動化装置AG′に表示される。バックアップ自動化装置AG′内でそれに基づいてユーザプログラムのコピーが開始され、またバックアップ自動化装置AG′がユーザプログラムのコピーに基づいて自動化装置AGと同一の作用を実行するならば、データの同一性が引き続いて保証される。こうして、例えば自動化装置AGの交換が必要になった場合、バックアップ自動化装置AG′が直ちに技術的プロセスTPの監視制御を引き受ける。
【0062】
更新タスクによる、それぞれのメモリセクションの内容の転送は、メモリセクションの内容の変更がそれぞれのタスクT1、T2の実行時間中のみは可能であるが、更新タスクT1A、T2Aの実行時間中には可能でないので、有利であることが判明している。従って、更新タスクT1A、T2AはそれぞれのメモリセクションM1、M2の内容を常に完全に転送することができるので、更新タスクT1A、T2Aの終了時に、そのつどのメモリセクションM1、M2の内容が完全に転送され、その間のこのメモリセクションの内容の変化が新たな転送を必要としないことが保証されている。
【0063】
以下には、特に図3に関連して、これまでの説明から明らかである特別な場合が説明される。図3によれば、時点t+0msから出発して、更新タスクT1Aが2回呼出され、かつ、更新タスクT2Aが初回の呼出しをされる前に、完全に実行される。更新が(ほぼ)成功裡に実行されたとみなされるので、すべての更新タスクT1A、T2Aが完全に実行されたとき、それぞれの更新タスクT1A、T2Aの完全な実行の事実が記憶されなければならない。図3による状況で更新タスクT1Aに対して例えば時点t+125msで更新タスクT1Aの完全な実行を標識する“フラグ”がセットされる。時点t+250msで更新タスクT2Aに対して相応のフラグがセットされる。その後の更新タスクT1A、T2Aが存在しないので、それによって更新実行は成功裡に終了したとみなされる。第2の更新実行は例えば時点t+250msで終了されている。更新タスクT1A、T2Aのもう一度の開始は、たといこれが図3、4および5に相応に示されているとしても、必要でない。
【0064】
しかしながら、特別な取扱を必要とする状況は、第2の更新実行の終了前に更新タスクT1A、T2Aが一回行われた完全な実行の後に新たに開始されるときに生ずる。このような状況が図5に示されている。時点t+125msで更新タスクT1Aが終了され、相応のフラグがセットされる。時点t+250msで、第2の更新実行がまだ終了されていないので、新たに呼出された更新タスクT1Aは終了される。なぜならば、予め定められた実行時間上限t11が超過されるからである。時点t+275msで、その後に実行された更新タスクT2Aに対して相応のフラグがセットされる。
【0065】
ここでも両方のフラグがセットされ、すなわちフラグが更新タスクT1Aに対してその初回の呼出しにより、更新タスクT2Aに対してそのただ一回の呼出しによりセットされ、更新実行がそれによって成功裡に終了したとみなされる。しかしながら実際には更新タスクT1Aは、これが、タスクT1がアクセスするメモリMのすべてのセクションM1の内容を転送し得ないうちに、終了された。すなわち事情によってはすべての変化がメモリセクションM1内に転送されておらず、従ってこのような状況では更新が終了されたとみなされ得ない。
【0066】
しかし必要な特別な取扱は、それぞれの更新タスクT1A、T2Aに対応付けられているフラグが各新たな呼出しの際にそれぞれの更新タスクT1A、T2Aに対応付けられているタスクT1、T2がリセットされることによって、簡単に達成される。上記の状況に対して、このことは、更新タスクT1Aのフラグが時点t+125msでセットされ、また時点t+200msでリセットされることを意味する。時点t+275msで更新タスクT2Aのフラグがセットされても、更新が終了されたとみなされない。なぜならば、更新タスクT1Aのフラグが欠けているからである。実際には更新は、時点t+375msで、すなわち最も早くて、初回に更新タスクT1Aのフラグが再びセットされ、更新タスクT2Aのフラグがまだ再びリセットされていない時点で、終了されたとみなされる。
【0067】
以上に既に説明された本発明の有利な実施例のようにログメモリが応用される場合に対しては、更新タスクT1A、T2Aの各完全な実行の後にそれぞれのログメモリT1M、T2Mの内容はリセットされ、または無効として標識されなければならない。
【0068】
本発明の別の局面は、低い優先順位を有する特別なタスク(特別な誤取扱または誤反応に対して予定されているFタスク)が更新タスクT1A、T2Aの実行時間の和により、Fタスクの低い優先順位に基づいてより高い優先順位を有する実行可能なタスクT1、T2およびそれらに対応付けられている更新タスクT1A、T2Aが“優先的に”実行されるので、もはや本来予定されている固定のタイムスロット内で実行されない状況に関わるものである。
【0069】
このような状況に対して、この局面によれば、より高い優先順位を有するタスクT1、T2の更新タスクT1A、T2A(好ましくは最も高い優先順位を有するタスクT1の更新タスクT1A)がその本来の実行の前に短時間だけFタスクの優先順位を、更新タスクT1Aの相応の抑制のもとにFタスクの即時の実行を行なわせる値にセットする。このようにして、更新の際にも特別な優先順位の低いFタスクの反応挙動が予測可能にとどまることが保証される。なぜならば、その呼出しが更新タスクT1A、T2Aの追加的な実行により許容可能な遅れよりも長く遅らされないからである。
【0070】
こうして、タスク指向のユーザプログラムを有する自動化装置のメモリ内容が作動の中断なしに冗長自動化装置に伝達される。基本データストックの従来通常の転送によれば、その間に変更されたデータストックの転送は個々のタスクに対応付けられている更新タスクにより行われ、更新タスクはそれぞれのタスクがアクセスするメモリ内容のセクションのみを伝送する。
【図面の簡単な説明】
【図1】 自動化システムの概概略図。
【図2】 タスクの時間的経過を示す図。
【図3】 タスクの時間的経過を示す図。
【図4】 タスクの時間的経過を示す図。
【図5】 タスクの時間的経過を示す図。
【図6】 自動化装置のメモリの個々のセグメントの内容を冗長自動化装置の対応するメモリへ転送する概要図。
【図7】 自動化装置のメモリのメモリレイアウトの概要図。
【符号の説明】
AG、AG′ 自動化装置
B 接続
M、M′ メモリ
T1、T2 タスク
T1A、T2A 更新タスク
Ti (ユーザ)プログラム/タスク
本発明は、技術的プロセスを制御及び/又は監視するための自動化装置であって、少なくとも1つのタスクならびにプロセス関連およびユーザプログラム関連のデータを有する少なくとも1つのユーザプログラムを記憶するためのメモリを備え、冗長自動化装置の連結の際に冗長自動化装置のメモリ内へ自動化装置のメモリの内容が転送される自動化装置に関する。さらに本発明は、このような自動化装置に通信接続されている冗長自動化装置の更新方法に関する。
【0002】
蓄積プログラム制御(SPS)は、個別作動に、従って非冗長性の作動に適している自動化装置の広く普及している特別な実現である。いわゆるプロセスコンピュータまたは純粋な事務所用のパーソナルコンピュータに比較して特に特別な電源部分、特別なシールド、バッファされたメモリ及び/又は無停電の電源装置を補われているいわゆるパーソナルコンピュータも自動化装置として使用される。
【0003】
基本的に自動化装置は、あらゆる“標準コンピュータ”のように、メモリ内に格納されている応用プログラムを実行するための少なくとも1つのプロセッサを含んでいる。標準コンピュータに比較しての自動化装置の特殊性は、自動化装置は制御及び/又は監視すべきプロセスに接続するための手段、特に例えばディジタル及び/又はアナログ入力インタフェースまたはディジタル及び/又はアナログ出力インタフェースのような入力及び出力装置を有することにある。
【0004】
個別作動用の自動化装置と異なって、少なくとも1つの冗長自動化装置(以下ではバックアップ自動化装置とも呼ばれる)による冗長作動に適している自動化装置は、冗長自動化装置とは少なくとも、冗長自動化装置との通信接続装置が相違している。このような通信接続装置は通常例えば、冗長自動化装置との通信接続の形成を可能にする直列及び/又は並列インタフェースまたはバスインタフェースである。このような冗長作動のために適した自動化装置は例えばヨーロッパ特許第 0 487 147号、ヨーロッパ特許第 0 636 956号およびドイツ特許第196 24 302号明細書から知られている。
【0005】
ヨーロッパ特許第 0 497 147号明細書から、2つの部分装置から構成された冗長自動化装置が知られている。各部分装置は中央処理装置とメモリと通信プロセッサとを有し、両方の通信プロセッサは通信線を介して互いに接続されている。両部分装置は同一のユーザプログラムを実行し、通信線を介して同一のユーザプログラムの同期処理を保証するために同期化データを交換する。
【0006】
ヨーロッパ特許第 0 636 956号明細書から同じく、2つの部分システム(すなわち原自動化システム及び/又は追加自動化システム)を有する自動化システムは知られている。部分システムの1つが故障した際に技術的プロセスは残存する部分システム(すなわち原自動化システム)により制御される。故障した部分システム(すなわち追加自動化システム)の交換の後にこの部分システムが再び原自動化システムに連結されなければならない。そのために原自動化システムも追加自動化システムも、両部分システムを通信的に接続し得る通信インタフェースを有する。この通信接続を介して原自動化システムのメモリの内容が追加自動化システムのメモリ内に転送される。この転送は、転送が原自動化システムの時間的に危険でない状態中にもしくは順次にいわゆるタイムスライス内で行われることによって、原自動化システムによる技術的プロセスの制御を保ったまま行われる。
【0007】
冗長性の第2の装置もしくは部分システムのメモリ内へ第1の装置もしくは部分システムのメモリの内容を転送することは“更新”とも呼ばれる。例えばドイツ特許第196 24 302号明細書から、例えば保守作業に基づいて一時的に停止される追加自動化システムに原自動化システムの現在のデータストックが伝達される更新方法は知られている。
【0008】
公知の更新方法は2つの進行過程に分けられている。第1の進行過程では原自動化システムのメモリの内容が順次の原自動化システムのメモリからの読出しおよび追加自動化システムのメモリ内への書込みにより伝送される。その際に1つのステップで読出しまたは書込みをされるデータの長さは、この過程に必要とされる時間と、制御すべきプロセスに関して最大許容可能な原自動化システムの潜伏期間とにより決定される。特定の数のこのような書込み過程および読出し過程の後に追加自動化システムへの原自動化システムの“基本データストック”の転送が行われる。しかしこの時間中に、原自動化システムのメモリ内のデータは技術的プロセスの中断されない制御に基づいて連続的な変更を受ける。これらのその間に変更されたメモリ内容はその後の進行過程で伝送される。そのために原自動化システムのメモリ内への新しいデータ及び/又は変更されたデータの書込みの際に同一のデータが位置情報と一緒に一時メモリ内にも書込まれ、第2の進行過程で一時メモリの内容が位置情報の評価のもとに追加自動化システムのメモリ内に伝送される。
【0009】
本発明の課題は、冗長性作動に適した自動化装置であって、冗長自動化装置またはバックアップ自動化装置の更新を特に効率的に、また技術的プロセスの継続される制御の著しい中断なしに、また追加的なハードウェア費用なしに可能にする自動化装置を提供することである。さらに、このような自動化装置に通信接続されている冗長自動化装置を更新するのに特に適した方法が提供されなければならない。
【0010】
自動化装置に関する課題は本発明によれば請求項1の特徴により解決される。有利な実施例は請求項1に従属する請求項の対象である。
【0011】
更新方法に関する課題は本発明によれば請求項4の特徴により解決される。有利な実施例は請求項4に従属する請求項の対象である。
【0012】
本発明により得られる利点は特に、一方では更新のために技術的プロセスの制御及び/又は監視が中断されなくてよいこと、他方では技術的プロセスの継続される制御及び/又は監視中にも、ユーザプログラムのタスクと一緒に長いラン時間を必要とする更新タスクが終了されることによって、反応時間上限(すなわち変更がプロセスの状態に反応される時間)が守られることである。更新タスクが終了されると直ちに、技術的プロセスの制御及び/又は監視に関して再び、更新の必要なしに乗り切ることのできる状況が作られているので、再びユーザプログラムの可能性に相応して技術的プロセスの追加変更に反応される。
【0013】
メモリ内に格納されプロセッサにより実行される自動化装置のユーザプログラムは少なくとも1つのいわゆるタスク(すなわち進行(順序、継続時間)をオペレーティングシステムのいわゆるスケジューラにより決定されるユーザプログラムの進行ユニット)を含んでいる。ユーザプログラムに追加して、自動化装置のメモリ内にはプロセス関連およびユーザプログラム関連のデータ(例えばプロセス状態およびユーザプログラムの変数)も記憶されている。
【0014】
例えばバックアップ自動化装置における保守作業の終了後のバックアップ自動化装置の連結の際、バックアップ自動化装置のメモリ内へ自動化装置のメモリの内容が転送される(更新)。この転送は自動化装置の作動中に、すなわち自動化装置による技術的プロセスの中断されない制御中に行われる。
【0015】
更新方法は2つの実行段階に分けられている。第1の実行段階では、ドイツ特許第196 24 302号明細書から知られている更新方法に類似して、自動化装置のメモリの内容が順次の読出しおよび書込みによりバックアップ自動化装置のメモリ内に伝送される。その際に1つのステップで読出しまたは書込みをされるデータの長さは、この過程に必要とされる時間と、制御すべきプロセスに関して最大許容可能な原自動化システムの潜伏期間とにより決定される。特定の数のこのような書込み過程および読出し過程の後に追加自動化システムへ原自動化システムの“基本データストック”の転送が行われる。しかしこの時間中に、原自動化システムのメモリ内のデータは技術的プロセスの中断されない制御に基づいて連続的な変更を受ける。これらのその間に変更されたメモリ内容はその後の更新過程で伝送される。
【0016】
その後の更新は、それぞれのタスクがアクセスするメモリの部分の内容を転送するためにユーザプログラムの各タスクが対応付けられている特別な更新タスクによって行われ、更新タスクがユーザプログラムの多数のタスクに対応付けられているように計画されていてもよい。それぞれの更新タスクは、更新タスクが対応付けられているタスクの実行に続いて実行される。タスクおよび対応付けられている更新タスクの実行時間の合計はタスク自体の実行時間よりも必ず大きい。
【0017】
更新が技術的プロセスの継続される制御の著しい中断なしに行われるように、更新タスクの実行がユーザプログラムの他のタスクの開始を常に余裕をもって遅らせてよい。このことを保証するために、タスクおよび対応付けられている更新タスクの実行時間の合計が求められ、合計実行時間として捕捉される。捕捉された合計実行時間が予め定められたまたは予め定め得る実行時間上限を超過すると、更新タスクが終了されることによって、更新タスクの実行は終了される。
【0018】
以下において本発明の実施例を図面により一層詳細に説明する。
図1は、技術的プロセスを監視制御するための自動化装置とそれに通信接続されている冗長自動化装置とを有する自動化システムの概要を示す図、
図2ないし図5は、ユーザプログラムのそれぞれ異なる優先順位を有する種々のタスクの時間的経過、
図6は、自動化装置のメモリの個々のセグメントの内容を冗長自動化装置の対応するメモリへ転送する概要図、
図7は、特定のタスクがアクセスする標識を付けられたセクション及びセグメントを有する自動化装置のメモリのメモリレイアウトの概要図である。
【0019】
図1は自動化システムAG、AG′およびこれにより制御及び/又は監視すべき技術的プロセスTPを示す。自動化システムAG、AG′は少なくとも1つの自動化装置AGと冗長自動化装置またはバックアップ自動化装置AG′とを含んでいる。
【0020】
自動化装置AGもバックアップ自動化装置AG′も技術的プロセスTPを監視制御すべき立場にある。自動化装置AGとバックアップ自動化装置AG′との間の区別は装置AG、AG′のそれぞれの機能を記述する純粋に言葉上での区別である。すなわち、最初の更新過程のバックアップ自動化装置AG′は時間的にそれよりも後に位置するその後の更新過程の自動化装置AGであってよい。
【0021】
命令および制御指令を技術的プロセスTPに伝達するために、またこれから信号およびプロセス値を受信するために、通信接続Bが自動化装置AG、AG′と技術的プロセスTPとの間に設けられている。この通信接続Bは図1に例としてバス接続Bとして示されている。プロセスTPとの通信接続Bは全体的にまたは部分的に従来の配線の形態で構成されていてもよい。
【0022】
同じく単に図面を簡単にする理由から、プロセス接続を可能にする通信接続Bは自動化装置AGとバックアップ自動化装置AG′との間の通信接続をも表している。通常現在使用されているバス接続Bは、内部(自動化装置AG、バックアップ自動化装置AG′)の通信も外部((バックアップ‐)自動化装置AG、AG′、技術的プロセスTP)の通信も取り扱うために十分な帯域幅を有している。しかし、更新が全体として加速されて行われるように、場合によっては特に高いデータ転送速度を達成するために、内部の通信を独立したバス(例えばいわゆるバックプレーンバス)を介して取り扱うことも同じく可能である。
【0023】
さらに各自動化装置AG、AG′は、少なくとも1つのタスクT1、T2ならびにプロセス関連およびユーザプログラム関連のデータと共に少なくとも1つのユーザプログラムを記憶するために設けられているメモリM、M′を有する。
【0024】
以下では、ユーザプログラムのタスクT1、T2はそれぞれ固定のタイムスロット(例えば300ms毎のタイムスロット)内で実行されるいわゆるサイクリックなタスクT1、T2であることから出発する。サイクリックなタスクT1、T2は、タスクT1、T2自体の実行時間が300msを越えず、またこのサイクリックなタスクT1、T2が再び開始さなければならない時点に他のタスクT1、T2が実行されない場合にのみ、規則正しく300ms毎に実行される。
【0025】
第1の条件は、ユーザプログラムのプログラミングにより、例えば300msのタイムスロット内で実行されるタスクT1、T2に対して、処理に300msよりも長い実行時間を必要とするジョブが予定されないようにすることによって満たされる。
【0026】
第2の条件は上述したように、スケジューラがタスクマネージメントを主に引き受けるのでなおさら、プログラミングの過程で間接的にのみ満たされる。プログラミングつまりプログラムはいずれにしても、スケジューラに対して競合するタスクT1、T2の実行の際の順位に対する尺度である優先順位のよく練り上げられた割当てにより、それぞれのタスクT1、T2の実行が意図されるタイムスロット内で実際にも可能であることの基礎である。
【0027】
例としてここでは、実行時間の長くかかるインプットタスクに重要なサイクリックなアラームタスクよりも高い優先順位が割当てられ、従ってアラームタスクの呼出しがそのタイムスロット内で可能でない場合が説明される。アラームタスクの呼出し時点は常に再び到達されるが、アラームタスクはその低い優先順位のために、それよりも高い優先順位を有するインプットタスクが実行される間は実行されない。
【0028】
図2は2つのタスクT1、T2を有するサイクリックな(ユーザ)プログラムTiの時間的経過を示す。タスクT1、T2は固定のタイムスロット内で実行され、その場合タスクT1は100ms毎に、タスクT2は225ms毎に実行される。サイクリックなプログラムTiもタスクとして(例えば固定のタイムスロットなしのタスクとして)理解され得る。プログラムTiの反復性は図2にグラフィックに時点t+275msにおけるプログラムTiの“新開始”として示されている。
【0029】
固定のタイムスロット内での進行を予定されているタスクT1、T2が実際にそれぞれタイムスロットにより予め定められた開始時点で開始されることを保証するために、タスクT1、T2に優先順位が割当てられる。タスクのより高い優先順位はプロセッサによるその優先的な処理を生じる。タスクの協調はオペレーティングシステムのスケジューラにより行われる。
【0030】
優先順位の割当てなしでは、図2に示されている状況を顧慮して、いったん開始されたタスクTiが永久的に、少なくとも1つのそれがその終了に達するまで、実行される。その後のタスクT1、T2は、それらが永久的に実行されるタスクTiから直接的に呼出されないかぎり、実行されない。しかし、他の永久的に実行されるタスクTiからのタスクT1、T2のこのような直接的な呼出しにより、タスクT1、T2の実行のための固定のタイムスロットが実現されず、または実現に困難を伴う。なぜならば、タスクTiがそれ自体でスケジューラの全機能を使用するからである。
【0031】
オペレーティングシステム内に含まれているスケジューラはタスクT1、T2、Tiの進行の際の協調を簡単化する。そのためにスケジューラに各タスクT1、T2、Tiについての知識が与えられ、各タスクT1、T2、Tiに対して形式、継続時間およびその進行の順序を決定するパラメータが定められる。
【0032】
図2に示されている状況に対してはタスクT1、T2に対して、それがサイクリックなタスクT1、T2であることが決定され、その場合タスクT1は100ms毎に、タスクT2は225ms毎に呼出されなければならない。追加的にタスクT1にタスクT2よりも高い優先順位を割当てられる。このことは図2に縦軸上の位置によりグラフィックに示されている。タスクTiは固定のタイムスロットなしのサイクリックなタスクである。このタスクTiは、それがその終了に達するつど、新たに開始される。タスクTiは最も低い優先順位を有する。
【0033】
タスクT1、T2の1つが実行されるべき時点の1つ、例えばt+100ms、t+200ms、t+225ms、t+300ms、t+400ms、t+450ms、t+500ms、…、に到達すると、スケジューラはタスクTiの実行を中断し、それぞれのタスクT1、T2が実行されるように計らう。
【0034】
時点t+900msで、選ばれた例によれば、同時にタスクT1(100msのタイムスロット)もタスクT2(225msのタイムスロット)も実行されなければならない。これは、プロセッサが第1のタスクT1の命令を第2のタスクT2の命令と同時に実行することはできないので、可能でない。タスクT1にはタスクT2よりも高い優先順位が割当てられたので、この時点およびそれとほぼ同じ時点で先ず優先順位の高いほうのタスクT1が、その直後にタスクT2が実行される。タスクT2が終了された後に初めて、再びタスクTiに戻される。
【0035】
この状況から、タスクT1、T2が固定のタイムスロット内での進行に対して予定されている場合に対しても、その実際の進行が予定されているタイムスロット内でシステム内在的に常には保証されないことは明らかである。それゆえ、個々のタスクT1、T2の開始時点のシフトがある限度内で許容可能である。
【0036】
図3は、このようにして、すなわちタスクT1、T2に対応付けられている更新タスクT1A、T2Aがどの時点で実行されるかを示す。図2によるタスクT1、T2が改めて示されている。追加的に、タスクT1に対応付けられている更新タスクT1Aと、タスクT2に対応付けられている更新タスクT2Aとが示されている。簡単化のためにはタスクT1、T2、T1A、T2Aは示されている呼出し時点でもそれぞれ等しい実行時間を有していなければならない。しかしタスクT1、T2、T1A、T2Aの実行時間は呼出し時点から呼出し時点へと異なっていてもよい。
【0037】
タスクT1に対応付けられている更新タスクT1AはタスクT1自体よりも高い優先順位を有する。それにより、更新タスクT1Aが可能なかぎりタスクT1の実行にすぐ続いて実行されることが保証されている。このことはタスクT2に対応付けられている更新タスクT2Aに対しても同様に当てはまる。
【0038】
図3から、タイムスロットの選ばれたセクションに対して、タスクT1、T2、T1A、T2Aの実行時間がサイクリックなタスクT1、T2の実行をそれらのそのつどの開始時点(100ms毎または225ms毎)で妨げない状況が与えられていることは明らかである。更新タスクT1A、T2Aの実行のために必要とされる時間は完全にタスクTiの“負担”になる。このことは、タスクTiの新開始に対する時点が図2にくらべて時点t+275msから時点t+525msへずらされていることから明らかである。ユーザプログラムの個々のサイクルのこの延長は危険とみなされない。なぜならば、そのサイクル時間はいずれにせよ非常に稀な場合にしか一定でなく、個々のタスクT1、T2に対していずれにせよ必要な実行時間に応じて相違するからである。
【0039】
“危険な”状況は、更新タスクT1Aの実行がサイクリックな固定のタイムスロット内で進行するタスクT2の開始をその予め定められた開始時点で疑わしいものにするときに初めて存在する。このような状況は図4に示されている。
【0040】
時点t+200msでの更新タスクT1Aの実行時間は図4では図3にくらべてわずかに長い。それにより更新タスクT1Aが時点t+225msで、すなわち本来タスクT2が開始されなければならないであろう時点でまだ実行される。更新タスクT1AはタスクT2よりも高い優先順位を有するので、更新タスクT1Aは、たといタスクT2の開始時点が到達されているとしても、中断されない。タスクT2は更新タスクT1Aの実行が終了されたときに初めて実行される。それによっていま、タスクT2が更新タスクT1Aの実行に基づいてもはや本来予定されている固定のタイムスロット内で実行されない状況が存在する。
【0041】
既述のように、このような状況(すなわち固定のタイムスロットが正確に守られない状況)は更新タスクT1A、T2Aの不存在のときにも生じる。従って、サイクリックなタスクT1、T2の呼出し時点のわずかなずれは常に許容可能であり、しばしば気付かれない。個々のサイクリックなタスクT1、T2の呼出し時点のどのずれが個々の場合に許容可能であるかは予め決定し得ない。その代わりに、それぞれの技術的プロセスTPの制御及び/又は監視のためのプログラムの開発の際に、最大許容可能なずれの大きさが、個々のタスクT1、T2の呼出しの際の必要な時間的順序に従って、また特に制御及び/又は監視をすべきプロセスTPの必要条件を考慮に入れて、決定される。
【0042】
数100msのサイクリックなタスクの呼出し時点のずれは、時間的にほとんど危険でない少数のタスクを有するプログラムにより制御される遅いプロセスの場合には常に許容可能であり得るが、時間的に危険な速いプロセスの場合には不利な結果をもたらす。こうして最大実行時間t11、t21と、タスクT1、T2と、対応付けられている更新タスクT1A、T2Aの和に対する上限とが決定される。
【0043】
これはプログラミング技術的に、それぞれの技術的プロセスTPの状況にほぼ合わせなければならず、それによって同じく前もって決定可能でないサイクリックなタスクT1、T2のタイムスロットの呼出し時点の決定またはそれらの優先順位の決定と基本的に異なる作業ステップではない。最大実行時間t11は値50msに決定され得よう。この最大実行時間t11は図4による状況では到達されていない。従って、更新タスクT1Aは中断されないであろう。更新過程中に更新タスクT1A、T2Aが中断されないかぎり、更新過程は全体として継続される。
【0044】
図5には、和実行時間t1(すなわちタスクT1ならびに対応付けられている更新タスクT1Aの実行時間の和)は例えば50msの決定された最大実行時間t11を超過するであろう状況が示されている。この状況では、更新タスクT1Aが終了されることによって、更新タスクT1Aの実行は中断される。
【0045】
最大実行時間t11、t21の監視は例えばそのために予定されている相応の高い優先順位を有する監視タスクにより行われる。これは和実行時間t1、t2の監視および最大実行時間t11、t21の超過の認識が可能であるように狭いタイムスロット内で進行する。
【0046】
更新タスクT1Aの終了により、サイクリックなタスクT2の実行が許容不可能に遅らされないことが保証されている。更新タスクT1Aの終了により、“待ち”タスクT2が現在最も高い優先順位を有する実行可能なタスクになる。従って、これがスケジューラにより直接に実行するべく予定される。それによって更新中にも特定の反応時間(すなわち技術的プロセスTP内の特定の変化、例えば調節過程で流入する測定値の変化に反応する時間)が守られ、または保証される。
【0047】
第2の実行中に(すなわちメモリの内容の転送が更新タスクT1A、T2Aにより行われる更新のセクション中に)、更新タスクT1A、T2Aが実行時間上限t11、t21の超過に基づいて終了されると、第2の実行は全体として終了され、新たに、場合によっては例えば1分の予め定められた、または予め定め得る“緩和時間”の経過の後に開始される。
【0048】
第2の実行中にすべての更新タスクT1A、T2Aが、実行時間上限t11、t21の超過なしに処理される場合、すなわち更新タスクT1A、T2Aがそのプログラム終端に達成され、ユーザプログラムが更新中にアクセスする特別なメモリ範囲の内容が最後のステップで転送されることにより、自ずから終了する場合にのみ、更新は全体として成功裡に終了されたとみなされる。
【0049】
いまや、先ず自動化装置AGのメモリMの内容が順次に読出され、バックアップ自動化装置AG′のメモリM′内に書込まれることによりこのバックアップ自動化装置AG′に伝送されることによって、バックアップ自動化装置AG′の更新が行われる。更新過程のこの第1の実行は図6に示されている。
【0050】
図6によればメモリMの内容が順次に読出され、バックアップ自動化装置AG′のメモリM′内に伝送される。これはメモリMの破線または実線で囲まれたセクションにより示されている。伝送は自動化装置AGとバックアップ自動化装置AG′との間に設けられている通信接続B(例えばバス)を介して行われる。これは図6に矢印により示されている。
【0051】
このステップにより“基本データストック”がバックアップ自動化装置AG′に伝送される。この基本データストックは例えば、自動化装置AG上で実行されるユーザプログラムと、技術的プロセスTPのいわゆる周辺またはプロセスイメージと、場合によってはいくつかの絶え間のない変更を受けないユーザプログラムのデータ(例えばオペレーティングパラメータ、レセプトデータ、など)とを含んでいる。
【0052】
更新中に(すなわち“基本データストック”の伝送中にも)、技術的プロセスTPの監視制御は自動化装置AGにより不変に保たれるので、メモリMの内容の連続的な変更が行われる。メモリM内のこれらの変更は図6にメモリM内の×印の範囲により示されている。
【0053】
“基本データストック”の転送時には、丁度読出されかつ転送されるセクションの“前”のすべての変化が考慮に入れられる。なぜならば、これらの変化が生じているセクションはまさにすべての以前のセクションのように読出され、また完全に転送されるからである。これは図6では、丁度転送される範囲の前に位置している範囲である。図6に示されているその後の3つの変更された範囲は基本データストックの伝送時に考慮に入れられない。なぜならば、相応の変化は、当該セクションの内容が伝送された後に初めて有効になるからである。説明したように基本データストックの転送の多数回の繰り返しはここでより良い結果をもたらさない。なぜならば、メモリM内の変化は連続的には行われるが、確定的には行われないからである。
【0054】
転送すべきメモリMの内容の、更新中にも行われる変更を考慮に入れる立場にある補足的な更新実行として、いまユーザプログラムの各タスクT1、T2に対応付けられている更新タスクT1A、T2Aを有する実行が開始される。
【0055】
図7から明らかなように、タスクT1、T2は自動化装置AGのすべてのメモリMにではなく、メモリMのセクションM1、M2にのみアクセスする。それぞれのタスクT1、T2がアクセスするセクションM1、M2はそれぞれ対応付けられている更新タスクT1A、T2Aにより順次に、第1の更新実行での基本データストックの転送と同じように、読出され(それぞれのセクションM1、M2内の異なる囲みをされた範囲により示されている)、またバックアップ自動化装置AG′の(図示されていない)メモリM′内に伝送される。その際、メモリMに関するセクションM1、M2の丁度読出される範囲の位置を示し、また丁度読出される範囲の内容がメモリM′内の相応のアドレスに書込まれることを保証する追加的な位置情報が利用される。
【0056】
更新タスクT1A、T2Aにより、それぞれのタスクT1、T2がアクセスするメモリM1、M2の部分の内容の転送が基本的に順次に行われるときにも、この順次の転送は更新タスクT1A、T2Aの呼出し内で行われる。更新タスクT1A、T2Aのプログラムコード内で、メモリセクションM1、M2の内容の転送が完全に読出し過程および書込み過程により行われるように構成されていてもよい。
【0057】
更新タスクT1A、T2Aが、専らそれぞれのタスクT1、T2がアクセスするメモリM1、M2の部分の内容を転送する立場に置かれるようにするために、更新タスクT1A、T2A内でそれぞれのメモリセクションM1、M2を標識するためのパラメータは、通常オフセットおよび大きさとして、または開始アドレスおよび終了アドレスとしても、知られている。これらのパラメータはプログラミングの際にそのつどの値により占められる。
【0058】
代替的に、各タスクT1、T2に対してメモリMへのそのアクセスがログメモリセルT1M、T2M内に記録され、更新タスクT1A、T2Aが、それぞれのログメモリセルT1M、T2Mの内容により転送すべきものとして認識可能であるメモリM1、M2の部分を転送する方法も考えられる。この方法は、考慮に入れるべきメモリセクションM1、M2に対するパラメータをプログラミングの際に決定しなければならない、場合によっては誤りを孕んでいる要請を防止し、さらに更新タスクT1A、T2AがメモリセクションM1、M2のすべての内容を転送しなくなよく、実際に変更された部分のみを転送すればよいという利点を有する。
【0059】
図6にログメモリセルT1M、T2Mが概略的に示されていると共に、冗長自動化装置AG′に内容を伝送すべきメモリMの外側にログメモリセルT1M、T2Mが位置し、特にログメモリセルT1M、T2Mの内容の転送が必要でないことが示されている。ログメモリセルT1M、T2MはメモリMの部分として実現されていてもよいので、図6で仮定されているメモリMとログメモリセルT1M、T2Mとの間の分離は図面をわかりやすくする役割のみをする。メモリMの転送すべき範囲は開始アドレスおよび終了アドレスまたは開始アドレスおよびこの開始アドレスに続いて伝送すべきデータボリュウムにより知らされる。例えば前記のログメモリセルT1M、T2Mの内容のような転送すべきでないメモリ内容はこのようにして予定されている範囲の外側に位置し得る。
【0060】
第2の更新実行中に更新タスクT1A、T2Aが実行時間上限t11、t21の超過に基づいて終了されないと、更新は、ユーザプログラムが更新中にアクセスする特別なメモリ範囲の内容のなお進めるべき転送を留保して、成功裡に終了したものとみなされる。バックアップ自動化装置AG′のメモリM′の内容は自動化装置AGのメモリMの内容に一致する。
【0061】
自動化装置AGからバックアップ自動化装置AG′への信号により、更新が成功裡に終了していることがバックアップ自動化装置AG′に表示される。バックアップ自動化装置AG′内でそれに基づいてユーザプログラムのコピーが開始され、またバックアップ自動化装置AG′がユーザプログラムのコピーに基づいて自動化装置AGと同一の作用を実行するならば、データの同一性が引き続いて保証される。こうして、例えば自動化装置AGの交換が必要になった場合、バックアップ自動化装置AG′が直ちに技術的プロセスTPの監視制御を引き受ける。
【0062】
更新タスクによる、それぞれのメモリセクションの内容の転送は、メモリセクションの内容の変更がそれぞれのタスクT1、T2の実行時間中のみは可能であるが、更新タスクT1A、T2Aの実行時間中には可能でないので、有利であることが判明している。従って、更新タスクT1A、T2AはそれぞれのメモリセクションM1、M2の内容を常に完全に転送することができるので、更新タスクT1A、T2Aの終了時に、そのつどのメモリセクションM1、M2の内容が完全に転送され、その間のこのメモリセクションの内容の変化が新たな転送を必要としないことが保証されている。
【0063】
以下には、特に図3に関連して、これまでの説明から明らかである特別な場合が説明される。図3によれば、時点t+0msから出発して、更新タスクT1Aが2回呼出され、かつ、更新タスクT2Aが初回の呼出しをされる前に、完全に実行される。更新が(ほぼ)成功裡に実行されたとみなされるので、すべての更新タスクT1A、T2Aが完全に実行されたとき、それぞれの更新タスクT1A、T2Aの完全な実行の事実が記憶されなければならない。図3による状況で更新タスクT1Aに対して例えば時点t+125msで更新タスクT1Aの完全な実行を標識する“フラグ”がセットされる。時点t+250msで更新タスクT2Aに対して相応のフラグがセットされる。その後の更新タスクT1A、T2Aが存在しないので、それによって更新実行は成功裡に終了したとみなされる。第2の更新実行は例えば時点t+250msで終了されている。更新タスクT1A、T2Aのもう一度の開始は、たといこれが図3、4および5に相応に示されているとしても、必要でない。
【0064】
しかしながら、特別な取扱を必要とする状況は、第2の更新実行の終了前に更新タスクT1A、T2Aが一回行われた完全な実行の後に新たに開始されるときに生ずる。このような状況が図5に示されている。時点t+125msで更新タスクT1Aが終了され、相応のフラグがセットされる。時点t+250msで、第2の更新実行がまだ終了されていないので、新たに呼出された更新タスクT1Aは終了される。なぜならば、予め定められた実行時間上限t11が超過されるからである。時点t+275msで、その後に実行された更新タスクT2Aに対して相応のフラグがセットされる。
【0065】
ここでも両方のフラグがセットされ、すなわちフラグが更新タスクT1Aに対してその初回の呼出しにより、更新タスクT2Aに対してそのただ一回の呼出しによりセットされ、更新実行がそれによって成功裡に終了したとみなされる。しかしながら実際には更新タスクT1Aは、これが、タスクT1がアクセスするメモリMのすべてのセクションM1の内容を転送し得ないうちに、終了された。すなわち事情によってはすべての変化がメモリセクションM1内に転送されておらず、従ってこのような状況では更新が終了されたとみなされ得ない。
【0066】
しかし必要な特別な取扱は、それぞれの更新タスクT1A、T2Aに対応付けられているフラグが各新たな呼出しの際にそれぞれの更新タスクT1A、T2Aに対応付けられているタスクT1、T2がリセットされることによって、簡単に達成される。上記の状況に対して、このことは、更新タスクT1Aのフラグが時点t+125msでセットされ、また時点t+200msでリセットされることを意味する。時点t+275msで更新タスクT2Aのフラグがセットされても、更新が終了されたとみなされない。なぜならば、更新タスクT1Aのフラグが欠けているからである。実際には更新は、時点t+375msで、すなわち最も早くて、初回に更新タスクT1Aのフラグが再びセットされ、更新タスクT2Aのフラグがまだ再びリセットされていない時点で、終了されたとみなされる。
【0067】
以上に既に説明された本発明の有利な実施例のようにログメモリが応用される場合に対しては、更新タスクT1A、T2Aの各完全な実行の後にそれぞれのログメモリT1M、T2Mの内容はリセットされ、または無効として標識されなければならない。
【0068】
本発明の別の局面は、低い優先順位を有する特別なタスク(特別な誤取扱または誤反応に対して予定されているFタスク)が更新タスクT1A、T2Aの実行時間の和により、Fタスクの低い優先順位に基づいてより高い優先順位を有する実行可能なタスクT1、T2およびそれらに対応付けられている更新タスクT1A、T2Aが“優先的に”実行されるので、もはや本来予定されている固定のタイムスロット内で実行されない状況に関わるものである。
【0069】
このような状況に対して、この局面によれば、より高い優先順位を有するタスクT1、T2の更新タスクT1A、T2A(好ましくは最も高い優先順位を有するタスクT1の更新タスクT1A)がその本来の実行の前に短時間だけFタスクの優先順位を、更新タスクT1Aの相応の抑制のもとにFタスクの即時の実行を行なわせる値にセットする。このようにして、更新の際にも特別な優先順位の低いFタスクの反応挙動が予測可能にとどまることが保証される。なぜならば、その呼出しが更新タスクT1A、T2Aの追加的な実行により許容可能な遅れよりも長く遅らされないからである。
【0070】
こうして、タスク指向のユーザプログラムを有する自動化装置のメモリ内容が作動の中断なしに冗長自動化装置に伝達される。基本データストックの従来通常の転送によれば、その間に変更されたデータストックの転送は個々のタスクに対応付けられている更新タスクにより行われ、更新タスクはそれぞれのタスクがアクセスするメモリ内容のセクションのみを伝送する。
【図面の簡単な説明】
【図1】 自動化システムの概概略図。
【図2】 タスクの時間的経過を示す図。
【図3】 タスクの時間的経過を示す図。
【図4】 タスクの時間的経過を示す図。
【図5】 タスクの時間的経過を示す図。
【図6】 自動化装置のメモリの個々のセグメントの内容を冗長自動化装置の対応するメモリへ転送する概要図。
【図7】 自動化装置のメモリのメモリレイアウトの概要図。
【符号の説明】
AG、AG′ 自動化装置
B 接続
M、M′ メモリ
T1、T2 タスク
T1A、T2A 更新タスク
Ti (ユーザ)プログラム/タスク
Claims (8)
- 技術的プロセス(TP)を制御及び/又は監視するための自動化装置(AG)であって、
−少なくとも1つのタスク(T1、T2)ならびにプロセス関連およびユーザプログラム関連のデータを有する少なくとも1つのユーザプログラム(Ti)を記憶するためのメモリ(M)を備え、冗長自動化装置(AG′)の連結の際に冗長自動化装置(AG′)のメモリ(M′)内へメモリ(M)の内容が転送される自動化装置において、
−各タスク(T1、T2)に、それぞれのタスク(T1、T2)がアクセスするメモリ(M)の部分(M1、M2)の内容を転送するために、更新タスク(T1A、T2A)が対応付けられ、
−タスク(T1、T2)および更新タスク(T1A、T2A)の実行時間が予め定められたまたは予め定め得る実行時間上限(t11、t21)を超過するときに、更新タスク(T1A、T2A)が終了される
ことを特徴とする自動化装置。 - 各タスク(T1、T2)に対してメモリ(M)へのそのつどのアクセスのロギングがログメモリ(T1M、T2M)内で行われ、更新タスク(T1A、T2A)によって、メモリ(M)の、それぞれのログメモリ(T1M、T2M)の内容を手がかりに転送すべきものとして認識可能である部分(M1、M2)の転送が行われることを特徴とする請求項1記載の自動化装置。
- 更新タスク(T1A、T2A)に、それぞれの更新タスク(T1A、T2A)が対応付けられているタスク(T1、T2)よりも高い優先度が割当てられていることを特徴とする請求項1または2記載の自動化装置。
- 技術的プロセス(TP)の制御及び/又は監視中に自動化装置(AG)に通信接続されている冗長自動化装置(AG′)を更新する方法であって、各自動化装置(AG、AG′)がそれぞれメモリ(M、M′)を有し、自動化装置(AG)のメモリ(M)内に少なくとも1つのタスク(T1、T2)ならびにプロセス関連およびユーザプログラム関連のデータを有する少なくとも1つのユーザプログラムが記憶され、第1の更新実行中に冗長自動化装置(AG′)のメモリ(M′)内へ自動化装置(AG)のメモリ(M)の内容が順次転送される更新方法において、
第2の更新実行中に、それぞれのタスク(T1、T2)に対応付けられている更新タスク(T1A、T2A)によって、タスク(T1、T2)がアクセスするメモリ(M)の部分(M1、M2)の内容が冗長自動化装置(AG′)のメモリ(M′)内に転送され、更新タスク(T1A、T2A)が、タスク(T1、T2)および更新タスク(T1A、T2A)の実行時間が予め定められたまたは予め定め得る実行時間上限(t11、t21)を超過するときに、終了されることを特徴とする更新方法。 - メモリ(M)へのタスク(T1、T2)の各アクセスがログされ、更新タスク(T1A、T2A)がメモリ(M)の、ロギングを手がかりにして転送すべきものとして認識可能な部分(M1、M2)を転送することを特徴とする請求項4記載の方法。
- 更新タスク(T1A、T2A)に、それぞれの更新タスク(T1A、T2A)が対応付けられているタスク(T1、T2)よりも高い優先度が割当てられることを特徴とする請求項4または5記載の方法。
- 第2の更新実行が、更新タスク(T1A、T2A)が実行時間上限(t11、t21)の超過に基づいて終了されたときに、新たに開始されることを特徴とする請求項4ないし6の1つに記載の方法。
- 第2の更新実行が予め定められたまたは予め定め得る緩和時間の経過後に新たに開始されることを特徴とする請求項7記載の方法。
Applications Claiming Priority (5)
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 |
PCT/DE2000/004002 WO2001037058A1 (de) | 1999-11-15 | 2000-11-14 | Automatisierungsgerät und aufdat-verfahren |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003529819A JP2003529819A (ja) | 2003-10-07 |
JP3754369B2 true JP3754369B2 (ja) | 2006-03-08 |
Family
ID=26055551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001539086A Expired - Fee Related JP3754369B2 (ja) | 1999-11-15 | 2000-11-14 | 自動化装置および更新方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7168075B1 (ja) |
EP (1) | EP1238318B1 (ja) |
JP (1) | JP3754369B2 (ja) |
CN (1) | CN1193281C (ja) |
AT (1) | ATE245287T1 (ja) |
ES (1) | ES2203549T3 (ja) |
WO (1) | WO2001037058A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112004000270T5 (de) * | 2003-02-10 | 2006-10-19 | Sheldon, Michael L., Georgetown | Messung von Fluidvolumina in einem Behälter unter Verwendung von Druck |
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 |
EP1860514B1 (de) | 2006-05-26 | 2009-12-23 | Siemens Aktiengesellschaft | 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 | 上海博迅实业有限公司 | 无污染生物安全柜控制*** |
WO2015136970A1 (ja) * | 2014-03-14 | 2015-09-17 | オムロン株式会社 | 制御装置及び制御システム |
CN106062649A (zh) * | 2014-03-14 | 2016-10-26 | 欧姆龙株式会社 | 控制装置及控制*** |
EP3120202B1 (de) | 2014-04-22 | 2018-07-11 | Siemens Aktiengesellschaft | Update einer automatisierungsanlage im laufenden betrieb |
CN113342376B (zh) * | 2021-06-23 | 2022-08-30 | 支付宝(杭州)信息技术有限公司 | 一种针对物联网设备的操作***进行升级的方法及装置 |
Family Cites Families (17)
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 |
ES2134883T3 (es) | 1993-07-28 | 1999-10-16 | Siemens Ag | Procedimiento de carga de datos. |
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 |
US20060195847A1 (en) * | 2003-12-04 | 2006-08-31 | Katsushige Amano | Task scheduling device, method, program, recording medium, and transmission medium for priority-driven periodic process scheduling |
-
2000
- 2000-11-14 AT AT00989773T patent/ATE245287T1/de not_active IP Right Cessation
- 2000-11-14 JP JP2001539086A patent/JP3754369B2/ja not_active Expired - Fee Related
- 2000-11-14 US US10/130,117 patent/US7168075B1/en not_active Expired - Fee Related
- 2000-11-14 WO PCT/DE2000/004002 patent/WO2001037058A1/de active IP Right Grant
- 2000-11-14 EP EP00989773A patent/EP1238318B1/de not_active Expired - Lifetime
- 2000-11-14 CN CNB008182191A patent/CN1193281C/zh not_active Expired - Fee Related
- 2000-11-14 ES ES00989773T patent/ES2203549T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
WO2001037058A1 (de) | 2001-05-25 |
JP2003529819A (ja) | 2003-10-07 |
CN1193281C (zh) | 2005-03-16 |
ATE245287T1 (de) | 2003-08-15 |
EP1238318A1 (de) | 2002-09-11 |
US7168075B1 (en) | 2007-01-23 |
CN1420999A (zh) | 2003-05-28 |
EP1238318B1 (de) | 2003-07-16 |
ES2203549T3 (es) | 2004-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3754369B2 (ja) | 自動化装置および更新方法 | |
US5933347A (en) | Industrial controller with program synchronized updating of back-up controller | |
JP4888718B2 (ja) | 分散型制御システム | |
JP4430296B2 (ja) | プログラム配信システム | |
EP2733613B1 (en) | Controller and program | |
EP2256635B1 (en) | System and method for storing data from an industrial controller | |
JP2000134786A (ja) | 電力系統保護制御システム、電力系統保護制御システムの制御方法およびプログラムモジュールを記憶した記憶媒体 | |
JP4993208B2 (ja) | 産業用コントローラ用機器 | |
US5867383A (en) | Programmable logic controller | |
JP6859922B2 (ja) | 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体 | |
JP3748232B2 (ja) | データ伝送装置、表示装置、および、制御システム | |
JP2877095B2 (ja) | マルチプロセッサシステム | |
US6374335B1 (en) | Data loading process | |
JP5365875B2 (ja) | 産業用コントローラ | |
CN116909678A (zh) | 一种容器化plc的实现方法及***、管理服务器 | |
JPH09218788A (ja) | インサービス直接ダウンロード方式 | |
EP3936951B1 (en) | Control device and software deployment method | |
CN113342499A (zh) | 分布式任务调用方法、装置、设备、存储介质、程序产品 | |
CN114647491A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
JPH04171538A (ja) | 繰返し型データ処理スケジューリング方式 | |
US20230409001A1 (en) | Method and device for controlling the sequence of program parts, programming method, programming device | |
US20210405597A1 (en) | Engineering device, engineering method, and information storage medium | |
JP2002373156A (ja) | クラスタ制御システム及びクラスタ制御システムにおけるシナリオ実行方法 | |
JPS5844552A (ja) | 対等分散型情報処理システム | |
KR20180112709A (ko) | 감시 시스템, 디바이스 및 엔지니어링 툴 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |