(57)【特許請求の範囲】
【請求項１】
複数のＣＰＵと、複数のウォッチドッグタイマと、を備えた制御装置であって、
前記複数のＣＰＵは、それぞれ第１の信号を出力する 出力ポートを有し、
前記複数のウォッチドッグタイマは、前記複数のＣＰＵと同数設けられ、前記複数のＣＰＵに個別に接続され
前記複数のＣＰＵから出力された前記第１の信号を論理演算する論理回路を有し、
前記論理回路は、前記複数のＣＰＵに対応してそれぞれ配置される第１の演算素子と、前記複数のＣＰＵに対して一つ配置される第２の演算素子と、を備え、
前記複数のＣＰＵに所定の同じ処理を行わせるとともに、
前記第１の演算素子は、前記複数のＣＰＵにそれぞれ接続された前記複数のウォッチドッグタイマから出力されるウォッチドッグタイマ出力信号と、前記複数のＣＰＵのそれぞれの前記出力ポートから出力される前記第１の信号と、を論理演算して第２の信号として出力し、
前記第２の演算素子は、複数の前記第１の演算素子から出力される複数の前記第２の信号を論理演算して制御信号として出力することを特徴とする制御装置。
【請求項２】
前記 論理回路は、前記第１の演算素子と前記第２の演算素子の組合せが、論理和素子と論理積素子の組合せであり、
前記ウォッチドッグタイマの出力は、ＣＰＵの動作異常を検出した場合に前記第１の演算素子の出力が不変となる極性で前記第１の演算素子に供給されることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記複数のＣＰＵは、それぞれ第１の信号を出力する複数の出力ポートを有し、
前記論理回路を複数有し、
それぞれの前記ウォッチドッグタイマは、一つの前記ＣＰＵに接続されるとともに、複数の出力を有し、
一つの前記ウォッチドッグタイマからの複数の前記ウォッチドッグタイマ出力信号が、複数の前記論理回路のそれぞれに個別に与えられることを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記論理回路のうち少なくともその１つは、前記第１の演算素子が論理和素子であるとともに、前記第２の演算素子が論理積素子であり、
前記ウォッチドッグタイマは、ＣＰＵの動作異常を検出した場合に論理出力”１”を出力するよう動作することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記論理回路のうち少なくともその１つは、前記第１の演算素子が論理積素子であるとともに、前記第２の演算素子が論理和素子であり、
前記ウォッチドッグタイマは、ＣＰＵの動作異常を検出した場合に論理出力”０”を出力するよう動作することを特徴とする請求項３に記載の制御装置。
【請求項６】
複数の前記ウォッチドッグタイマからのウォッチドッグタイマ出力信号を論理演算して第３の信号として出力する第３の演算素子と、
前記第２の演算素子から出力される信号と、前記第３の信号を論理演算して制御信号を出力する第４の演算素子とを有することを特徴とする請求項１ないし３のいずれかに記載の制御装置。
【請求項７】
前記第３の演算素子と前記第４の演算素子が、共に論理積素子であることを特徴とする請求項６記載の制御装置。
【請求項８】
前記第３の演算素子が論理積素子であり、前記第４の演算素子が論理和素子であることを特徴とする請求項６記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、特に、誤動作を低減することができる制御装置に関する。
【背景技術】
【０００２】
従来から、制御装置の故障によって、制御装置が組み込まれる機器やシステムの誤作動を防止するために、制御装置に自己診断機能を付与し、この自己診断によって故障と診断した際には、その出力を停止させるようにすることが広く行なわれている。また、このような制御装置の故障診断として、ウォッチドッグタイマを用いて、制御装置の処理時間または処理周期を監視してこれが所定の範囲から外れた場合には故障と診断する技術が知られている。
【０００３】
また、故障した制御装置を補完するため、複数の制御ユニットやＣＰＵを組み合わせて、故障検出精度の向上や、信頼性を確保する技術が提案されている。
【０００４】
特許文献１（従来例）の制御部９００では、図１３に示すように、複数の制御ユニットＣＰＵ９０１,ＣＰＵ９０２を備えた制御システムにおける各制御ユニットに所定の同じ処理を行わせる。また、この処理結果を示す各出力データを、制御ユニットの外部に設けられたダミー出力比較回路９８０によって相互比較し、両者が不一致の場合に、少なくともいずれかの制御ユニットが故障であると診断する。ダミー出力比較回路９８０で異常が検出された際には、出力カット信号によってソレノイド駆動回路をカットして誤作動を防止する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３３４３１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来例では、異常が検出された際に出力カット信号によって制御装置からの信号がカットされてしまうため、制御装置が組み込まれる機器やシステムの動作を継続することができなくなってしまうという課題があった。
【０００７】
本発明は、上述した課題を解決するもので、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この課題を解決するために、本発明の制御装置は、複数のＣＰＵと、複数のウォッチドッグタイマと、を備え、前記複数のＣＰＵは、それぞれ第１の信号を出力する出力ポートを有し、前記複数のウォッチドッグタイマは、前記複数のＣＰＵと同数設けられ、前記複数のＣＰＵに個別に接続され前記複数のＣＰＵから出力された前記第１の信号を論理演算する論理回路を有し、前記論理回路は、前記複数のＣＰＵに対応してそれぞれ配置される第１の演算素子と、前記複数のＣＰＵに対して一つ配置される第２の演算素子と、を備え、前記複数のＣＰＵに所定の同じ処理を行わせるとともに、前記第１の演算素子は、前記複数のＣＰＵにそれぞれ接続された前記複数のウォッチドッグタイマから出力されるウォッチドッグタイマ出力信号と、前記複数のＣＰＵのそれぞれの前記出力ポートから出力される前記第１の信号と、を論理演算して第２の信号として出力し、前記第２の演算素子は、複数の前記第１の演算素子から出力される複数の前記第２の信号を論理演算して制御信号として出力することを特徴とする。
【０００９】
これによれば、ウォッチドックタイマから出力されるウォッチドッグタイマ出力信号と、ＣＰＵから出力される第１の信号と、を第１の演算素子で論理演算することで、ＣＰＵに異常があった場合に異常があったＣＰＵ側の第１の信号をフェールセーフ側に固定することができる。更に複数のＣＰＵからの第１の信号を、第２の演算素子で論理演算することで、複数の第１の信号から、フェールセーフ側信号または制御信号を継続して出力することができる。従って、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することができる。
【００１０】
また、本発明の制御装置は、前記論理回路は、前記第１の演算素子と前記第２の演算素子の組合せが、論理和素子と論理積素子の組合せであり、前記ウォッチドッグタイマの出力は、ＣＰＵの動作異常を検出した場合に前記第１の演算素子の出力が不変となる極性で前記第１の演算素子に供給されることを特徴とする。
【００１１】
これによれば、論理回路は、第１の演算素子と第２の演算素子の組合せが、論理和素子と論理積素子の組合せで、ウォッチドッグタイマの出力は、ＣＰＵの動作異常を検出した場合に前記第１の演算素子の出力が不変となる極性で前記第１の演算素子に供給される。このためＣＰＵの動作異常を検出した場合に、第１の演算素子の出力を固定することができる。第１の演算素子の出力を固定されるので、他のＣＰＵが正常に動作している場合には第２の演算素子によって他のＣＰＵから出力された信号に従った制御信号を出力することができる。また、ＣＰＵが制御する複数の機能に対して論理回路を設けることで、複数の機能に対して動作を停止することなく誤動作を低減することができる。
【００１２】
本発明の制御装置は、前記複数のＣＰＵは、それぞれ第１の信号を出力する複数の出力ポートを有し、前記論理回路を複数有し、それぞれの前記ウォッチドッグタイマは、一つの前記ＣＰＵに接続されるとともに、複数の出力を有し、一つの前記ウォッチドッグタイマからの複数の前記ウォッチドッグタイマ出力信号が、複数の前記論理回路のそれぞれに個別に与えられるものとして構成できる。
【００１３】
また、本発明の制御装置は、前記論理回路のうち少なくともその１つは、前記第１の演算素子が論理和素子であるとともに、前記第２の演算素子が論理積素子であり、前記ウォッチドッグタイマは、ＣＰＵの動作異常を検出した場合に論理出力”１”を出力するよう動作することを特徴とする。
【００１４】
これによれば、論理回路のうち少なくともその１つは、第１の演算素子が論理和素子であり、ＣＰＵの動作異常を検出した場合に、ウォッチドッグタイマが論理出力”１”を出力するので、ＣＰＵが異常動作した場合に第１の演算素子の出力を”１”に固定することができる。第２の演算素子が論理積であるので、他のＣＰＵが正常に動作している場合には他のＣＰＵから出力された信号に従った制御信号を出力することができる。
【００１５】
また、本発明の制御装置は、前記論理回路のうち少なくともその１つは、前記第１の演算素子が論理積素子であるとともに、前記第２の演算素子が論理和素子であり、前記ウォッチドッグタイマは、ＣＰＵの動作異常を検出した場合に論理出力”０”を出力するよう動作することを特徴とする。
【００１６】
これによれば、ＣＰＵの動作異常を検出した場合に、ウォッチドッグタイマが論理出力”０”を出力し、第１の演算素子が論理積なので、ＣＰＵが異常動作した場合に第１の演算素子の出力を”０”に固定することができる。第２の演算素子が論理和であるので、他のＣＰＵが正常に動作している場合には他のＣＰＵから出力された信号に従った制御信号を出力することができる。
【００１７】
本発明の制御装置は、複数の前記ウォッチドッグタイマからのウォッチドッグタイマ出力信号を論理演算して第３の信号として出力する第３の演算素子と、前記第２の演算素子から出力される信号と、前記第３の信号を論理演算して制御信号を出力する第４の演算素子とを有するものである。
【００１８】
例えば、前記第３の演算素子と前記第４の演算素子が、共に論理積素子である。
あるいは、前記第３の演算素子が論理積素子であり、前記第４の演算素子が論理和素子である。
【００１９】
上記のように、第３の演算素子と第４の演算素子を設けることで、複数のＣＰＵが共に動作異常であることを検出した場合に、制御信号を正負のいずれかに選択して設定することができる。
【発明の効果】
【００２０】
本発明の制御装置によれば、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態に係る制御装置の構成を示すブロック図である。
【図２】本発明の第１実施形態に係る制御装置の動作説明図１である。
【図３】本発明の第１実施形態に係る制御装置の動作説明図２である。
【図４】本発明の第１実施形態に係る制御装置の動作説明図３である。
【図５】本発明の実施形態に係る制御装置の基本構成を示すブロック図である。
【図６】図５に示す実施形態を改良した本発明の第２実施形態に係る制御装置の動作説明図１である。
【図７】図５に示す実施形態を改良した本発明の第２実施形態に係る制御装置の動作説明図２である。
【図８】図５に示す実施形態を改良した本発明の第２実施形態に係る制御装置の動作説明図３である。
【図９】本発明の実施形態に係る制御装置の基本構成を示すブロック図である。
【図１０】図９に示す実施形態を改良した本発明の第３実施形態に係る制御装置の動作説明図１である。
【図１１】図９に示す実施形態を改良した本発明の第３実施形態に係る制御装置の動作説明図２である。
【図１２】図９に示す実施形態を改良した本発明の第３実施形態に係る制御装置の動作説明図３である。
【図１３】従来技術の制御部を示すブロック図である。
【発明を実施するための形態】
【００２２】
［第１実施形態］
以下に第１実施形態における制御装置１００について説明する。
【００２３】
まず始めに本実施形態における制御装置１００の構成について図１を用いて説明する。図１は制御装置１００の構成を示すブロック図である。
【００２４】
制御装置１００は、図１に示すように、複数のＣＰＵと、複数のＣＰＵと同数設けられた複数のウォッチドッグタイマ（図１ではＷＤＴと表記）と、第１の論理回路３０と、第２の論理回路３１と、を備えている。尚、本実施形態では、複数のＣＰＵは、第１ＣＰＵ１０と第２ＣＰＵ１１の２つのＣＰＵであり、ＣＰＵと同数のウォッチドッグタイマは、第１ウォッチドッグタイマ２０と第２ウォッチドッグタイマ２１の２つのウォッチドックタイマである場合について説明する。
【００２５】
第１ＣＰＵ１０と第２ＣＰＵ１１は、それぞれ第１の信号を出力する複数の出力ポートを有している。具体的には、第１ＣＰＵ１０は第１の出力ポートＰ０１と第２の出力ポートＰ０２を有しており、第２ＣＰＵ１１は第１の出力ポートＰ１１と第２の出力ポートＰ１２を有している。尚、第１ＣＰＵ１０の第１の出力ポートＰ０１から出力される第１の信号と、第２の出力ポートＰ０２から出力される第１の信号と、は異なる信号である。また、第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される第１の信号と、第２の出力ポートＰ１２から出力される第１の信号と、は異なる信号である。
【００２６】
第１ＣＰＵ１０と第２ＣＰＵ１１はそれぞれ、図示しないクロック回路及びプログラム記憶領域を含む記憶回路を有しており、クロック回路が発生するクロック信号に従ってプログラム領域に記憶されたプログラムに従って演算処理を行う。第１ＣＰＵ１０のクロック回路と第２ＣＰＵ１１のクロック回路は概ね同じ周波数のクロック信号を発生させる。また、第１ＣＰＵ１０と第２ＣＰＵ１１は、それぞれのプログラム記憶領域に同一動作のプログラムが記憶されており、所定の同じ処理を行う。
【００２７】
また、第１ＣＰＵ１０と第２ＣＰＵ１１には、それぞれＣＰＵが演算処理を行う動作に対応して論理出力”１”としてのハイレベル信号と論理出力”０”としてのローレベル信号とを交互に出力する動作信号出力（φ１，φ２）を有している。第１ＣＰＵ１０が正常動作している場合には第１ＣＰＵ１０に備えられた動作信号出力φ１には所定の時間間隔で”１”と”０”とが交互に出力される。また第２ＣＰＵ１１が正常動作している場合には第２ＣＰＵ１０に備えられた動作信号出力φ２には所定の時間間隔で”１”と”０”とが交互に出力される。
【００２８】
また、外部装置５０との通信手段を有しており、外部装置５０からの信号の受信や外部装置５０に対する信号の送信を行うことができる。
【００２９】
第１ウォッチドッグタイマ２０と第２ウォッチドッグタイマ２１は、第１ＣＰＵ１０と第２ＣＰＵ１１にそれぞれ接続されている。
【００３０】
第１ウォッチドッグタイマ２０は、入力端子と２つの出力端子を有しており、入力端子は第１ＣＰＵ１０の動作信号出力φ１に接続される。また、２つの出力端子は、一方が入力された信号が所定の時間より長い間”１”または”０”の状態が継続した場合にウォッチドッグタイマ出力”１”を出力する正論理出力Ｐ１であり、他方が正論理出力Ｐ１と反転した信号を出力する負論理出力Ｎ１となっている。従って第１ウォッチドッグタイマ２０の正論理出力Ｐ１は、ＣＰＵの動作異常を検出した場合に論理出力”１”を出力するよう動作し、負論理出力Ｎ１は、ＣＰＵの動作異常を検出した場合に論理出力”０”を出力するよう動作する。
【００３１】
第２ウォッチドッグタイマ２１は、入力端子と２つの出力端子を有しており、入力端子は第２ＣＰＵ１１の動作信号出力φ２に接続される。また、２つ出力端子は、一方が入力された信号が所定の時間より長い間”１”または”０”の状態が継続した場合にウォッチドッグタイマ出力”１”を出力する正論理出力Ｐ２であり、他方が正論理出力Ｐ２と反転した信号を出力する負論理出力Ｎ２となっている。従って第２ウォッチドッグタイマ２１の正論理出力Ｐ２は、ＣＰＵの動作異常を検出した場合に論理出力”１”を出力するよう動作し、負論理出力Ｎ２は、ＣＰＵの動作異常を検出した場合に論理出力”０”を出力するよう動作する。
【００３２】
第１の論理回路３０は、第１ＣＰＵ１０の第１の出力ポートＰ０１から出力される第１の信号と第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される第１の信号と論理演算する。
【００３３】
第１の論理回路３０は、第１の演算素子と第２の演算素子の組合せが、論理積素子の組合せで構成されている。第１の演算素子は、第１の論理和素子３０ａと第２の論理和素子３０ｂとが、２つのＣＰＵ（１０，１１）に対応してそれぞれ配置されるとともに、第２の演算素子は、第１の論理積素子３０ｃが２つのＣＰＵ（１０，１１）に対して一つ配置されている。
【００３４】
第１の論理回路３０に備えられた第１の演算素子の第１の論理和素子３０ａは、２つの入力端子と１つの出力端子を有している。一方の入力端子は第１ＣＰＵ１０の第１の出力ポートＰ０１に接続され、他方の入力端子は第１ウォッチドッグタイマ２０の正論理出力Ｐ１と接続されている。第１の論理和素子３０ａの出力には、第１ＣＰＵ１０の第１の出力ポートＰ０１と第１ウォッチドッグタイマ２０の正論理出力Ｐ１から出力されるウォッチドッグタイマ出力信号の論理和演算された結果が第２の信号として出力される。
【００３５】
第１の論理回路３０に備えられた第１の演算素子の第２の論理和素子３０ｂは、２つの入力端子と１つの出力端子を有している。一方の入力端子は第２ＣＰＵ１１の第１の出力ポートＰ１１に接続され、他方の入力端子は第２ウォッチドッグタイマ２１の正論理出力Ｐ２と接続されている。第２の論理和素子３０ｂの出力には、第２ＣＰＵ１１の第１の出力ポートＰ１１と第２ウォッチドッグタイマ２１の正論理出力Ｐ２から出力されるウォッチドッグタイマ出力信号の論理和演算された結果が第２の信号として出力される。
【００３６】
第１の論理回路３０に備えられた第２の演算素子の第１の論理積素子３０ｃは、２つの入力端子と１つの出力端子を有している。一方の入力端子は第１の論理和素子３０ａの出力端子に接続され、他方の入力端子は第２の論理和素子３０ｂの出力端子と接続されている。第１の論理積素子３０ｃの出力には、第１の論理和素子３０ａから出力される第２の信号と第２の論理和素子３０ｂの出力から出力される第２の信号の、２つの第２の信号が論理積演算された結果が制御信号として出力される。
【００３７】
第２の論理回路３１は、第１ＣＰＵ１０の第２の出力ポートＰ０２から出力される第１の信号と第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される第１の信号と論理演算する。
【００３８】
第２の論理回路３１は、第１の演算素子と第２の演算素子の組合せが、論理積素子の組合せで構成されている。第１の演算素子は、第２の論理積素子３１ａと第３の論理積素子３１ｂとが、２つのＣＰＵ（１０，１１）に対応してそれぞれ配置されとともに、第２の演算素子は、第３の論理和素子３１ｃが２つのＣＰＵ（１０，１１）に対して一つ配置されている。
【００３９】
第２の論理回路３１に備えられた第１の演算素子の第２の論理積素子３１ａは、２つの入力端子と１つの出力端子を有している。一方の入力端子は第１ＣＰＵ１０の第２の出力ポートＰ０２に接続され、他方の入力端子は第１ウォッチドッグタイマ２０の負論理出力Ｎ１と接続されている。第２の論理積素子３１ａの出力には、第１ＣＰＵ１０の第２の出力ポートＰ０２と第１ウォッチドッグタイマ２０の負論理出力Ｎ１から出力されるウォッチドッグタイマ出力信号の論理積演算された結果が第２の信号として出力される。
【００４０】
第２の論理回路３１に備えられた第１の演算素子の第３の論理積素子３１ｂは、２つの入力端子と１つの出力端子を有している。一方の入力端子は第２ＣＰＵ１１の第２の出力ポートＰ１２に接続され、他方の入力端子は第２ウォッチドッグタイマ２１の負論理出力Ｎ２と接続されている。第３の論理積素子３１ｂの出力には、第２ＣＰＵ１１の第２の出力ポートＰ１２と第２ウォッチドッグタイマ２１の負論理出力Ｎ２から出力されるウォッチドッグタイマ出力信号の論理積演算された結果が第２の信号として出力される。
【００４１】
第２の論理回路３１に備えられた第２の演算素子の第３の論理和素子３１ｃは、２つの入力端子と１つの出力端子を有している。一方の入力端子は第２の論理積素子３１ａの出力端子に接続され、他方の入力端子は第３の論理積素子３１ｂの出力端子と接続されている。第３の論理和素子３１ｃの出力には、第２の論理積素子３１ａから出力される第２の信号と第３の論理積素子３１ｂの出力から出力される第２の信号の、２つの第２の信号が論理和演算された結果が制御信号として出力される。
【００４２】
次に、制御装置１００の動作について、図２から図４を用いて説明する。図２は制御装置１００の動作説明図であり、第１ＣＰＵ１０及び第２ＣＰＵ１１が正常に動作している状態を説明する図である。図３は制御装置１００の動作説明図であり、第１ＣＰＵ１０の動作が異常となった場合の動作を示す図である。図４は制御装置１００の動作を示す図であり、第１ＣＰＵ１０及び第２ＣＰＵ１１の動作が異常となった場合の動作を示す図である。
【００４３】
最初に、制御装置１００が正常に動作している状態について図２を用いて説明する。
第１ＣＰＵ１０と第２ＣＰＵ１１はそれぞれ、ほぼ同じタイミングで動作し、所定の同じ処理を行うように動作している。この状態では、第１ＣＰＵ１０に備えられた動作信号出力φ１と第２ＣＰＵ１１に備えられた動作信号出力φ２には、所定の時間間隔で”１”と”０”とが交互に出力される。
【００４４】
第１ウォッチドッグタイマ２０は、第１ＣＰＵ１０の動作信号出力φ１から所定の時間間隔で”１”と”０”とが交互に入力されるため、第１ウォッチドッグタイマ２０の正論理出力Ｐ１からは”０”が出力され、負論理出力Ｎ１からは”１”が出力される。
【００４５】
第２ウォッチドッグタイマ２１は、第２ＣＰＵ１１の動作信号出力φ２から所定の時間間隔で”１”と”０”とが交互に入力されるため、第２ウォッチドッグタイマ２１の正論理出力Ｐ２からは”０”が出力され、負論理出力Ｎ２からは”１”が出力される。
【００４６】
第１の論理回路３０に備えられた第１の演算素子の第１の論理和素子３０ａは、一方の入力端子から第１ＣＰＵ１０の第１の出力ポートＰ０１の出力信号が入力され、他方の入力端子は第１ウォッチドッグタイマ２０の正論理出力Ｐ１からの出力信号が入力される。図２に示すように、第１ウォッチドッグタイマ２０の正論理出力Ｐ１からは”０”が出力されているので、第１の論理和素子３０ａの出力には、第１ＣＰＵ１０の第１の出力ポートＰ０１から出力される信号がそのまま第２の信号として出力されることになる。
【００４７】
第１の論理回路３０に備えられた第１の演算素子の第２の論理和素子３０ｂは、一方の入力端子から第２ＣＰＵ１１の第１の出力ポートＰ１１の出力信号が入力され、他方の入力端子は第２ウォッチドッグタイマ２１の正論理出力Ｐ１からの出力信号が入力される。図２に示すように、第２ウォッチドッグタイマ２１の正論理出力Ｐ２からは”０”が出力されているので、第２の論理和素子３０ｂの出力には、第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される信号がそのまま第２の信号として出力されることになる。
【００４８】
第１の論理回路３０に備えられた第２の演算素子の第１の論理積素子３０ｃは、一方の入力端子には第１の論理和素子３０ａから出力される第２の信号が入力され、他方の入力端子には第２の論理和素子３０ｂから出力される第２の信号が入力される。従って、第１の論理積素子３０ｃの出力には、第１ＣＰＵ１０の第１の出力ポートＰ０１から出力される信号と、第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される信号が論理積演算された結果が制御信号として出力される。第１ＣＰＵ１０と第２ＣＰＵ１１とは、ほぼ同じタイミングで動作し、所定の同じ処理を行うように動作しているので、第１ＣＰＵ１０の第１の出力ポートＰ０１と第２ＣＰＵ１１の第１の出力ポートＰ１１とからは、同じ信号が出力されている。このため、第１の論理積素子３０ｃからは、第１ＣＰＵ１０の第１の出力ポートＰ０１または第２ＣＰＵ１１の第１の出力ポートＰ１１と同じ信号が制御信号として出力されることとなる。
【００４９】
第２の論理回路３１に備えられた第１の演算素子の第２の論理積素子３１ａは、一方の入力端子から第１ＣＰＵ１０の第２の出力ポートＰ０２の出力信号が入力され、他方の入力端子は第１ウォッチドッグタイマ２０の負論理出力Ｎ１からの出力信号が入力される。第１ウォッチドッグタイマ２０の負論理出力Ｎ１からは”１”が出力されているので、第２の論理積素子３１ａの出力には、第１ＣＰＵ１０の第２の出力ポートＰ０２から出力される信号がそのまま第２の信号として出力されることになる。
【００５０】
第２の論理回路３１に備えられた第１の演算素子の第３の論理積素子３１ｂは、一方の入力端子から第２ＣＰＵ１１の第２の出力ポートＰ１２の出力信号が入力され、他方の入力端子は第２ウォッチドッグタイマ２１の負論理出力Ｎ２からの出力信号が入力される。第２ウォッチドッグタイマ２１の負論理出力Ｎ２からは”１”が出力されているので、第３の論理積素子３１ｂの出力には、第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される信号がそのまま第２の信号として出力されることになる。
【００５１】
第２の論理回路３１に備えられた第２の演算素子の第３の論理和素子３１ｃは、一方の入力端子には第２の論理積素子３１ａから出力される第２の信号が入力され、他方の入力端子には第３の論理積素子３１ｂから出力される第２の信号が入力される。従って、第３の論理和素子３１ｃの出力には、第１ＣＰＵ１０の第２の出力ポートＰ０２から出力される信号と、第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される信号が論理和演算された結果が制御信号として出力される。第１ＣＰＵ１０と第２ＣＰＵ１１とは、ほぼ同じタイミングで動作し、所定の同じ処理を行うように動作しているので、第１ＣＰＵ１０の第２の出力ポートＰ０２と第２ＣＰＵ１１の第２の出力ポートＰ１２とからは、同じ信号が出力されている。このため、第３の論理和素子３１ｃからは、第１ＣＰＵ１０の第２の出力ポートＰ０２または第２ＣＰＵ１１の第２の出力ポートＰ１２と同じ信号が制御信号として出力されることとなる。
【００５２】
以上のように、制御装置１００が正常に動作している場合には、第１ＣＰＵ１０の第１の出力ポートＰ０１と第２ＣＰＵ１１の第１の出力ポートＰ１１からは同じ第１の信号が出力される。２つの第１の信号を第１の論理回路３０で演算した結果として、第１ＣＰＵ１０の第１の出力ポートＰ０１及び第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される信号と同じ信号が制御信号として出力される。また、第１ＣＰＵ１０の第２の出力ポートＰ０２と第２ＣＰＵ１１の第２の出力ポートＰ１２からは同じ第１の信号が出力される。２つの第１の信号を第２の論理回路３１で演算した結果として、第１ＣＰＵ１０の第２の出力ポートＰ０２及び第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される信号と同じ信号が制御信号として出力される。結果的に出力される制御信号は、それぞれのＣＰＵ（１０，１１）にプログラムされた制御に従って出力された信号が正しく出力されることとなる。
【００５３】
次に、制御装置１００の第１ＣＰＵ１０が正常に動作していない場合の動作について図３を用いて説明する。
【００５４】
第１ＣＰＵ１０が何らかの理由によって正常に動作できなくなった場合、第１ＣＰＵ１０に備えられた動作信号出力φ１には所定の時間間隔で”１”と”０”とが交互に出力されなくなる。尚、第２ＣＰＵ１１は正常に動作しており、第２ＣＰＵ１０に備えられた動作信号出力φ２には、所定の時間間隔で”１”と”０”とが交互に出力されている。
【００５５】
第１ウォッチドッグタイマ２０は、第１ＣＰＵ１０の動作信号出力φ１から所定の時間間隔で”１”と”０”とが交互に入力されないため、第１ウォッチドッグタイマ２０の正論理出力Ｐ１からは”１”が出力され、負論理出力Ｎ１からは”０”が出力される。
【００５６】
第２ウォッチドッグタイマ２１は、第２ＣＰＵ１１の動作信号出力φ２から所定の時間間隔で”１”と”０”とが交互に入力されるため、第２ウォッチドッグタイマ２１の正論理出力Ｐ２からは”０”が出力され、負論理出力Ｎ２からは”１”が出力される。
【００５７】
第１の論理回路３０に備えられた第１の演算素子の第１の論理和素子３０ａは、一方の入力端子から第１ＣＰＵ１０の第１の出力ポートＰ０１の出力信号が入力され、他方の入力端子は第１ウォッチドッグタイマ２０の正論理出力Ｐ１からの出力信号が入力される。図３に示すように、第１ウォッチドッグタイマ２０の正論理出力Ｐ１からは”１”が出力されているので、第１の論理和素子３０ａから出力される第２信号は、第１ＣＰＵ１０の第１の出力ポートＰ０１からの出力に関わらず”１”に固定され不変となる。
【００５８】
第１の論理回路３０に備えられた第１の演算素子の第２の論理和素子３０ｂは、一方の入力端子から第２ＣＰＵ１１の第１の出力ポートＰ１１の出力信号が入力され、他方の入力端子は第２ウォッチドッグタイマ２１の正論理出力Ｐ１からの出力信号が入力される。第２ウォッチドッグタイマ２１の正論理出力Ｐ２からは”０”が出力されているので、第２の論理和素子３０ｂの出力には、第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される信号がそのまま第２の信号として出力されることになる。
【００５９】
第１の論理回路３０に備えられた第２の演算素子の第１の論理積素子３０ｃは、一方の入力端子には第１の論理和素子３０ａから出力される第２の信号が入力され、他方の入力端子には第２の論理和素子３０ｂから出力される第２の信号が入力される。第１の論理和素子３０ａから出力される第１信号は”１”に固定されているので、第１の論理積素子３０ｃの出力には、第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される信号が制御信号として出力されることとなる。
【００６０】
第２の論理回路３１に備えられた第１の演算素子の第２の論理積素子３１ａは、一方の入力端子から第１ＣＰＵ１０の第２の出力ポートＰ０２の出力信号が入力され、他方の入力端子は第１ウォッチドッグタイマ２０の負論理出力Ｎ１からの出力信号が入力される。図３に示すように、第１ウォッチドッグタイマ２０の負論理出力Ｎ１からは”０”が出力されているので、第２の論理積素子３１ａから出力される第２信号は、第１ＣＰＵ１０の第２の出力ポートＰ０２からの出力に関わらず”０”に固定され不変となる。
【００６１】
第２の論理回路３１に備えられた第１の演算素子の第３の論理積素子３１ｂは、一方の入力端子から第２ＣＰＵ１１の第２の出力ポートＰ１２の出力信号が入力され、他方の入力端子は第２ウォッチドッグタイマ２１の負論理出力Ｎ２からの出力信号が入力される。第２ウォッチドッグタイマ２１の負論理出力Ｎ２からは”１”が出力されているので、第３の論理積素子３１ｂの出力には、第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される信号がそのまま第２の信号として出力されることになる。
【００６２】
第２の論理回路３１に備えられた第２の演算素子の第３の論理和素子３１ｃは、一方の入力端しには第２の論理積素子３１ａから出力される第２の信号が入力され、他方の入力端しには第３の論理積素子３１ｂから出力される第２の信号が入力される。第２の論理積素子３１ａから出力される第１信号は”０”に固定されているので、第３の論理和素子３１ｃの出力には、第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される信号が制御信号として出力されることとなる。
【００６３】
制御装置１００の第１ＣＰＵ１０が正常に動作していない場合には、第１ＣＰＵ１０の第１の出力ポートＰ０１から出力される第１の信号が正しい信号とは限らず、第２ＣＰＵ１１の第１の出力ポートＰ１１から出力される第１の信号とも必ずしも一致しない。また、第１ＣＰＵ１０の第２の出力ポートＰ０２から出力される第１の信号が正しい信号とは限らず、第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される第１の信号とも必ずしも一致しない。
【００６４】
しかし、第１ＣＰＵ１０の動作異常を検出した場合に第１ウォッチドッグタイマ２０から出力されるウォッチドッグタイマ出力信号が、第１の論理回路３０に備えられた第１の演算素子の第１の論理和素子３０ａの出力が不変となる極性となる”１”を供給する。このことによって、動作が異常となっている第１ＣＰＵ１０の第１の出力ポートＰ０１から出力される信号が制御装置１００の動作に影響を与えなくすることができる。また、第１ＣＰＵ１０の動作異常を検出した場合に第１ウォッチドッグタイマ２０から出力されるウォッチドッグタイマ出力信号が、第２の論理回路３１に備えられた第１の演算素子の第２の論理積素子３１ａの出力が不変となる極性となる”０”を供給する。このことによって、動作が異常となっている第１ＣＰＵ１０の第２の出力ポートＰ０２から出力される信号が制御装置１００の動作に影響を与えなくすることができる。
【００６５】
第１の論理回路３０から出力される制御信号は、正常に動作している第２ＣＰＵ１１の第１の出力ポートＰ１１の出力が制御信号として出力される。また、第２の論理回路３１から出力される制御信号は、正常に動作している第２ＣＰＵ１１の第２の出力ポートＰ１２の信号が制御信号として出力される。結果的に出力される制御信号は、正常に動作している第２ＣＰＵ１１にプログラムされた制御に従って出力された信号が正しく出力されることとなる。以上の動作は第１ＣＰＵ１０が正常に動作しており、第２ＣＰＵ１１が異常となった場合であっても同様となる。
【００６６】
次に、制御装置１００の第１ＣＰＵ１０と第２ＣＰＵ１１がともに正常に動作していない場合の動作について図４を用いて説明する。
【００６７】
第１ＣＰＵ１０が何らかの理由によって正常に動作できなくなった場合、第１ＣＰＵ１０に備えられた動作信号出力φ１には所定の時間間隔で”１”と”０”とが交互に出力されなくなる。また、第２ＣＰＵ１１も何らかの理由によって正常に動作できなくなった場合、第２ＣＰＵ１０に備えられた動作信号出力φ２も所定の時間間隔で”１”と”０”とが交互に出力されなくなる。
【００６８】
第１ウォッチドッグタイマ２０は、第１ＣＰＵ１０の動作信号出力φ１から所定の時間間隔で”１”と”０”とが交互に入力されないため、第１ウォッチドッグタイマ２０の正論理出力Ｐ１からは”１”が出力され、負論理出力Ｎ１からは”０”が出力される。
【００６９】
第２ウォッチドッグタイマ２１は、第２ＣＰＵ１１の動作信号出力φ２から所定の時間間隔で”１”と”０”とが交互に入力されないため、第２ウォッチドッグタイマ２１の正論理出力Ｐ２からは”１”が出力され、負論理出力Ｎ２からは”０”が出力される。
【００７０】
第１の論理回路３０に備えられた第１の演算素子の第１の論理和素子３０ａは、一方の入力端子から第１ＣＰＵ１０の第１の出力ポートＰ０１の出力信号が入力され、他方の入力端子は第１ウォッチドッグタイマ２０の正論理出力Ｐ１からの出力信号が入力される。図４に示すように、第１ウォッチドッグタイマ２０の正論理出力Ｐ１からは”１”が出力されているので、第１の論理和素子３０ａから出力される第２信号は、第１ＣＰＵ１０の第１の出力ポートＰ０１からの出力に関わらず”１”に固定され不変となる。
【００７１】
第１の論理回路３０に備えられた第１の演算素子の第２の論理和素子３０ｂは、一方の入力端子から第２ＣＰＵ１１の第１の出力ポートＰ１１の出力信号が入力され、他方の入力端子は第２ウォッチドッグタイマ２１の正論理出力Ｐ２からの出力信号が入力される。図４に示すように、第２ウォッチドッグタイマ２１の正論理出力Ｐ２からは”１”が出力されているので、第２の論理和素子３０ｂから出力される第２信号は、第２ＣＰＵ１１の第１の出力ポートＰ１１からの出力に関わらず”１”に固定され不変となる。
【００７２】
第１の論理回路３０に備えられた第２の演算素子の第１の論理積素子３０ｃは、一方の入力端子には第１の論理和素子３０ａから出力される第２の信号が入力され、他方の入力端子には第２の論理和素子３０ｂから出力される第２の信号が入力される。第１の論理和素子３０ａから出力される第１信号は”１”に固定されており、第２の論理和素子３０ｂから出力される第１信号も”１”に固定されている。従って、第１の論理積素子３０ｃの出力は、第１ＣＰＵ１０及び第２ＣＰＵ１１の第１の出力ポートＰ０１、Ｐ１１から出力される信号に関わらず”１”が制御信号として出力されることとなる。
【００７３】
第２の論理回路３１に備えられた第１の演算素子の第２の論理積素子３１ａは、一方の入力端子から第１ＣＰＵ１０の第２の出力ポートＰ０２の出力信号が入力され、他方の入力端子は第１ウォッチドッグタイマ２０の負論理出力Ｎ１からの出力信号が入力される。図４に示すように、第１ウォッチドッグタイマ２０の負論理出力Ｎ１からは”０”が出力されているので、第２の論理積素子３１ａから出力される第２信号は、第１ＣＰＵ１０の第２の出力ポートＰ０２からの出力に関わらず”０”に固定され不変となる。
【００７４】
第２の論理回路３１に備えられた第１の演算素子の第３の論理積素子３１ｂは、一方の入力端子から第２ＣＰＵ１１の第２の出力ポートＰ１２の出力信号が入力され、他方の入力端子は第２ウォッチドッグタイマ２１の負論理出力Ｎ２からの出力信号が入力される。図４に示すように、第２ウォッチドッグタイマ２１の負論理出力Ｎ２からは”０”が出力されているので、第３の論理積素子３１ｂから出力される第２信号は、第２ＣＰＵ１１の第２の出力ポートＰ１２からの出力に関わらず”０”に固定され不変となる。
【００７５】
第２の論理回路３１に備えられた第２の演算素子の第３の論理和素子３１ｃは、一方の入力端しには第２の論理積素子３１ａから出力される第２の信号が入力され、他方の入力端しには第３の論理積素子３１ｂから出力される第２の信号が入力される。第２の論理積素子３１ａから出力される第１信号は”０”に固定されており、第３の論理積素子３１ｂから出力される第１信号も”０”に固定されている。従って、第３の論理和素子３１ｃの出力は、第１ＣＰＵ１０及び第２ＣＰＵ１１の第２の出力ポートＰ０２、Ｐ１２から出力される信号に関わらず”０”が制御信号として出力されることとなる。
【００７６】
制御装置１００の第１ＣＰＵ１０と第２ＣＰＵ１１が、ともに正常に動作していない場合には、第１ＣＰＵ１０及び第２ＣＰＵ１１から出力される第１の信号が正しい信号とは限らない。
【００７７】
しかし、第１ＣＰＵ１０の動作異常を検出した場合に第１ウォッチドッグタイマ２０から出力されるウォッチドッグタイマ出力信号が、第１の論理回路３０に備えられた第１の演算素子の第１の論理和素子３０ａの出力が不変となる極性となる”１”を供給する。このことによって、動作が異常となっている第１ＣＰＵ１０の第１の出力ポートＰ０１から出力される信号が制御装置１００の動作に影響を与えなくすることができる。また、第１ＣＰＵ１０の動作異常を検出した場合に第１ウォッチドッグタイマ２０から出力されるウォッチドッグタイマ出力信号が、第２の論理回路３１に備えられた第１の演算素子の第２の論理積素子３１ａ出力が不変となる極性となる”０”を供給する。このことによって、動作が異常となっている第１ＣＰＵ１０の第２の出力ポートＰ０２から出力される信号が制御装置１００の動作に影響を与えなくすることができる。
【００７８】
また、第２ＣＰＵ１１の動作異常を検出した場合に第２ウォッチドッグタイマ２１から出力されるウォッチドッグタイマ出力信号が、第１の論理回路３０に備えられた第１の演算素子の第２の論理和素子３０ｂの出力が不変となる極性となる”１”を供給する。このことによって、動作が異常となっている第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される信号が制御装置１００の動作に影響を与えなくすることができる。また、第２ＣＰＵ１１の動作異常を検出した場合に第２ウォッチドッグタイマ２１から出力されるウォッチドッグタイマ出力信号が、第２の論理回路３１に備えられた第１の演算素子の第３の論理積素子３１ｂ出力が不変となる極性となる”０”を供給する。このことによって、動作が異常となっている第２ＣＰＵ１１の第２の出力ポートＰ１２から出力される信号が制御装置１００の動作に影響を与えなくすることができる。
【００７９】
以上のように、制御装置１００の第１ＣＰＵ１０と第２ＣＰＵ１１が、ともに正常に動作していない場合には、第１の論理回路３０から出力される制御信号は、”１”に固定され、第２の論理回路３１から出力される制御信号は、”０”に固定される。このため、第１の論理回路３０は、出力される制御信号が”１”となった場合にフェールセーフとなる制御対象に適用することで、まれに両方のＣＰＵ（１０，１１）が異常動作となった場合でも制御装置１００が適用される機器を安全に制御することができる。また、第２の論理回路３１は、出力される制御信号が”０”となった場合にフェールセーフとなる制御対象に適用することで、まれに両方のＣＰＵ（１０，１１）が異常動作となった場合でも制御装置１００が適用される機器を安全に制御することができる。
【００８０】
以下、本実施形態としたことによる効果について説明する。
本実施形態の制御装置１００では、複数のＣＰＵ（１０，１１）は、それぞれ第１の信号を出力する複数の出力ポート（Ｐ０１，Ｐ０２，Ｐ１１，Ｐ１２）を有し、複数のウォッチドッグタイマ（２０，２１）は、複数のＣＰＵ（１０，１１）と同数設けられ、複数のＣＰＵ（１０，１１）にそれぞれ接続され、複数のＣＰＵ（１０，１１）から出力された第１の信号を論理演算する論理回路（３０，３１）を有し、論理回路は（３０，３１）、複数のＣＰＵに対応してそれぞれ配置される第１の演算素子と、複数のＣＰＵに対して一つ配置される第２の演算素子と、を備え、複数のＣＰＵ（１０，１１）に所定の同じ処理を行わせるとともに、第１の演算素子は、複数のＣＰＵ（１０，１１）にそれぞれ接続されたウォッチドッグタイマ（２０，２１）から出力されるウォッチドッグタイマ出力信号と、複数のＣＰＵの出力ポートから出力される第１の信号と、を論理演算して第２の信号として出力し、第２の演算素子は、複数の第１の演算素子から出力される複数の第２の信号を論理演算して制御信号として出力するように構成した。
【００８１】
これにより、ウォッチドックタイマ（２０，２１）から出力されるウォッチドッグタイマ出力信号と、ＣＰＵ（１０，１１）から出力される第１の信号と、を第１の演算素子で論理演算することで、ＣＰＵに異常があった場合に異常があったＣＰＵ側の第１の信号をフェールセーフ側に固定することができる。更に複数のＣＰＵからの第１の信号を、第２の演算素子で論理演算することで、複数の第１の信号から、フェールセーフ側信号または制御信号を継続して出力することができる。従って、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することができる。
【００８２】
また、本実施形態の制御装置１００では、論理回路（３０，３１）を複数有し、論理回路（３０，３１）は、第１の演算素子と第２の演算素子の組合せが、論理和素子と論理積素子の組合せであり、ウォッチドッグタイマ（２０，２１）の出力は、ＣＰＵ（１０，１１）の動作異常を検出した場合に第１の演算素子の出力が不変となる極性で第１の演算素子に供給されるように構成した。
【００８３】
これにより、ＣＰＵ（１０，１１）の動作異常を検出した場合に、第１の演算素子の出力を固定することができる。第１の演算素子の出力を固定されるので、他のＣＰＵが正常に動作している場合には第２の演算素子によって他のＣＰＵから出力された信号に従った制御信号を出力することができる。また、ＣＰＵ（１０，１１）が制御する複数の機能に対して論理回路を設けることで、複数の機能に対して動作を停止することなく誤動作を低減することができる。
【００８４】
また、本実施形態の制御装置１００では、論理回路（３０，３１）のうち少なくともその１つは、第１の演算素子が論理和素子であるとともに、第２の演算素子が論理積素子であり、ウォッチドッグタイマ（２０，２１）は、ＣＰＵ（１０，１１）の動作異常を検出した場合に論理出力”１”を出力するように構成した。
【００８５】
これにより、ＣＰＵが異常動作した場合に第１の演算素子の出力を”１”に固定することができる。第２の演算素子が論理積であるので、他のＣＰＵが正常に動作している場合には他のＣＰＵから出力された信号に従った制御信号を出力することができる。
【００８６】
また、本実施形態の制御装置１００では、論理回路（３０，３１）のうち少なくともその１つは、第１の演算素子が論理積素子であるとともに、第２の演算素子が論理和素子であり、ウォッチドッグタイマ（２０，２１）は、ＣＰＵ（１０，１１）の動作異常を検出した場合に論理出力”０”を出力するように構成した。
【００８７】
これにより、ＣＰＵが異常動作した場合に第１の演算素子の出力を”０”に固定することができる。第２の演算素子が論理和であるので、他のＣＰＵが正常に動作している場合には他のＣＰＵから出力された信号に従った制御信号を出力することができる。
【００８８】
以上のように、本発明の実施形態に係る制御装置１００を具体的に説明したが、本発明は上記の実施形態に限定されるものではなく、要旨を逸脱しない範囲で種々変更して実施することが可能である。例えば次のように変形して実施することができ、これらの実施形態も本発明の技術的範囲に属する。
【００８９】
（１）本実施形態において、複数のＣＰＵは、第１ＣＰＵ１０と第２ＣＰＵ１１の２つのＣＰＵであるとしたが、ＣＰＵが３つ以上あるように変更して実施しても良い。
【００９０】
（２）本実施形態において、ＣＰＵの複数の出力ポートが第１ＣＰＵ１０と第２ＣＰＵ１１それぞれ２つずつ有している例を示して説明を行ったが、出力ポートの数は制御装置が使用される機器やシステムにあわせ必要なだけの数量に変更して実施することができる。
【００９１】
（３）本実施形態において、ウォッチドッグタイマ（２０，２１）は、正論理出力（Ｐ１，Ｐ２）と、負論理出力（Ｎ１，Ｎ２）の２つの出力を有する例を示して説明を行ったがどちらか一方の出力を備えたウォッチドッグタイマを用いても良い。この場合、出力に論理否定素子を用いて反転出力を得ることで同様の動作を行わせることができる。
【００９２】
［第２実施形態］
図５に本発明の基本的な実施形態の制御装置１０１Ａが示され、図６ないし図８に、制御装置１０１Ａを基本とした第２実施形態の制御装置１０１が示されている。
【００９３】
図５に示す制御装置１０１Ａには、図１に示す制御装置１００に設けられたのと同じ第１の論理回路３０が設けられているが、第２の論理回路３１に相当するものは設けられていない。第１ＣＰＵ１０からは、第１の出力ポートＰ０１からの第１の信号と、動作信号出力φ１とが得られる。第２ＣＰＵ１１からは、第１の出力ポートＰ１１からの第１の信号と、動作信号出力φ２とが得られる。また、第１ウォッチドッグタイマ２０から正論理出力Ｐ１が得られ、第２ウォッチドッグタイマ２１からも、正論理出力Ｐ２が得られる。
【００９４】
図４を参照して既に説明したように、第１ＣＰＵ１０と第２ＣＰＵ１１がともに正常に動作していない場合に、第１ウォッチドッグタイマ２０の正論理出力Ｐ１からは”１”が出力され、第２ウォッチドッグタイマ２１の正論理出力Ｐ２からも”１”が出力される。よって、第１の演算素子の第１の論理和素子３０ａから出力される第２信号は、第１ＣＰＵ１０の第１の出力ポートＰ０１からの出力に関わらず”１”に固定される。同様に、第１の演算素子の第２の論理和素子３０ｂから出力される第２信号も、第２ＣＰＵ１１の第１の出力ポートＰ１１からの出力に関わらず”１”に固定される。
【００９５】
よって、第１ＣＰＵ１０と第２ＣＰＵ１１がともに正常に動作していない場合に、第１の論理回路３０では、第２の演算素子の第１の論理積素子３０ｃからは、”１”に固定された制御信号が出力される。よって、制御信号が”１”なった場合にフェールセーフとなる制御対象に適用することで、まれに両方のＣＰＵ（１０、１１）が異常動作となった場合でも制御装置１０１Ａが適用される機器を安全に制御することができる。
【００９６】
しかし、図５に示す基本例では、両方のＣＰＵ（１０、１１）が異常動作となった場合に、第１の論理積素子３０ｃからの制御信号が”１”に固定されるため、制御信号が”１”なった場合にフェールセーフとなる制御対象にしか適用することができない。すなわち、入力される制御信号が”０”となったときにフェールセーフとなる制御対象の場合には、制御装置１０１Ａを使用することができなくなる。一方で、第１の論理回路３０の構成として、第２の演算素子の第１の論理積素子３０ｃを「ＡＮＤ」の論理回路素子を使用するのが最適な場合があり、容易に第２の論理回路３１に変更できないこともある。
【００９７】
そこで、図６ないし図８に示す第２実施形態の制御装置１０１では、図５に示す基本例に第３の演算素子４１と第４の演算素子４２を付加することで、両方のＣＰＵ（１０、１１）が異常動作となった場合の制御信号を”０”に変更できるようにしている。
【００９８】
図６ないし図８に示すように、第３の演算素子４１は論理積素子である。第１ウォッチドッグタイマ２０の正論理出力Ｐ１と第２ウォッチドッグタイマ２１の正論理出力Ｐ２との論理積が第３の演算素子４１で演算されて、第３の信号として出力される。第４の演算素子４２も論理積素子であるが、第３の演算素子４１から出力される第３の信号は、第４の演算素子４２に反転して入力される。第４の演算素子４２では、第３の演算素子４１から出力される第３の信号と第１の論理積素子３０ｃからの出力信号の論理積が演算されて制御信号として出力される。
【００９９】
図６は、第２実施形態の制御装置１０１が正常に動作している場合を示している。
図２に基づいて説明したのと同様に、第１ＣＰＵ１０が正常に動作していると、第１ウォッチドッグタイマ２０の正論理出力Ｐ１が”０”である。そのため、第１ＣＰＵ１０の第１の出力ポート０１から出力される第１の信号は、そのままの符号で、第１の論理和素子３０ａから第２の信号として出力される。同様に、第２ＣＰＵ１１が正常に動作していると、第２ウォッチドッグタイマ２０の正論理出力Ｐ２も”０”である。そのため、第２ＣＰＵ１１の第１の出力ポート１１から出力される第１の信号は、そのままの符号で、第２の論理和素子３０ｂから第２の信号として出力される。
【０１００】
したがって、第１の論理積素子３０ｃからは、第１の論理和素子３０ａから出力される第２の信号と第２の論理和素子３０ｂから出力される第２信号とが論理積演算される。
【０１０１】
第３の演算素子４１の論理積素子には、第１ウォッチドッグタイマ２０からの正論理出力Ｐ１の”０”と、第２ウォッチドッグタイマ２１からの正論理出力Ｐ２の”０”とが入力される。よって、第３の演算素子４１で論理積演算される第３の信号は”０”である。この第３の信号は反転され”１”となって第４の演算素子４２に与えられる。そのため、第４の演算素子４２では、論理積演算されて出力される制御信号として、第１の論理積素子３０ｃの演算結果がそのまま出力される。
【０１０２】
図７は、一方の第１ＣＰＵ１０のが正常に動作していない状態を示している。
図３に基づいて説明したとの同様に、第１ＣＰＵ１０が正常に動作していないとき、第１ウォッチドッグタイマ２０の正論理出力Ｐ１が”１”になる。よって、第１の論理和素子３０ａからの第２の信号は”１”に固定される。一方、第２ウォッチドッグタイマ２１の正論理出力Ｐ２は”０”であるため、第２ＣＰＵ１１の第１の出力ポートＰ１１から第１の信号は、第２の論理和素子３０ｂからそのままの符号で第２信号として出力される。
【０１０３】
したがって、第２の論理和素子３０ｂからの第２の信号が、そのまま第１の論理積素子３０ｃから出力される。
【０１０４】
第３の演算素子４１には、第１ウォッチドッグタイマ２０から”１”が、第２ウォッチドッグタイマ２１から”０”が与えられるため、第３の演算素子４１からは論理積である”０”が第３の出力となり、これが反転されて第４の演算素子４２に与えられる。よって、第４の演算素子４２で論理積演算されて出力される制御信号としては、第１の論理積素子３０ｃの演算結果がそのまま出力される。
【０１０５】
図８は、第１ＣＰＵ１０と第２ＣＰＵ２０がともに正常に動作していない状態を示している。
【０１０６】
図４に基づいて説明したのと同様に、第１ＣＰＵ１０と第２ＣＰＵ２０がともに正常に動作していない場合、第１ウォッチドグタイマ２０の正論理出力Ｐ１と第２ウォッチドッグタイマ２１の正論理出力Ｐ２がともに”１”になる。よって、第１の論理和素子３０ａの出力である第２の信号と、第２の論理和素子３０ｂの出力である第２の信号がともに”１”となり、第１の論理積素子３０ｃの出力が”１”に固定される。
【０１０７】
第１ウォッチドグタイマ２０の正論理出力Ｐ１の”１”と、第２ウォッチドッグタイマ２１の正論理出力Ｐ２の”１”は、第３の演算素子４１に与えられ、その論理積である第３の信号が”１”となる。第４の演算素子４２には、第３の信号”１”が反転した”０”と、第１の論理積素子３０ｃの出力の”１”とが与えられるため、第４の演算素子４２から出力される制御信号は”０”となる。
【０１０８】
このように、図５に示す基本的な制御装置１０１Ａに、第３の演算素子４１と第４の演算素子４２を付加することで、２つのＣＰＵ（１０，１１）が共に正常に動作していないときの制御信号を、図５における”１”から”０”に変更することができ、図５に示す基本的な回路構成を使用して、制御信号が”０”なった場合にフェールセーフとなる制御対象に適用することが可能になる。
【０１０９】
［第３実施形態］
図９に本発明の基本的な実施形態の制御装置１０２Ａが示され、図１０ないし図１２に、制御装置１０２Ａを基本とした第３実施形態の制御装置１０２が示されている。
【０１１０】
図９に示す制御装置１０２Ａには、図１に示す制御装置１００における第２の論理回路３１に相当する回路が設けられているが、第１の論理回路３０に相当する回路は設けられていない。
【０１１１】
制御装置１０２Ａでは、第１ＣＰＵ１０から、第１の出力ポートＰ０１からの第１の信号と、動作信号出力φ１とが得られる。第２ＣＰＵ１１からは、第１の出力ポートＰ１１からの第１の信号と、動作信号出力φ２とが得られる。また、第１ウォッチドッグタイマ２０からは正論理出力Ｐ１が出力され、第２ウォッチドッグタイマ２１からも正論理出力Ｐ２が出力される。
【０１１２】
図４に基づいて説明したのと同様に、第１ＣＰＵ１０と第２ＣＰＵ１１がともに正常に動作していない場合には、第１ウォッチドッグタイマ２０からの正論理出力Ｐ１が”１”となり、これが反転された”０”が第１の演算素子の第２の論理積素子３１ａに与えられる。第２ウォッチドッグタイマ２１からの正論理出力Ｐ２も”１”となり、これがが反転された”０”が第１の演算素子の第３の論理積素子３１ｂに与えられる。
【０１１３】
そのため、第１の演算素子の第２の論理積素子３１ａから出力される第２信号が、第１ＣＰＵ１０の第１の出力ポートＰ０１からの出力に関わらず”０”に固定される。同様に、第１の演算素子の第３の論理積素子３１ｂから出力される第２信号も、第２ＣＰＵ１１の第１の出力ポートＰ１１からの出力に関わらず”０”に固定される。
【０１１４】
よって、第１ＣＰＵ１０と第２ＣＰＵ１１がともに正常に動作していない場合に、第２の演算素子の第３の論理和素子３１ｃからは、”０”に固定された制御信号が出力される。よって、制御信号が”０”なった場合にフェールセーフとなる制御対象に適用することができる。ただし、図９に示す基本的な回路構成を、制御信号が”１”となった場合にフェールセーフとなる制御対象に適用することはできない。
【０１１５】
そこで、図１０ないし図１２に示す第３実施形態の制御装置１０２では、図９に示す基本構成の制御装置１０２Ａに、第３の演算素子４５と第４の演算素子４６を付加している。第３の演算素子４５は論理積素子であり、第１ウォッチドッグタイマ２０の正論理出力Ｐ１と第２ウォッチドッグタイマ２１の正論理出力Ｐ２との論理積が演算され、演算結果が第３の信号として出力される。第４の演算素子４６は論理和素子であり、第３の演算素子４５から出力される第３の信号と、第３の論理和素子３１ｃからの出力信号の論理和が演算されて制御信号として出力される。
【０１１６】
図１０は、第３実施形態の制御装置１０２が正常に動作している場合を示している。
図２に基づいて説明したのと同様に、第１ＣＰＵ１０が正常に動作していると、第１ウォッチドッグタイマ２０の正論理出力Ｐ１の”０”が反転した”１”が第２の論理積素子３１ａに与えられ、第２ウォッチドッグタイマ２１の正論理出力Ｐ２の”０”が反転した”１”が第３の論理積素子３１ｂに与えられる。そのため、第１ＣＰＵ１０の第１の出力ポート０１から出力される第１の信号と第２ＣＰＵ１１の第１の出力ポート１１から出力される第１の信号は、そのままの符号で、第２の論理積素子３１ａと第３の論理積素子３１ｂから第２の信号として出力される。したがって、第３の論理和素子３１ｃからは、第１の論理和素子３０ａから出力される第２の信号と第２の論理和素子３０ｂから出力される第２信号とが論理和演算される。
【０１１７】
第３の演算素子４５の論理積素子では、第１ウォッチドッグタイマ２０からの正論理出力Ｐ１の”０”と、第２ウォッチドッグタイマ２１からの正論理出力Ｐ２の”０”が入力される。よって第３の演算素子４５で論理積演算される第３の信号は”０”である。したがって、第４の演算素子４６で論理和演算されて出力される制御信号としては、第３の論理和素子３１ｃの演算結果がそのまま出力される。
【０１１８】
図１１は、一方の第１ＣＰＵ１０のみが正常に動作していない状態を示している。
図３に基づいて説明したとの同様に、第１ＣＰＵ１０が正常に動作していないとき、第１ウォッチドッグタイマ２０の正論理出力Ｐ１が”１”になる。この”１”が反転されて第２の論理積素子３１ａに与えらるため、第２の論理積素子３１ａからの第２の信号は”０”に固定される。一方で、第３の論理和素子３１ｃからは、第２ＣＰＵ１１の第１の出力ポートＰ１１からの第１の信号がそのままの符号で第２信号として出力される。
【０１１９】
第３の演算素子４５には、第１ウォッチドッグタイマ２０からの正論理出力Ｐ１の”１”と、第２ウォッチドッグタイマ２１からの正論理出力Ｐ２の”０”が与えられるため、第３の演算素子４１からは論理積である”０”が第３の出力となる。よって、第４の演算素子４６で論理和演算されて出力される制御信号として、第３の論理和素子３１ｃの演算結果がそのまま出力される。
【０１２０】
図１２は、第１ＣＰＵ１０と第２ＣＰＵ２０がともに正常に動作していない状態を示している。
【０１２１】
図４に基づいて説明したのと同様に、第１ＣＰＵ１０と第２ＣＰＵ２０がともに正常に動作していない場合、第１ウォッチドグタイマ２０の正論理出力Ｐ１と第２ウォッチドッグタイマ２１の正論理出力Ｐ２がともに”１”になる。これらが反転した”０”が、第２の論理積素子３１ａと第３の論理積素子３１ｂにあたえられるため、第２の論理積素子３１ａの出力である第２の信号と、第３の論理積素子３１ｂの出力である第２の信号がともに”０”となり、第３の論理和素子３１ｃの出力も”０”となる。
【０１２２】
第１ウォッチドグタイマ２０の正論理出力Ｐ１の”１”と第２ウォッチドッグタイマ２１の正論理出力Ｐ２の”１”が、第３の演算素子４５に与えられるため、その論理積である第３の信号が”１”となる。第４の演算素子４６には、第３の論理和素子３１ｃの出力の”０”と前記第３の信号の”１”が与えられるため、第４の演算素子４６から出力される制御信号は”１”となる。
【０１２３】
すなわち、図９に示す基本的な制御装置１０２Ａに第３の演算素子４５と第４の演算素子４６を付加することで、２つのＣＰＵ（１０，１１）が共に正常に動作していないときの制御信号を、図６における”０”から図１２に示す”１”に変更することができ、制御信号が”１”なった場合にフェールセーフとなる制御対象に適用することが可能になる。
【符号の説明】
【０１２４】
１０    第１ＣＰＵ
１１    第２ＣＰＵ
２０    第１ウォッチドッグタイマ
２１    第２ウォッチドッグタイマ
３０    第１の論理回路
３０ａ  第１の論理和素子（第１の演算素子）
３０ｂ  第２の論理和素子（第１の演算素子）
３０ｃ  第１の論理積素子（第２の演算素子）
３１    第２の論理回路
３１ａ  第２の論理積素子（第１の演算素子）
３１ｂ  第３の論理積素子（第１の演算素子）
３１ｃ  第３の論理和素子（第２の演算素子）
４１  第３の演算素子
４２  第４の演算素子
４５  第３の演算素子
４６  第４の演算素子
５０    外部装置
１００  制御装置
【図１】
0006660818.tif 000002
【図２】
0006660818.tif 000003
【図３】
0006660818.tif 000004
【図４】
0006660818.tif 000005
【図５】
0006660818.tif 000006
【図６】
0006660818.tif 000007
【図７】
0006660818.tif 000008
【図８】
0006660818.tif 000009
【図９】
0006660818.tif 000010
【図１０】
0006660818.tif 000011
【図１１】
0006660818.tif 000012
【図１２】
0006660818.tif 000013
【図１３】
0006660818.tif 000014