JP7312127B2 - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- JP7312127B2 JP7312127B2 JP2020027625A JP2020027625A JP7312127B2 JP 7312127 B2 JP7312127 B2 JP 7312127B2 JP 2020027625 A JP2020027625 A JP 2020027625A JP 2020027625 A JP2020027625 A JP 2020027625A JP 7312127 B2 JP7312127 B2 JP 7312127B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- circuit
- processing
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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
- 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
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
- Safety Devices In Control Systems (AREA)
Description
本発明は、制御装置に関する。
本技術分野の背景技術として、例えば特許文献1がある。この公報には、複数の処理装置で同一の処理を実行し、処理結果を照合することで誤動作を検知し出力を停止する制御装置が記載されている。特許文献1に開示された図1の制御システムでは、制御対象の機器から2つの処理装置までの間に制御端末が設けられている。
この制御端末は、制御対象から第1の処理装置が情報取得するタイミングと、制御対象から第2の処理装置が情報取得するタイミングと、ずれがあっても、情報内容を変質させずに正しく通信データを取得させる機能を有する。特許文献1には、2つの処理装置が制御対象の機器の状態を正しく把握するための手段として、制御端末を介在させて通信データを受信する方法が記載されている。
この場合、機器と2つの処理装置の間に設けられた制御端末が不可欠であるため、その制御端末の分だけシステム全体の物量が増加する。制御端末の物量が周知のPC(personal computer)程度であったとしても、制御システムの用途によっては避けたい場合がある。そこで、制御システムにおいて、物量の増加を避けるため、制御端末を設けない場合、複数の処理装置が機器の状態を直接かつ能動的に取り込むことも考えられる。
しかしながら、これら複数の処理装置の間で、取り込みタイミングにずれが生じることがある。このように、取り込みタイミングが異なると、各処理装置のCPUが非同期の場合は、取り込んだ値に不一致が発生する可能性がある。ここでいう非同期には、それぞれの処理装置が有するCPU(Central Processing Unit)のクロック周波数におけるPPMレベルの誤差も含まれる。
取り込んだ値に不一致があれば、それらの値を使用した処理結果にも不一致が発生し、誤動作と検知されることになる。その結果、複数の処理装置で同一の処理を実行する多重化により冗長性を持たせた制御装置において、制御装置や制御対象の機器が正常動作の範囲であるにもかかわらず、出力が停止する可能性がある。
本発明は、このような課題に鑑みてなされたものであり、その目的とするところは、複数の処理装置で同一の処理を実行する多重化により冗長性を持たせた制御装置において、複数の処理装置が入力を取り込むタイミングのずれに起因する過剰な誤動作検出を防止した制御装置を提供することにある。
上記課題を解決する本発明の制御装置は、制御対象機器から入力された入力データを基に処理を実行し出力データを出力する複数の処理装置から同一の処理についてそれぞれ出力された複数の出力データを所定の判定基準に基づき判定し当該判定の結果が誤動作であれば出力データの出力を停止する制御装置であって、複数の処理装置のうちの何れかの処理装置から制御対象機器に送信された第1の入力要求に応答して制御対象機器から送信された第1の入力データをラッチする記憶部と、複数の処理装置の各々について、当該処理装置からの制御対象機器に対する入力要求に応答して制御対象機器から送信された入力データを当該処理装置に入力するか否かを制御する入力制御回路と、を備え、入力制御回路は、
(1)第1の入力データを基に所定の処理を実行し出力データを出力する第1の入力要求を出力した処理装置に、第1の入力データを入力し、
(2)複数の処理装置のうちの第1の入力要求を出力した処理装置とは異なる処理装置から送信された第2の入力要求が第1の入力要求と同じか否かを判定し、
(3)当該判定の結果が真の場合、記憶部に記憶されている第1の入力データを、当該第2の入力要求を出力した処理装置に入力する。
(1)第1の入力データを基に所定の処理を実行し出力データを出力する第1の入力要求を出力した処理装置に、第1の入力データを入力し、
(2)複数の処理装置のうちの第1の入力要求を出力した処理装置とは異なる処理装置から送信された第2の入力要求が第1の入力要求と同じか否かを判定し、
(3)当該判定の結果が真の場合、記憶部に記憶されている第1の入力データを、当該第2の入力要求を出力した処理装置に入力する。
本発明によれば、複数の処理装置が完全に同期していないことにより同一の入力要求の送信タイミングが異なり、結果として、複数の同一の入力要求に対して制御対象機器から送信された入力データが異なっていても、同一の入力データを複数の処理装置へ入力することができる。このため、同一の入力要求を送信した複数の処理装置から同一の出力データが得られる。故に、同一の入力要求に対して異なる入力データを制御対象機器から受信しても、複数の処理装置から同一の出力データを得ることができる。
その結果、複数の処理装置で同一の処理を実行する多重化により冗長性を持たせた制御装置において、複数の処理装置が入力を取り込むタイミングのずれに起因する過剰な誤動作検出を防止した制御装置を提供できる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
以下、本発明に係る実施例1~5の順に図面を用いて説明する。実施例1は図1~図3に示し、実施例2は図1、図2及び図4に示し、実施例3は図1、図5及び図6に示し、実施例4は図1、及び図7~図9に示し、実施例5は図10~図13に示している。
実施例1について、図1~図3を用いて説明する。図1は、本発明の実施例1~4に係る制御装置に共通するブロック図である。なお、図1の説明は、後述する実施例2~4において省略する。図1に示すように、実施例1の制御装置1は、第1の処理装置100と、第2の処理装置110と、出力停止回路120と、照合回路130と、入力制御回路140と、機器150と、バス108,118と、を有する。
なお、入力制御回路140には、4つのバリエーションがあり、実施例1~4の順番にそれぞれ対応する入力制御回路140A(図2),140B(図4),140C(図5),140D(図7)として、主に相違点のみを後述する。ただし、実施例1では、これらの共通部分のほとんどを入力制御回路140として、まとめて説明する。第1の処理装置100は、CPU101と、RAM102と、ROM103と、出力回路105と、入力回路106と、バス104と、を有する。第2の処理装置110は、CPU111と、RAM112と、ROM113と、出力回路115と、入力回路116と、バス114と、を有する。
CPU101は、ROM103に格納されたプログラムに従い、以下の処理を実行する。まず、CPU101は、入力回路106からバス104を介して機器150に関する情報を入力し、予め定められた制御処理を行う。その後、機器150の制御に必要な情報は、CPU101により、バス104を介して出力回路105に書き込まれる。RAM102は、制御処理の途中経過の保存に使用される。CPU111の動作もCPU101の動作と同じである。
入力回路106は、バス104を介してCPU101から入力要求(単に「要求」ともいう)を受け取ると、その入力要求は、バス108を介して入力制御回路140へ出力される。また、バス108を介して入力制御回路140から入力要求に対するデータを入力回路106が受け取ると、そのデータは、入力回路106により、バス104を介してCPU101に出力される。入力回路116の動作も入力回路106と同じである。
出力回路105は、バス104を介してCPU101から情報を受け取ると、受け取った情報に従って信号線107への出力値を変化させる。信号線107に出力される値は、機器150に存在するスイッチをオンとするかオフとするかの情報であっても良い。
また、信号線107に出力される値は、機器150に存在するAD(Analog-to-Digital)変換回路に対するデジタル値であっても良い。また、信号線107に出力される値は、機器150に存在するスイッチや、AD変換回路などの状態を変化させるための指令値であっても良い。指令値として、イネーブル信号、アドレス値、あるいは、データ等の組み合わせ等が好適である。出力回路115の動作も出力回路105と同じである。
照合回路130は、初期状態では信号線131を介して出力停止回路120に出力する停止指令を0(出力許可)とする。また、照合回路130は、信号線107,117を介して出力回路105,115の出力を取り込む。その結果、値が不一致となった場合、照合回路130は、信号線131を介して出力停止回路120に出力する停止指令を1(出力停止)とする。
照合回路130が停止指令を0(出力許可)に戻すタイミングは、信号線107と信号線117が一致した時であっても良い。また、停止指令を0(出力許可)に戻すタイミングは、図1に明示されていないシステムリセット状態を示す信号がアサートされた場合であっても良い。この場合、信号線107と信号線117が一致しても、停止指令は、システムリセット状態となるまで1(出力停止)のままとなる。
出力停止回路120は、信号線131を介して照合回路130から受け取った停止指令が0(出力許可)の場合、信号線107の値を信号線151に出力する。また、出力停止回路120は、信号線131を介して照合回路130から受け取った停止指令が1(出力停止)の場合、信号線151に予め定められた値を出力する。この時、信号線151に出力される値は、機器150を安全に停止させるための値として規定される。
入力制御回路140は、つぎの処理を順次実行する。まず、バス108を介して入力回路106から入力要求を入力制御回路140が受け取る。つぎに、入力制御回路140は、信号線152から取り込んだ機器150の情報と、過去に信号線152から取り込んだ機器150の情報を内部に記憶したものと、何れかを選択する。選択された情報は、バス108を介して入力回路106に入力制御回路140が出力する。
また、入力制御回路140は、つぎの処理を順次実行する。まず、バス118を介して入力回路116から入力要求を入力制御回路140が受け取る。つぎに、入力制御回路140は、信号線152から取り込んだ機器150の情報と、過去に信号線152から取り込んだ機器150の情報を内部に記憶したものと、何れかを選択する。選択された情報は、バス118を介して入力回路116に入力制御回路140が出力する。なお、入力制御回路140のバリエーションについて、実施例2~4で後述する。
図2は、図1の制御装置1における入力制御回路140の第1例140Aを示すブロック図であり、実施例1の特徴を示す。図2の入力制御回路140Aは、第1の選択回路201と、第1の記憶回路202と、比較回路203と、第2の選択回路204と、第2の記憶回路205と、第3の選択回路206と、アナログ入力回路221~22mと、デジタル入力回路241~24nと、を有する。
第1の選択回路201は、バス108、又はバス118を介して入力要求を受け取り、何れか一方を選択して信号線211に出力する。バス108、又はバス118の何れか一方のみの入力要求がアサートされている時には、アサートされている方の入力要求を選択する。
バス108と、バス118と、両方の入力要求がアサートされている時の選択方法は、常にバス108の方を優先して選択しても良い。また、バス108と、バス118と、両方の入力要求がアサートされている時の選択方法に採用される他の例として、前回選択したバスに対し、毎回逆のバスに切り替えて選択するようにしても良い。
第1の記憶回路202は、要求の情報(単に「要求」又は「入力要求」ともいう)を内部に記憶していない状態の場合、信号線211に入力要求が出力されるとその要求を記憶する。また、第1の記憶回路202は、内部に要求を記憶している状態の場合、信号線213に第2の記憶回路205の出力215を選択する指示が出力されると、記憶している要求を消去する。また、第1の記憶回路202は、記憶している要求の情報を信号線212に出力する。
比較回路203は、つぎの処理を順次実行する。まず、信号線211に出力された入力要求と、信号線212に出力された入力要求を、比較回路203が比較する。つぎに、第3の選択回路206の出力214と、第2の記憶回路205の出力215と、の何れを選択するかの情報を比較回路203が信号線213に出力する。また、比較回路203は、バス108、及びバス118にデータ有効信号とエラー信号を出力する。なお、比較回路203の動作の詳細は後述する。
第2の記憶回路205は、信号線213に第3の選択回路206の出力214を選択する指示が出力されると、信号線214の値を取り込んで記憶する。また、第2の記憶回路205は、記憶した値を信号線215に出力する。
第2の選択回路204は、信号線213から取り込んだ選択信号に従い、信号線214の値と、信号線215の値と、の何れか一方を選択してバス108、及びバス118に出力する。
第3の選択回路206は、信号線211に出力された入力要求に従い、信号線231~23m,251~25nの値のうち何れか1つを選択して信号線214に出力する。アナログ入力回路221~22mは、信号線152からアナログ信号を取り込み、デジタル信号に変換して信号線231~23mに出力する。
デジタル入力回路241~24nは、信号線152から複数ビットのデジタル信号を取り込み、信号線251~25nに出力する。信号線251~25nは、それぞれ、1バイト、2バイト、又は4バイト等の複数ビットがまとまった信号線である。また、複数ビットの値を1つにまとめるのがデジタル入力回路241~24nの役割である。また、デジタル入力回路241~24nは、信号線152から取り込んだデジタル信号の電圧変換を行っても良い。
図3は、図2の比較回路203及び記憶回路202の動作を説明するための表である。図3の表は、横並びの5列に大分類された項目と、縦並びのNo1~No11の行に分けて例示された異なる信号による動作状態と、を一覧して表示している。最左列のNoの右方に記載された横並び5列の項目は、(信号線212の)記憶出力と、(信号線211の)選択出力と、(信号線213の)選択信号と、バスへの出力と、更新後記憶出力(信号線212の)と、を有する。なお、括弧内には、図2の信号線を特定する符号が明示されている。
図3において、バスへの出力のうちエラーの欄は、バス108に出力されるエラー信号と、バス118に出力されるエラー信号と、両者を1つの欄にまとめて記載している。これは、両者が同一の値であることを示している。別の例として、選択出力(211)のソースに示されたバスにのみエラー信号を出力する方法も考えられるが、エラーが発生した場合には制御装置を停止させた方が好ましい場合もあるため、本実施例では両方にエラー信号を出力して両方の処理装置を停止させる例を示した。
図3において、”-”と記載した欄は、don`t care(制御に何らの対応も不要)であることを示す。また、”NA”と記載した欄は、信号線213に出力される選択信号が無効であることを示す。この場合、第2の選択回路204の出力がどの様な値であっても無効とみなされて使用されない。
例示No1、例示No4、及び例示No8は、信号線211の有効信号が0の場合を例示している。この場合、入力要求が無いため、信号線213の選択信号は無効であり、バス108の有効信号は0であり、バス118の有効信号は0であり、バスのエラー信号は0となる。また、信号線212の値は変化しない。
例示No2、及び例示No3は、信号線212の有効信号が0であり、かつ、信号線211の有効信号が1の場合を例示している。この場合、信号線213の選択信号は、信号線214の選択を指示する値となり、信号線211のソース信号に対応するバスの有効信号が1であり、バスのエラー信号が0となる。
それと同時に、信号線211の状態が第1の記憶回路202に記憶され、信号線212が信号線211と同じ値に変化する。また、図3には示していないが、第2の記憶回路205に信号線214の値が取り込まれる。
例示No5、例示No6、及び例示No7は、信号線212の有効信号が1、ソース信号がバス108を示す値であり、かつ、信号線211の有効信号が1の場合を例示している。これらの場合の中で、例示No6のように信号線211のソース信号がバス118を示す値であり、かつ、アドレスが信号線212と同じになるのが正しい動作である。
この場合、信号線213の選択信号は信号線215の選択を指示する値となり、過去に例示No2でバス108に出力されたのと同じデータがバス118に出力される。これによって、第1の処理装置100と、第2の処理装置110と、双方の入力要求を出力する時刻がずれていても、両者が同一のデータを受け取ることが保証される。
また、信号線212に出力される有効信号が0に変化する。これは、第1の記憶回路202と、第2の記憶回路205と、それぞれに記憶された入力要求、及び入力データが使用されて無効となったことを示す。
なお、有効か無効かを示す信号は、第1の記憶回路202のみに存在し、第2の記憶回路205には存在しない。第2の記憶回路205のデータが有効かどうかは、第1の記憶回路202の情報から知ることができる。
一方、例示No5は、バス118より前にバス108から要求があった場合を示す。この場合、第1の記憶回路202及び第2の記憶回路205に、新たな要求やデータを記憶することができないため、バス108からの要求を処理することができず、エラーとなる。
エラーの場合は正常な処理を継続することができなくなるため、第1の記憶回路202及び第2の記憶回路205に記憶していた値を無効化する。なお、実施例1では、例示No5の場合をエラーとしたが、この場合において、バス118から入力要求が来るまで、バス108からの要求を待たせる方法も考えられる。
このような処理を実現するには、つぎの手順で実行すれば良い。まず、第1の記憶回路202から第1の選択回路201にソース信号を出力する。つぎに、第1の選択回路201は、第1の記憶回路202から受け取ったソース信号に対応するバスからの要求を選択しないようにする。これらの手順により上述の処理が実現できる。
このような構成とした場合、第1の記憶回路202のソース信号がバス108を示す値である期間は、信号線211にバス108からの入力要求が出力されない。その結果、例示No5の状態は発生せず、エラーは検出しない。また、バス108への有効信号は0のままとなるため、結果としてバス118からの入力要求が届くまで、バス108からの要求は待たされることとなる。
また、例示No7のように、バス118からの入力要求のアドレスが信号線212に出力されたアドレスと異なる場合、エラーとなる。その理由は、第1の処理装置100と、第2の処理装置110と、の動作が異なっているためである。また、例示No9、例示No10、例示No11の3行と、例示No6、例示No7、例示No5の3行と、はこれらの順番どおりの相似関係であり、同様に動作する。なお、両者の相違点は、信号線212のソース信号が異なっている点のみである。
その効果として、複数の処理装置が完全に同期していないことにより同一の入力要求の送信タイミングが異なり、結果として、複数の同一の入力要求に対して制御対象機器から送信された入力データが異なっていても、同一の入力データを複数の処理装置へ入力することができる。このため、同一の入力要求を送信した複数の処理装置から同一の出力データが得られる。故に、同一の入力要求に対して異なる入力データを制御対象機器から受信しても、複数の処理装置から同一の出力データを得ることができる。
主に、図2及び図4を用いて実施例2を説明する。図4は、図1の制御装置1における入力制御回路140の第2例140Bを示すブロック図であり、実施例2の特徴を示す。
図4の入力制御回路140Bは、第1の選択回路401と、第1の記憶回路402と、比較回路403と、エラーチェック(エラー検出)回路407と、チェックコード(エラー検出用符号)付加回路408と、第2の選択回路404と、第2の記憶回路405と、第3の選択回路206と、アナログ入力回路221~22mと、デジタル入力回路241~24nと、を有する。なお、図2と同じ符号をつけた構成要素の動作は図2と同じである。
実施例2の特徴は、入力要求や入力データにチェックコード(エラー検出用符号)を付加してエラーチェックを行えるようにした点である。これによって、バス、信号線、記憶回路などでエラーが発生した場合に誤った要求やデータで処理を継続することを防止し、誤動作の原因解析を容易化することができる。実施例2ではエラー訂正までは行っていないが、誤動作の確率を低減したい場合にはエラー訂正回路を使用しても良い。
バス108、及びバス118上の入力要求には、チェックコードが付加されている。このため、第1の選択回路401は、チェックコードも含めた入力要求の選択を行い、信号線411に出力する。第1の記憶回路402は、チェックコードも含めた入力要求を記憶し、信号線412に出力する。比較回路403の動作は、図2の比較回路203と同様である。比較回路403は、信号線411、及び信号線412から受け取ったチェックコードは無視する。
エラーチェック回路407は、信号線411、及び信号線412から入力要求とチェックコードを受け取り、エラーチェックを行う。エラーを検出した場合には、バス108、及びバス118にエラー信号を出力する。結果として、エラーチェック回路407は、バス108の入力要求と、バス118の入力要求と、第1の選択回路401と、信号線411と、第1の記憶回路402と、信号線412と、の何れかで発生したエラーを検出することが可能となる。
バス108、及びバス118に出力するエラー信号は、信号線411で検出したエラーと、信号線412で検出したエラーと、何れであるかを区別するための情報を含んでいても良い。この場合、エラーの発生した場所をより詳細に判別することが可能となる。
チェックコード付加回路408は、信号線214の値を取り込み、チェックコードを付加して信号線414に出力する。第2の記憶回路405は、信号線414の値をチェックコードも含めて取り込み、チェックコードも含めて信号線415に出力する。
第2の選択回路404は、信号線414、又は信号線415の値をチェックコードも含めて選択し、チェックコードも含めてバス108、及びバス118に出力する。これによって、第1の処理装置100では、信号線414と、第2の記憶回路405と、信号線415と、選択回路404と、バス108と、の何れかにおいて、入力データに発生したエラーを検出することができる。同様に、第2の処理装置110でも、信号線414と、第2の記憶回路405と、信号線415と、選択回路404と、バス118と、の何れかにおいて、入力データに発生したエラーを検出することができる。
主に、図5及び図6を用いて実施例3を説明する。図5は、図1の制御装置1における入力制御回路140の第3例140Cを示すブロック図であり、実施例3の特徴を示す。図5の入力制御回路140Cは、第1の選択回路201と、第1の記憶回路502と、比較回路503と、第2の選択回路204と、第2の記憶回路505と、第3の選択回路206と、アナログ入力回路221~22mと、デジタル入力回路241~24nと、を有する。なお、図2と同じ符号をつけた構成要素の動作は図2と同じである。
図5に示す入力制御回路140Cの特徴は、第1の記憶回路502、及び第2の記憶回路505に複数の要求、及びデータを格納する領域を設けた点である。これによって、図3の例示No5や例示No11のように、一方の処理装置が入力したデータを他方の処理装置が読み出すより前に、異なる入力要求が来た場合でも、処理を継続することが可能となる。
第1の記憶回路502は、複数の入力要求を格納する領域を有し、FIFO(First-In First-Out)方式で記憶した要求を信号線512に出力する。それと同時に全ての格納領域が使用中で新たな要求を格納できないことを示すフル信号を信号線512に出力する。比較回路503の動作は後述する。第2の記憶回路505は、複数のデータを格納する領域を有し、FIFO方式で記憶したデータを信号線215に出力する。
図6は、図5の比較回路503の動作を説明するための表である。図3に比べると、図6には信号線512のフル信号が追加されており、それに伴って場合の数が増えている。図6の例示No5、及び例示No6は、図3の例示No5に対応している。
図3の例示No5の場合は常にエラーとなる。これに対し、図6では例示No5のように信号線512のフル信号が0の場合、第1の記憶回路502、及び第2の記憶回路505に要求、及びデータを格納する領域があるため、バス108に入力データを出力して処理を継続することができる。
図6には明記していないが、第1の記憶回路502、及び第2の記憶回路505には、対応する要求、及びデータが記憶され、それぞれについて、格納領域の未使用数が1つ減ることになる。一方、例示No6のように信号線512のフル信号が1の場合、第1の記憶回路502、及び第2の記憶回路505には、要求、及びデータを格納する領域が無いため、エラーを検出する。
図6には明記していないが、エラーが発生した場合は、正常な処理を継続することができなくなる。その場合、第1の記憶回路502、及び第2の記憶回路505に記憶されていた要求、及びデータは、全て無効化される。同様に、図6の例示No12、及び例示No13は、図3の例示No11に対応しており、上述した図6の例示No5、例示No6と同様の動作となる。
図6について、上記以外の場合は、概ね図3と同じ動作である。すなわち、図6の例示No1~No4は、上記以外について、図3の例示No1~No4と概ね同様である。また、図6の例示No6~No12は、上記以外について、図3の例示No5~No11と概ね同様である。
主に、図7~図9を用いて実施例4を説明する。図7は、図1の制御装置1における入力制御回路140の第4例140Dを示すブロック図であり、実施例4の特徴を示す。図7の入力制御回路140Dは、第1の選択回路201と、第1の記憶回路701~70pと、比較回路741と、第2の選択回路742と、第2の記憶回路721~72pと、第3の選択回路206と、アナログ入力回路221~22mと、デジタル入力回路241~24nと、を有する。なお、図2と同じ符号をつけた構成要素の動作は図2と同じである。
図7の入力制御回路140Dの特徴は、第1の記憶回路701~70p、及び第2の記憶回路721~72pが複数の要求、及びデータを格納する領域から構成されている点である。複数の領域を有するという点では図5の入力制御回路140Cと共通する。両者の相違点について、図5に示した実施例3に係る入力制御回路140Cは、FIFO方式で要求、及びデータを出力する。これに対し、図7に示した実施例4に係る入力制御回路140Dでは、非FIFO方式で対応し、複数の要求、及びデータの中から信号線211に出力された要求と一致するものが選択される。
これによって、後述する通り、バス108の要求の順番と、バス118の要求の順番と、両者の順番が異なっていても、処理を継続することができる。第1の処理装置100、及び第2の処理装置110の処理内容がマルチタスク構成になっている場合、タスクの切り換えタイミングの違いで、第1の処理装置100と、第2の処理装置110と、の処理の順番が異なる場合もある。そのような場合にも対応可能とするのが、図7の入力制御回路140Dの目的である。
図7の入力制御回路140Dにおいて、第1の記憶回路701~70pは、信号線711~71pを介して記憶の指示を受け取ると、信号線211の入力要求を記憶し、信号線711~71pに出力する。また、第1の記憶回路701~70pは、信号線711~71pを介して無効化の指示を受け取ると、信号線711~71pに出力する有効信号を0にする。
比較回路741の動作は後述する。第2の記憶回路721~72pは、信号線752を介して記憶の指示を受け取ると、信号線214の値を記憶し、信号線731~73pに出力する。
第2の選択回路742は、信号線751を介して受け取った選択信号に応じて、信号線214,731~73pの何れか1つの値を選択して、バス108、及びバス118に出力する。
図8は、図7の比較回路741の第1例に係る動作を説明するための表である。図8では、第1の記憶回路701~70p、及び第2の記憶回路721~72pに2個の記憶領域がある(p=2)場合を例示した。図3との違いは、第1の記憶回路の出力が2個ある点(信号線711,712)、及び、信号線752の記憶指示が追加されている点である。
なお、信号線752は第2の記憶回路721,722に対する記憶指示であるが、同様の記憶指示が信号線711,712上にも出力される。また、図8には明記していないが、信号線751上の選択信号が信号線731、又は信号線732を示している時には、対応する第1の記憶回路(731の場合は701、732の場合は702)が無効化される。
図8は、図7に示す第1の記憶回路701,702のうち、最大1個が使用されている場合を網羅している。これに対し、第1の記憶回路701,702の2個とも使用されている場合は、図9にて説明する。図8の例示No1~例示No3は、図3の例示No1~例示No3と同様である。図8の例示No2、及び例示No3において、第2の記憶回路721,722は2個とも使用されていないため、信号線752の記憶指示は、どちらを選択しても良いが、ここでは第2の記憶回路721を選択する例を示した。
図8の例示No4、例示No9、例示No14、及び例示No19は、信号線211に入力要求が出力されていない状態である。これらの状態では、バスへの有効信号やエラー信号は0となり、信号線752の書き込み指示は無効状態となる。
図8の例示No5は、第1の記憶回路701にバス108からの要求が格納されており、かつ、信号線711にバス108からの同一アドレスの入力要求が出力された場合である。この場合、第1の記憶回路702に要求を格納することは可能であるが、そうした場合、第1の記憶回路701と、第1の記憶回路702と、に同一アドレスの要求が格納されることになり、どちらを選択すべきかが決定できなくなるため、エラーとした。
別の例として、第1の記憶回路701と、第1の記憶回路702と、のどちらが先に格納されたかを示す情報を別途格納し、先に格納された方を優先して使用する方法も考えられる。例示No6は図3の例示No5と同様の場合であるが、図8では第1の記憶回路702が空いているため、第1の記憶回路702に要求を格納して処理を継続することができる。図8例示No7は、図3の例示No6と同様の場合であり、第2の記憶回路721の出力がバス118に出力される。
図8の例示No8は、図3の例示No7と同様の場合であるが、図8では第1の記憶回路712が空いているため、記憶回路712に要求を格納して処理を継続することができる。バス108とバス118で入力要求の順番が同じであれば、図8の例示No8の場合は発生しないはずである。その反対解釈により、例示No8の場合が発生するということは、バス108とバス118で入力要求の順番が異なることを示している。
そのような場合でも、図7の入力制御回路140Dの構成であれば、処理を継続することができる。図8において、例示No10~例示No13は、例示No5~例示No8に対し、信号線711のソース信号が異なるのみで、動作は同様である。
また、図8において、例示No15~例示No18は、例示No5~例示No8に対し、要求を格納する第1の記憶回路が711から712に変わったのみで、動作は同様である。また、図8において、例示No20~例示No23は、例示No10~No13に対し、要求を格納する第1の記憶回路が711から712に変わったのみで、動作は同様である。
図9は、図7の比較回路741の第2例に係る動作を説明するための表である。例示No1、例示No6、例示No11、及び例示No16は、信号線211に入力要求が無い場合であり、バスへの有効信号もエラー信号も0となる。
また、図9において、例示No3、例示No4、例示No7、例示No9、例示No12、例示No14、例示No17、例示No18は、つぎの場合である。すなわち、信号線711、又は712それぞれのソース信号に対し、信号線211上の入力要求が異なる場合で、かつ、同一アドレスが何れかに存在すれば、対応する入力データがバス108、又はバス118に出力される。
また、図9において、上述した以外の場合、すなわち、例示No2、例示No5、例示No8、10、例示No13、例示No15、例示No19、及び例示No20は、エラーとなる。これらの場合は、信号線211に出力された要求が第1の記憶回路701,702に格納されていない要求であり、かつ、新たに要求を格納する場所が無いため、エラーとなる。
主に、図10~図13を用いて実施例5を説明する。図10は、本発明の実施例5に係る制御装置10を示すブロック図である。実施例5の制御装置10は、第1の処理装置1000と、第2の処理装置1010と、第3の処理装置1020と、多数決回路1030と、入力制御回路1040と、機器150と、を有する。
図10の実施例5の特徴は、第1の処理装置1000~第3の処理装置1020によって、処理装置が3重化されている点である。これら第1の処理装置1000~第3の処理装置1020、及びそれぞれの内部構成要素の動作は、図1の第1の処理装置100と同様である。
多数決回路1030は信号線1007,1017,1027の値を取り込み、正しい値が特定できる場合はその値を信号線151に出力する。正しい値が特定できない場合は、信号線151に予め定められた値を出力する。この時、信号線151に出力される値は、機器150を安全に停止させるための値として規定される。
入力制御回路1040の動作は、受け取った要求に応じてデータを出力するバス1008,1018,1028が3個に増えたことを除いて、図1の入力制御回路140と同様である。
図11は、図10の制御装置10における多数決回路1030の一例を示すブロック図である。多数決回路1030は、第1の照合回路1101と、第2の照合回路1102と、第3の照合回路1103と、第1の出力停止回路1104と、第2の出力停止回路1106と、AND回路1105と、OR回路1107と、を有する。第1の照合回路1101~第3の照合回路1103の動作は、図1の照合回路130と同様である。
第1の出力停止回路1104、及び第2の出力停止回路1106の動作は、図1の出力停止回路120と同様である。但し、2つの出力停止回路が信号線151に値を出力することから、出力停止指示を受けて予め定められた値を出力する場合は、駆動力を弱く設定し、出力停止指示を受けていない出力停止回路の出力が優先されることを保証する。
具体的には、出力停止回路1104が出力停止指示を受けておらず、出力停止回路1106が出力停止指示を受けている場合、出力停止回路1104よりも出力停止回路1106の方が駆動力が弱いため、出力停止回路1104の出力値が信号線151に出力される。
逆に、出力停止回路1104が出力停止指示を受けており、出力停止回路1106が出力停止指示を受けていない場合、出力停止回路1106よりも出力停止回路1104の方が駆動力が弱いため、出力停止回路1106の出力値が信号線151に出力される。一方、出力停止回路1104も出力停止回路1106も出力停止指示を受けていない場合、両者が同じ駆動力で値を出力するため、両者の出力値が異なっていた場合は信号線151の値は保証されない。
しかし、後述する通り、信号線1115及び信号線1117それぞれに出力される出力停止指示は、両者が同時に0(出力許可)となることは無いように、OR回路1107によって制御される。
AND回路1105は、信号線1111及び信号線1112それぞれの出力停止指示が両方とも1(出力停止)であった場合に、信号線1115に1(出力停止)を出力し、それ以外の場合は0(出力許可)を出力する。これは、バス1007の値がバス1017、又はバス1027と一致していた場合に、バス1007の値を信号線151に出力することを意味する。
OR回路1107は、信号線1115が1(出力停止)、かつ信号線1113が0(出力許可)の場合に信号線1117に0(出力許可)を出力し、それ以外では信号線1117に1(出力停止)を出力する。これは、バス1007とバス1017が不一致、かつ、バス1007とバス1027が不一致、かつバス1017とバス1027が一致していた場合に、バス1017の値を信号線151に出力することを意味する。
OR回路1107によって、信号線1115が0(出力許可)の場合には、信号線1117が1(出力停止)となる。その結果、信号線1115と信号線1117との両者は、同時に0(出力許可)とならないことを保証される。
図12は、図10の制御装置10における入力制御回路1040一例を示すブロック図である。図12の入力制御回路1040は、第1の選択回路1201と、第1の記憶回路1202と、比較回路1203と、第2の選択回路1204と、第2の記憶回路205と、第3の選択回路206と、アナログ入力回路221~22mと、デジタル入力回路241~24nと、を有する。なお、図12において、図2と同じ符号をつけた構成要素の動作は図2と同じである。
図12の入力制御回路1040と、図2の入力制御回路140Aと、の相違点は、接続するバスの数が異なる点である。図2の入力制御回路140Aは2本のバス108,118を有している。一方、図12の入力制御回路1040は3本のバス1008,1018,1028を有しているところが異なっている。この相違点に係る動作以外の動作は同様である。
図12の第1の選択回路1201は、3本のバス1008,1018,1028からの入力要求から1つを選択して信号線1211に出力する。信号線1211に出力される情報は、図2の信号線211と比べると、ソース信号が3つのバスのうちの1つを示すようになったことを除けば同様である。
図12の第1の記憶回路1202は、図2の第1の記憶回路202と比べ、ソース信号が異なるという相違点に加えて、つぎの特徴がある。すなわち、図12の第1の記憶回路1202は、ソース信号のみが異なりアドレスが同一の入力要求を3回実行することになる。このため、第1の記憶回路1202は、既に要求を実行済みのバスに関する情報を信号線1212に出力する。詳細は後述する。
図12の比較回路1203の動作は後述する。図12の第2の選択回路1204は、図2の第2の選択回路204と比べると、データを出力するバスが2本から3本に増えた点のみが異なり、それ以外は同様である。
このような観点から、図12に示す実施例5の入力制御回路1040の構成は、図2に示す実施例1の入力制御回路140Aと本質的に同様の構成を例示したものである。同様の観点から、図12の入力制御回路1040の構成は、図4、図5、又は図7にそれぞれ示した入力回路140B,140C,140Dと同様でも良く、接続するバスを2本から3本に増やした構成とすれば良い。
図13は、図12の比較回路1203及び記憶回路1202の動作を説明するための表である。図13は、図3に対する3つの相違点を有する。第1に、信号線1211,1212のソース信号が3本のバスを識別できるようになった点である。第2に、信号線1212に読出済信号が追加された点である。第3に、出力するバスが3本になった点である。
信号線1212において、ソース信号は最初に要求が到着したバス、読出済信号は2番目に要求が到着したバスを示す。例示No7、及び例示No9の場合、信号線1212の有効信号が1で読出済信号がなしの場合、2番目の要求が到着すると、その要求を出力したバスの情報が読出済信号に反映される。また、例示No11、及び例示No16のように、読出済信号に情報がある場合、その値と同一のバスからの要求はエラーとなる。
図13の表は、上述した図3の表に対する相違点に係る動作以外は、図3の表について説明した動作と同様である。なお、図13には信号線1212のソース信号が1018、又は1028の場合を記載していないが、ソース信号が1008の場合と同様である。
本発明の実施形態に係る制御装置1,10、及び制御方法は、つぎのように総括できる。
[1]制御装置1,10は、複数の処理装置100,110,1000,1010,1020に同一の処理を実行させる多重化により冗長性を持たせ、誤動作があれば出力データの出力を停止するように構成されている。複数の処理装置100,110,1000,1010,1020は、制御対象機器150から入力された入力データを基に同一処理を実行し出力データを出力する。制御装置1,10は、同一の処理によって、それぞれ出力された複数の出力データを所定の判定基準に基づいて判定し、判定の結果が誤動作であれば出力データの出力を停止する。
[1]制御装置1,10は、複数の処理装置100,110,1000,1010,1020に同一の処理を実行させる多重化により冗長性を持たせ、誤動作があれば出力データの出力を停止するように構成されている。複数の処理装置100,110,1000,1010,1020は、制御対象機器150から入力された入力データを基に同一処理を実行し出力データを出力する。制御装置1,10は、同一の処理によって、それぞれ出力された複数の出力データを所定の判定基準に基づいて判定し、判定の結果が誤動作であれば出力データの出力を停止する。
制御装置1,10は、記憶部(第2の記憶回路205,405,505,721,722~72p)と、入力制御回路140,1040と、を備える。記憶部は、取得タイミングの異なるデータを保持(「データラッチ」、又は「ラッチ」という)する。すなわち、記憶部は、第1の入力要求に応答して制御対象機器150から送信された第1の入力データをラッチする。第1の入力要求は、処理装置100,110,1000,1010,1020の何れかから制御対象機器150に送信される。
入力制御回路140,1040は、複数の処理装置100,110,1000,1010,1020の各々について、ある処理装置からの制御対象機器150に対する入力要求に応答して制御対象機器150から送信された入力データを当該処理装置に入力するか否かを制御する。
入力制御回路140,1040は、つぎの処理を行う。
(1)第1の入力データを基に所定の処理を実行し出力データを出力する処理装置100,110,1000,1010,1020のうち第1の入力要求を出力した処理装置に、第1の入力データを入力する。
(2)複数の処理装置のうちの第1の入力要求を出力した処理装置以外の処理装置から送信された第2の入力要求が第1の入力要求と同じか否かを判定する。
(3)判定の結果が真の場合、記憶部(例えば第2の記憶回路205,405,505,721,722~72p)に記憶されている第1の入力データを、第2の入力要求を出力した処理装置に入力する。
(4)判定の結果が偽の場合、第2の入力要求に応答して制御対象機器150から送信された第2の入力データを第2の入力要求を出力した処理装置に入力しても良い。
(1)第1の入力データを基に所定の処理を実行し出力データを出力する処理装置100,110,1000,1010,1020のうち第1の入力要求を出力した処理装置に、第1の入力データを入力する。
(2)複数の処理装置のうちの第1の入力要求を出力した処理装置以外の処理装置から送信された第2の入力要求が第1の入力要求と同じか否かを判定する。
(3)判定の結果が真の場合、記憶部(例えば第2の記憶回路205,405,505,721,722~72p)に記憶されている第1の入力データを、第2の入力要求を出力した処理装置に入力する。
(4)判定の結果が偽の場合、第2の入力要求に応答して制御対象機器150から送信された第2の入力データを第2の入力要求を出力した処理装置に入力しても良い。
制御装置1,10は、先行するCPU(第1の入力要求を出力した処理装置)と同一の要求を出力したCPU(第2の入力要求を出力した処理装置)に対しては記憶部(第2の記憶回路205,405,505,721,722~72p)の出力を選択する。その結果、複数のCPU(処理装置100,110,1000,1010,1020)は、入力データを取り込むタイミングが異なっていても、2番目以降のCPUに対しては、記憶部に格納された最初のCPU(第1の入力要求を出力した処理装置)の入力データを受け取るので、データの一致が保証される。
複数の処理装置100,110,1000,1010,1020が完全に同期していないことにより同一の入力要求の送信タイミングが異なり、結果として、複数の同一の入力要求に対して制御対象機器150から送信された入力データが異なっていても、データラッチにより、取得タイミング差に起因する情報差異を無くした入力データが取得される。したがって、同一の入力データを複数の処理装置100,110,1000,1010,1020へ入力することができる。
このため、同一の入力要求を送信した複数の処理装置100,110,1000,1010,1020から同一の出力データが得られる。故に、同一の入力要求に対して異なる入力データを制御対象機器から受信しても、複数の処理装置100,110,1000,1010,1020から同一の出力データを得ることができる。その結果、入力データを取り込むタイミングがずれている場合も、過剰な誤動作検出を防止できる。これにより、複数で同一の処理を実行する多重化により冗長性を持たせた制御装置1,10において、複数で入力を取り込むタイミングのずれに起因する過剰な誤動作検出を防止できる。
[2]制御装置1において、判定基準は、同一の入力要求に対応した出力データの相互間に非同一の組み合わせがあれば照合回路130が誤動作と判定するための基準であると良い。
[3]実施例5として、図10~図13に制御装置10を示す。制御装置10において、判定基準は、出力データが3系統以上の場合に出力データを多数決の結果に基づいて誤動作か否かを判定するための基準であっても良い。このような制御装置10は、3系統以上のバス1008,1018,1028と、3系統以上の処理装置1000,1010,1020と、多数決回路1030と、を備えた。3系統以上のバス1008,1018,1028は、受け取った要求に応じてデータを出力する。3系統以上の処理装置1000,1010,1020は、それぞれのバス1008,1018,1028に接続された第1の処理装置1000と、第2の処理装置1010と、第3の処理装置1020と、よりなる。
多数決回路1030は、3系統以上の処理装置1000,1010,1020それぞれからの同一の入力要求に対応した出力データ1007,1017,1027を入力して多数決する。その多数決の結果で制御装置10は、誤動作か否かを判定する。ここで、制御対象となる機器150を安全に停止させるための値が規定されていれば、その規定値に基づいて、何れの出力が正しいかが判定できない場合に機器150を安全に停止させることができる。
[4]制御装置1,10において、入力制御回路140,1040は、複数の処理装置100,110,1000,1010,1020からの入力要求の1つを選択する第1の選択回路201,401,1201と、複数の処理装置100,110,1000,1010,1020からの入力要求を記憶する第1の記憶回路202,402,502,701,702~70p,1202と、入力データを記憶する第2の記憶回路205,405,505,721,722~72pと、入力データと第2の記憶回路205,405,505,721,722~72pの出力の何れか1つを選択する第2の選択回路204,404,742,1204と、を備える。
第2の選択回路204,404,742,1204は複数の処理装置100,110,1000,1010,1020からの入力要求と第1の記憶回路202,402,502,701,702~70pの出力が一致していた場合に第2の記憶回路205,405,505,721,722~72pの出力を選択する。
第3の処理装置、あるいは、それ以降第Nまであれば、同様に第2の記憶回路205,405,505,721,722~72pの出力が選択され、第1の入力データを、第2の入力要求を出力した処理装置に入力する。第1の入力データを、第3~第Nの入力要求を出力した処理装置に順次入力する。
その結果、入力要求が第1の記憶回路202,402,502,701,702~70p,1202と同一と判定された場合に、第2の選択回路204,404,742,1204は、入力データを記憶した第2の記憶回路205,405,505,721,722~72pの出力を選択する。複数の処理装置100,110,1000,1010,1020からの入力要求に応じて、第1~第Nの処理装置に第1の入力データが順次入力され、それぞれの処理装置から出力データが得られる。異なるタイミングの入力要求に応じた入力データは、取り込むタイミングがずれていても、データラッチにより、取得タイミング差に起因する情報差異を無くして入力データとする。その結果、過剰な誤動作検出を防止できる。
[5]図4の実施例2に示す入力制御回路140Bは、エラー検出回路407と、エラー検出用符号付加回路408と、を備える。エラー検出用符号付加回路408は、入力データにエラー検出用符号を付加する。このため、第2の記憶回路405にエラー検出用符号を含む情報が記憶可能である。
このように、入力制御回路140Bは、エラー検出用符号付加回路408によって、バス、信号線、記憶回路などに、エラー検出用符号を付加し、エラー検出回路407でエラー検出可能である。これにより、バス、信号線、記憶回路などでエラーが発生した場合に誤った入力要求や入力データで処理を継続することを防止できる。さらに、誤動作の原因解析を容易化することもできる。
[6]図5の入力制御回路140Cに実施例3の特徴を示す。第1の記憶回路502は、複数の処理装置100,110からの入力要求を複数格納する領域を有している。第2の記憶回路505も、入力データを複数格納する領域を有する。
これらは、取得タイミングの異なる複数の入力データにおいて、相互のずれが大きくなると記憶容量が足りなくなるので、第1、第2の記憶回路502,505に、入力要求と入力データを複数格納する領域を備えた。これら複数の格納領域には、FIFOで整然とデータを入出力することにより、適用範囲を広げられる。
また、図7の入力制御回路140Dに実施例4の特徴を示す。入力制御回路140Dは、第1の記憶回路701,702~70pと、第2の記憶回路721,722~72pと、を備えている。これら第1、第2の記憶回路701,702~70p,721,722~72pに示すような形態で、入力要求と入力データを複数格納する領域を備えている。
これら複数の格納領域には、FIFOでなく、並列的にデータを出し入れすることも可能である。この場合、タイミング差が大き過ぎて対比できずに使えなかったデータも記憶しておいて、対比できる程度に差が縮んだ時に使うようにしても良い。
本発明の実施形態に係る制御方法は、つぎのように総括できる。
[7]この制御方法は、複数の処理系統(例えば、処理装置100,110,1000,1010,1202)に同一の処理を実行させた多重化により冗長性を持たせて、誤動作があれば出力データの出力を停止する方法である。複数の処理系統は、制御対象機器150から入力された入力データを基に同一処理を実行し出力データを出力する。
[7]この制御方法は、複数の処理系統(例えば、処理装置100,110,1000,1010,1202)に同一の処理を実行させた多重化により冗長性を持たせて、誤動作があれば出力データの出力を停止する方法である。複数の処理系統は、制御対象機器150から入力された入力データを基に同一処理を実行し出力データを出力する。
この制御方法は、複数の処理系統による同一の処理によって、それぞれ出力された複数の出力データを所定の判定基準に基づき判定し、判定の結果が誤動作であれば出力データの出力を停止する。まず、第1の入力要求に応答して制御対象機器150から送信された第1の入力データをラッチする。第1の入力要求は、第1の処理系統(例えば、処理装置100,1000)から制御対象機器150に送信される。
引き続き、第2の入力要求が、第2の処理系統(例えば、第2の処理装置110,
1010)に送信される。同様に、複数の処理系統の各々について、ある処理系統からの制御対象機器150に対する入力要求に応答して制御対象機器150から送信された入力データを当該処理系統に入力するか否かを制御する。この制御は、つぎの手順で実行される。
1010)に送信される。同様に、複数の処理系統の各々について、ある処理系統からの制御対象機器150に対する入力要求に応答して制御対象機器150から送信された入力データを当該処理系統に入力するか否かを制御する。この制御は、つぎの手順で実行される。
(1)第1の入力データを基に所定の処理を実行し出力データを出力する第1の処理系統(例えば、処理装置100,1000)に、第1の入力データを入力する。
(2)複数の処理系統(例えば、処理装置100,110,1000,1010)のうちの第2の処理系統(例えば、第2の処理装置110,1010)から送信された第2の入力要求が第1の入力要求と同じか否かを判定する。
(3)判定の結果が偽の場合、第2の入力要求に応答して制御対象機器150から送信された第2の入力データを第2の処理系統に入力する。
(4)判定の結果が真の場合、記憶部(例えば第2の記憶回路205,405,505,721,722~72p)に記憶されている第1の入力データを、第2の処理系統(第2の処理装置110,1010)に入力する。
(2)複数の処理系統(例えば、処理装置100,110,1000,1010)のうちの第2の処理系統(例えば、第2の処理装置110,1010)から送信された第2の入力要求が第1の入力要求と同じか否かを判定する。
(3)判定の結果が偽の場合、第2の入力要求に応答して制御対象機器150から送信された第2の入力データを第2の処理系統に入力する。
(4)判定の結果が真の場合、記憶部(例えば第2の記憶回路205,405,505,721,722~72p)に記憶されている第1の入力データを、第2の処理系統(第2の処理装置110,1010)に入力する。
この制御方法によれば、先行する第1の処理系統と同一の要求を出力した第2の処理系統に対しては記憶部の出力を選択する。その結果、複数の処理系統は、入力データを取り込むタイミングが異なっていても、第2(2番目)の処理系統以降に対しては、記憶部に格納された第1(最初の)の処理系統の入力データを受け取るので、データの一致が保証される。その結果、複数で同一の処理を実行する多重化により冗長性を持たせた制御方法において、複数で入力を取り込むタイミングのずれに起因する過剰な誤動作検出を防止できる。
[補足]
一般的に、マイコン(microcomputer)などの出力命令で外部にデータを出力したい時、実際にマイコンから出力されるデータは、一瞬しか出力されないことがある。場合によっては、そのマイコンの出力データを保持(データラッチ)することが必要になる。本発明の実施形態に係る制御装置は、このラッチのため、DフリップフロップやラッチレジスタICを用いて実現されても良い。その制御装置によれば、新たな出力を待つ代わりに、メモリのデータラッチを使うことによって、出力待ちの時間が節約されて、複数のCPU間におけるデータ転送を高速化できる作用効果もある。
一般的に、マイコン(microcomputer)などの出力命令で外部にデータを出力したい時、実際にマイコンから出力されるデータは、一瞬しか出力されないことがある。場合によっては、そのマイコンの出力データを保持(データラッチ)することが必要になる。本発明の実施形態に係る制御装置は、このラッチのため、DフリップフロップやラッチレジスタICを用いて実現されても良い。その制御装置によれば、新たな出力を待つ代わりに、メモリのデータラッチを使うことによって、出力待ちの時間が節約されて、複数のCPU間におけるデータ転送を高速化できる作用効果もある。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置いてもよい。入力制御回路140は、FPGA(Field Programmable Gate Array)やカスタムLSI、SRAM(Static Random Access Memory)やフラッシュメモリで実現することにより、小型化、高速化できる。
なお、ソフトウェアを用いずに、ハードウェアのみで実現した場合、ソフトウェアの実行時間が省略されるため、より高速化できる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1,10 制御装置、100,1000 第1の処理装置、101,111,1001,1011,1021 CPU、102,112 RAM、103,113 ROM、105,115 出力回路、106,116 入力回路、107,117,131,151,152,211,212,213,214,215,231~23m,251~25n,411,412,414,415,512,711,712~71p,731,732~73 信号線、104,108,114,118,1008,1007,1017,1018,1027,1028 バス、110,1010 第2の処理装置、120 出力停止回路、130 照合回路、140,140A~140D,1040 入力制御回路、150 機器、201,401,1201 第1の選択回路、202,402,502,701,702~70p,1202 第1の記憶回路、205,405,505,721,722~72p 第2の記憶回路、204,404,742,1204 第2の選択回路、203,403,503,741,1203 比較回路、206 第3の選択回路、221~22m アナログ入力回路、241~24n デジタル入力回路、407 エラーチェック回路、408 チェックコード付加回路、1020 第3の処理装置、1030 多数決回路、1101 第1の照合回路、1102 第2の照合回路、1103 第3の照合回路、1104 第1の出力停止回路、1105 AND回路、1106 第2の出力停止回路、1107 OR回路
Claims (9)
- 制御対象機器から入力された入力データを基に処理を実行し出力データを出力する複数の処理装置から同一の処理についてそれぞれ出力された複数の出力データを所定の判定基準に基づき判定し当該判定の結果が誤動作であれば出力データの出力を停止する制御装置であって、
前記複数の処理装置のうちの何れかの処理装置から前記制御対象機器に送信された第1の入力要求に応答して前記制御対象機器から送信された第1の入力データをラッチする記憶部と、
前記複数の処理装置の各々について、当該処理装置からの前記制御対象機器に対する入力要求に応答して前記制御対象機器から送信された入力データを当該処理装置に入力するか否かを制御する入力制御回路と、
を備え、
前記入力制御回路は、
(1)前記第1の入力データを基に所定の処理を実行し出力データを出力する前記第1の入力要求を出力した処理装置に、前記第1の入力データを入力し、
(2)前記複数の処理装置のうちの前記第1の入力要求を出力した処理装置とは異なる処理装置から送信された第2の入力要求が前記第1の入力要求と同じか否かを判定し、
(3)当該判定の結果が真の場合、前記記憶部に記憶されている第1の入力データを、当該第2の入力要求を出力した処理装置に入力する、
制御装置。 - 前記判定基準は、前記出力データの相互間に非同一の組み合わせがあるかどうかが誤動作と判定するための基準である、
請求項1に記載の制御装置。 - 前記判定基準は、前記出力データが3系統以上の場合に前記出力データを多数決の結果に基づいて誤動作か否かを判定するための基準である、
請求項1に記載の制御装置。 - 前記入力制御回路は、
前記複数の処理装置からの入力要求の1つを選択する第1の選択回路と、
前記複数の処理装置からの入力要求を記憶する第1の記憶回路と、
入力データを記憶する第2の記憶回路と、
入力データと前記第2の記憶回路の出力の何れか1つを選択する第2の選択回路と、
を備え、
前記第2の選択回路は前記複数の処理装置からの入力要求と前記第1の記憶回路の出力が一致していた場合に前記第2の記憶回路の出力を選択する、
請求項2又は3に記載の制御装置。 - 前記入力制御回路は、エラー検出可能なエラー検出回路と、エラー検出用符号付加回路と、を備え、
該エラー検出用符号付加回路は、前記入力データにエラー検出用符号を付加し、
前記第2の記憶回路に前記エラー検出用符号を含む情報が記憶可能である、
請求項4に記載の制御装置。 - 前記第1の記憶回路は前記複数の処理装置らの入力要求を複数格納する領域を有し、
前記第2の記憶回路は入力データを複数格納する領域を有する、
請求項4に記載の制御装置。 - 多重化により冗長性を持たせた複数の処理系統が制御対象機器から入力された入力データを基に同一の処理を実行して出力データを出力するとともに、それぞれ出力された複数の出力データを所定の判定基準に基づいて判定し、判定の結果が誤動作であれば出力データの出力を停止する制御方法であって、
前記複数の処理系統の何れかから前記制御対象機器に送信された第1の入力要求に応答して前記制御対象機器から送信された第1の入力データを記憶部にラッチし、
ある処理系統からの前記制御対象機器に対する入力要求に応答して前記制御対象機器から送信された入力データを当該処理系統に入力するか否かを複数の処理系統の各々について制御する手順はつぎのとおり、
(1)前記第1の入力データを基に所定の処理を実行して前記出力データを出力する前記第1の入力要求を出力した処理系統に、前記第1の入力データを入力し、
(2)前記複数の処理系統のうちの前記第1の入力要求を出力した処理系統とは異なる処理系統から送信された第2の入力要求が前記第1の入力要求と同じか否かを判定し、
(3)判定の結果が偽の場合、前記第2の入力要求に応答して前記制御対象機器から送信された第2の入力データを前記第2の入力要求を出力した処理系統に入力し、
(4)判定の結果が真の場合、前記記憶部に記憶されている前記第1の入力データを、前記第2の入力要求を出力した処理系統に入力する、
制御方法。 - 前記判定基準は、前記出力データの相互間に非同一の組み合わせがあるかどうかが誤動作と判定するための基準である、
請求項7に記載の制御方法。 - 前記判定基準は、前記出力データが3系統以上の場合に前記出力データを多数決の結果に基づいて誤動作か否かを判定するための基準である、
請求項7に記載の制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020027625A JP7312127B2 (ja) | 2020-02-20 | 2020-02-20 | 制御装置 |
EP20920068.2A EP4109184A4 (en) | 2020-02-20 | 2020-12-03 | CONTROL DEVICE |
PCT/JP2020/045004 WO2021166373A1 (ja) | 2020-02-20 | 2020-12-03 | 制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020027625A JP7312127B2 (ja) | 2020-02-20 | 2020-02-20 | 制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021131785A JP2021131785A (ja) | 2021-09-09 |
JP7312127B2 true JP7312127B2 (ja) | 2023-07-20 |
Family
ID=77391744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020027625A Active JP7312127B2 (ja) | 2020-02-20 | 2020-02-20 | 制御装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4109184A4 (ja) |
JP (1) | JP7312127B2 (ja) |
WO (1) | WO2021166373A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140704A (ja) | 2001-11-06 | 2003-05-16 | Yamatake Sangyo Systems Co Ltd | プロセス制御装置 |
JP2012133610A (ja) | 2010-12-22 | 2012-07-12 | Hitachi Ltd | 2重化プロセス制御装置および制御データ一致化方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09218797A (ja) * | 1996-02-14 | 1997-08-19 | Mitsubishi Electric Corp | 2重化制御装置 |
DE10002522C1 (de) * | 2000-01-21 | 2001-05-31 | Siemens Ag | Verfahren zur Bereitstellung von konsistenten Eingangswerten und Mehrrechnersystem |
GB2477237B (en) * | 2006-01-13 | 2011-09-07 | Emerson Process Management | A method for redundant controller synchronization for bump-less failover during normal and mismatch conditions |
JP6017344B2 (ja) | 2013-02-26 | 2016-10-26 | 株式会社日立製作所 | 制御装置、制御システム及びデータ生成方法 |
JP2019046274A (ja) * | 2017-09-05 | 2019-03-22 | 三菱電機株式会社 | 入出力装置 |
-
2020
- 2020-02-20 JP JP2020027625A patent/JP7312127B2/ja active Active
- 2020-12-03 EP EP20920068.2A patent/EP4109184A4/en active Pending
- 2020-12-03 WO PCT/JP2020/045004 patent/WO2021166373A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140704A (ja) | 2001-11-06 | 2003-05-16 | Yamatake Sangyo Systems Co Ltd | プロセス制御装置 |
JP2012133610A (ja) | 2010-12-22 | 2012-07-12 | Hitachi Ltd | 2重化プロセス制御装置および制御データ一致化方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2021131785A (ja) | 2021-09-09 |
WO2021166373A1 (ja) | 2021-08-26 |
EP4109184A1 (en) | 2022-12-28 |
EP4109184A4 (en) | 2024-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4438492A (en) | Interruptable microprogram controller for microcomputer systems | |
EP0380858A2 (en) | Method and apparatus for detecting and correcting errors in a pipelined computer system | |
US9063907B2 (en) | Comparison for redundant threads | |
US20020052987A1 (en) | Host controller interface descriptor fetching unit | |
US20030172232A1 (en) | Method and apparatus for multi-core processor integrated circuit having functional elements configurable as core elements and as system device elements | |
EP2711840A2 (en) | Semiconductor integrated circuit device and microcontroller | |
JP2010501915A (ja) | メモリ用モジュールコマンド構造およびメモリシステム | |
US6212134B1 (en) | Watch dog timer system | |
US11216282B2 (en) | Multi-die and multi-core computing platform and booting method for the same | |
JP7312127B2 (ja) | 制御装置 | |
JPS63116236A (ja) | 情報処理装置 | |
EP3759606B1 (en) | An apparatus and method for accessing metadata when debugging a device | |
US20120023273A1 (en) | Command management device configured to store and manage received commands and storage apparatus with the same | |
US20130212362A1 (en) | Image processing device and data processor | |
US7240144B2 (en) | Arbitration of data transfer requests | |
EP3428799B1 (en) | Data access device and access error notification method | |
US7689864B2 (en) | Processor comprising an integrated debugging interface controlled by the processing unit of the processor | |
US7916146B1 (en) | Halt context switching method and system | |
CN110462603B (zh) | 微型计算机 | |
US7765383B2 (en) | Data processing unit and data processing apparatus using data processing unit | |
US7124277B2 (en) | Method and apparatus for a trace cache trace-end predictor | |
US20030131221A1 (en) | Transaction redirection mechanism for handling late specification changes and design errors | |
US10481867B2 (en) | Data input/output unit, electronic apparatus, and control methods thereof | |
JPS62166451A (ja) | 論理装置の履歴解折装置 | |
JPWO2004051492A1 (ja) | 同一の入力値を圧縮する記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221014 |
|
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: 20230704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7312127 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |