JP2000513468A - 同期化方法 - Google Patents
同期化方法Info
- Publication number
- JP2000513468A JP2000513468A JP10502054A JP50205498A JP2000513468A JP 2000513468 A JP2000513468 A JP 2000513468A JP 10502054 A JP10502054 A JP 10502054A JP 50205498 A JP50205498 A JP 50205498A JP 2000513468 A JP2000513468 A JP 2000513468A
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- synchronization
- instruction
- machine
- machine instructions
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims 2
- 241000406668 Loxodonta cyclotis Species 0.000 claims 1
- 238000012966 insertion method Methods 0.000 description 6
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000519695 Ilex integra Species 0.000 description 1
- 101001116283 Phanerodontia chrysosporium Manganese peroxidase H4 Proteins 0.000 description 1
- 101001018261 Protopolybia exigua Mastoparan-1 Proteins 0.000 description 1
- KRALOLGXHLZTCW-UHFFFAOYSA-L calcium;2-acetyloxybenzoate Chemical compound [Ca+2].CC(=O)OC1=CC=CC=C1C([O-])=O.CC(=O)OC1=CC=CC=C1C([O-])=O KRALOLGXHLZTCW-UHFFFAOYSA-L 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- 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/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1687—Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
-
- 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
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
-
- 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
- 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/25—Pc structure of the system
- G05B2219/25483—Synchronize several controllers using messages over data bus
-
- 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/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Iron Core Of Rotating Electric Machines (AREA)
- Control Of Motors That Do Not Use Commutators (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Devices For Executing Special Programs (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
少なくとも2つの部分システム(2、2’)から構成された冗長性を有する自動化システム(1)であって、プロセッサを制御するため機械命令(MP)の機能的に同一のシーケンスを実行する少なくとも2つの部分システム(2、2’)から成っており、互いに対応する位置に同期化カウンタ(SZ、SZ’)をインクレメントするための増分命令(IA)を有するようになった自動化システムに対する同期化方法。同期化は同期化カウンタ(SZ、SZ’)の値を用いて少なくとも、部分システム(2、2’)が特別事象(11)を登録するときに行われる。そのために、部分システム(2、2’)が機械命令(MP)のシーケンスの実行を、それぞれの同期化カウンタ(SZ、SZ’)の値が同期化カウンタ‐目標値(SZZ)の値に到達する同期化位置(SP)の到達の際に中断するように、同期化カウンタ‐目標値(SZZ)が求められる。
Description
【発明の詳細な説明】
同期化方法
本発明は少なくとも2つの部分システムから構成された冗長性を有する自動化
システムであって、少なくとも2つの部分システムがそれぞれ少なくとも1つの
プロセッサを有し、通信手段を介して互いに接続されており、プロセッサを制御
するため機械命令の機能的に同一のシーケンスを実行し、時々通信手段を介して
互いに同期化するようになった自動化システムに対する同期化方法に関する。
自動化システムに対する同期化方法は一般に知られている。ヨーロッパ特許第
A-0 497 147号明細書による方法では、2つの部分システムから構成された自動
化システムの部分システムが遅くとも利用者により予め選定可能な時間の経過後
に同期化する。類似のことがヨーロッパ特許第A-0 616 247号明細書の対象に対
しても当てはまる。これにおいては同期化は機械命令のシーケンスの実際の実行
時間に関係して行われる。そのためにはユーザープログラムの命令の実行時間の
知識もこれらの実行時間の永久的な加算も必要である。これらの公知の方法は、
不必要に多くの時間が同期化のために費やされる点でまだ最適ではない。
従って、本発明の課題は、少なくとも2つの部分システムから構成された自動
化システムに対する最小の費用ですませられる同期化方法を提供することである
。その際に同期化方法は特別なハードウェアの存在に無関係でなければならない
。本発明による同期化方法はその際に自動化システムの計算能力を可能なかぎり
わずかしか損なわないものでなければならない。
この課題は請求項1または2の特徴部分にあげられている特徴により解決され
る。
本同期化方法は部分システムの各々に対する、増分命令により増分(インクレ
メント)される、すなわち1だけ高められる、カウンタ−以下では同期化カウン
タと呼ばれる−に基づいている。増分はプロセッサに対して、個々の場合にただ
単一のクロックサイクルのなかでも、従ってまた特に迅速に行われる特に簡単な
課題である。
同期化が少なくとも、少なくとも2つの部分システムの1つ−以下では警報さ
れる部分システムと呼ばれる−が特別事象、たとえば割込みまたは警報、を記録
するとき実行される。この場合、警報される部分システムは少なくとも1つの他
の部分システムにその同期化カウンタの現在の値を伝達する。この伝達により少
なくとも1つの他の部分システムは少なくとも、特別事象が生起していることを
報知されている。少なくとも1つの他の部分システムは各々の他の部分システム
にその同期化カウンタの現在の値を伝達する。部分システムの各々はそれによっ
て自らの同期化カウンタの現在の値を介して、また少なくとも1つの他の部分シ
ステムの同期化カウンタの値を介して報知されている。
特別事象の生起の時点で部分システムの1つが少なくとも1つの他の部分シス
テムに機械命令のシーケンスの実行の際に先行し得る。その場合には、さらに、
先行する部分システムが既により大きい数の増分命令を実行し終わっており、従
って部分システムの同期化カウンタの値が異なることが可能である。
各々の部分システムは自らの同期化カウンタの値から、また少なくとも1つの
他の部分システムの同期化カウンタの値から現在最大の値を求める。すべての部
分システムが機械命令のシーケンスのその後の実行により共通に到達し得る同期
化カウンタの値は1だけ高められた、すなわちインクレメントされた、同期化カ
ウンタの最大の値である。従って各部分システムのなかですべての部分システム
の同期化カウンタの最大の値がインクレメントされる。すべての部分システムに
対して等しいこの値は以下では同期化カウンタ‐目標値と呼ばれる。これはもち
ろん代替的に、先ず同期化カウンタの値がインクレメントされ、また続いて同期
化カウンタ‐目標値がそれらの最大値として求められることによっても決定され
得る。
部分システムはそれぞれの同期化カウンタの値が同期化カウンタ‐目標値に到
達する増分命令の位置、以下では同期化位置と呼ばれる、の到達の際に機械命令
のシーケンスの実行を中断する。増分命令は機械命令の機能的に同一のシーケン
スの互いに対応する位置で生ずるので、増分命令は可能性のある同期化位置とし
て特によく適している。
このような同期化位置の到達は、やはり特に簡単にそれぞれの同期化カウンタ
の値と同期化カウンタ‐目標値との比較により求められ得る。同期化方法はそれ
によって本質的にプロセッサに対して特に迅速かつ効率的に実行可能である増分
-または比較オペレーションに基づいている。
両部分システムはそれらの同期化位置に相い異なる時点で到達し得るので、各
部分システムは少なくとも1つの他の部分システムに同期化信号により同期化位
置の到達を信号する。各部分システムはその後に少なくとも1つの他の部分シス
テムからの同期化信号の入力を待ち、それによってこれがそれが同期化位置に到
達し終わったことを信号する。1つよりも多い他の部分システムの場合には、す
べての部分システムが同期化位置に到達し終わったときに初めて各部分システム
がその後のアクションを実行し得るように、各部分システムがすべての他の部分
システムからの同期化信号の入力を待つ。しかし同じく、同期化位置の到達の際
に同期化信号が交換されない応用も考えられる。
各部分システムは同期化位置の到達後かつ同期化信号の登録後に少なくとも1
つの他の部分システムから特別事象に対して固有のリアクションを求め、これを
実行する。このリアクションは特別事象に対して固有の機械命令のシーケンスで
ある。その後に各部分システムは、その実行が同期化位置の到達の際に同期化に
基づいて、ないし特別事象へのリアクションに基づいて見合せられた機械命令の
シーケンスの実行を継続する。
警報された部分システムは少なくとも1つの他の部分システムに特別事象を最
も早くても特別事象の登録の直後に、たとえば同期化カウンタの現在の値の伝達
と結び付いて、しかし最も遅くても同期化信号と関連して、伝達する。
特別事象に対して固有のリアクションの実行のために同期化信号の交換または
ウェイトが行われない場合もある。このような場合には、同期化位置の到達の際
に特別事象に対して固有のリアクションが直接的に実行される。その場合には確
かに時間的な同期化は行われないが、本発明による方法により、特別事象に対し
て固有のリアクションが確かに時間的に等しくはないが、それぞれの部分システ
ムの機械命令のシーケンスのなかの機能的に同一の位置で実行されることが保証
されている。この仕方で、同期化位置が機能的に同一の機械命令のシーケンスの
互いに対応する位置に配置されているので、所望の同期化が保証されている。
同期化位置の到達は、請求項3により、機械命令のシーケンスの各機械命令の
アドレス、特に現在実行すべき機械命令のアドレスならびに同期化位置と対応す
る機械命令のアドレス、が求められ得るならば、特に効率的に可能である。
それにより、機械命令のシーケンスの実行の際に−少なくとも警報された部分
システムによる特別事象の登録の後に−常に現在実行すべき機械命令のアドレス
が同期化位置と対応する機械命令のアドレスと比較されることが可能である。比
較すべき両アドレスの合致が確認されると、同期化位置が到達されている。機械
命令のシーケンスの実行はこの仕方で正確に同期化位置の到達の際に中断可能で
ある。
同期化位置が機械命令のシーケンスの条件付きでまたは無条件で繰り返すべき
部分シーケンスのなかに位置している場合には、個々の機械命令が複数回処理さ
れる。しかし増分命令の位置は、増分命令の実行により同期化カウンタが同期化
カウンタ‐目標値に到達するときに初めて同期化位置になる。従って、ループの
場合には、増分命令がループの枠内で複数回処理されるが、ある数の処理の後に
初めて同期化位置になることが生じ得る。この場合には増分命令のアドレスを求
めるだけでは十分でない。この場合には同期化位置は、現在実行すべき機械命令
のアドレスが可能性のある同期化位置と対応する機械命令のアドレスと合致し、
かつ同時に同期化カウンタが同期化カウンタ‐目標値と合致するときに初めて到
達されている。
各機械命令のアドレスが−前記のように−求められ得るならば、さらに、機械
命令のシーケンスの実行が正確に同期化位置において中断されるように、同期化
位置と“ブレーク‐ポイント”が結び付けられ得る。同期化位置、すなわちプレ
ーク‐ポイントと結び付けられるアドレス、が到達されているかどうかの検査は
プロセッサがその場合に直接に引き受ける。通常−INTEL、たとえばi80
386、i80486、Pentinumなどのプロセッサにおいては−ブレー
ク‐ポイントと結び付けられるアドレスの到達の際に割込みがトリガーされ、そ
の生起が一義的に当該のアドレスの到達を指示する。
プロセッサが個別ステップモードで、すなわち“シングル‐ステップ‐モード
”で、動作可能であれば、代替的に、機械命令のシーケンスの実行の際に、少
なくとも警報された部分システムが特別事象を登録し終わった後に、常に現在実
行される機械命令のアドレスを同期化位置のアドレスと比較することも可能であ
る。合致が確認されると、同期化位置が到達されており、また機械命令のシーケ
ンスの個別命令の処理が中断される。
同期化位置の到達のための別の効率的な可能性は、請求項4の特徴によれば、
機械命令のシーケンスの実行の際に−少なくとも警報された部分システムによる
特別事象の登録の後に−常に同期化カウンタの値が同期化カウンタ‐目標値と比
較され、−同期化カウンタの値が同期化カウンタ‐目標値に到達すると、機械命
令のシーケンスの実行が中断されることにある。そのために第1のメモリ位置お
よび第2のメモリ位置が求められ、その際に第1のメモリ位置には同期化カウン
タの値が記憶されており、また第2のメモリ位置には同期化カウンタ‐目標値が
記憶されている。通常のプロセッサ、特にINTEL社の前記のプロセッサでは
プロセッサは、第1のメモリ位置の内容が第2のメモリ位置の内容と合致すると
直ちに機械命令のシーケンスの実行が中断されるようにプログラム可能である。
プロセッサのこの特別な機能は既になかんずく誤り探索プログラム、いわゆるデ
バッガー、に対して利用された。それはもちろん同期化位置の到達のためにも利
用され得る。
機械命令のシーケンスのなかの増分命令の位置はさまざまなストラテジーに従
って決定され得る。機械命令のシーケンスがプログラム言語の命令シーケンスか
ら発生されるならば、増分命令を既に命令シーケンスの変換の間に機械命令のシ
ーケンスのなかに挿入することは有利である。しかし、増分命令を機械命令のシ
ーケンスの発生の後に、しかしその実行の前に、リロシーリングによりこれのな
かに挿入することも本発明の範囲に属する。
命令シーケンスが、関連する命令シーケンスがブロックのなかにまとめられて
いるプログラム言語の命令シーケンスであれば、増分命令は機械命令のシーケン
スのなかでそれぞれブロックの境界の少なくとも1つにおいて挿入される。この
ようなプログラム言語に対する例はそれぞれブロックの取り決めのための言語手
段を有し、その際にさらに特別な言語手段が暗黙的にもブロックを決定する−P
ascal、PEARL、C/C++などのような−すべての“構造化された”
プログラム言語である。
常に増分命令は−ヨーロッパ特許第A-0 497 147号明細書による従来の技術の
場合のように−すべての飛越し命令、たとえば条件付きおよび無条件の飛越し命
令、と関連して挿入すべきである。その際に飛越し命令とは、すべての命令、従
ってまたプロセッサに直接に理解可能な言語レベル上で条件付きおよび無条件の
飛越しに通ずるいわゆる一般言語からの命令として理解されるべきである。この
ことは、飛越しにより場合によっては増分命令がスキップされるので必要である
。特に、飛越しによりより長い、場合によっては無制限の時間にわたって機械命
令のみが2つの増分命令の間で実行され、従ってこの時間の間は増分命令が実行
されないことが考えられ得よう。この場合には相応して可能性のある同期化位置
が到達されず、従って同期化が実行可能でないであろう。従って増分命令は頻繁
に、しかし必ずしもこのような飛越し命令の前には挿入されない。
いわゆるサブプログラムの呼出しの場合には、増分命令がサブプログラムのな
かに、すなわちサブプログラムの始端およびサブプログラムの終端に挿入される
ことは有利である。それによって有利な仕方で機械命令のシーケンスのなかへの
増分命令の挿入が簡単化される。なぜならば、サブプログラムの呼出しは常に一
義的に認識可能ではないが、サブプログラムの始端および終端は一義的に認識可
能であるからである。典型的にここでアセンブラー言語に対してサブプログラム
への飛越しまたはサブプログラムからの復帰飛越しをトリガーするCALL‐お
よびRET命令があげられる。
その特別なプログラム言語が通常ブロック‐オリエンティッドな構造化を提供
しないプログラム記憶式制御の場合には、増分命令は常に飛越し命令の前に挿入
すべきである。特にプログラム記憶式制御の場合には機械命令のシーケンスの構
造化はしばしばいわゆる“モジュール(Bausteine)”により行われる。プログラ
ム記憶式制御の機械命令のシーケンスの実行の際に必要になるモジュール交換が
飛越し命令により実現されているので、ここでも飛越し命令の前の増分命令の挿
入は所望の結果に通ずる。同じことが類似の仕方でたとえばアセンブラーまたは
BASICのような構造化されていない、またはわずかしか構造化されていない
プログラム言語に対しても当てはまる。
さらに、増分命令は機械命令のシーケンスの固定の、特に利用者により予め定
め得る数の個別命令の後にも機械命令のシーケンスのなかに挿入され得る。増分
命令のこの仕方で予め定められた順序は、2つの増分命令の生起の間の平均的な
時間間隔が常にほぼ等しいという利点を有する。2つの増分命令の生起の間の時
間間隔は増分命令の間に実行すべき個別命令の実行時間の和により決定される。
増分命令と対応する可能性のある同期化位置が実際に等間隔の時間間隔で望ま
れているならば、機械命令のシーケンスへのプログラム言語の命令シーケンスの
変換の間に各々の個別命令の実行時間が求められ、また個別命令のシーケンスの
実行時間が個々の個別命令の実行時間の加算により求められる。特定の、特に利
用者により予め定め得る実行時間の到達の際に機械命令のシーケンスのなかに増
分命令が挿入される。増分命令の後に個々の命令の実行時間の加算が再び零にお
いて開始する。しかし常に、上記の理由から、飛越し命令の前に増分命令の挿入
が必要である。飛越し命令の前の増分命令は固定の実行時間‐/間隔ラスターの
後の挿入に追加して行われ得る。しかし代替的に、飛越し命令の前に挿入されて
いる増分命令の後に実行時間‐または間隔カウントが零において開始することも
可能である。
さらに増分命令は機械命令のシーケンスのなか、または以下でソースシーケン
スと呼ばれる命令シーケンスのなかにも、ソースシーケンスが機械命令のシーケ
ンスの特定の部分シーケンスまたは命令シーケンスの特定の部分シーケンス−以
下では探索シーケンスと呼ばれる−に関して、検査されることによって、挿入さ
れ得る。
探索シーケンスがソースシーケンスのなかで認識されるならば、増分命令が探
索シーケンスの先頭に置かれ、またはこれに付け加えられることが可能である。
探索シーケンスは上記の実施例により増分命令が対応付けられるべきソースシー
ケンスの要素のそれぞれの目印−すなわち少なくともブロック限界および/また
は飛越し命令である。
特別な実現によれば、増分命令の挿入は特別なコンパイラーを用いて行われる
。特別なコンパイラーの変換方法は、たとえばブロックまたは飛越し命令を定義
する言語手段が認識され、付属の機械命令に、また追加的に増分命令に変換され
る
点において、標準的コンパイラーと相違している。
代替的なものとしていわゆる“プリプロセッサ”が用いられる。プリプロセッ
サを用いてプログラム言語の命令シーケンスの前処理が可能である。特別なープ
ログラマに原理的に知られている−シンタクスの助けのもとにこのようなプリプ
ロセッサを用いることにより、プログラム言語の特定の言語手段、たとえばブロ
ックを開始する言語手段、をこのようなブロックを開始する言語手段ならびに増
分命令をトリガーする別の言語手段と取り替えることができる。
しかし、機械命令のシーケンスのなかへの増分命令の挿入が利用者に対して一
目瞭然の仕方で行われることは望ましい。プリプロセッサにおける上記の命令は
利用者に対して認識可能であり、従ってまた操作可能である。しかし操作は場合
によっては同期化の際の誤りおよび/または発生されるプログラム自体の誤りに
通じ得よう。従って、機械命令のシーケンスのなかに増分命令を挿入するための
別の有利な代替的な実施例は、前記のプリプロセッサの代わりに、場合によって
は行われる別の命令による交換に無関係に少なくとも前記の実施例により増分命
令が対応付けられるべき命令シーケンスをまさにこの命令シーケンスならびに増
分命令に変換する特別なプリプロセッサが使用されることにある。
利用者により本質的に影響可能でない増分命令を挿入するための前記の代替的
な実施例を介して、さらに、利用者自体が増分命令を機械命令のシーケンスのな
か、または命令シーケンスのシーケンスのなかに挿入することが可能である。
他の利点および詳細は以下に図面により実施例を説明するなかで明らかになる
。その際に
図1は自動化システムのブロック回路図、
図2は同期化方法の原理、
図3は同期化方法の流れ図、
図4は挿入方法の原理、
図5および図6は挿入方法の流れ図を示す。
図1によれば、冗長性を有する自動化システム1は、図示されていない技術的
プロセスを制御かつ管理するために技術的プロセスと接続可能である少なくとも
2つの部分システム2、2’から成っている。各々の部分システム2、2’はプ
ロセッサ3、データメモリユニット4、命令シーケンスメモリユニット5ならび
に少なくとも1つの通信手段6を有する。その際にデータメモリユニット4およ
び命令シーケンスメモリユニット5は必ずしも冗長性を有する自動化システム1
の別々のユニットでなくてよい。
少なくとも2つの部分システム2、2’は通信手段6を介して、バス7を介し
て互いに、および図示されていない技術的プロセスと通信する。
データメモリユニット4のなかには少なくとも同期化カウンタSZ、SZ’の
値ならびに同期化カウンタ‐目標値SZZが記憶されている。命令シーケンスメ
モリユニット5のなかには少なくとも機械命令MPのシーケンスが記憶されてい
る。機械命令MPのシーケンスは2つの部分システム2、2’に対して少なくと
も機能的に同一である。図示されていない技術的プロセスを制御するため部分シ
ステム2、2’のプロセッサ3は命令シーケンスメモリユニット5の機械命令M
Pのシーケンスを実行する。
図2には少なくとも2つの部分システム2、2’に対する機械命令MPのシー
ケンスが示されている。その際に左側の機械命令MPのシーケンスは部分システ
ム2に対する機械命令MPのシーケンスであり、右側の機械命令MPのシーケン
スは相応して部分システム2’に対する機械命令MPのシーケンスである。
図2によれば、機械命令MPのシーケンスのなかに増分命令IAが挿入されて
いる。増分命令IAを用いてそれぞれの部分システム2、2’の同期化カウンタ
SZ、SZ’がインクレメントされる、すなわち1だけ高められる。機械命令M
Pのシーケンスのなかの矢印10、10’により示されている位置はそれぞれ、
特別事象11の生起の時点で現在実行される機械命令を示す。さらに、図2から
わかるように、部分システム2、2’の少なくとも1つが特別事象11を登録す
る。
図2によれば、この時点で部分システム2、2’が機械命令MPのシーケンス
の相い異なる機械命令を実行する。この時点での特別事象11の取扱は事情によ
っては自動化システム1の部分システム2、2’の不安定なデータに通じ得よう
。従って特別事象11の取扱の前に部分システム2、2’の同期化が必要である
。部分システム2に対しては同期化カウンタSZは特別事象11の生起の時点で
値
nを有する。部分システム2’に対しては同期化カウンタSZ’は特別事象11
の生起の時点で既に値n+1を有する。
同期化のためには、機械命令MPのシーケンスの実行の際に少なくとも1つの
他の部分システム2、2’よりも先行している部分システム2、2’が、他の部
分システム2、2’も機械命令MPの機能的に同一のシーケンスのなかの対応す
る位置に到達し終わるまで、機械命令MPのシーケンスの実行を中断しなければ
ならない。
機械命令MPのシーケンスのなかの直接的に対応する位置はそれぞれ増分命令
IAである。図2中に示されている状態では同期化カウンタSZ’は値n+1を
有する。同期化カウンタSZは値nを有する。部分システム2’の機械命令MP
のシーケンスの実行が現在の状態で停止され、他方において部分システム2のな
かの機械命令MPのシーケンスの実行が継続されると、同期化カウンタSZも値
n+1に到達するまで、それにもかかわらず同期化は到達されていないであろう
。
従って、両方の部分システム2、2’に同時に到達し得るすぐ次の増分命令I
Aは、同期化カウンタSZも同期化カウンタSZ’も値n+2をとる増分命令I
Aである。両方の部分システム2、2’が共通に到達し得る同期化カウンタSZ
、SZ’の値は同期化カウンタ‐目標値SZZと呼ばれる。その際に同期化位置
SPは機械命令MPのシーケンスのなかの、同期化カウンタSZ、SZ’の値が
同期化カウンタ‐目標値SZZに到達する増分命令IAの位置に一致する。
特別事象11を登録した後に、警報された部分システム2は、図3に示されて
いるように、同期化カウンタ‐目標値SZZを求めるために少なくとも1つの他
の部分システム2’にその同期化カウンタSZの値ならびに特別事象11を送る
。−これは特別事象11を伝達するための最も早い可能な時点である。最も遅く
ても特別事象は同期化信号SSの伝達と関連して伝達されなければならない−。
それにより少なくとも1つの他の部分システム2’が特別事象11の生起を報知
され、またその同期化カウンタSZ’の現在の値を送り、それを警報された部分
システム2が受ける。
それによって各々の部分システム2、2’はそれ自体の同期化カウンタSZの
値ならびに少なくとも1つの他の部分システム2、2’の同期化カウンタSZ’
の値を知る。同期化カウンタ‐目標値SZZは両方のインクレメントされた同期
化カウンタSZ、SZ’の最大値から生ずる。代替的に、先ず最大値を求め、ま
た同期化カウンタ‐目標値SZZをこの最大値をインクレメントすることにより
求めることももちろん可能である。
両方の部分システム2、2’は同期化カウンタSZ、SZ’の交換の後に機械
命令MPのシーケンスの実行を継続する。部分システム2、2’の1つが機械命
令MPのシーケンスの実行の際に同期化位置SPに到達し終わると、それは機械
命令MPのシーケンスの実行を中断する。同期化位置SPの到達は機械命令MP
のシーケンスの現在実行される命令のアドレスと同期化位置SPのアドレスと比
較することにより、もしくは−図3中に示されているように−同期化カウンタS
Z、SZ’の値の同期化カウンタ‐目標値SZZへの到達を監視することにより
認識され得る。
同期化位置SPに到達する各々の部分システム2、2’は少なくとも1つの他
の部分システム2、2’に同期化信号SSの伝達により同期化位置SPの到達を
信号する。警報された部分システム2、2’は少なくとも1つの他の部分システ
ム2、2’に特別事象11を最も早くても特別事象11の登録の直後に、また最
も遅くても同期化信号SSの伝達と関連して伝達する。
各々の部分システム2、2’は、それが同期化位置SPに到達し終わり、また
同期化信号SSを少なくとも1つの他の部分システム2、2’から受信し終わる
と直ちに、特別事象11に対して特有のリアクションを求め、またこれを実行す
る。特別事象11に対して特有のリアクションを実行した後に部分システム2、
2’は機械命令MPのシーケンスの実行を同期化位置SPの後で継続する。
既に冒頭に述べたように、特別事象11に対して特有のリアクションの実行の
ために同期化信号SSの交換または監視が必要でない場合もある。このような場
合には同期化位置SPの到達の際に特別事象‐特有のリアクションが直接的に実
行される。従って、図3による流れ図のなかで問い合わせ“SZ<SZZ?”と
“特別事象‐特有のリアクション”との間のブロックはオプションによるステッ
プであることを明示的に指摘しておく。このオプションによるステップは、正確
な時間的な同期が必要でなく、その代わりに特別事象‐特有のリアクションが正
確に同時では実行されなくても機械命令MPのシーケンスの機能的に同一の位置
において実行されれば十分であるときには常に省かれる。
本発明による同期化方法の代替的な実施例によれば、増分命令IAの代わりに
減分命令IAが機械命令のシーケンスのなかに挿入される。このような場合には
−同期化カウンタSZ、SZ’が0から出発してそれぞれ1だけインクレメント
される先の場合と同じく−同期化カウンタSZ、SZ’が出発値、たとえば32
767、から出発してそれぞれデクレメントされる。同期化方法はその際にこの
今やデクレメントされる同期化カウンタSZ、SZ’の評価のもとに完全の類似
の仕方で進行する。
図4はプログラム言語の命令シーケンスを例として増分命令IAの挿入方法を
示す。特に構造化されたプログラム言語に対していわゆる構造化チャートでのプ
ログラム進行の表示が価値を認められている。この構造化チャートから特にブロ
ック限界およびそれに伴って生ずる構造化が明らかになる。左側には簡単な構造
化チャートが概要を示されている。この構造化チャートは両ブロックB1および
B2から成っており、その際にブロックB1はたとえばいわゆる主プログラムを
、それに対してブロックB2は典型的にいわゆるサブプログラムを表している。
プログラムの実行は主プログラムB1のなかで開始する。主プログラムB1も
サブプログラムB2もそれぞれ独立したブロックを形成する。従って、それらは
ブロック命令のなかに埋め込まれている。主プログラムB1またはサブプログラ
ムB2の開始時におけるブロック命令はそれぞれブロックを開始し、主プログラ
ムB1またはサブプログラムB2の終了時におけるブロック命令はブロックを終
了する。またブロックの命令のなかで、たとえばループの際のようにたとえば多
数回繰り返すべき命令に対する別のブロックが生じ得る。サブプログラムB2は
主プログラムB1のなかにおいて内部のブロックから呼び出される。
図4は右側に、挿入された増分命令IAを有する生ずる構造化チャートを示す
。その際に、ブロックを開始する各々のブロック命令はブロック命令を開始する
ブロック命令および増分命令IAに変換される。その際に、ブロックを終了する
各々のブロック命令は増分命令IAおよびブロック命令を終了するブロック命令
に変換される。ブロック命令および増分命令IAの順序は図4中に示されている
順
序に制限されず、変更も可能である。また主プログラムB1の内部のブロックの
なかでサブプログラムB2を呼び出す命令は増分命令IAおよびサブプログラム
B2を呼び出す命令に変換される。
図5および図6はそれぞれ挿入方法の流れ図を示す。
図5は請求項6による挿入方法をグラフィカルに示す。先ず命令カウンタBZ
の値が初期化される、すなわち零にセットされる。それに続いて機械命令MPの
シーケンスの現在続く機械命令が求められる。機械命令が飛越し命令であるとき
にのみ、増分命令IAが機械命令MPのシーケンスのなかに挿入される。命令カ
ウンタBZが命令かうんたしきい値BZSを越えたときのみ、増分命令が機械命
令のシーケンスのなかに挿入され、それに続いて命令カウンタが再び零にセット
される。それにより求められた機械命令が機械命令MPのシーケンスのなかに挿
入される。機械命令の挿入に続いて命令カウンタBZがインクレメントされる、
すなわち1だけ高められる。なぜならば、機械命令MPのシーケンスの機械命令
の数がいま正確に1機械命令だけ増されているからである。処理は、すべての機
械命令が処理され終わるまで、すぐ次の機械命令を求めることにより継続される
。
図5による命令カウンタBZまたは命令カウンタしきい値BZSの代わりに実
行時間カウンタまたは実行時間カウンタ‐しきい値も使用され得る。実行時間カ
ウンタはそれぞれ挿入された機械命令の実行時間だけ高められる。実行時間カウ
ンタ‐しきい値は2つの増分命令IAの間の実行時間を予め定める。
図6は、そのインタープリテーションによりプロセス、特に技術的プロセス、
が制御される機械命令MPのシーケンスまたはプログラム言語の命令シーケンス
のシーケンスに関する請求項7による挿入方法を示す。増分命令IAを挿入する
ため機械命令MPのシーケンスまたは命令シーケンスのシーケンスが探索シーケ
ンスの生起に関して検査される。探索シーケンスが機械命令のシーケンスまたは
命令シーケンスのシーケンスのなかに見い出されたときにのみ、増分命令がこれ
のなかに挿入される。この挿入方法は機械命令のシーケンスまたは命令シーケン
スのシーケンスの検査により、これらが完全に検査されるまで、継続される。
最後になお表現“機能的に同一の”位置の意味を説明しておく。機械命令の機
能的に同一のシーケンスはたとえば同じ課題を記述する種々の高級言語のなかの
命令の翻訳(コンパイル)の結果として生ずる。さらに、機械命令の機能的に同
一のシーケンスは標準言語のなかの、この標準言語に対する相い異なるコンパイ
ラーにより変換された命令からのコンピレートの結果として生ずる。同じコンパ
イラーにより、ただしこのコンパイラーに対する相い異なるパラメータ、たとえ
ば相い異なる最適化ステップ、により処理された等しい課題を記述する同じ高級
言語からの命令の翻訳の結果も機械命令の機能的に同一のシーケンスを生ずる。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ゲーベル、アルフォンス
ドイツ連邦共和国 デー―91058 エルラ
ンゲン ペヒマンシュトラーセ 17
Claims (1)
- 【特許請求の範囲】 1.少なくとも2つの部分システム(2、2’)から構成された冗長性を有する 自動化システム(1)であって、少なくとも2つの部分システム(2、2’)が それぞれ少なくとも1つのプロセッサ(3)を有し、通信手段(6)を介して互 いに接続されており、プロセッサを制御するため機械命令(MP)の機能的に同 一のシーケンスを実行し、時々通信手段を介して互いに同期化するようになった 自動化システムに対する同期化方法において、 −部分システム(2、2’)の各々が同期化カウンタ(SZ、SZ’)を有し、 −機能的に同一の機械命令(MP)のシーケンスが互いに対応する位置に増分‐ または減分命令を有し、それにより同期化カウンタ(SZ、SZ’)がインク レメントまたはデクレメントされ、 −同期化が少なくとも、部分システム(2、2’)の1つ、警報された部分シス テム(2、2’)、が特別事象(11)を登録するときに実行され、 −その際にこの同期化が、各々の部分システム(2、2’)が、 a)他方の部分システム(2、2’)にその同期化カウンタ(SZ、SZ’) の現在の値を伝達し、 b)自らの同期化カウンタ(SZ、SZ’)のインクレメントまたはデクレメ ントされた値から、他方の同期化カウンタ(SZ、SZ’)のインクレメ ントまたはデクレメントされた値から、現在の最大または最小の値、同期 化カウンタ‐目標値(SZZ)を求め、 c)機械命令(MP)のシーケンスのなかの、それぞれの同期化カウンタ(S Z、SZ’)の値が同期化カウンタ‐目標値(SZZ)に到達する位置− 以下では同期化位置(SP)と呼ばれる−の到達の際に機械命令(MP) のシーケンスの実行を中断し、 d)特別事象(11)に対して特有のリアクションを求め、これを実行し、そ の後に同期化位置(SP)の後の機械命令(MP)のシーケンスの実行を 継続する というステップで進行し、 −その際に警報された部分システム(2、2’)が他方の部分システム(2、2 ’)に特別事象(11)を最も早くても特別事象(11)の登録の後に、また 最も遅くても特別事象(11)に対して特有のリアクションを求めたことと関 連して伝達する ことを特徴とする同期化方法。 2.少なくとも2つの部分システム(2、2’)から構成された冗長性を有する 自動化システム(1)であって、少なくとも2つの部分システム(2、2’)が それぞれ少なくとも1つのプロセッサ(3)を有し、通信手段(6)を介して互 いに接続されており、プロセッサを制御するため機械命令(MP)の機能的に同 一のシーケンスを実行し、時々通信手段を介して互いに同期化するようになった 自動化システムに対する同期化方法において、 −部分システム(2、2’)の各々が同期化カウンタ(SZ、SZ’)を有し、 −機能的に同一の機械命令(MP)のシーケンスが互いに対応する位置に増分‐ または減分命令を有し、それにより同期化カウンタ(SZ、SZ’)がインク レメントまたはデクレメントされ、 −同期化が少なくとも、部分システム(2、2’)の1つ、警報された部分シス テム(2、2’)、が特別事象(11)を登録するときに実行され、 −その際にこの同期化が、各々の部分システム(2、2’)が、 a)他方の部分システム(2、2’)にその同期化カウンタ(SZ、SZ’) の現在の値を伝達し、 b)自らの同期化カウンタ(SZ、SZ’)のインクレメントまたはデクレメ ントされた値から、および他方の同期化カウンタ(SZ、SZ’)のイン クレメントまたはデクレメントされた値から、現在の最大または最小の値 、同期化カウンタ‐目標値(SZZ)を求め、 c)機械命令(MP)のシーケンスのなかの、それぞれの同期化カウンタ(S Z、SZ’)の値が同期化カウンタ‐目標値(SZZ)に到達する位置− 以下では同期化位置(SP)と呼ばれる−の到達の際に機械命令(MP) のシーケンスの実行を中断し、 d)他方の部分システム(2、2’)に同期化信号(SS)により同期化位置 (SP)の到達を信号し、 e)同期化位置(SP)の到達後および同期化信号(SS)の登録後、特別事 象(11)に対して特有のリアクションを求め、これを実行し、その後に 同期化位置(SP)の後の機械命令(MP)のシーケンスの実行を継続す る というステップで進行し、 −その際に警報された部分システム(2、2’)が他方の部分システム(2、2 ’)に特別事象(11)を最も早くても特別事象(11)の登録の後に、また 最も遅くても特別事象(11)に対して特有のリアクションを求めたことと関 連して伝達する ことを特徴とする同期化方法。 3. −機械命令(MP)のシーケンスの各々の機械命令に機械命令(MP)のシーケ ンスのなかのその位置により一義的なアドレスが対応付けられており、 −機械命令(MP)のシーケンスの各々の機械命令のアドレス、特に現在実行す べき機械命令のアドレスならびに同期化位置と対応する機械命令のアドレスが 求められ、 −機械命令(MP)のシーケンスの実行の際に−少なくとも警報された部分シス テム(2、2’)による特別事象(11)の登録の後に−常に現在実行すべき 機械命令のアドレスが同期化位置(SP)と対応する機械命令のアドレスと比 較され、 −機械命令(MP)のシーケンスの実行が正確に同期化位置(SP)の到達の際 に中断される ことを特徴とする請求項1または2記載の同期化方法。 4. −機械命令(MP)のシーケンスの実行の際に−少なくとも警報された部分シス テム(2、2’)による特別事象(11)の登録の後に−常に同期化カウンタ (SZ、SZ’)の値が同期化カウンタ‐目標値(SZZ)と比較され、 −同期化カウンタ(SZ、SZ’)の値が同期化カウンタ‐目標値(SZZ)に 到達すると、機械命令(MP)のシーケンスの実行が中断される ことを特徴とする請求項1または2記載の同期化方法。 5.増分命令(IA)がそれぞれ少なくとも −機械命令(MP)のシーケンスの固定の数の個別命令の後にまたは−複数個の 機械命令の実行時間の評価のもとに−特定の本質的に等間隔の実行時間間隔で 、ないし −各々の飛越し命令と関連して、 実行されることを特徴とする請求項1ないし4の1つに記載の同期化方法。 6.増分命令(IA)がそれぞれ −機械命令(MP)のシーケンスの固定の数の個別命令の後にまたは−複数個の 機械命令の実行時間の評価のもとに−特定の本質的に等間隔の実行時間間隔で 、ないし −各々の飛越し命令と関連して、 機械命令(MP)のシーケンスのなかに挿入されることを特徴とする請求項1な いし5の1つに記載の同期化方法。 7. −機械命令(MP)のシーケンスがプログラム言語の命令シーケンスのシーケン スから発生され、 −機械命令(MP)のシーケンスまたは命令シーケンスのシーケンスが特定の機 械命令または特定の命令シーケンスに関して、特に機械命令(MP)のシーケ ンスの特定の部分シーケンスまたは命令シーケンスの特定の部分シーケンス− 以下では探索シーケンスと呼ばれる−に関して検査され、 −探索シーケンスの生起が認識され、 −増分命令(IA)が探索シーケンスの先頭に置かれ、またはこれに付け加えら れる ことを特徴とする請求項1ないし6の1つに記載の同期化方法。 8. −付属の命令シーケンスがそれぞれブロックのなかにまとめられており、 −探索シーケンスの1つが少なくともブロックの限界の1つおよび/または飛越 し命令である ことを特徴とする請求項7記載の同期化方法。 9. −増分命令(IA)が機械命令(MP)のシーケンスの発生の間にこれのなかに 挿入され、 −その際に機械命令(MP)のシーケンスの発生がそれ自体は公知の仕方で特別 なコンパイラーを用いて行われ、 −その際に特別なコンパイラーがそれぞれ探索シーケンスの認識の際に増分命令 (IA)を発生し、機械命令(MP)のシーケンスのなかに挿入する ことを特徴とする請求項8記載の同期化方法。 10. −増分命令(IA)が機械命令(MP)のシーケンスの発生の前および/または 後にこれのなかに挿入され、 −機械命令(MP)のシーケンスの発生がそれ自体は公知の仕方で標準的なコン パイラーを用いて行われ、 −発生の前および/または後にそれぞれ探索シーケンスの認識の際に増分命令 (IA)が機械命令(MP)のシーケンスまたは命令シーケンスのシーケンス のなかに挿入される ことを特徴とする請求項8または9記載の同期化方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19625195.8 | 1996-06-24 | ||
DE19625195A DE19625195A1 (de) | 1996-06-24 | 1996-06-24 | Synchronisationsverfahren |
PCT/DE1997/001109 WO1997050024A1 (de) | 1996-06-24 | 1997-06-03 | Synchronisationsverfahren |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000513468A true JP2000513468A (ja) | 2000-10-10 |
Family
ID=7797824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10502054A Pending JP2000513468A (ja) | 1996-06-24 | 1997-06-03 | 同期化方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6356795B1 (ja) |
EP (1) | EP0907912B1 (ja) |
JP (1) | JP2000513468A (ja) |
KR (1) | KR20000022171A (ja) |
CN (1) | CN1228173A (ja) |
AT (1) | ATE192583T1 (ja) |
DE (2) | DE19625195A1 (ja) |
ES (1) | ES2146474T3 (ja) |
WO (1) | WO1997050024A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247143B1 (en) | 1998-06-30 | 2001-06-12 | Sun Microsystems, Inc. | I/O handling for a multiprocessor computer system |
DE19834331A1 (de) * | 1998-07-30 | 2000-02-10 | Bosch Gmbh Robert | Sicherheitsvorrichtung für eine speicherprogrammierbare Steuerung |
DE19836347C2 (de) * | 1998-08-11 | 2001-11-15 | Ericsson Telefon Ab L M | Fehlertolerantes Computersystem |
US6941175B2 (en) * | 2000-12-27 | 2005-09-06 | Siemens Aktiengesellschaft | Method of operating an industrial controller |
DE10065417B4 (de) * | 2000-12-27 | 2011-07-21 | Siemens AG, 80333 | Programmierung von zyklischen Maschinen |
FI113113B (fi) * | 2001-11-20 | 2004-02-27 | Nokia Corp | Menetelmä ja laite integroitujen piirien ajan synkronoimiseksi |
EP1398701A1 (de) * | 2002-09-12 | 2004-03-17 | Siemens Aktiengesellschaft | Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme |
EP1398699A1 (de) * | 2002-09-12 | 2004-03-17 | Siemens Aktiengesellschaft | Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme |
CN100380258C (zh) * | 2002-09-16 | 2008-04-09 | 罗伯特-博希股份公司 | 运行至少两个相互连接的控制器的方法和计算系统 |
CN1303544C (zh) * | 2003-05-16 | 2007-03-07 | 浙江中控技术股份有限公司 | 自动进行开关量事件先后顺序记录的系统及其方法 |
JP2005006037A (ja) * | 2003-06-12 | 2005-01-06 | Nec Corp | メディア同期システム及びそれに用いるサービス提供方法 |
US7665070B2 (en) * | 2004-04-23 | 2010-02-16 | International Business Machines Corporation | Method and apparatus for a computing system using meta program representation |
US7353365B2 (en) * | 2004-09-29 | 2008-04-01 | Intel Corporation | Implementing check instructions in each thread within a redundant multithreading environments |
US8190877B2 (en) * | 2005-07-05 | 2012-05-29 | Viasat, Inc. | Trusted cryptographic processor |
US8527741B2 (en) * | 2005-07-05 | 2013-09-03 | Viasat, Inc. | System for selectively synchronizing high-assurance software tasks on multiple processors at a software routine level |
US7802075B2 (en) * | 2005-07-05 | 2010-09-21 | Viasat, Inc. | Synchronized high-assurance circuits |
US8301870B2 (en) * | 2006-07-27 | 2012-10-30 | International Business Machines Corporation | Method and apparatus for fast synchronization and out-of-order execution of instructions in a meta-program based computing system |
US8037355B2 (en) * | 2007-06-07 | 2011-10-11 | Texas Instruments Incorporated | Powering up adapter and scan test logic TAP controllers |
JP4697314B2 (ja) | 2009-02-05 | 2011-06-08 | 横河電機株式会社 | 二重化フィールド制御装置 |
CN101916068B (zh) * | 2010-07-29 | 2012-01-11 | 北京交大资产经营有限公司 | 基于2取2结构的计算机控制系统及其实现方法 |
DE102010039607B3 (de) * | 2010-08-20 | 2011-11-10 | Siemens Aktiengesellschaft | Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems |
GB2497017B (en) * | 2010-08-20 | 2018-05-23 | Siemens Ag | Method for redundantly controlling processes of an automation system |
BE1020023A5 (nl) * | 2011-01-28 | 2013-04-02 | Niko Nv | Systeem en werkwijze voor het aansturen van producten. |
US8880198B2 (en) * | 2011-08-23 | 2014-11-04 | Siemens Aktiengesellschaft | Byzantine fault-tolerant SCADA system |
EP2615511A1 (de) * | 2012-01-12 | 2013-07-17 | Siemens Aktiengesellschaft | Verfahren zur synchronen Ausführung von Programmen in einem redundanten Automatisierungssystem |
EP2657797B1 (de) * | 2012-04-27 | 2017-01-18 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines redundanten Automatisierungssystems |
DE102012106601A1 (de) | 2012-07-20 | 2014-05-15 | Pilz Gmbh & Co. Kg | Verfahren zum Synchronisieren von Anzeigeelementen |
US9256426B2 (en) * | 2012-09-14 | 2016-02-09 | General Electric Company | Controlling total number of instructions executed to a desired number after iterations of monitoring for successively less number of instructions until a predetermined time period elapse |
EP2765464A1 (de) | 2013-02-08 | 2014-08-13 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines redundanten Automatisierungssystems |
EP2857913B1 (de) * | 2013-10-01 | 2019-04-24 | Siemens Aktiengesellschaft | Redundantes Automatisierungssystem |
EP3229141A1 (de) | 2016-04-07 | 2017-10-11 | Siemens Aktiengesellschaft | Verfahren zur erhöhung der verfügbarkeit eines redundanten automatisierungssystems sowie redundantes automatisierungssystem |
EP3246771B1 (de) | 2016-05-17 | 2021-06-30 | Siemens Aktiengesellschaft | Verfahren zum betreiben eines redundanten automatisierungssystems |
EP3428748B1 (de) * | 2017-07-13 | 2020-08-26 | Siemens Aktiengesellschaft | Verfahren und anordnung zum betrieb von zwei redundanten systemen |
EP3751363B1 (de) | 2019-06-11 | 2022-11-23 | Siemens Aktiengesellschaft | Verfahren zum betreiben eines redundanten automatisierungssystems und entsprechendes system |
EP3872583B1 (de) | 2020-02-26 | 2023-07-19 | Siemens Aktiengesellschaft | Redundant ausgelegtes automatisierungssystem |
EP3872582A1 (de) | 2020-02-26 | 2021-09-01 | Siemens Aktiengesellschaft | Redundant ausgelegtes automatisierungssystem |
TWI782316B (zh) * | 2020-08-24 | 2022-11-01 | 達明機器人股份有限公司 | 作業程序同步的方法 |
EP4428633A1 (de) | 2023-03-08 | 2024-09-11 | Siemens Aktiengesellschaft | Verfahren zum betreiben eines redundanten automatisierungssystems und redundantes automatisierungssystem |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4674036A (en) * | 1984-11-23 | 1987-06-16 | Gte Communication Systems Corporation | Duplex controller synchronization circuit for processors which utilizes an address input |
AU616213B2 (en) | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
DE58908047D1 (de) * | 1989-04-25 | 1994-08-18 | Siemens Ag | Verfahren zur Synchronisation von Datenverarbeitungsanlagen. |
EP0497147A3 (en) * | 1991-01-28 | 1993-05-05 | Siemens Aktiengesellschaft | Redundant automation system |
DE4104114C2 (de) * | 1991-02-11 | 2000-06-08 | Siemens Ag | Redundantes Datenverarbeitungssystem |
EP0616274B1 (de) * | 1993-03-16 | 1996-06-05 | Siemens Aktiengesellschaft | Synchronisationsverfahren für Automatisierungssysteme |
DE4401467C2 (de) * | 1993-03-25 | 1996-12-12 | Siemens Ag | Betriebsverfahren für ein redundant aus mindestens zwei Teilsystemen aufgebautes Automatisierungssystem |
DE4405297C2 (de) * | 1994-02-19 | 1997-06-05 | Bosch Gmbh Robert | Verfahren zur Synchronisation von Sendeeinrichtungen in Zugangseinheiten bei einem getakteten Bussystem |
-
1996
- 1996-06-24 DE DE19625195A patent/DE19625195A1/de not_active Withdrawn
-
1997
- 1997-06-03 KR KR1019980710589A patent/KR20000022171A/ko not_active Application Discontinuation
- 1997-06-03 AT AT97930299T patent/ATE192583T1/de not_active IP Right Cessation
- 1997-06-03 WO PCT/DE1997/001109 patent/WO1997050024A1/de not_active Application Discontinuation
- 1997-06-03 CN CN97197275A patent/CN1228173A/zh active Pending
- 1997-06-03 JP JP10502054A patent/JP2000513468A/ja active Pending
- 1997-06-03 DE DE59701592T patent/DE59701592D1/de not_active Expired - Lifetime
- 1997-06-03 ES ES97930299T patent/ES2146474T3/es not_active Expired - Lifetime
- 1997-06-03 EP EP97930299A patent/EP0907912B1/de not_active Expired - Lifetime
- 1997-06-03 US US09/202,672 patent/US6356795B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
WO1997050024A1 (de) | 1997-12-31 |
KR20000022171A (ko) | 2000-04-25 |
DE19625195A1 (de) | 1998-01-02 |
US6356795B1 (en) | 2002-03-12 |
CN1228173A (zh) | 1999-09-08 |
EP0907912B1 (de) | 2000-05-03 |
DE59701592D1 (de) | 2000-06-08 |
ATE192583T1 (de) | 2000-05-15 |
ES2146474T3 (es) | 2000-08-01 |
EP0907912A1 (de) | 1999-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000513468A (ja) | 同期化方法 | |
US6308318B2 (en) | Method and apparatus for handling asynchronous exceptions in a dynamic translation system | |
EP0057788B1 (en) | Data processing system with external microcode control unit | |
US4763296A (en) | Watchdog timer | |
US5390103A (en) | Synchronized programmable controller and method of controlling the same | |
JP2003529819A (ja) | 自動化装置および更新方法 | |
JPH02202642A (ja) | プログラム動作監視装置 | |
US20030018680A1 (en) | Smart internetworking operating system for low computational power microprocessors | |
JP2877095B2 (ja) | マルチプロセッサシステム | |
Wang | Establish a globally consistent order of discrete events in distributed robotic systems | |
EP0417916B1 (en) | Procedure state descriptor system for digital data processors | |
JPH07182170A (ja) | マイクロプロセッサ | |
US5640514A (en) | Synchronization method for automation systems | |
US6941175B2 (en) | Method of operating an industrial controller | |
US6496975B1 (en) | Method, system, and program for performing conditional program operations | |
JP3015793B1 (ja) | プログラマブルコントロ―ラ | |
JP2880658B2 (ja) | マルチタスクプログラムの暴走検出装置 | |
JPS6226487B2 (ja) | ||
JPH03156659A (ja) | ダイレクトメモリアクセスコントローラ | |
JPH06348548A (ja) | プログラム記憶式制御装置の監視方法および装置 | |
JPH0353370A (ja) | 情報処理装置の並列処理装置 | |
JPH06222960A (ja) | Cpuリセット回路 | |
EP0266799A2 (en) | Single chip microcomputer having multi-timer function | |
JPS58107970A (ja) | マイクロプロセツサの動作監視方式 | |
JPS63101937A (ja) | 命令実行監視装置 |