特許第6660818号(P6660818)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルプス電気株式会社の特許一覧 ▶ 東海旅客鉄道株式会社の特許一覧

<>
  • 特許6660818-制御装置 図000002
  • 特許6660818-制御装置 図000003
  • 特許6660818-制御装置 図000004
  • 特許6660818-制御装置 図000005
  • 特許6660818-制御装置 図000006
  • 特許6660818-制御装置 図000007
  • 特許6660818-制御装置 図000008
  • 特許6660818-制御装置 図000009
  • 特許6660818-制御装置 図000010
  • 特許6660818-制御装置 図000011
  • 特許6660818-制御装置 図000012
  • 特許6660818-制御装置 図000013
  • 特許6660818-制御装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6660818
(24)【登録日】2020年2月13日
(45)【発行日】2020年3月11日
(54)【発明の名称】制御装置
(51)【国際特許分類】
   G06F 11/18 20060101AFI20200227BHJP
   G05B 9/03 20060101ALI20200227BHJP
   G06F 1/14 20060101ALI20200227BHJP
【FI】
   G06F11/18 610
   G05B9/03
   G06F1/14 520
【請求項の数】8
【全頁数】23
(21)【出願番号】特願2016-116632(P2016-116632)
(22)【出願日】2016年6月10日
(65)【公開番号】特開2017-4530(P2017-4530A)
(43)【公開日】2017年1月5日
【審査請求日】2019年1月28日
(31)【優先権主張番号】特願2015-119031(P2015-119031)
(32)【優先日】2015年6月12日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000010098
【氏名又は名称】アルプスアルパイン株式会社
(73)【特許権者】
【識別番号】390021577
【氏名又は名称】東海旅客鉄道株式会社
(74)【代理人】
【識別番号】100085453
【弁理士】
【氏名又は名称】野▲崎▼ 照夫
(74)【代理人】
【識別番号】100120204
【弁理士】
【氏名又は名称】平山 巌
(74)【代理人】
【識別番号】100108006
【弁理士】
【氏名又は名称】松下 昌弘
(74)【代理人】
【識別番号】100135183
【弁理士】
【氏名又は名称】大窪 克之
(72)【発明者】
【氏名】菅原 健人
(72)【発明者】
【氏名】星 敏行
(72)【発明者】
【氏名】桝田屋 秀樹
(72)【発明者】
【氏名】足立 昌仁
(72)【発明者】
【氏名】外園 朋邦
(72)【発明者】
【氏名】鈴木 健介
【審査官】 加藤 優一
(56)【参考文献】
【文献】 特開平6−290136(JP,A)
【文献】 特開昭60−214049(JP,A)
【文献】 特開平9−114686(JP,A)
【文献】 特開平5−158743(JP,A)
【文献】 特開2011−2993(JP,A)
【文献】 特開2007−11426(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/16 −11/20
G05B 9/03
G06F 1/14
(57)【特許請求の範囲】
【請求項1】
複数のCPUと、複数のウォッチドッグタイマと、を備えた制御装置であって、
前記複数のCPUは、それぞれ第1の信号を出力する 出力ポートを有し、
前記複数のウォッチドッグタイマは、前記複数のCPUと同数設けられ、前記複数のCPUに個別に接続され
前記複数のCPUから出力された前記第1の信号を論理演算する論理回路を有し、
前記論理回路は、前記複数のCPUに対応してそれぞれ配置される第1の演算素子と、前記複数のCPUに対して一つ配置される第2の演算素子と、を備え、
前記複数のCPUに所定の同じ処理を行わせるとともに、
前記第1の演算素子は、前記複数のCPUにそれぞれ接続された前記複数のウォッチドッグタイマから出力されるウォッチドッグタイマ出力信号と、前記複数のCPUのそれぞれの前記出力ポートから出力される前記第1の信号と、を論理演算して第2の信号として出力し、
前記第2の演算素子は、複数の前記第1の演算素子から出力される複数の前記第2の信号を論理演算して制御信号として出力することを特徴とする制御装置。
【請求項2】
前記 論理回路は、前記第1の演算素子と前記第2の演算素子の組合せが、論理和素子と論理積素子の組合せであり、
前記ウォッチドッグタイマの出力は、CPUの動作異常を検出した場合に前記第1の演算素子の出力が不変となる極性で前記第1の演算素子に供給されることを特徴とする請求項1に記載の制御装置。
【請求項3】
前記複数のCPUは、それぞれ第1の信号を出力する複数の出力ポートを有し、
前記論理回路を複数有し、
それぞれの前記ウォッチドッグタイマは、一つの前記CPUに接続されるとともに、複数の出力を有し、
一つの前記ウォッチドッグタイマからの複数の前記ウォッチドッグタイマ出力信号が、複数の前記論理回路のそれぞれに個別に与えられることを特徴とする請求項1または2に記載の制御装置。
【請求項4】
前記論理回路のうち少なくともその1つは、前記第1の演算素子が論理和素子であるとともに、前記第2の演算素子が論理積素子であり、
前記ウォッチドッグタイマは、CPUの動作異常を検出した場合に論理出力”1”を出力するよう動作することを特徴とする請求項3に記載の制御装置。
【請求項5】
前記論理回路のうち少なくともその1つは、前記第1の演算素子が論理積素子であるとともに、前記第2の演算素子が論理和素子であり、
前記ウォッチドッグタイマは、CPUの動作異常を検出した場合に論理出力”0”を出力するよう動作することを特徴とする請求項3に記載の制御装置。
【請求項6】
複数の前記ウォッチドッグタイマからのウォッチドッグタイマ出力信号を論理演算して第3の信号として出力する第3の演算素子と、
前記第2の演算素子から出力される信号と、前記第3の信号を論理演算して制御信号を出力する第4の演算素子とを有することを特徴とする請求項1ないし3のいずれかに記載の制御装置。
【請求項7】
前記第3の演算素子と前記第4の演算素子が、共に論理積素子であることを特徴とする請求項6記載の制御装置。
【請求項8】
前記第3の演算素子が論理積素子であり、前記第4の演算素子が論理和素子であることを特徴とする請求項6記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に関し、特に、誤動作を低減することができる制御装置に関する。
【背景技術】
【0002】
従来から、制御装置の故障によって、制御装置が組み込まれる機器やシステムの誤作動を防止するために、制御装置に自己診断機能を付与し、この自己診断によって故障と診断した際には、その出力を停止させるようにすることが広く行なわれている。また、このような制御装置の故障診断として、ウォッチドッグタイマを用いて、制御装置の処理時間または処理周期を監視してこれが所定の範囲から外れた場合には故障と診断する技術が知られている。
【0003】
また、故障した制御装置を補完するため、複数の制御ユニットやCPUを組み合わせて、故障検出精度の向上や、信頼性を確保する技術が提案されている。
【0004】
特許文献1(従来例)の制御部900では、図13に示すように、複数の制御ユニットCPU901,CPU902を備えた制御システムにおける各制御ユニットに所定の同じ処理を行わせる。また、この処理結果を示す各出力データを、制御ユニットの外部に設けられたダミー出力比較回路980によって相互比較し、両者が不一致の場合に、少なくともいずれかの制御ユニットが故障であると診断する。ダミー出力比較回路980で異常が検出された際には、出力カット信号によってソレノイド駆動回路をカットして誤作動を防止する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3343143号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来例では、異常が検出された際に出力カット信号によって制御装置からの信号がカットされてしまうため、制御装置が組み込まれる機器やシステムの動作を継続することができなくなってしまうという課題があった。
【0007】
本発明は、上述した課題を解決するもので、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
この課題を解決するために、本発明の制御装置は、複数のCPUと、複数のウォッチドッグタイマと、を備え、前記複数のCPUは、それぞれ第1の信号を出力する出力ポートを有し、前記複数のウォッチドッグタイマは、前記複数のCPUと同数設けられ、前記複数のCPUに個別に接続され前記複数のCPUから出力された前記第1の信号を論理演算する論理回路を有し、前記論理回路は、前記複数のCPUに対応してそれぞれ配置される第1の演算素子と、前記複数のCPUに対して一つ配置される第2の演算素子と、を備え、前記複数のCPUに所定の同じ処理を行わせるとともに、前記第1の演算素子は、前記複数のCPUにそれぞれ接続された前記複数のウォッチドッグタイマから出力されるウォッチドッグタイマ出力信号と、前記複数のCPUのそれぞれの前記出力ポートから出力される前記第1の信号と、を論理演算して第2の信号として出力し、前記第2の演算素子は、複数の前記第1の演算素子から出力される複数の前記第2の信号を論理演算して制御信号として出力することを特徴とする。
【0009】
これによれば、ウォッチドックタイマから出力されるウォッチドッグタイマ出力信号と、CPUから出力される第1の信号と、を第1の演算素子で論理演算することで、CPUに異常があった場合に異常があったCPU側の第1の信号をフェールセーフ側に固定することができる。更に複数のCPUからの第1の信号を、第2の演算素子で論理演算することで、複数の第1の信号から、フェールセーフ側信号または制御信号を継続して出力することができる。従って、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することができる。
【0010】
また、本発明の制御装置は、前記論理回路は、前記第1の演算素子と前記第2の演算素子の組合せが、論理和素子と論理積素子の組合せであり、前記ウォッチドッグタイマの出力は、CPUの動作異常を検出した場合に前記第1の演算素子の出力が不変となる極性で前記第1の演算素子に供給されることを特徴とする。
【0011】
これによれば、論理回路は、第1の演算素子と第2の演算素子の組合せが、論理和素子と論理積素子の組合せで、ウォッチドッグタイマの出力は、CPUの動作異常を検出した場合に前記第1の演算素子の出力が不変となる極性で前記第1の演算素子に供給される。このためCPUの動作異常を検出した場合に、第1の演算素子の出力を固定することができる。第1の演算素子の出力を固定されるので、他のCPUが正常に動作している場合には第2の演算素子によって他のCPUから出力された信号に従った制御信号を出力することができる。また、CPUが制御する複数の機能に対して論理回路を設けることで、複数の機能に対して動作を停止することなく誤動作を低減することができる。
【0012】
本発明の制御装置は、前記複数のCPUは、それぞれ第1の信号を出力する複数の出力ポートを有し、前記論理回路を複数有し、それぞれの前記ウォッチドッグタイマは、一つの前記CPUに接続されるとともに、複数の出力を有し、一つの前記ウォッチドッグタイマからの複数の前記ウォッチドッグタイマ出力信号が、複数の前記論理回路のそれぞれに個別に与えられるものとして構成できる。
【0013】
また、本発明の制御装置は、前記論理回路のうち少なくともその1つは、前記第1の演算素子が論理和素子であるとともに、前記第2の演算素子が論理積素子であり、前記ウォッチドッグタイマは、CPUの動作異常を検出した場合に論理出力”1”を出力するよう動作することを特徴とする。
【0014】
これによれば、論理回路のうち少なくともその1つは、第1の演算素子が論理和素子であり、CPUの動作異常を検出した場合に、ウォッチドッグタイマが論理出力”1”を出力するので、CPUが異常動作した場合に第1の演算素子の出力を”1”に固定することができる。第2の演算素子が論理積であるので、他のCPUが正常に動作している場合には他のCPUから出力された信号に従った制御信号を出力することができる。
【0015】
また、本発明の制御装置は、前記論理回路のうち少なくともその1つは、前記第1の演算素子が論理積素子であるとともに、前記第2の演算素子が論理和素子であり、前記ウォッチドッグタイマは、CPUの動作異常を検出した場合に論理出力”0”を出力するよう動作することを特徴とする。
【0016】
これによれば、CPUの動作異常を検出した場合に、ウォッチドッグタイマが論理出力”0”を出力し、第1の演算素子が論理積なので、CPUが異常動作した場合に第1の演算素子の出力を”0”に固定することができる。第2の演算素子が論理和であるので、他のCPUが正常に動作している場合には他のCPUから出力された信号に従った制御信号を出力することができる。
【0017】
本発明の制御装置は、複数の前記ウォッチドッグタイマからのウォッチドッグタイマ出力信号を論理演算して第3の信号として出力する第3の演算素子と、前記第2の演算素子から出力される信号と、前記第3の信号を論理演算して制御信号を出力する第4の演算素子とを有するものである。
【0018】
例えば、前記第3の演算素子と前記第4の演算素子が、共に論理積素子である。
あるいは、前記第3の演算素子が論理積素子であり、前記第4の演算素子が論理和素子である。
【0019】
上記のように、第3の演算素子と第4の演算素子を設けることで、複数のCPUが共に動作異常であることを検出した場合に、制御信号を正負のいずれかに選択して設定することができる。
【発明の効果】
【0020】
本発明の制御装置によれば、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することができる。
【図面の簡単な説明】
【0021】
図1】本発明の第1実施形態に係る制御装置の構成を示すブロック図である。
図2】本発明の第1実施形態に係る制御装置の動作説明図1である。
図3】本発明の第1実施形態に係る制御装置の動作説明図2である。
図4】本発明の第1実施形態に係る制御装置の動作説明図3である。
図5】本発明の実施形態に係る制御装置の基本構成を示すブロック図である。
図6図5に示す実施形態を改良した本発明の第2実施形態に係る制御装置の動作説明図1である。
図7図5に示す実施形態を改良した本発明の第2実施形態に係る制御装置の動作説明図2である。
図8図5に示す実施形態を改良した本発明の第2実施形態に係る制御装置の動作説明図3である。
図9】本発明の実施形態に係る制御装置の基本構成を示すブロック図である。
図10図9に示す実施形態を改良した本発明の第3実施形態に係る制御装置の動作説明図1である。
図11図9に示す実施形態を改良した本発明の第3実施形態に係る制御装置の動作説明図2である。
図12図9に示す実施形態を改良した本発明の第3実施形態に係る制御装置の動作説明図3である。
図13】従来技術の制御部を示すブロック図である。
【発明を実施するための形態】
【0022】
[第1実施形態]
以下に第1実施形態における制御装置100について説明する。
【0023】
まず始めに本実施形態における制御装置100の構成について図1を用いて説明する。図1は制御装置100の構成を示すブロック図である。
【0024】
制御装置100は、図1に示すように、複数のCPUと、複数のCPUと同数設けられた複数のウォッチドッグタイマ(図1ではWDTと表記)と、第1の論理回路30と、第2の論理回路31と、を備えている。尚、本実施形態では、複数のCPUは、第1CPU10と第2CPU11の2つのCPUであり、CPUと同数のウォッチドッグタイマは、第1ウォッチドッグタイマ20と第2ウォッチドッグタイマ21の2つのウォッチドックタイマである場合について説明する。
【0025】
第1CPU10と第2CPU11は、それぞれ第1の信号を出力する複数の出力ポートを有している。具体的には、第1CPU10は第1の出力ポートP01と第2の出力ポートP02を有しており、第2CPU11は第1の出力ポートP11と第2の出力ポートP12を有している。尚、第1CPU10の第1の出力ポートP01から出力される第1の信号と、第2の出力ポートP02から出力される第1の信号と、は異なる信号である。また、第2CPU11の第1の出力ポートP11から出力される第1の信号と、第2の出力ポートP12から出力される第1の信号と、は異なる信号である。
【0026】
第1CPU10と第2CPU11はそれぞれ、図示しないクロック回路及びプログラム記憶領域を含む記憶回路を有しており、クロック回路が発生するクロック信号に従ってプログラム領域に記憶されたプログラムに従って演算処理を行う。第1CPU10のクロック回路と第2CPU11のクロック回路は概ね同じ周波数のクロック信号を発生させる。また、第1CPU10と第2CPU11は、それぞれのプログラム記憶領域に同一動作のプログラムが記憶されており、所定の同じ処理を行う。
【0027】
また、第1CPU10と第2CPU11には、それぞれCPUが演算処理を行う動作に対応して論理出力”1”としてのハイレベル信号と論理出力”0”としてのローレベル信号とを交互に出力する動作信号出力(φ1,φ2)を有している。第1CPU10が正常動作している場合には第1CPU10に備えられた動作信号出力φ1には所定の時間間隔で”1”と”0”とが交互に出力される。また第2CPU11が正常動作している場合には第2CPU10に備えられた動作信号出力φ2には所定の時間間隔で”1”と”0”とが交互に出力される。
【0028】
また、外部装置50との通信手段を有しており、外部装置50からの信号の受信や外部装置50に対する信号の送信を行うことができる。
【0029】
第1ウォッチドッグタイマ20と第2ウォッチドッグタイマ21は、第1CPU10と第2CPU11にそれぞれ接続されている。
【0030】
第1ウォッチドッグタイマ20は、入力端子と2つの出力端子を有しており、入力端子は第1CPU10の動作信号出力φ1に接続される。また、2つの出力端子は、一方が入力された信号が所定の時間より長い間”1”または”0”の状態が継続した場合にウォッチドッグタイマ出力”1”を出力する正論理出力P1であり、他方が正論理出力P1と反転した信号を出力する負論理出力N1となっている。従って第1ウォッチドッグタイマ20の正論理出力P1は、CPUの動作異常を検出した場合に論理出力”1”を出力するよう動作し、負論理出力N1は、CPUの動作異常を検出した場合に論理出力”0”を出力するよう動作する。
【0031】
第2ウォッチドッグタイマ21は、入力端子と2つの出力端子を有しており、入力端子は第2CPU11の動作信号出力φ2に接続される。また、2つ出力端子は、一方が入力された信号が所定の時間より長い間”1”または”0”の状態が継続した場合にウォッチドッグタイマ出力”1”を出力する正論理出力P2であり、他方が正論理出力P2と反転した信号を出力する負論理出力N2となっている。従って第2ウォッチドッグタイマ21の正論理出力P2は、CPUの動作異常を検出した場合に論理出力”1”を出力するよう動作し、負論理出力N2は、CPUの動作異常を検出した場合に論理出力”0”を出力するよう動作する。
【0032】
第1の論理回路30は、第1CPU10の第1の出力ポートP01から出力される第1の信号と第2CPU11の第1の出力ポートP11から出力される第1の信号と論理演算する。
【0033】
第1の論理回路30は、第1の演算素子と第2の演算素子の組合せが、論理積素子の組合せで構成されている。第1の演算素子は、第1の論理和素子30aと第2の論理和素子30bとが、2つのCPU(10,11)に対応してそれぞれ配置されるとともに、第2の演算素子は、第1の論理積素子30cが2つのCPU(10,11)に対して一つ配置されている。
【0034】
第1の論理回路30に備えられた第1の演算素子の第1の論理和素子30aは、2つの入力端子と1つの出力端子を有している。一方の入力端子は第1CPU10の第1の出力ポートP01に接続され、他方の入力端子は第1ウォッチドッグタイマ20の正論理出力P1と接続されている。第1の論理和素子30aの出力には、第1CPU10の第1の出力ポートP01と第1ウォッチドッグタイマ20の正論理出力P1から出力されるウォッチドッグタイマ出力信号の論理和演算された結果が第2の信号として出力される。
【0035】
第1の論理回路30に備えられた第1の演算素子の第2の論理和素子30bは、2つの入力端子と1つの出力端子を有している。一方の入力端子は第2CPU11の第1の出力ポートP11に接続され、他方の入力端子は第2ウォッチドッグタイマ21の正論理出力P2と接続されている。第2の論理和素子30bの出力には、第2CPU11の第1の出力ポートP11と第2ウォッチドッグタイマ21の正論理出力P2から出力されるウォッチドッグタイマ出力信号の論理和演算された結果が第2の信号として出力される。
【0036】
第1の論理回路30に備えられた第2の演算素子の第1の論理積素子30cは、2つの入力端子と1つの出力端子を有している。一方の入力端子は第1の論理和素子30aの出力端子に接続され、他方の入力端子は第2の論理和素子30bの出力端子と接続されている。第1の論理積素子30cの出力には、第1の論理和素子30aから出力される第2の信号と第2の論理和素子30bの出力から出力される第2の信号の、2つの第2の信号が論理積演算された結果が制御信号として出力される。
【0037】
第2の論理回路31は、第1CPU10の第2の出力ポートP02から出力される第1の信号と第2CPU11の第2の出力ポートP12から出力される第1の信号と論理演算する。
【0038】
第2の論理回路31は、第1の演算素子と第2の演算素子の組合せが、論理積素子の組合せで構成されている。第1の演算素子は、第2の論理積素子31aと第3の論理積素子31bとが、2つのCPU(10,11)に対応してそれぞれ配置されとともに、第2の演算素子は、第3の論理和素子31cが2つのCPU(10,11)に対して一つ配置されている。
【0039】
第2の論理回路31に備えられた第1の演算素子の第2の論理積素子31aは、2つの入力端子と1つの出力端子を有している。一方の入力端子は第1CPU10の第2の出力ポートP02に接続され、他方の入力端子は第1ウォッチドッグタイマ20の負論理出力N1と接続されている。第2の論理積素子31aの出力には、第1CPU10の第2の出力ポートP02と第1ウォッチドッグタイマ20の負論理出力N1から出力されるウォッチドッグタイマ出力信号の論理積演算された結果が第2の信号として出力される。
【0040】
第2の論理回路31に備えられた第1の演算素子の第3の論理積素子31bは、2つの入力端子と1つの出力端子を有している。一方の入力端子は第2CPU11の第2の出力ポートP12に接続され、他方の入力端子は第2ウォッチドッグタイマ21の負論理出力N2と接続されている。第3の論理積素子31bの出力には、第2CPU11の第2の出力ポートP12と第2ウォッチドッグタイマ21の負論理出力N2から出力されるウォッチドッグタイマ出力信号の論理積演算された結果が第2の信号として出力される。
【0041】
第2の論理回路31に備えられた第2の演算素子の第3の論理和素子31cは、2つの入力端子と1つの出力端子を有している。一方の入力端子は第2の論理積素子31aの出力端子に接続され、他方の入力端子は第3の論理積素子31bの出力端子と接続されている。第3の論理和素子31cの出力には、第2の論理積素子31aから出力される第2の信号と第3の論理積素子31bの出力から出力される第2の信号の、2つの第2の信号が論理和演算された結果が制御信号として出力される。
【0042】
次に、制御装置100の動作について、図2から図4を用いて説明する。図2は制御装置100の動作説明図であり、第1CPU10及び第2CPU11が正常に動作している状態を説明する図である。図3は制御装置100の動作説明図であり、第1CPU10の動作が異常となった場合の動作を示す図である。図4は制御装置100の動作を示す図であり、第1CPU10及び第2CPU11の動作が異常となった場合の動作を示す図である。
【0043】
最初に、制御装置100が正常に動作している状態について図2を用いて説明する。
第1CPU10と第2CPU11はそれぞれ、ほぼ同じタイミングで動作し、所定の同じ処理を行うように動作している。この状態では、第1CPU10に備えられた動作信号出力φ1と第2CPU11に備えられた動作信号出力φ2には、所定の時間間隔で”1”と”0”とが交互に出力される。
【0044】
第1ウォッチドッグタイマ20は、第1CPU10の動作信号出力φ1から所定の時間間隔で”1”と”0”とが交互に入力されるため、第1ウォッチドッグタイマ20の正論理出力P1からは”0”が出力され、負論理出力N1からは”1”が出力される。
【0045】
第2ウォッチドッグタイマ21は、第2CPU11の動作信号出力φ2から所定の時間間隔で”1”と”0”とが交互に入力されるため、第2ウォッチドッグタイマ21の正論理出力P2からは”0”が出力され、負論理出力N2からは”1”が出力される。
【0046】
第1の論理回路30に備えられた第1の演算素子の第1の論理和素子30aは、一方の入力端子から第1CPU10の第1の出力ポートP01の出力信号が入力され、他方の入力端子は第1ウォッチドッグタイマ20の正論理出力P1からの出力信号が入力される。図2に示すように、第1ウォッチドッグタイマ20の正論理出力P1からは”0”が出力されているので、第1の論理和素子30aの出力には、第1CPU10の第1の出力ポートP01から出力される信号がそのまま第2の信号として出力されることになる。
【0047】
第1の論理回路30に備えられた第1の演算素子の第2の論理和素子30bは、一方の入力端子から第2CPU11の第1の出力ポートP11の出力信号が入力され、他方の入力端子は第2ウォッチドッグタイマ21の正論理出力P1からの出力信号が入力される。図2に示すように、第2ウォッチドッグタイマ21の正論理出力P2からは”0”が出力されているので、第2の論理和素子30bの出力には、第2CPU11の第1の出力ポートP11から出力される信号がそのまま第2の信号として出力されることになる。
【0048】
第1の論理回路30に備えられた第2の演算素子の第1の論理積素子30cは、一方の入力端子には第1の論理和素子30aから出力される第2の信号が入力され、他方の入力端子には第2の論理和素子30bから出力される第2の信号が入力される。従って、第1の論理積素子30cの出力には、第1CPU10の第1の出力ポートP01から出力される信号と、第2CPU11の第1の出力ポートP11から出力される信号が論理積演算された結果が制御信号として出力される。第1CPU10と第2CPU11とは、ほぼ同じタイミングで動作し、所定の同じ処理を行うように動作しているので、第1CPU10の第1の出力ポートP01と第2CPU11の第1の出力ポートP11とからは、同じ信号が出力されている。このため、第1の論理積素子30cからは、第1CPU10の第1の出力ポートP01または第2CPU11の第1の出力ポートP11と同じ信号が制御信号として出力されることとなる。
【0049】
第2の論理回路31に備えられた第1の演算素子の第2の論理積素子31aは、一方の入力端子から第1CPU10の第2の出力ポートP02の出力信号が入力され、他方の入力端子は第1ウォッチドッグタイマ20の負論理出力N1からの出力信号が入力される。第1ウォッチドッグタイマ20の負論理出力N1からは”1”が出力されているので、第2の論理積素子31aの出力には、第1CPU10の第2の出力ポートP02から出力される信号がそのまま第2の信号として出力されることになる。
【0050】
第2の論理回路31に備えられた第1の演算素子の第3の論理積素子31bは、一方の入力端子から第2CPU11の第2の出力ポートP12の出力信号が入力され、他方の入力端子は第2ウォッチドッグタイマ21の負論理出力N2からの出力信号が入力される。第2ウォッチドッグタイマ21の負論理出力N2からは”1”が出力されているので、第3の論理積素子31bの出力には、第2CPU11の第2の出力ポートP12から出力される信号がそのまま第2の信号として出力されることになる。
【0051】
第2の論理回路31に備えられた第2の演算素子の第3の論理和素子31cは、一方の入力端子には第2の論理積素子31aから出力される第2の信号が入力され、他方の入力端子には第3の論理積素子31bから出力される第2の信号が入力される。従って、第3の論理和素子31cの出力には、第1CPU10の第2の出力ポートP02から出力される信号と、第2CPU11の第2の出力ポートP12から出力される信号が論理和演算された結果が制御信号として出力される。第1CPU10と第2CPU11とは、ほぼ同じタイミングで動作し、所定の同じ処理を行うように動作しているので、第1CPU10の第2の出力ポートP02と第2CPU11の第2の出力ポートP12とからは、同じ信号が出力されている。このため、第3の論理和素子31cからは、第1CPU10の第2の出力ポートP02または第2CPU11の第2の出力ポートP12と同じ信号が制御信号として出力されることとなる。
【0052】
以上のように、制御装置100が正常に動作している場合には、第1CPU10の第1の出力ポートP01と第2CPU11の第1の出力ポートP11からは同じ第1の信号が出力される。2つの第1の信号を第1の論理回路30で演算した結果として、第1CPU10の第1の出力ポートP01及び第2CPU11の第1の出力ポートP11から出力される信号と同じ信号が制御信号として出力される。また、第1CPU10の第2の出力ポートP02と第2CPU11の第2の出力ポートP12からは同じ第1の信号が出力される。2つの第1の信号を第2の論理回路31で演算した結果として、第1CPU10の第2の出力ポートP02及び第2CPU11の第2の出力ポートP12から出力される信号と同じ信号が制御信号として出力される。結果的に出力される制御信号は、それぞれのCPU(10,11)にプログラムされた制御に従って出力された信号が正しく出力されることとなる。
【0053】
次に、制御装置100の第1CPU10が正常に動作していない場合の動作について図3を用いて説明する。
【0054】
第1CPU10が何らかの理由によって正常に動作できなくなった場合、第1CPU10に備えられた動作信号出力φ1には所定の時間間隔で”1”と”0”とが交互に出力されなくなる。尚、第2CPU11は正常に動作しており、第2CPU10に備えられた動作信号出力φ2には、所定の時間間隔で”1”と”0”とが交互に出力されている。
【0055】
第1ウォッチドッグタイマ20は、第1CPU10の動作信号出力φ1から所定の時間間隔で”1”と”0”とが交互に入力されないため、第1ウォッチドッグタイマ20の正論理出力P1からは”1”が出力され、負論理出力N1からは”0”が出力される。
【0056】
第2ウォッチドッグタイマ21は、第2CPU11の動作信号出力φ2から所定の時間間隔で”1”と”0”とが交互に入力されるため、第2ウォッチドッグタイマ21の正論理出力P2からは”0”が出力され、負論理出力N2からは”1”が出力される。
【0057】
第1の論理回路30に備えられた第1の演算素子の第1の論理和素子30aは、一方の入力端子から第1CPU10の第1の出力ポートP01の出力信号が入力され、他方の入力端子は第1ウォッチドッグタイマ20の正論理出力P1からの出力信号が入力される。図3に示すように、第1ウォッチドッグタイマ20の正論理出力P1からは”1”が出力されているので、第1の論理和素子30aから出力される第2信号は、第1CPU10の第1の出力ポートP01からの出力に関わらず”1”に固定され不変となる。
【0058】
第1の論理回路30に備えられた第1の演算素子の第2の論理和素子30bは、一方の入力端子から第2CPU11の第1の出力ポートP11の出力信号が入力され、他方の入力端子は第2ウォッチドッグタイマ21の正論理出力P1からの出力信号が入力される。第2ウォッチドッグタイマ21の正論理出力P2からは”0”が出力されているので、第2の論理和素子30bの出力には、第2CPU11の第1の出力ポートP11から出力される信号がそのまま第2の信号として出力されることになる。
【0059】
第1の論理回路30に備えられた第2の演算素子の第1の論理積素子30cは、一方の入力端子には第1の論理和素子30aから出力される第2の信号が入力され、他方の入力端子には第2の論理和素子30bから出力される第2の信号が入力される。第1の論理和素子30aから出力される第1信号は”1”に固定されているので、第1の論理積素子30cの出力には、第2CPU11の第1の出力ポートP11から出力される信号が制御信号として出力されることとなる。
【0060】
第2の論理回路31に備えられた第1の演算素子の第2の論理積素子31aは、一方の入力端子から第1CPU10の第2の出力ポートP02の出力信号が入力され、他方の入力端子は第1ウォッチドッグタイマ20の負論理出力N1からの出力信号が入力される。図3に示すように、第1ウォッチドッグタイマ20の負論理出力N1からは”0”が出力されているので、第2の論理積素子31aから出力される第2信号は、第1CPU10の第2の出力ポートP02からの出力に関わらず”0”に固定され不変となる。
【0061】
第2の論理回路31に備えられた第1の演算素子の第3の論理積素子31bは、一方の入力端子から第2CPU11の第2の出力ポートP12の出力信号が入力され、他方の入力端子は第2ウォッチドッグタイマ21の負論理出力N2からの出力信号が入力される。第2ウォッチドッグタイマ21の負論理出力N2からは”1”が出力されているので、第3の論理積素子31bの出力には、第2CPU11の第2の出力ポートP12から出力される信号がそのまま第2の信号として出力されることになる。
【0062】
第2の論理回路31に備えられた第2の演算素子の第3の論理和素子31cは、一方の入力端しには第2の論理積素子31aから出力される第2の信号が入力され、他方の入力端しには第3の論理積素子31bから出力される第2の信号が入力される。第2の論理積素子31aから出力される第1信号は”0”に固定されているので、第3の論理和素子31cの出力には、第2CPU11の第1の出力ポートP11から出力される信号が制御信号として出力されることとなる。
【0063】
制御装置100の第1CPU10が正常に動作していない場合には、第1CPU10の第1の出力ポートP01から出力される第1の信号が正しい信号とは限らず、第2CPU11の第1の出力ポートP11から出力される第1の信号とも必ずしも一致しない。また、第1CPU10の第2の出力ポートP02から出力される第1の信号が正しい信号とは限らず、第2CPU11の第2の出力ポートP12から出力される第1の信号とも必ずしも一致しない。
【0064】
しかし、第1CPU10の動作異常を検出した場合に第1ウォッチドッグタイマ20から出力されるウォッチドッグタイマ出力信号が、第1の論理回路30に備えられた第1の演算素子の第1の論理和素子30aの出力が不変となる極性となる”1”を供給する。このことによって、動作が異常となっている第1CPU10の第1の出力ポートP01から出力される信号が制御装置100の動作に影響を与えなくすることができる。また、第1CPU10の動作異常を検出した場合に第1ウォッチドッグタイマ20から出力されるウォッチドッグタイマ出力信号が、第2の論理回路31に備えられた第1の演算素子の第2の論理積素子31aの出力が不変となる極性となる”0”を供給する。このことによって、動作が異常となっている第1CPU10の第2の出力ポートP02から出力される信号が制御装置100の動作に影響を与えなくすることができる。
【0065】
第1の論理回路30から出力される制御信号は、正常に動作している第2CPU11の第1の出力ポートP11の出力が制御信号として出力される。また、第2の論理回路31から出力される制御信号は、正常に動作している第2CPU11の第2の出力ポートP12の信号が制御信号として出力される。結果的に出力される制御信号は、正常に動作している第2CPU11にプログラムされた制御に従って出力された信号が正しく出力されることとなる。以上の動作は第1CPU10が正常に動作しており、第2CPU11が異常となった場合であっても同様となる。
【0066】
次に、制御装置100の第1CPU10と第2CPU11がともに正常に動作していない場合の動作について図4を用いて説明する。
【0067】
第1CPU10が何らかの理由によって正常に動作できなくなった場合、第1CPU10に備えられた動作信号出力φ1には所定の時間間隔で”1”と”0”とが交互に出力されなくなる。また、第2CPU11も何らかの理由によって正常に動作できなくなった場合、第2CPU10に備えられた動作信号出力φ2も所定の時間間隔で”1”と”0”とが交互に出力されなくなる。
【0068】
第1ウォッチドッグタイマ20は、第1CPU10の動作信号出力φ1から所定の時間間隔で”1”と”0”とが交互に入力されないため、第1ウォッチドッグタイマ20の正論理出力P1からは”1”が出力され、負論理出力N1からは”0”が出力される。
【0069】
第2ウォッチドッグタイマ21は、第2CPU11の動作信号出力φ2から所定の時間間隔で”1”と”0”とが交互に入力されないため、第2ウォッチドッグタイマ21の正論理出力P2からは”1”が出力され、負論理出力N2からは”0”が出力される。
【0070】
第1の論理回路30に備えられた第1の演算素子の第1の論理和素子30aは、一方の入力端子から第1CPU10の第1の出力ポートP01の出力信号が入力され、他方の入力端子は第1ウォッチドッグタイマ20の正論理出力P1からの出力信号が入力される。図4に示すように、第1ウォッチドッグタイマ20の正論理出力P1からは”1”が出力されているので、第1の論理和素子30aから出力される第2信号は、第1CPU10の第1の出力ポートP01からの出力に関わらず”1”に固定され不変となる。
【0071】
第1の論理回路30に備えられた第1の演算素子の第2の論理和素子30bは、一方の入力端子から第2CPU11の第1の出力ポートP11の出力信号が入力され、他方の入力端子は第2ウォッチドッグタイマ21の正論理出力P2からの出力信号が入力される。図4に示すように、第2ウォッチドッグタイマ21の正論理出力P2からは”1”が出力されているので、第2の論理和素子30bから出力される第2信号は、第2CPU11の第1の出力ポートP11からの出力に関わらず”1”に固定され不変となる。
【0072】
第1の論理回路30に備えられた第2の演算素子の第1の論理積素子30cは、一方の入力端子には第1の論理和素子30aから出力される第2の信号が入力され、他方の入力端子には第2の論理和素子30bから出力される第2の信号が入力される。第1の論理和素子30aから出力される第1信号は”1”に固定されており、第2の論理和素子30bから出力される第1信号も”1”に固定されている。従って、第1の論理積素子30cの出力は、第1CPU10及び第2CPU11の第1の出力ポートP01、P11から出力される信号に関わらず”1”が制御信号として出力されることとなる。
【0073】
第2の論理回路31に備えられた第1の演算素子の第2の論理積素子31aは、一方の入力端子から第1CPU10の第2の出力ポートP02の出力信号が入力され、他方の入力端子は第1ウォッチドッグタイマ20の負論理出力N1からの出力信号が入力される。図4に示すように、第1ウォッチドッグタイマ20の負論理出力N1からは”0”が出力されているので、第2の論理積素子31aから出力される第2信号は、第1CPU10の第2の出力ポートP02からの出力に関わらず”0”に固定され不変となる。
【0074】
第2の論理回路31に備えられた第1の演算素子の第3の論理積素子31bは、一方の入力端子から第2CPU11の第2の出力ポートP12の出力信号が入力され、他方の入力端子は第2ウォッチドッグタイマ21の負論理出力N2からの出力信号が入力される。図4に示すように、第2ウォッチドッグタイマ21の負論理出力N2からは”0”が出力されているので、第3の論理積素子31bから出力される第2信号は、第2CPU11の第2の出力ポートP12からの出力に関わらず”0”に固定され不変となる。
【0075】
第2の論理回路31に備えられた第2の演算素子の第3の論理和素子31cは、一方の入力端しには第2の論理積素子31aから出力される第2の信号が入力され、他方の入力端しには第3の論理積素子31bから出力される第2の信号が入力される。第2の論理積素子31aから出力される第1信号は”0”に固定されており、第3の論理積素子31bから出力される第1信号も”0”に固定されている。従って、第3の論理和素子31cの出力は、第1CPU10及び第2CPU11の第2の出力ポートP02、P12から出力される信号に関わらず”0”が制御信号として出力されることとなる。
【0076】
制御装置100の第1CPU10と第2CPU11が、ともに正常に動作していない場合には、第1CPU10及び第2CPU11から出力される第1の信号が正しい信号とは限らない。
【0077】
しかし、第1CPU10の動作異常を検出した場合に第1ウォッチドッグタイマ20から出力されるウォッチドッグタイマ出力信号が、第1の論理回路30に備えられた第1の演算素子の第1の論理和素子30aの出力が不変となる極性となる”1”を供給する。このことによって、動作が異常となっている第1CPU10の第1の出力ポートP01から出力される信号が制御装置100の動作に影響を与えなくすることができる。また、第1CPU10の動作異常を検出した場合に第1ウォッチドッグタイマ20から出力されるウォッチドッグタイマ出力信号が、第2の論理回路31に備えられた第1の演算素子の第2の論理積素子31a出力が不変となる極性となる”0”を供給する。このことによって、動作が異常となっている第1CPU10の第2の出力ポートP02から出力される信号が制御装置100の動作に影響を与えなくすることができる。
【0078】
また、第2CPU11の動作異常を検出した場合に第2ウォッチドッグタイマ21から出力されるウォッチドッグタイマ出力信号が、第1の論理回路30に備えられた第1の演算素子の第2の論理和素子30bの出力が不変となる極性となる”1”を供給する。このことによって、動作が異常となっている第2CPU11の第2の出力ポートP12から出力される信号が制御装置100の動作に影響を与えなくすることができる。また、第2CPU11の動作異常を検出した場合に第2ウォッチドッグタイマ21から出力されるウォッチドッグタイマ出力信号が、第2の論理回路31に備えられた第1の演算素子の第3の論理積素子31b出力が不変となる極性となる”0”を供給する。このことによって、動作が異常となっている第2CPU11の第2の出力ポートP12から出力される信号が制御装置100の動作に影響を与えなくすることができる。
【0079】
以上のように、制御装置100の第1CPU10と第2CPU11が、ともに正常に動作していない場合には、第1の論理回路30から出力される制御信号は、”1”に固定され、第2の論理回路31から出力される制御信号は、”0”に固定される。このため、第1の論理回路30は、出力される制御信号が”1”となった場合にフェールセーフとなる制御対象に適用することで、まれに両方のCPU(10,11)が異常動作となった場合でも制御装置100が適用される機器を安全に制御することができる。また、第2の論理回路31は、出力される制御信号が”0”となった場合にフェールセーフとなる制御対象に適用することで、まれに両方のCPU(10,11)が異常動作となった場合でも制御装置100が適用される機器を安全に制御することができる。
【0080】
以下、本実施形態としたことによる効果について説明する。
本実施形態の制御装置100では、複数のCPU(10,11)は、それぞれ第1の信号を出力する複数の出力ポート(P01,P02,P11,P12)を有し、複数のウォッチドッグタイマ(20,21)は、複数のCPU(10,11)と同数設けられ、複数のCPU(10,11)にそれぞれ接続され、複数のCPU(10,11)から出力された第1の信号を論理演算する論理回路(30,31)を有し、論理回路は(30,31)、複数のCPUに対応してそれぞれ配置される第1の演算素子と、複数のCPUに対して一つ配置される第2の演算素子と、を備え、複数のCPU(10,11)に所定の同じ処理を行わせるとともに、第1の演算素子は、複数のCPU(10,11)にそれぞれ接続されたウォッチドッグタイマ(20,21)から出力されるウォッチドッグタイマ出力信号と、複数のCPUの出力ポートから出力される第1の信号と、を論理演算して第2の信号として出力し、第2の演算素子は、複数の第1の演算素子から出力される複数の第2の信号を論理演算して制御信号として出力するように構成した。
【0081】
これにより、ウォッチドックタイマ(20,21)から出力されるウォッチドッグタイマ出力信号と、CPU(10,11)から出力される第1の信号と、を第1の演算素子で論理演算することで、CPUに異常があった場合に異常があったCPU側の第1の信号をフェールセーフ側に固定することができる。更に複数のCPUからの第1の信号を、第2の演算素子で論理演算することで、複数の第1の信号から、フェールセーフ側信号または制御信号を継続して出力することができる。従って、異常が生じた場合でも機器の動作を停止することなく誤動作を低減することができる制御装置を提供することができる。
【0082】
また、本実施形態の制御装置100では、論理回路(30,31)を複数有し、論理回路(30,31)は、第1の演算素子と第2の演算素子の組合せが、論理和素子と論理積素子の組合せであり、ウォッチドッグタイマ(20,21)の出力は、CPU(10,11)の動作異常を検出した場合に第1の演算素子の出力が不変となる極性で第1の演算素子に供給されるように構成した。
【0083】
これにより、CPU(10,11)の動作異常を検出した場合に、第1の演算素子の出力を固定することができる。第1の演算素子の出力を固定されるので、他のCPUが正常に動作している場合には第2の演算素子によって他のCPUから出力された信号に従った制御信号を出力することができる。また、CPU(10,11)が制御する複数の機能に対して論理回路を設けることで、複数の機能に対して動作を停止することなく誤動作を低減することができる。
【0084】
また、本実施形態の制御装置100では、論理回路(30,31)のうち少なくともその1つは、第1の演算素子が論理和素子であるとともに、第2の演算素子が論理積素子であり、ウォッチドッグタイマ(20,21)は、CPU(10,11)の動作異常を検出した場合に論理出力”1”を出力するように構成した。
【0085】
これにより、CPUが異常動作した場合に第1の演算素子の出力を”1”に固定することができる。第2の演算素子が論理積であるので、他のCPUが正常に動作している場合には他のCPUから出力された信号に従った制御信号を出力することができる。
【0086】
また、本実施形態の制御装置100では、論理回路(30,31)のうち少なくともその1つは、第1の演算素子が論理積素子であるとともに、第2の演算素子が論理和素子であり、ウォッチドッグタイマ(20,21)は、CPU(10,11)の動作異常を検出した場合に論理出力”0”を出力するように構成した。
【0087】
これにより、CPUが異常動作した場合に第1の演算素子の出力を”0”に固定することができる。第2の演算素子が論理和であるので、他のCPUが正常に動作している場合には他のCPUから出力された信号に従った制御信号を出力することができる。
【0088】
以上のように、本発明の実施形態に係る制御装置100を具体的に説明したが、本発明は上記の実施形態に限定されるものではなく、要旨を逸脱しない範囲で種々変更して実施することが可能である。例えば次のように変形して実施することができ、これらの実施形態も本発明の技術的範囲に属する。
【0089】
(1)本実施形態において、複数のCPUは、第1CPU10と第2CPU11の2つのCPUであるとしたが、CPUが3つ以上あるように変更して実施しても良い。
【0090】
(2)本実施形態において、CPUの複数の出力ポートが第1CPU10と第2CPU11それぞれ2つずつ有している例を示して説明を行ったが、出力ポートの数は制御装置が使用される機器やシステムにあわせ必要なだけの数量に変更して実施することができる。
【0091】
(3)本実施形態において、ウォッチドッグタイマ(20,21)は、正論理出力(P1,P2)と、負論理出力(N1,N2)の2つの出力を有する例を示して説明を行ったがどちらか一方の出力を備えたウォッチドッグタイマを用いても良い。この場合、出力に論理否定素子を用いて反転出力を得ることで同様の動作を行わせることができる。
【0092】
[第2実施形態]
図5に本発明の基本的な実施形態の制御装置101Aが示され、図6ないし図8に、制御装置101Aを基本とした第2実施形態の制御装置101が示されている。
【0093】
図5に示す制御装置101Aには、図1に示す制御装置100に設けられたのと同じ第1の論理回路30が設けられているが、第2の論理回路31に相当するものは設けられていない。第1CPU10からは、第1の出力ポートP01からの第1の信号と、動作信号出力φ1とが得られる。第2CPU11からは、第1の出力ポートP11からの第1の信号と、動作信号出力φ2とが得られる。また、第1ウォッチドッグタイマ20から正論理出力P1が得られ、第2ウォッチドッグタイマ21からも、正論理出力P2が得られる。
【0094】
図4を参照して既に説明したように、第1CPU10と第2CPU11がともに正常に動作していない場合に、第1ウォッチドッグタイマ20の正論理出力P1からは”1”が出力され、第2ウォッチドッグタイマ21の正論理出力P2からも”1”が出力される。よって、第1の演算素子の第1の論理和素子30aから出力される第2信号は、第1CPU10の第1の出力ポートP01からの出力に関わらず”1”に固定される。同様に、第1の演算素子の第2の論理和素子30bから出力される第2信号も、第2CPU11の第1の出力ポートP11からの出力に関わらず”1”に固定される。
【0095】
よって、第1CPU10と第2CPU11がともに正常に動作していない場合に、第1の論理回路30では、第2の演算素子の第1の論理積素子30cからは、”1”に固定された制御信号が出力される。よって、制御信号が”1”なった場合にフェールセーフとなる制御対象に適用することで、まれに両方のCPU(10、11)が異常動作となった場合でも制御装置101Aが適用される機器を安全に制御することができる。
【0096】
しかし、図5に示す基本例では、両方のCPU(10、11)が異常動作となった場合に、第1の論理積素子30cからの制御信号が”1”に固定されるため、制御信号が”1”なった場合にフェールセーフとなる制御対象にしか適用することができない。すなわち、入力される制御信号が”0”となったときにフェールセーフとなる制御対象の場合には、制御装置101Aを使用することができなくなる。一方で、第1の論理回路30の構成として、第2の演算素子の第1の論理積素子30cを「AND」の論理回路素子を使用するのが最適な場合があり、容易に第2の論理回路31に変更できないこともある。
【0097】
そこで、図6ないし図8に示す第2実施形態の制御装置101では、図5に示す基本例に第3の演算素子41と第4の演算素子42を付加することで、両方のCPU(10、11)が異常動作となった場合の制御信号を”0”に変更できるようにしている。
【0098】
図6ないし図8に示すように、第3の演算素子41は論理積素子である。第1ウォッチドッグタイマ20の正論理出力P1と第2ウォッチドッグタイマ21の正論理出力P2との論理積が第3の演算素子41で演算されて、第3の信号として出力される。第4の演算素子42も論理積素子であるが、第3の演算素子41から出力される第3の信号は、第4の演算素子42に反転して入力される。第4の演算素子42では、第3の演算素子41から出力される第3の信号と第1の論理積素子30cからの出力信号の論理積が演算されて制御信号として出力される。
【0099】
図6は、第2実施形態の制御装置101が正常に動作している場合を示している。
図2に基づいて説明したのと同様に、第1CPU10が正常に動作していると、第1ウォッチドッグタイマ20の正論理出力P1が”0”である。そのため、第1CPU10の第1の出力ポート01から出力される第1の信号は、そのままの符号で、第1の論理和素子30aから第2の信号として出力される。同様に、第2CPU11が正常に動作していると、第2ウォッチドッグタイマ20の正論理出力P2も”0”である。そのため、第2CPU11の第1の出力ポート11から出力される第1の信号は、そのままの符号で、第2の論理和素子30bから第2の信号として出力される。
【0100】
したがって、第1の論理積素子30cからは、第1の論理和素子30aから出力される第2の信号と第2の論理和素子30bから出力される第2信号とが論理積演算される。
【0101】
第3の演算素子41の論理積素子には、第1ウォッチドッグタイマ20からの正論理出力P1の”0”と、第2ウォッチドッグタイマ21からの正論理出力P2の”0”とが入力される。よって、第3の演算素子41で論理積演算される第3の信号は”0”である。この第3の信号は反転され”1”となって第4の演算素子42に与えられる。そのため、第4の演算素子42では、論理積演算されて出力される制御信号として、第1の論理積素子30cの演算結果がそのまま出力される。
【0102】
図7は、一方の第1CPU10のが正常に動作していない状態を示している。
図3に基づいて説明したとの同様に、第1CPU10が正常に動作していないとき、第1ウォッチドッグタイマ20の正論理出力P1が”1”になる。よって、第1の論理和素子30aからの第2の信号は”1”に固定される。一方、第2ウォッチドッグタイマ21の正論理出力P2は”0”であるため、第2CPU11の第1の出力ポートP11から第1の信号は、第2の論理和素子30bからそのままの符号で第2信号として出力される。
【0103】
したがって、第2の論理和素子30bからの第2の信号が、そのまま第1の論理積素子30cから出力される。
【0104】
第3の演算素子41には、第1ウォッチドッグタイマ20から”1”が、第2ウォッチドッグタイマ21から”0”が与えられるため、第3の演算素子41からは論理積である”0”が第3の出力となり、これが反転されて第4の演算素子42に与えられる。よって、第4の演算素子42で論理積演算されて出力される制御信号としては、第1の論理積素子30cの演算結果がそのまま出力される。
【0105】
図8は、第1CPU10と第2CPU20がともに正常に動作していない状態を示している。
【0106】
図4に基づいて説明したのと同様に、第1CPU10と第2CPU20がともに正常に動作していない場合、第1ウォッチドグタイマ20の正論理出力P1と第2ウォッチドッグタイマ21の正論理出力P2がともに”1”になる。よって、第1の論理和素子30aの出力である第2の信号と、第2の論理和素子30bの出力である第2の信号がともに”1”となり、第1の論理積素子30cの出力が”1”に固定される。
【0107】
第1ウォッチドグタイマ20の正論理出力P1の”1”と、第2ウォッチドッグタイマ21の正論理出力P2の”1”は、第3の演算素子41に与えられ、その論理積である第3の信号が”1”となる。第4の演算素子42には、第3の信号”1”が反転した”0”と、第1の論理積素子30cの出力の”1”とが与えられるため、第4の演算素子42から出力される制御信号は”0”となる。
【0108】
このように、図5に示す基本的な制御装置101Aに、第3の演算素子41と第4の演算素子42を付加することで、2つのCPU(10,11)が共に正常に動作していないときの制御信号を、図5における”1”から”0”に変更することができ、図5に示す基本的な回路構成を使用して、制御信号が”0”なった場合にフェールセーフとなる制御対象に適用することが可能になる。
【0109】
[第3実施形態]
図9に本発明の基本的な実施形態の制御装置102Aが示され、図10ないし図12に、制御装置102Aを基本とした第3実施形態の制御装置102が示されている。
【0110】
図9に示す制御装置102Aには、図1に示す制御装置100における第2の論理回路31に相当する回路が設けられているが、第1の論理回路30に相当する回路は設けられていない。
【0111】
制御装置102Aでは、第1CPU10から、第1の出力ポートP01からの第1の信号と、動作信号出力φ1とが得られる。第2CPU11からは、第1の出力ポートP11からの第1の信号と、動作信号出力φ2とが得られる。また、第1ウォッチドッグタイマ20からは正論理出力P1が出力され、第2ウォッチドッグタイマ21からも正論理出力P2が出力される。
【0112】
図4に基づいて説明したのと同様に、第1CPU10と第2CPU11がともに正常に動作していない場合には、第1ウォッチドッグタイマ20からの正論理出力P1が”1”となり、これが反転された”0”が第1の演算素子の第2の論理積素子31aに与えられる。第2ウォッチドッグタイマ21からの正論理出力P2も”1”となり、これがが反転された”0”が第1の演算素子の第3の論理積素子31bに与えられる。
【0113】
そのため、第1の演算素子の第2の論理積素子31aから出力される第2信号が、第1CPU10の第1の出力ポートP01からの出力に関わらず”0”に固定される。同様に、第1の演算素子の第3の論理積素子31bから出力される第2信号も、第2CPU11の第1の出力ポートP11からの出力に関わらず”0”に固定される。
【0114】
よって、第1CPU10と第2CPU11がともに正常に動作していない場合に、第2の演算素子の第3の論理和素子31cからは、”0”に固定された制御信号が出力される。よって、制御信号が”0”なった場合にフェールセーフとなる制御対象に適用することができる。ただし、図9に示す基本的な回路構成を、制御信号が”1”となった場合にフェールセーフとなる制御対象に適用することはできない。
【0115】
そこで、図10ないし図12に示す第3実施形態の制御装置102では、図9に示す基本構成の制御装置102Aに、第3の演算素子45と第4の演算素子46を付加している。第3の演算素子45は論理積素子であり、第1ウォッチドッグタイマ20の正論理出力P1と第2ウォッチドッグタイマ21の正論理出力P2との論理積が演算され、演算結果が第3の信号として出力される。第4の演算素子46は論理和素子であり、第3の演算素子45から出力される第3の信号と、第3の論理和素子31cからの出力信号の論理和が演算されて制御信号として出力される。
【0116】
図10は、第3実施形態の制御装置102が正常に動作している場合を示している。
図2に基づいて説明したのと同様に、第1CPU10が正常に動作していると、第1ウォッチドッグタイマ20の正論理出力P1の”0”が反転した”1”が第2の論理積素子31aに与えられ、第2ウォッチドッグタイマ21の正論理出力P2の”0”が反転した”1”が第3の論理積素子31bに与えられる。そのため、第1CPU10の第1の出力ポート01から出力される第1の信号と第2CPU11の第1の出力ポート11から出力される第1の信号は、そのままの符号で、第2の論理積素子31aと第3の論理積素子31bから第2の信号として出力される。したがって、第3の論理和素子31cからは、第1の論理和素子30aから出力される第2の信号と第2の論理和素子30bから出力される第2信号とが論理和演算される。
【0117】
第3の演算素子45の論理積素子では、第1ウォッチドッグタイマ20からの正論理出力P1の”0”と、第2ウォッチドッグタイマ21からの正論理出力P2の”0”が入力される。よって第3の演算素子45で論理積演算される第3の信号は”0”である。したがって、第4の演算素子46で論理和演算されて出力される制御信号としては、第3の論理和素子31cの演算結果がそのまま出力される。
【0118】
図11は、一方の第1CPU10のみが正常に動作していない状態を示している。
図3に基づいて説明したとの同様に、第1CPU10が正常に動作していないとき、第1ウォッチドッグタイマ20の正論理出力P1が”1”になる。この”1”が反転されて第2の論理積素子31aに与えらるため、第2の論理積素子31aからの第2の信号は”0”に固定される。一方で、第3の論理和素子31cからは、第2CPU11の第1の出力ポートP11からの第1の信号がそのままの符号で第2信号として出力される。
【0119】
第3の演算素子45には、第1ウォッチドッグタイマ20からの正論理出力P1の”1”と、第2ウォッチドッグタイマ21からの正論理出力P2の”0”が与えられるため、第3の演算素子41からは論理積である”0”が第3の出力となる。よって、第4の演算素子46で論理和演算されて出力される制御信号として、第3の論理和素子31cの演算結果がそのまま出力される。
【0120】
図12は、第1CPU10と第2CPU20がともに正常に動作していない状態を示している。
【0121】
図4に基づいて説明したのと同様に、第1CPU10と第2CPU20がともに正常に動作していない場合、第1ウォッチドグタイマ20の正論理出力P1と第2ウォッチドッグタイマ21の正論理出力P2がともに”1”になる。これらが反転した”0”が、第2の論理積素子31aと第3の論理積素子31bにあたえられるため、第2の論理積素子31aの出力である第2の信号と、第3の論理積素子31bの出力である第2の信号がともに”0”となり、第3の論理和素子31cの出力も”0”となる。
【0122】
第1ウォッチドグタイマ20の正論理出力P1の”1”と第2ウォッチドッグタイマ21の正論理出力P2の”1”が、第3の演算素子45に与えられるため、その論理積である第3の信号が”1”となる。第4の演算素子46には、第3の論理和素子31cの出力の”0”と前記第3の信号の”1”が与えられるため、第4の演算素子46から出力される制御信号は”1”となる。
【0123】
すなわち、図9に示す基本的な制御装置102Aに第3の演算素子45と第4の演算素子46を付加することで、2つのCPU(10,11)が共に正常に動作していないときの制御信号を、図6における”0”から図12に示す”1”に変更することができ、制御信号が”1”なった場合にフェールセーフとなる制御対象に適用することが可能になる。
【符号の説明】
【0124】
10 第1CPU
11 第2CPU
20 第1ウォッチドッグタイマ
21 第2ウォッチドッグタイマ
30 第1の論理回路
30a 第1の論理和素子(第1の演算素子)
30b 第2の論理和素子(第1の演算素子)
30c 第1の論理積素子(第2の演算素子)
31 第2の論理回路
31a 第2の論理積素子(第1の演算素子)
31b 第3の論理積素子(第1の演算素子)
31c 第3の論理和素子(第2の演算素子)
41 第3の演算素子
42 第4の演算素子
45 第3の演算素子
46 第4の演算素子
50 外部装置
100 制御装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13