JP3731186B2 - システムアーキテクチャ - Google Patents
システムアーキテクチャ Download PDFInfo
- Publication number
- JP3731186B2 JP3731186B2 JP52388796A JP52388796A JP3731186B2 JP 3731186 B2 JP3731186 B2 JP 3731186B2 JP 52388796 A JP52388796 A JP 52388796A JP 52388796 A JP52388796 A JP 52388796A JP 3731186 B2 JP3731186 B2 JP 3731186B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- program package
- prog
- system architecture
- program
- 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 - Lifetime
Links
Images
Classifications
-
- 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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1637—Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
-
- 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/406—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 monitoring or safety
- G05B19/4063—Monitoring general control system
-
- 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/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
- Storage Device Security (AREA)
Description
過去においてはこのような場合には、リレーや保護機器が比較的確実な制御手段であるという考えのもとに、主にリレー技術に信頼が置かれてきた。もっともこの方式ではリレーがその機能の面で交互に監視ないしは検査されるために、過剰なほどの検査プログラムの類を準備する必要があった。例えば偏心プレスなどの比較的単純な制御用でさえこのリレーのコストは必要なスペースからすると莫大なものであった。エラーを検知したり、エラーの検知の際に装置を安全な側に停止させるような複雑で確実な制御方式は、スペースの制約からリレー技術では実用化していない。
従って、電子部品は状況によっては外部の影響をより受けやすく、また複合的エラーも起こりやすいことが分かっていたにもかかわらず、電気機械部品の代わりに電子部品を用いた制御装置を構築する方向が取られた。そしてこの問題点を少しでも克服するために、チャネルが互いに監視し合う制御装置が多重チャネルの仕様で作られた。
さらに自動化が進んだため、マイクロプロセッサによる制御への移行が必要になっているが、これにはエラーのもう一つの特性、つまりソフトウエアのエラーという問題が加わった。
しかし、マイクロプロセッサやプログラムを使った制御方式は、ユーザがその制御機構を拡張したり、状況によっては安全性と関係のない他の機械や機械の動作をその制御機構内に組み込むことが同時に可能となる場合にしか意味を持たない。この場合必ずしも信頼できるとはいえない諸々の機能を制御するこのプログラムの一部によって、信頼しうる機能を監視するプログラム部分が影響を受けることは絶対に避けなければならない。さもなければその原因を実際には見つけ出せないような重大なトラブルに到ることもあり得るだろう。というのはこれらのトラブルは状況によってはある決まった入力信号の時間的相関関係に依存しているためである。
それに加えて、1つのプロセッサ上でいくつかのプログラムを時間的に重畳して実行させることは、ツィルカー著「マルチタスクの実際」、フランツィス出版社(1987)、11乃至14ページに記載されているように、技術水準に属する。これにおいては、相互に交換されるプログラムが予め定められた時間後、インタラプトにより、任意にプロセッサを、例えば、システム中心部に戻し、その後プロセッサがそのプロセッサの作動に似たプログラムに基づいて作動開始をするように、プログラムが書かれている。
いわゆる禁止−入力部で、コンピュータ操作装置内の構成要素又は1群の構成要素の作動を停止して、これらの構成要素が、例えば、バスラインに乗せられて他の構成要素を指定する情報を受けるのを防止するようになっている。このような操作については、例えば、ウイリアムズ著「マイクロプロセッサベースのシステムのトラブルシューティング」、パーガモンプレス社(1984)、9乃至12ページに記載されている。
更にまた、米国特許第4484270号から、多数のデータ処理システムを予め備えた中央制御装置が知られている。各データ処理システムは、更にユニットに分けられ、これらユニットの各々から一つのデータ処理システムの特徴が得られるようになっている。これらすべてのユニットはインターフェースシステムを介して共通の周辺機器に接続されている。
このような現状に基づいて、本発明の課題は、安全点検されないプログラムが安全点検されたプログラムの進行に望ましくない影響を与えたり、あるいは妨害する危険性が発生することなく、点検されたプログラムとされないプログラムを一台のプロセッサ上で実行させることが可能なシステムアーキテクチャを提供することである。
この課題は発明の趣旨に則って請求項1の特徴を有するシステムアーキテクチャにより解決される。
電気のコスト及び構成部材のコストから考えて、2つの異なるプログラムを1台のプロセッサで実行させることは有意義である。この場合、2つのプログラムパッケージが互いに相互作用を行うために1つの制御部が常に存在するのが望ましい。抑止入力を持った周辺機器の利用によって、第1のプログラムパッケージがその内容を知らないコマンドを、第2のプログラムパッケージが周辺機器に絶対に出力できないように安全対策を講じることは可能である。例えば第1のプログラムパッケージが信頼しうる検証されたプログラムパッケージである場合に、このプログラムパッケージが第2のプログラムパッケージにプロセッサまたはコンピュータの中心部を引き渡す前に、このプログラムパッケージは、第2のプログラムパッケージに割り付けられ、そのプログラムパッケージからのみ命令を受ける周辺機器を、周辺機器がその入出力部で何の命令も受取らない状態に切替える。この場合、この周辺機器のレジスタへの読取りアクセスは完全に受入れ状態のままにある。この周辺機器のブロッキングの後、第2のプログラムパッケージがプロセッサもしくはコンピュータ中心部を受け取った場合、第2のプログラムパッケージはその時点で大抵の場合は自ら起動することができる。もしプログラムエラーあるいはその他のエラーにより第2のプログラムパッケージが規格に合致しない方法で第1のプログラムパッケージの周辺機器に書き込みアクセスしようとする場合、ブロックされた周辺機器はそこに送られた入力を無視し実行しないであろう。
まだ発生するかも知れない唯一のエラーは、第2のプログラムパッケージが抑止信号を取り消し、それにより第1のプログラムパッケージに属する当該の周辺機器が第2のプログラムパッケージの命令に間違って従うことである。
けれども第2のプログラムパッケージが、プログラムの対応箇所に到達したために自発的にあるいは外部からの妨害により必然的にプロセッサを解放した直後、第1のプログラムパッケージは抑止ラインの状態を確かめることにより第2のプログラムパッケージのこの敵対的関係を知らされる。この場合もし第1のプログラムパッケージが抑止ラインでの操作を識別するようであれば、第1のプログラムパッケージは秩序正しい方法でこのシステムアーキテクチャに属する全体のシステムを停止させることができる。
この新しいシステムアーキテクチャは安全性をできるだけ高めるために、さらに他の安全手段を付加される。この点において、上述のシステムアーキテクチャは、安全と見なされるシステム全体の一部であって、システムの安全性は隣接チャネル及びそのデータの相互の照会及び検査により安全に保護される。
用途に応じて、第1の周辺機器は専ら第1のプログラムパッケージに割り付けられるか、または、第1の周辺機器の一部が少なくとも、有効な方法で両方のプログラムパッケージから書き込みと読み込み、あるいはそのどちらかによってアクセスされる周辺機器になることもあり得る。
2つのプログラムパッケージが互いにどのように配置されるかによって、両方のプログラムパッケージが相互に通信できる記憶領域を持つことは望ましい。両方のプログラムパッケージは順次プロセッサを使用し、同時に作動し得ないからである。従ってこれらプログラムパッケージは通信やデータが取り交わせる共通の「メールボックス」を必要とする。
プログラムパッケージの連絡に用いられる記憶部分は主として第2の記憶装置内に収められていることが望ましい。それにより第1の記憶装置内にある第1のプログラムパッケージのデータや命令が第2のプログラムパッケージのエラー挙動によって影響されないように確実に保証される。
第1の記憶装置が専ら第1のプログラムパッケージに割り付けられている場合は、特に信頼性の高いシステムが実現する。同様なことは基本的に第2のプログラムパッケージに対しても成り立つので、もう一つの記憶領域がプログラムパッケージのための連絡領域として用意される。
他の処置によってある特定のエラーが識別できる場合には、両方の記憶装置をハードウエアによって一つの記憶装置に収納し、アドレスを通してだけ互いを区別することができる。またこれとは反対に記憶装置へのアドレス指定のエラーが予想されたり、あるいは記憶部分にその他のエラーが心配される場合には、両方の記憶装置に対してハードウエアにより分けられた記憶装置を使用すれば有効である。つまり第1と第2の記憶装置は別々のメモリーチップに収納される訳である。
第1のプログラムパッケージがより高い優先順位を持っている。つまりこのプログラムパッケージは、制御機能を実行するために、第2のプログラムパッケージの規格に合致しない挙動の場合でさえ規定の時間内にプロセッサを取り戻さなければならない。しかし第2のプログラムパッケージがエンドレスループに捉えられ、そしてこのプログラムパッケージが自発的にプロセッサに応答するプログラム箇所にもはや到達しない場合には、状況次第ではそうならないことがある。このようなエラーをなくすために、プロセッサには主にタイマーをつないだ割り込み制御が設けられる。これによりプロセッサは強制的に第2のプログラムパッケージを取り除くことができるようになり、第1のプログラムパッケージが再びプロセッサを獲得する。
第1のプロセッサと平行して、第1のプログラムパッケージに類似したプログラムが走るもう一つのプロセッサが少なくとも1つ存在し、結果に違いがあれば被制御装置を有効で安全な方法で停止させるために、両方のプロセッサまたはプログラムパッケージが常にデータや計算結果を互いに比較できればシステム全体の安全性はさらに高まる。
例えば、両方のプログラムコードは異なった形態になっているが、プログラムパッケージに配分されたプロセッサの周辺機器から見た第3のプロセッサ上で動くプログラムパッケージは、その周辺機器から見た第1のプログラムパッケージと同じ挙動を示すことがある。この異なったプログラムコードの形態は、第1と第2のプロセッサが例えばレジスタ長または使用できるコマンドの面で異なっている場合は、必然的に得られることになる。
最後に、第1のプログラムパッケージがプロセッサを占有していない時に、第2のプログラムパッケージが不当に抑止入力部の信号を変更して、周辺機器のデータを変更したかどうかを検査するために、別のプロセッサを併用することができる。第1のプログラムパッケージは復帰後、周辺機器からデータを読み、第3のプログラムパッケージがその周辺機器から得たデータと比較することができる。そこに違いが発生したら直ちにシステムは再び被制御機械を停止させることができる。
その他の点では本発明の発展的形成は従属請求項の主題である。さらに従属請求項は任意に組合せできることが容易に分かる。他のシステム環境の構成は新しいシステムアーキテクチャに対して重要な役割をここでは全くあるいは殆ど果たしていない。
図面には本発明の主題の実施態様が下記のように示されている。
図1は、新規なシステムアーキテクチャのブロックダイアグラム、
図2は、第1のプロセッサ上で動作する両プログラムパッケージの時経的挙動を示す図である。
図1のブロックダイアグラムにはプロセス制御のための新しいシステムアーキテクチャ1が図解されている(制御されるプロセス自体は図示されていないが、工作機械でも化学プラントあるいはこれの類でもよい)。このシステムアーキテクチャ1は第1のプロセッサ2と第2のプロセッサ3を有し、通信ライン4を通して互いに接続されている。プロセッサ2には同じく通信ライン6及び7を通じて2つの互いに分離された記憶装置4と5が接続されている。この2つの記憶装置4と5は物理的に分離されたハードウエアの記憶モジュールとして形成されている。
少なくとも第1のプロセッサ2は、時計またはタイマー9が接続された入力部8を備える割込制御部を備えている。
選択されたプロセッサのアーキテクチャによっては、タイマー9はプロセッサ2自体の構成要素であってもよい。
バスシステムまたは対応する通信ライン11を経由して第1のプロセッサ2には、周辺機器の2つのグループ12と13が接続されている。
ここで周辺機器というのは、工程又は機械の制御において、プロセス制御のために使用されるハードウエアをいう。この場合、制御されるプロセスの情報を制御部にただ報告するだけの周辺機器と、例えば、リレー、電磁バルブ、電気機械的連動装置を作動させることにより、制御命令をプロセスの状態変化に変換する周辺機器とは区別される。
単に制御部にのみ情報を伝達する周辺機器の例として、例えば温度や位置の情報を制御部に伝える周辺機器12aを示す。この場合、ブロックで囲んだ部分は、物理的信号を通信線11と第1のプロセッサ2の当該の入力接続端子からなるインタフェースに適合する電気量に変換するために不可欠なすべての必要なハードウエアを表すものとする。周辺機器12aに対して基本的に読取りを行うアクセスは、周辺機器12aの内部に状態変化を引き起こす書込みアクセスも可能であることを意味しない。第2の周辺機器12bは、第1のプロセッサ2から通信線11を経て送られる情報又は命令を物理的量に変換するすべての周辺機器を表す。例えば、インタフェース12bを介して、概略図で示唆した電磁弁14を操作することによって、実行中の被制御プロセスを直接制御する。その他の電気機械的変換装置、例えば直流又は交流電動機、加熱装置、点火装置等もこの周辺機器となりうる。
2つの周辺機器12aと12bの間の破線15は、さらに多くの周辺機器が存在しうること、そして原則的には周辺機器12aと12bだけが存在していることを示唆する。
2つの周辺機器12a及び12bは通信線11の他に抑止入力部16a又は16bを夫々備えており、これらの抑止入力は共通の抑止線17に接続されている。抑止線17は抑止入力16a及び16bと第1のプロセッサ2の当該の入出力ポート18を連絡する。
周辺機器群の第2グループは第1のグループに類似した構成になっている。つまりこれもまた情報を第1のプロセッサ2に供給する周辺機器と、第1のプロセッサ2の命令を然るべき物理的あるいは電気的量に変換する周辺機器とから成っている。第2グループ13のこれら周辺機器13aと13bは、制御対象プロセスの方向における出力側では周辺機器12aと12bとは異なっている。
第2のプロセッサ3は冗長度を高めるために使われる。そのためにこのプロセッサは第1のプロセッサ2とハード面で異なっている。つまり第2のプロセッサは例えば他の命令文と別のレジスタ長を持っている。さらにこれは独自のチップ内に収められているか、あるいは時には独自の導体基板上に配置されることもある。両方のプロセッサ2と3が当該の周辺機器12もしくは13を経由して同じ出力命令を出す場合にプロセスまたは機械の状況変化が初めて行われるように、第2のプロセッサ3は、通信ライン19を通してそのプロセッサに割り当てられた記憶装置20と、またほかの通信ライン22を経由して固有の一組の周辺機器群23とつながれている。これらの周辺機器群は、制御すべきプロセスの視点から第1のグループ12の周辺機器12aと12bと同じ機能を持っていて、さらに場合によっては命令の形式に関する限り、プロセスに向かって出力側でAND結合されている。
新しいシステムアーキテクチャ1により2種類のプログラムパッケージを実行させることが可能である。この場合、一つのプログラムパッケージは検証され安全点検されたプログラムパッケージであり、もう一つの第2のプログラムパッケージは安全性に対してそれほど高くない要求が課せられているプログラムパッケージである。プログラムデータが周辺機器23からのものでないかあるいはそこで保持されている限り、信頼しうるプログラムパッケージはプロセッサ3にも対応物が配置され、また専ら記憶装置21内にのみ存在する対応するプログラムによって実現される。
第1のプロセッサ2では、制御されるプロセスの安全性にとって重要なプログラムパッケージ(以下第1のプログラムパッケージと称す)が実行される。制御されるプロセスの安全性にとって決定的ではない第2のプログラムパッケージも同様である。第1のプログラムパッケージは記憶装置4に収められている1つのプログラムあるいは1組のプログラムにより実現される。同様に、1つのプログラム又は1組のプログラムからなる第2のプログラムパッケージとも記憶装置5に格納されている。
第1のプログラムパッケージは安全点検されているので、第2のグループ12の周辺機器に応答したり、また周辺機器を経由して制御されるプロセスないしは機械に積極的にアクセスし、そこで状況変化を生じさせる命令を出力する権能を有し、またそうなるように設計されている。このような周辺機器の具体例の1つが周辺機器12bである。
また、第1のプログラムパッケージはプロセスからの情報を、例えば周辺機器12aからプログラムパッケージに伝達する周辺機器12へのアクセスする。
さらに詳しく記述するためにまず、第2のプログラムパッケージは専ら第2グループ13の周辺機器と共に作動する、つまり第1のグループ12からデータを受取ることもなく、また第1のグループ12のこの周辺機器に書込みアクセスもしないものと仮定する。この仮定は第2のプログラムパッケージのためのエラーのないコンセプトに対して、またこのエラーのないコンセプトがエラーを伴わずに当該のプログラムに組み入れられるという条件の下で適用される。
さらなる機能と動作の以下の説明では、プログラムパッケージに対する初期設定局面がすでに終了して、システムが通常操作にあると仮定しよう。この状況下では第1のプロセッサ2で第1と第2のプログラムパッケージが周期的に交互に動作する。上のクロスバーに「Prog.I」と表示されるように、第1のプログラムパッケージがアクティブになっているとき、つまり制御すべきプロセスからデータを受け取り、また必要ならば、然るべき命令をプロセスに出す時点でその動作が観察される。同時に、この間、第1のプログラムパッケージは、絶えずその測定および計算したデータを、第2のプロセッサ3上で動くプログラムパッケージが周辺機器から受取ったりあるいは得られたデータから計算した然るべきデータと比較する。この比較によって相違がないことが示されると、システムは継続して動作する。しかし、2つのプロセッサ2と3が食い違いを検出すると、あらかじめ決められたルーチンに従って直ちにプロセス全体が停止される。
そうでない場合、つまり両方のプロセッサ2と3のデータ比較によってエラーが検知されない場合、第1のプログラムパッケージは制限時間内に、第1のプログラムパッケージがプロセッサ2をもはや必要としない場所に到達する。この場所に達するとまず第2のプログラムパッケージから然るべき出力部分18を通して第1グループ12の周辺機器群の抑止入力部16aと16bには抑止信号が発せられる。これにより第1グループ12の周辺機器群は、通信ライン11を経由して送られてくるかもしれない、そして自分の状態を変化させるかもしれない書込み信号を無視する状態になる。けれども周辺機器もしくは付属のインターフェースカードが通信ライン11を経てデータを問い合わせるという意味での読取りアクセスは可能である。
第1のプログラムパッケージがその抑止信号をその周辺機器12に発信した後、そのプログラムパッケージは第1のプロセッサ2を解放する。第1のプログラムパッケージによる第1のプロセッサ2の解放により、記憶装置5に収められている第2のプログラムパッケージが第1のプロセッサ2を受取り、そしてそれにより第2のプログラムパッケージに割り付けられた周辺機器13を操作する能力を獲得する。第2のプログラムパッケージがエラーなしに作動すると仮定すると、このプログラムパッケージは、第1のプログラムパッケージに割り付けられている周辺機器12に書き込みアクセスを行わない。即ち、状態変化を行わない。しかし、第2のプログラムパッケージがプログラムエラーまたはその他のエラーによりこれを行うかもしくは試みたとしても、書き込みアクセスは何の働きもしない。その理由は、抑止入力16aと16bから周辺機器12は書き込みアクセスに対してブロックされているためである。
あらかじめ設定された時間が経過する前に、第2のプログラムパッケージは自主的に第1のプロセッサ2を引き渡すプログラム箇所に達する。そのあと第1のプロセッサ2は再び第1のプログラムパッケージをスタートさせることができる。この第1のプログラムパッケージは先ず、周辺機器12が以前と同様抑止信号を持っているかどうかを調べる。次に第1のプロセッサが再びその周辺機器12と正常に通信できるように抑止信号が解除される。それから第1のプロセッサ2の第1のプログラムパッケージと第2のプロセッサ3上で動くプログラムパッケージとの間でデータ比較が行われ、この比較で違いがないことが示されると、第1のプログラムパッケージは第1のプロセッサ2で正常に実行される。
これに対して第1のプログラムパッケージの再始動の際、このプログラムパッケージは抑止信号がもはや存在しないことを確認すると、第1のプログラムパッケージは、第2のプログラムパッケージが規格に合致した挙動をしなかったものとして、また無効動作によって制御命令を然るべき周辺機器12を通して伝達しようとしたものとしてスタートする。これは危険なエラー挙動であるので、そのあと直ちに制御されたプロセスが停止する。
第2のプログラムパッケージのもう一つのエラーは、その間に書込みアクセスができるように、第2のプログラムパッケージが抑止信号を消してそのあと再び書込むことに原因があることも考えられる。第1のプログラムパッケージのデータと、プログラムパッケージが第2のプロセッサ3で保持しているデータとの比較によりこのようなエラー挙動を検出する。それによって安全技術面で全く検査を受けていない第2のプログラムパッケージが、概念的エラーあるいはそれ以外のエラーのために安全技術の検査をされた第1のプログラムパッケージを妨害しないことが非常に高い信頼度でもって保証されている。それにもかかわらず2つのプログラムパッケージは一つのプロセッサ上で動くことができ、また場合によっては当該のプロセッサの方向にデータを伝達するのみの周辺機器を共用することさえできる。第2のプログラムパッケージを作成するユーザは安全技術面のすべての命令実行サイクルを第1のプログラムパッケージに収納すれば、複雑なエラー解析やエラールーチン作成の手間をセーブすることができ、また複雑なエラー解析はこのプログラムパッケージに対してだけ行えばよい。第2のプログラムパッケージの追加的な変更も、新しいシステムアーキテクチャのプログラミングがはるかに簡易化されているために簡単に行える。特に、監督官庁は第1のプログラムパッケージを含むハードだけを試験したり受入検査すれば十分である。この2分割がなかったら、安全性に関係のない命令列の比較的小さな変更を行っても、必ず監督官庁による新たな検査がユーザに義務づけられるであろう。
上述の方法で第1と第2のプログラムパッケージは第1のプロセッサ2の上で常に入れ替わる。この場合2つのプログラムパッケージはタイムシェアリング機能に基づき第1のプロセッサを獲得し、エラーが無いという前提で、このプロセッサをタイムスライス内で自発的に引き渡す。けれども両方のプログラムパッケージのうちの一つがエンドレスループに迷い込んだ場合は、プロセッサ2が復旧する前にタイマー9が作動し、そのあと割込み入力部8で割込みを行う。これをきっかけとしてそのとき動いているプログラムパッケージを打切るアラームルーチンへプロセッサを移行させ、エラーが発生した箇所が安全に関係した部分なのかあるいは関係しない部分なのかにより、エラーメッセージだけを発するかあるいはシステムを並列的に停止させる。
最後に、例えば信頼のない第2のプログラムパッケージが、第1の信頼しうるプログラムパッケージが計算したデータを必要とする場合、両方のプログラムパッケージを共通の記憶域25を通して互いに通信させることは可能である。従って第1のプログラムパッケージの危険性をなくすために、連絡領域は、第2のプログラムパッケージが存在し、そのプログラムパッケージがデータを保持している記憶装置5に移される。これによって連絡に用いられるこの記憶域25への誤った書込みアクセスは、検証されたプログラムパッケージを侵害するようなことはない。
このシステムアーキテクチャは、少なくとも2個のプロセッサを使用する。これらのプロセッサは1つのプロセスを共同で制御し、そのデータを絶えず互いに比較する。2つのプロセッサの一方では、可能な誤りに関して検査されたプログラムパッケージと未検査のプログラムパッケージが実行される。未検査のプログラムパッケージが検査済のプログラムパッケージを妨害することがないようにするために、検査済のプログラムパッケージと共同で動作する周辺機器は抑止入力を備えており、検査済のプログラムパッケージは未検査のプログラムパッケージに管理を引き渡す前に、それに割付けられた周辺機器を抑止入力により禁止する。
Claims (22)
- 下記のものを備えるシステムアーキテクチャ(1)、
第1のプロセッサ(2)、
第1のプロセッサに割り当てられた第1の記憶装置(4)、
入出力部および第1のプロセッサ(2)に結合された抑止入力部(16)を備え、インターフェース装置等の、抑止入力部(16)に抑止信号が伝達されたとき、入力部を通して情報を受領しないように第1の周辺機器を抑止するためにこの抑止入力が使われ、第1のプロセッサ(2)に割り当てられた第1の周辺機器(12)、
第1のプロセッサ(2)で実行可能で、エラーのないことが検証されており、少なくとも主に第1のプロセッサ(2)の第1の記憶装置(4)と相互に作用し、第1のプロセッサ(2)で実行される場合、所定の条件に達したときに、第1のプロセッサに割り当てられた周辺機器群(12)に抑止信号を出力し、また第1のプロセッサ(2)を解放するように作動し、さらに、第1のプロセッサ(2)を取り戻したら直ちに、抑止信号をキャンセルするように作動する、第1のプロセッサ(23)で実行可能な第1のプログラムパッケージ(Prog.I)、
第1のプロセッサ(2)に割り当てられた第2の記憶装置(5)、
第1のプロセッサ(2)に接続された入出力部を持つインターフェース装置などの、第1のプロセッサ(2)に割り当てられた第2の周辺機器(13)、
少なくとも主に第1のプロセッサ(23)の第2の記憶装置と相互に作用し、第1のプログラムパッケージ(Prog.I)よりもエラーのない確率が低く、エラーのない動きの場合は、第1のプログラムパッケージ(Prog.I)に割り当てられた周辺機器(12)の入出力部に主に読取りアクセスだけを行い、決められた条件に達したときは第1のプロセッサ(2)を解放する、第1のプロセッサで動きうる第2のプログラムパッケージ(Prog.II)。 - 第1の周辺機器群(12)の中で少なくとも1つは第1のプログラムパッケージ(Prog.I)用の周辺機器が存在することを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1の周辺機器群(12)の中で、有効な方法で第1のプログラムパッケージ(Prog.I)からもまた第2のプログラムパッケージ(Prog.II)からも書込みと読取り、あるいはどちらか一つだけでアクセスされる、少なくとも一つの周辺機器が存在することを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1と第2のプログラムパッケージ(Prog.I、Prog.II)がそれを通じて通信し合う記憶領域(25)が存在することを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1と第2のプログラムパッケージ(Prog.I、Prog.II)がそれを通じて互いに通信し合う記憶領域(25)が、第1及び/又は第2の記憶装置(4,5)、あるいは両方の記憶機器(4,5)の一方にだけ存在することを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1の記憶機器(4)が第1のプログラムパッケージ(Prog.I)に割り付けられていることを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1と第2の記憶機器(4,5)がハードウエアとして共通の記憶装置で実現されており、
記憶アドレスの第1のグループが第1の記憶装置(4)を、記憶アドレスの第2のグループが第2の記憶装置(5)を形成していることを特徴とする請求項1に基づくシステムアーキテクチャ。 - 第1と第2の記憶機器が(4,5)がハードウエアとして別個の記憶装置として実現されていることを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1のプログラムパッケージ(Prog.I)が第1のプロセッサ(2)を取り戻したとき、抑止信号がまだ存在するか、又は自ら消去し又は取り消す前に、その間に取り消されなかったか、を検査することを特徴とする請求項1に記載のシステムアーキテクチャ。
- 第1のプログラムパッケージ(Prog.I)が誤り防止機能を持つプログラムパッケージであることを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1のプロセッサ(2)がタイマー(9)を接続した割込み制御部(8)を備えていること、また第1のプログラムパッケージ(Prog.I)が第1のプロセッサ(2)を取り戻すように仕向ける条件が、タイマー(9)によって起動される割込みであることを特徴とする請求項1に基づくシステムアーキテクチャ。
- 当該のプログラムパッケージ(Prog.I、II)による第1のプロセッサ(2)の解放の条件が、関係するプログラムパッケージ(Prog.I、II)内の対応するプログラム命令文であることを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第1のプログラムパッケージ(Prog.I)を形成している命令及び/又は第1のプログラムパッケージ(Prog.I)だけに割り当てられているデータが、第1の記憶装置内に収められていることを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第2のプログラムパッケージ(Prog.II)を形成している命令及び/又は第2のプログラムパッケージ(Prog.II)だけに割り当てられているデータが、第2の記憶装置内に収められていることを特徴とする請求項1に基づくシステムアーキテクチャ。
- 第2のプロセッサ(3)、
第2のプロセッサに割り当てられた第3の記憶装置(21)、
第2のプロセッサ(23)と結合された入出力部を有する、インターフェース回路等の、第2のプロセッサ(3)に割り当てられた第3の周辺機器(23)、そして
第2のプロセッサ(3)で実行され、第3の記憶機器(21)と相互に作用し、第3の周辺機器群(23)とやりとりする第3のプログラムパッケージ、
を備えていることを特徴とする請求項1に基づくシステムアーキテクチャ。 - 第1と第2のプロセッサ(2,3)が互いに異なっていることを特徴とする請求項15に基づくシステムアーキテクチャ。
- 周辺機器(12)が機能に関して第3の周辺機器(23)と一致するとして、第3のプログラムパッケージが第3の周辺機器(23)に関連して、第1のプログラムパッケージ(Prog.I)が周辺機器(12)に関連して振舞うのとおおむね又は正確に同様に振舞うことを特徴とする請求項15に記載のシステムアーキテクチャ。
- 第1(Prog.I)と第3のプログラムパッケージが、第2のプログラムパッケージ(Prog.II)との偶発的に起こるやりとりは別にして、同じ機能をもたらすように設計されていることを特徴とする請求項15に基づくシステムアーキテクチャ。
- 第1のプログラムパッケージ(Prog.I)と第3のプログラムパッケージは少なくとも一時的に互いに通信し合うことを特徴とする請求項15に基づくシステムアーキテクチャ。
- 通信が、両プログラムパッケージの各々により計算されたデータと、付属する周辺機器群(12,13)から供給されるあるいは供給されたデータとの比較を含んでいることを特徴とする請求項15に基づくシステムアーキテクチャ。
- さらにほかのプロセッサ及びプログラムパッケージ、特に、少なくとももう一つのプロセッサを備えていることを特徴とする請求項15に基づくシステムアーキテクチャ。
- システムアーキテクチャが機械の制御において実施されることを特徴とする前述のいくつかの、あるいは一つの請求項に基づくシステムアーキテクチャ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19504404A DE19504404C1 (de) | 1995-02-10 | 1995-02-10 | Systemarchitektur |
DE19504404.5 | 1995-02-10 | ||
PCT/DE1996/000145 WO1996024891A1 (de) | 1995-02-10 | 1996-02-01 | Systemarchitektur mit einem programm, welches einen peripherieeingang sperrt, solange es infolge von zeitscheibenverfahren nicht auf einem prozessor läuft |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11504735A JPH11504735A (ja) | 1999-04-27 |
JP3731186B2 true JP3731186B2 (ja) | 2006-01-05 |
Family
ID=7753624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52388796A Expired - Lifetime JP3731186B2 (ja) | 1995-02-10 | 1996-02-01 | システムアーキテクチャ |
Country Status (6)
Country | Link |
---|---|
US (1) | US5920715A (ja) |
EP (1) | EP0808482B1 (ja) |
JP (1) | JP3731186B2 (ja) |
DE (2) | DE19504404C1 (ja) |
ES (1) | ES2132875T3 (ja) |
WO (1) | WO1996024891A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0961973B1 (de) | 1997-02-26 | 2001-07-04 | Siemens Aktiengesellschaft | Redundant aufgebautes elektronisches geraet mit zertifizierten und nicht zertifizierten kanaelen und verfahren dafür |
DE59800963D1 (de) * | 1997-02-26 | 2001-08-09 | Siemens Ag | Redundant aufgebautes elektronisches geraet mit zertifizierten und nicht zertifizierten kanaelen und verfahren dafür |
DE19800311A1 (de) * | 1998-01-07 | 1999-07-08 | Itt Mfg Enterprises Inc | Elektronische, digitale Einrichtung |
US6202067B1 (en) * | 1998-04-07 | 2001-03-13 | Lucent Technologies, Inc. | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system |
DE19826875A1 (de) | 1998-06-17 | 1999-12-23 | Heidenhain Gmbh Dr Johannes | Numerische Steuerung mit einem räumlich getrennten Eingabegerät |
US6856627B2 (en) * | 1999-01-15 | 2005-02-15 | Cisco Technology, Inc. | Method for routing information over a network |
US6523139B1 (en) * | 1999-12-17 | 2003-02-18 | Honeywell International Inc. | System and method for fail safe process execution monitoring and output control for critical systems |
DE10240584A1 (de) * | 2002-08-28 | 2004-03-11 | Pilz Gmbh & Co. | Sicherheitssteuerung zum fehlersicheren Steuern von sicherheitskritischen Prozessen sowie Verfahren zum Aufspielen eines neuen Betriebsprogrammes auf eine solche |
DE10261453B4 (de) * | 2002-12-31 | 2010-04-15 | Danfoss Drives A/S | Motorsteuerung |
DE102005041455A1 (de) * | 2005-08-31 | 2007-03-15 | Abb Patent Gmbh | Automatisierungstechnische Einrichtung |
DE102005043485A1 (de) | 2005-09-13 | 2007-03-15 | Abb Patent Gmbh | Automatisierungstechnische Einrichtung |
DE102005043482A1 (de) * | 2005-09-13 | 2007-03-15 | Abb Patent Gmbh | Automatisierungstechnische Einrichtung |
DE102005043481A1 (de) * | 2005-09-13 | 2007-03-15 | Abb Patent Gmbh | Automatisierungstechnische Einrichtung |
FR2893431A1 (fr) * | 2005-11-16 | 2007-05-18 | St Microelectronics Sa | Composant integre securise et procede de securisation associe |
US10031502B2 (en) | 2015-03-27 | 2018-07-24 | Rockwell Automation Germany Gmbh & Co. Kg | I/O expansion for safety controller |
US10025287B2 (en) * | 2015-03-30 | 2018-07-17 | Rockwell Automation Germany Gmbh & Co. Kg | Method for assignment of verification numbers |
US10197985B2 (en) | 2015-10-29 | 2019-02-05 | Rockwell Automation Germany Gmbh & Co. Kg | Safety controller module |
DE102015120314A1 (de) * | 2015-11-24 | 2017-05-24 | Pilz Gmbh & Co. Kg | Verfahren zum Programmieren einer Sicherheitssteuerung |
EP3249476B1 (de) * | 2016-05-25 | 2022-06-15 | Leuze electronic GmbH + Co KG | Sensor |
EP3620248B1 (de) * | 2018-09-10 | 2022-06-22 | SMW-Autoblok Spannsysteme GmbH | Kopplungs-einrichtung |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4484270A (en) * | 1982-07-07 | 1984-11-20 | Sperry Corporation | Centralized hardware control of multisystem access to shared and non-shared subsystems |
US4568866A (en) * | 1983-10-26 | 1986-02-04 | Allen-Bradley Company | Programmable controller for stepping motor control |
JP2834122B2 (ja) * | 1987-07-08 | 1998-12-09 | 株式会社日立製作所 | 制御装置 |
US5386360A (en) * | 1989-05-09 | 1995-01-31 | Ansan Industries Ltd. | Peripheral data acquisition, monitor, and adaptive control system via personal computer |
US5774721A (en) * | 1995-09-08 | 1998-06-30 | Iq Systems, Inc. | Method of communication between processors in a distributed processing system having a host processor and at least one object oriented processor |
-
1995
- 1995-02-10 DE DE19504404A patent/DE19504404C1/de not_active Expired - Fee Related
-
1996
- 1996-02-01 US US08/894,859 patent/US5920715A/en not_active Expired - Lifetime
- 1996-02-01 DE DE59602166T patent/DE59602166D1/de not_active Expired - Lifetime
- 1996-02-01 JP JP52388796A patent/JP3731186B2/ja not_active Expired - Lifetime
- 1996-02-01 EP EP96900881A patent/EP0808482B1/de not_active Expired - Lifetime
- 1996-02-01 WO PCT/DE1996/000145 patent/WO1996024891A1/de active IP Right Grant
- 1996-02-01 ES ES96900881T patent/ES2132875T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE19504404C1 (de) | 1996-06-20 |
WO1996024891A1 (de) | 1996-08-15 |
JPH11504735A (ja) | 1999-04-27 |
EP0808482A1 (de) | 1997-11-26 |
ES2132875T3 (es) | 1999-08-16 |
DE59602166D1 (de) | 1999-07-15 |
EP0808482B1 (de) | 1999-06-09 |
US5920715A (en) | 1999-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3731186B2 (ja) | システムアーキテクチャ | |
EP1238317B1 (en) | Systems and methods for fail safe process execution, monitoring and output control for critical systems | |
EP2813949B1 (en) | Multicore processor fault detection for safety critical software applications | |
JP5841271B2 (ja) | 安全性に関連したおよび安全性に関連していないソフトウェア・コンポーネントを1つのハードウェア・プラットフォーム上で実行する方法 | |
CN1897009B (zh) | 输入输出控制装置、输入输出控制方法、过程控制装置以及过程控制方法 | |
CN101329580B (zh) | 控制装置的任务管理装置和方法 | |
EP3361335B1 (en) | Safety controller using hardware memory protection | |
US6938111B2 (en) | Method for operating automation control equipment applications | |
JPH0814797B2 (ja) | 二重化処理装置におけるチェック方法 | |
JP2007011639A (ja) | 入出力制御装置,情報制御装置,入出力制御方法及び情報制御方法 | |
JP4340669B2 (ja) | 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法 | |
Kotosaka et al. | Fault tolerance of a functionally adaptive and robust manipulator | |
Steininger et al. | Integral design of hardware and operating system for a DCCS | |
EP0342261B1 (en) | Arrangement for error recovery in a self-guarding data processing system | |
WO2012137321A1 (ja) | 情報処理装置、及びその方法 | |
Kloppenburg | Logisire, A safe computer system for process-automation | |
CN108415788A (zh) | 用于对无响应处理电路作出响应的数据处理设备和方法 | |
Pearson et al. | Reliable digital controller architecture for Gas distribution regulators | |
JPH036759A (ja) | 共有メモリ装置の保護方法、アクセス抑止および解除機構、立上げ自己診断報告機構 | |
Smith | A dual processor checkout system | |
Steininger et al. | INTEGRAL DESIGN OF HARDWARE AND OPERATING | |
JPH0993781A (ja) | ディジタル保護・制御装置とそのイニシャル方法及びマン・マシン・インターフェースアクセスコントロール方法 | |
Waite | Critical digital systems and the ethic of expediency | |
JPS60171544A (ja) | 計算機システム異常自己診断装置 | |
JPH0916425A (ja) | 情報処理システム |
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: 20050906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050930 |
|
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: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101021 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |