JPWO2014188764A1 - 機能安全制御装置 - Google Patents
機能安全制御装置 Download PDFInfo
- Publication number
- JPWO2014188764A1 JPWO2014188764A1 JP2015518127A JP2015518127A JPWO2014188764A1 JP WO2014188764 A1 JPWO2014188764 A1 JP WO2014188764A1 JP 2015518127 A JP2015518127 A JP 2015518127A JP 2015518127 A JP2015518127 A JP 2015518127A JP WO2014188764 A1 JPWO2014188764 A1 JP WO2014188764A1
- Authority
- JP
- Japan
- Prior art keywords
- task
- safety
- control device
- functional safety
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000005856 abnormality Effects 0.000 claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims description 60
- 238000001514 detection method Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 15
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 12
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 9
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 8
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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
Abstract
簡素な処理により機能安全の実現を可能にする。安全関連タスクはイベント発生回路からの外部信号による割込みで起動される。ステップS603では、既に動作している通常制御タスクを一時中断して、安全関連タスクを実行する。安全関連タスクは、処理順にタスク(1〜N)が定義されており、ステップS604ではタスク(1〜N)を処理順に実行する。ステップS604では、実行された結果に異常が検出された回数をタスク(1〜N)別にカウントしており、ステップS605では、そのカウント値がn回に達していれば、確実に異常が発生していると見做し、ステップS606で、そのタスクに対応したMILの点灯等の警告を行う。安全関連タスクの処理が終了した場合には、通常制御タスク処理を再開する。
Description
本発明は、機能安全の確保のために車両等に搭載される機能安全制御装置に関する。
車両は、マイクロプロセッサ等によって安全状態を常時監視し、必要な場合は適切な安全関連処理を実行することで、機能安全を確保する必要がある。
機能安全に関する国際標準としてIEC61508やISO26262等が制定されている。IEC61508は、マイクロプロセッサやPLC(Programmable Logic Controller)等のハードウェアとコンピュータプログラム(ソフトウェア)によって安全関連系を構築するための様々な技法を定めている。IEC61508で定められている技法を用いることで、コンピュータシステムを用いて安全関連系を構築することが可能となる。
一方、近年マイクロプロセッサの処理能力向上及びハードウェアコストの低減を目的として、複数のアプリケーションを1つのマイクロプロセッサで実行することがトレンドとなっている。この場合、機能安全に関するアプリケーションプログラム(以下、安全関連アプリケーションと呼ぶ) をその他のアプリケーションプログラム(以下、通常制御アプリケーションと呼ぶ)と共に1つのマイクロプロセッサ上で動作させる。
安全関連アプリケーション及び通常制御アプリケーションを含むソフトウェア全体に機能安全規格で定められている手法を適用すると、互いのアプリケーションが干渉しないように独立的な構成にしなければならない。
例えば、特許文献1に開示されている技術では、1つのマイクロプロセッサ上でアプリケーションプログラムのタイムパーティションニングを行い、安全関連アプリケーションを通常制御アプリケーションから時間的に分離させている。
しかし、従来の技術では、タイムパーティショニングというタスク管理によってアプリケーション処理を逐次切り換えて処理を行っているため、処理が複雑になる欠点がある。
請求項1に記載の機能安全制御装置は、制御対象に対する制御内容を指示して制御対象の機能安全の確保に関する安全関連タスクと、制御対象の制御に関する機能安全を除いた通常制御タスクとを実行するプロセッサを備えた機能安全制御装置において、プロセッサは、外部から入力された外部信号をトリガにして安全関連タスクを実行することを特徴とする。
本発明によれば、簡素な処理により機能安全対応の実現が可能となる。
(第1の実施の形態)
図1は、第1の実施の形態に係わる機能安全制御装置1の回路構成図である。機能安全制御装置1は、プロセッサ2、ウォッチドックタイマ(WDT)3及びイベント発生回路4より構成されている。以下、マイクロプロセッサやPLC(Programmable Logic
Controller)を総称してプロセッサ2と称する。
図1は、第1の実施の形態に係わる機能安全制御装置1の回路構成図である。機能安全制御装置1は、プロセッサ2、ウォッチドックタイマ(WDT)3及びイベント発生回路4より構成されている。以下、マイクロプロセッサやPLC(Programmable Logic
Controller)を総称してプロセッサ2と称する。
プロセッサ2は、EP-ROMで構成される不揮発性メモリ10、RAMで構成される実行用メモリ11、I/Oモジュール12、タイマモジュール13、CPU14、割り込みコントローラ15で構成される。
WDT3は常時内部でタイマをカウントし、プロセッサ2からクリア信号が入力されたときには、そのカウンタをクリアする機能を有し、そのカウンタ値が所定値以上となった時に、タイムアップ信号を出力する機能を有している。プロセッサ2から定期的にクリア信号をWDT3に入力し、WDT3からタイムアップ信号が出力されなければ、プロセッサ2が正常に動作していることが確認できる。プロセッサ2が正常に動作しなくなり、プロセッサ2からクリア信号がWDT3に出力されなくなった場合には、WDT3のカウンタ値がカウントアップして、カウンタ値が所定値を超えたところで、タイムアップ信号を出力する。この信号を、例えばリセット回路等(図示せず) に接続することにより、プロセッサ2の異常動作時に、例えば外部機器5等の駆動を遮断することにより装置を安全な状態に移行させることができる。
イベント発生回路4は、プロセッサ2の外部に設けられ、2つの外部信号INT1、INT2をそれぞれ周期的に発生するものである。この場合の周期は、あらかじめ固定で決められていてもよく、プロセッサ2等より任意に設定されるものでもよい。このイベント発生回路4の出力をプロセッサ2の割り込みコントローラ15の外部割込み端子に接続することにより定期的な割り込み処理が発生することになる。
I/Oモジュール12は、センサ、アクチュエータ等の外部機器5と接続され、また、ネットワーク6を介して制御ユニット7と接続され、入力値の取り込みや出力を行う。
タイマモジュール13は、所定の時刻を設定する機能を有し、設定された時刻に達すると割り込みが発生する。CPU14は不揮発性メモリ10に格納されているプログラムを実行する。
割り込みコントローラ15は、外部割込み端子より割り込みが発生すると、不揮発性メモリ10に格納されたベクタテーブル100に登録された番地にジャンプし、そこから処理を実行する。外部割込み端子少なくとも2つの端子を備え、イベント発生回路4から外部信号INT1、INT2が入力される。ベクタテーブル100は、割り込みとそれに対処する処理とを関連づけるテーブルである。
OS101は、CPU14によって実行されることにより、CPU14、実行用メモリ11、および不揮発性メモリ10等のハードウェア資源を利用して、タスク管理、割り込み管理、時間管理、資源管理、およびタスク間同期等の処理を行う。
アプリケーションは、実行単位のタスクで構成されており、タスク管理とはそれらのタスクの実行タイミングや実行順序を管理するものである。アプリケーションには、安全関連アプリケーション、通常制御アプリケーション、実行監視アプリケーションがある。安全関連アプリケーションは、機能安全に関する国際標準としてIEC61508やISO26262等が制定されている機能安全を実現する為の命令コードを含んだ安全関連タスク102よりなる。通常制御アプリケーションは、ある制御対象の機能を実現するための命令コードを含んだ通常制御タスク103よりなる。実行監視アプリケーションは、安全関連タスク102の実行を監視する実行監視タスク104よりなる。
安全関連タスク102、通常制御タスク103、および実行監視タスク104はプログラムとしてEP-ROMで構成される不揮発性メモリ10に記憶される例で説明するが、その他の媒体に記憶されていてもよく、また、ネットワーク6を介して供給されたものであってもよく、プログラム商品として提供される記録媒体に記憶されたものであってもよい。
安全関連タスク102は、異常の検出処理および、異常が発生した場合に安全状態へ移行するためのフェールセーフ処理を実行する。例えば、ある制御対象の機能を実現する為の外部機器5のエレメント(構成要素)があり、そのエレメントの故障によって安全目標を侵害する場合、そのエレメントが正常に動作しているかを監視する安全機構を構築する。
同一のプロセッサ2を用いて、上記の通常制御タスク103と安全関連タスク102や実行監視タスク104を共存させるためには、互いのアプリケーションが干渉を起こさないように、可能な限り分離独立させる必要がある。すなわち、CPU14、実行用メモリ11、I/Oモジュール12を含むハードウェア資源を、時間的に分離保護する必要がある。
本実施の形態では、時間的な分離保護は外部割込み処理を使用することで実現する。通常制御タスク103はOS101のタスク管理で実行し、安全関連タスク102はイベント発生回路4からの外部信号INT1をトリガにした割込みにより起動し、実行監視タスク104は外部信号INT2をトリガにした割り込みにより起動する。そのため、たとえOS101のタスク管理が異常となっても安全関連タスク102、実行監視タスク104を実行することができる。これにより、安全関連タスク102、実行監視タスク104に対するCPU14の実行時間は、通常制御タスク103の実行時間と時間的に分離することができる。
次に図2及び3を用いて通常制御タスク103と安全関連タスク102について説明する。図2は、モータ制御における通常制御タスク103の機能ブロック図であり、モータ制御におけるレゾルバ信号を使った主機能の一例を示したものである。プロセッサ2を通常制御タスク103の機能ブロックとして、目標電流演算処理202及びPWM(Pulse Width Modulation:パルス幅変調)出力処理203で示している。
モータ250とモータの回転数を検出するレゾルバ240とモータ250を制御するモータ制御ユニット200から構成されている。モータ制御ユニット200は、レゾルバ240からの信号を角度に変換できるレゾルバIC201とその信号を基に演算を行うプロセッサ及びそのPWM出力をモータに伝達するためのPWM出力バッファ204を備えている。プロセッサ2内ではモータトルクが指令トルク値となるように、レゾルバIC201が出力する角度情報のほかに、バッテリの高電圧( 図示せず)情報 やモータに流れている実電流値(図示せず)情報などを基に目標電流演算処理202にて目標電流を算出する。
目標電流値はPWM出力処理203にてPWM信号に変換されPWM出力バッファ204に出力される。PWM出力バッファでは、プロセッサ2から出力されたPWM信号を、モータ駆動できるレベルの信号に変換しモータ250に出力し、モータ250を制御する。本構成図において、レゾルバIC201に故障が発生し、レゾルバICの演算に誤差が生じると、目標電流が変化し、PWM出力が変化することによりモータトルクが急変する恐れがある。これによって、例えば車両挙動が急変し、安全目標を侵害することがある。そこで、機能安全では、安全目標を侵害する恐れのあるエレメント( ここではレゾルバIC)に対し異常状態を検出できる安全機構を構築し、異常発生時には速やかに安全状態に移行できる構成となっていることが求められている。
図3は、モータ制御におけるレゾルバIC201失陥時に対する安全機構の一例を示したものである。安全機構としてレゾルバICをもう1つ追加して冗長化させる手段もあるが、ここでは、ソフトウェアにてレゾルバICの機能を冗長化させた例について説明する。
図3では、プロセッサ2を通常制御タスク103の機能ブロックとして、目標電流演算処理202及びPWM出力処理203で示している。更に、プロセッサ2を安全関連タスク102の機能ブロックとして、角度算出処理211及び比較処理212及びフェールセーフ処理213を示している。
レゾルバ240の信号をプロセッサに入力し、角度算出処理211にてモータ角度を算出する。そのモータ角度とレゾルバIC201から算出される角度を比較処理212して異常が発生した場合には、フェールセーフ処理213をおこない、例えば、PWM出力バッファに信号を送り、PWM信号を遮断する。なお、図示していないが、フェールセーフ処理として、PWM信号遮断のほかにもMIL(Multifunction Indicator Lamp:警告灯)の点灯や、上位コントローラに対してPWM遮断信号を送る処理を追加実施してもよい。本図における、角度算出処理211及び比較処理212及びフェールセーフ処理213がレゾルバIC201失陥に対する機能安全を満たすための安全機構であり、その演算処理は安全関連タスク102となる。それ以外の処理はモータを制御するためのものであり、通常制御タスク103となる。
次に図4を用いて通常制御タスク103の処理について説明する。通常制御タスク103は、制御の項目ごとに複数のタスクに分割され、さらに制御目的に応じた演算タイミングが決められており、これらのタスクを図5に示すようなJOBテーブルに割り付けている。
図5ではJOBテーブルとして、演算周期が1ms、2ms、10msの例を記載しているが、これらのテーブルに各タスクを登録し、決められた周期毎にこのJOBテーブルを実行することによって、決められた周期で演算を行うことができる。JOBテーブルは上位に記載されているタスクから順に実行されるため、タスク間の演算順序を考慮して登録される。更に、JOBテーブルには、安全関連タスクを実行する安全関連JOBテーブルが定められており、外部信号による割り込みが途絶したことが検出された場合に、プロセッサ2によって通常制御タスク103内におけるタスク管理処理によって安全関連JOBテーブルの安全関連タスクを実行する。
OS101は、各タスクが決められた演算周期で処理が実行できるようにタスク管理を行っている。その一例を図4に示す。図4に示す処理は、例えば、OS101がタイマモジュール13を参照して1msごとに起動するものとする。
ステップS401では、ソフトウェア内において各JOBのタイマをカウントアップする処理を実施する。本フローでは1ms、2ms、10msのタスク管理を行うため、それぞれのJOBのタイマを、処理が呼ばれるごとにカウントアップする。
その後、ステップS402に進み、1msJOBのタイマが1以上かどうかを判定する。1以上の場合には、ステップS403で1msJOBのタイマを0にした後、ステップS404へ進み1msJOBタスクを実行する。ここでは、先に述べたように図5の1msJOBテーブルに記載されたタスクA、B、Cを順番どおりに実行する。
その後、ステップS405に進み、2msJOBのタイマが2以上かどうかを判定し、2以上の場合には、ステップS406で2msJOBのタイマを0にした後、ステップS407へ進み2msJOBタスクを順に実行する。
その後、ステップS408に進み、10msJOBのタイマが10以上かどうかを判定し、10以上の場合には、ステップS409で10msJOBのタイマを0にした後、ステップS410へ進み10msJOBタスクを順に実行する。このように通常制御タスク103はOS101によってタスク管理が行われ処理を実行している。
次に図6を用いて安全関連タスク102の動作フローについて説明する。安全関連タスク102はイベント発生回路4からの外部信号INT1による割込みにより起動され、この外部割込みが発生する前は、図4の処理にて通常制御タスク103が実行されている。
イベント発生回路4は、例えば20msと決められた周期で外部信号INT1が発生するため、本割り込み処理は定期的に呼び出されることになる。外部割込みが発生すると、ステップS601へ進み、外部割込みの要因を判定する。外部割込みが安全関連タスク102起動用ではない場合には、ステップS609へ進み、外部割込み処理とJOBテーブルで決められた定時タスク処理の優先順序を勘案して処理が実行される。
一方、ステップS601で、安全関連タスク102起動用の割り込みが発生したと判別された場合には、ステップS602に進み、割り込み監視用の内部カウンタをリセットする。この内部カウンタはソフトウェアによりカウントアップされ、後述するように、例えば、20msより大きな所定値になると、外部信号INT1が途絶したことが検出される。詳細は図7を用いて後述する。
次のステップS603では、既に動作している通常制御タスク103を一時中断する。その後、ステップS604へ進み、安全関連タスク102を実行する。安全関連タスク102は、処理順にタスク1〜Nが定義されており、ステップS604ではタスク1〜Nのいずれかのタスクを処理順に実行する。
ステップS604では、実行された結果、異常が検出された回数を各タスク1〜N別にカウントしており、ステップS605では、そのカウント値がn回、例えば5回になったタスクがあるかを判断する。カウント値がn回に達していれば、確実に異常が発生していると見做し、ステップS606で、そのタスクに対応したMILの点灯等の警告を行う。なお、カウント値は警告に対する対処が終了した後にクリアされる。
ステップS605でカウント値がn回に達していない場合や、ステップS606でMILの点灯等の警告が行われた後に、ステップS607では安全関連タスク102の全てのタスクが終了したかどうかの判定を実施する。安全関連タスク102の全てのタスクが終了していなければ、ステップS604に戻り、タスク1〜Nのうち次の処理順のタスクを実行する。安全関連タスク102の処理が全て終了した場合には、ステップS608へ進み、通常制御タスク103処理を再開する。
図7は、外部信号が途絶した場合の通常制御タスクの処理を示すフローチャートである。前述の図6の安全関連タスク102の動作フローは、例えば20msと決められた周期で外部信号INT1が発生して、定期的に呼び出されて処理されている。そして、ステップS602で、割り込み監視用の内部カウンタがリセットされている。しかし、何らかの原因により、外部信号INT1が途絶した場合には、ステップS602の処理が行われなくなる。
図7に示す処理は、通常制御タスクにおいて、例えば20msより長い周期で繰り返し実行される。ステップS701で、割り込み監視用の内部カウンタがkより大きいかを検出し、内部カウンタがkより大きい、例えば70msより大きい場合には、外部信号が途絶したことを検出する。ステップS702で、プロセッサ2は通常制御タスク103内におけるタスク管理処理によって安全関連タスク102を実行する。具体的には、通常制御タスク103は、図5に示す安全関連JOBテーブルに基づいて、安全関連タスクを実行する。
このように、安全関連タスク102の処理を最優先で実行する構成とすることにより、OS101が異常になったとしても必ず安全関連タスク102を実行することができるため、安全状態に移行することが可能となる。
また、機能安全に対応するためには、安全関連タスク102が正しく実行されていることを監視する必要がある。そこで従来からプロセッサ監視に用いられているWDT3を使って安全関連タスク102の監視を行う構成とする。即ち、安全関連タスク102の処理において、WDT3用のトリガ信号を作成し、これをWDT3に対して出力する構成とする。
これにより、例えば外部割込み信号が異常となり、安全関連タスク102が実行できなくなったときには、WDT3用のトリガ信号が出力されなくなるため、WDT3が異常を検知し、例えばプロセッサ2をリセットして動力を遮断し安全な状態に遷移することが可能となる。
このような構成をとればWDT3を使って安全関連タスク102が正常に機能しているかの健全性監視を行うことができる。
また、WDT3を使って安全関連タスク102と通常制御タスク103の両方を監視してもよい。この場合、例えば通常制御タスク103内でWDT3用のトリガ信号を算出し、安全関連タスク102ではWDT3用のトリガ信号が正常に算出された場合のみ、WDT3用のトリガ信号をWDT3へ出力する構成とすることで、両方のタスクの監視を行うことができる。
(第2の実施の形態)
次に、第2の実施の形態について説明する。機能安全制御装置1の回路構成図は、図1に示す第1の実施の形態と同様であるので図示および説明を省略する。通常制御タスクの処理は図4に示すフローチャートと同様である。通常制御タスクのJOBテーブルも図5と同様である。
次に、第2の実施の形態について説明する。機能安全制御装置1の回路構成図は、図1に示す第1の実施の形態と同様であるので図示および説明を省略する。通常制御タスクの処理は図4に示すフローチャートと同様である。通常制御タスクのJOBテーブルも図5と同様である。
第1の実施の形態では、安全関連タスク102は割り込み処理が最優先となっているため、安全関連タスク102の処理自体が重くなると、演算負荷が高くなり、本来制御対象を制御する通常制御タスク103が正常に動作しなくなってしまう虞もある。そこで安全関連タスク102の処理負荷を低減する第2の実施の形態について説明する。
図8(a)は、実行監視タスクと安全関連タスクの構成、図8(b)は、実行監視タスク、通常制御タスクと安全関連タスクの優先順位を示す図である。
図8(a)に示すように、安全関連タスク102に加えて、それぞれの安全関連タスク102が実行されたか否かを監視する実行監視タスク104を追加する。安全関連タスク102は複数のタスク、例えばタスク1〜Nにて構成されており、実行監視タスク104は、それぞれの安全関連タスク102が実行されたか否かの判定し、安全関連タスク102が正常に動作していないと判断された場合にはフェールセーフ動作を行う。
実行監視タスク104の優先順位は最優先とし、安全関連タスク102は通常制御タスク103より優先度を下げる。実行監視タスク104は外部信号INT2を使って割り込み処理にて起動され、安全関連タスク102は外部信号INT1を使って割り込み処理にて起動される構成とする。
実行監視タスク104は、安全関連タスク102の実行を監視しているだけであるため、安全関連タスク102に比べて処理負荷は低い。この実行監視タスク104を最優先処理とすることで、割り込み処理負荷を低くすることができ、通常制御タスク103の動作を確保しつつ、安全関連タスク102が異常となった場合でも、フェールセーフ処理動作を確実に実行することが可能となる。
図9は、安全関連タスク102および実行監視タスク104の処理を示すフローチャートである。図9は外部割込みが発生したときに実行される処理である。外部信号INT1は、安全関連タスク102を実行する割り込み、外部信号INT2は実行監視タスク104を実行する割り込みであり、イベント発生回路4より周期的に出力される。外部割込みが発生するとS901で安全関連タスク102若しくは実行監視タスク104を起動するための外部割り込みであるか否かの判定をする。
外部割込みが安全関連タスク102若しくは実行監視タスク104を起動するための割り込みではない場合は、ステップS910に進み、外部割り込み処理とJOBテーブルで決められた定時タスク処理の優先順序を勘案して処理が実行される。
一方、外部割込みが安全関連タスク102若しくは実行監視タスク104を起動するための割り込みが発生した場合には、ステップS902に進み、割り込み監視用の内部カウンタをリセットする。この内部カウンタはソフトウェアによりカウントアップされ、後述するように、例えば、20msより大きな所定値になると、外部信号INT1、INT2が途絶したことが検出される。
ステップS903では、外部割り込みの要因を判定する。外部割り込みが外部信号INT2による実行監視タスク104の場合にはステップS904へ進み、既に動作している通常制御タスク103を一時中断し、ステップS905にて実行監視タスク104処理を実行する。ここでは、後述するように、安全関連タスク102が定期的に実行されているかの判定を行う。もしここで安全関連タスク102が定期的に実行されていないと判断できる場合には、例えばプロセッサリセットのフェールセーフ処理等をおこなって安全状態に移行するようにする。ステップS905の実行監視タスク104において、安全関連タスク102が定期的に実行されている場合にはステップS906へ進み、通常制御タスク103の処理を再開する。
一方、ステップS903で、外部割り込みが外部信号INT2による実行監視タスク104でない場合、すなわち外部割り込み信号が安全関連タスク102を起動する外部信号INT1である場合には、ステップS907へ進み、通常制御タスク103処理を優先し、通常制御タスク103が終了するまで安全関連タスク102の処理を待機させる。通常制御タスク103処理が終了した場合にはステップS908へ進み、後述する安全関連タスク102の処理を実行する。即ち安全関連タスク102の実行は、通常制御タスク103より優先順位を低くすることで、安全関連タスク102の割り込み負荷増加により、本来の制御が破綻することを防ぐことが出来る。
このとき、実行監視タスク104が正常に動作しているかを監視するために、WDT3用のトリガ信号は、実行監視タスク104にて行う。もちろん、安全関連タスク102と実行監視タスク104の両方を監視してもよいが、トリガ出力は実行監視タスク104でおこなうことにより、安全機構の監視を実現することが可能となる。
図10は、第2の実施の形態に係わる安全関連タスクの処理を示すフローチャートであり、図9のステップS908の詳細を示すものである。
ステップS1001では、タスク1〜Nを順に指定するための変数iを1に設定する。次のステップS1002で、タスクiを実行する。変数iが1の場合はタスク1を実行する。そして、ステップS1002では、実行された結果に異常が検出された回数を各タスク1〜N別にカウントする。
そして、ステップS1003では、異常が検出された回数がn回、例えば5回になったタスクであるかを判断する。回数がn回に達していれば、確実に異常が発生していると見做し、ステップS1004で、そのタスクに対応したMILの点灯等の警告を行う。なお、タスク1〜N別に記憶された回数は警告に対する対処が終了した後にクリアされる。
ステップS1005では、i番目のタスクが終了した後に、タスク番号に対応して実行フラグを1に設定する。そして、ステップS1006で、変数iがNになったかを判断し、NになっていなければステップS1007で、変数iに1を加算してステップS1002の処理に戻る。ステップS1006で、変数iがNになれば、安全関連タスク102のタスク1〜Nを終了する。何らかの異常が生じて、図10に示す安全関連タスクの処理が実行されなかった場合には、実行フラグが1に設定されないタスクが存在することになる。
図11は、実行監視タスク104の処理を示すフローチャートであり、図9のステップS905の詳細を示すものである。ステップS1101では、タスク1〜Nを順に指定するための変数iを1に設定する。次のステップS1102にてi番目のタスクの実行フラグが1か否かを判定する。安全関連タスク102のi番目のタスクが実行されていれば、実行フラグが1となっているが、未実行の場合には0となっているため、このフラグをみることで、安全関連タスク102の実行有無を判定することができる。
i番目のタスクの実行フラグが1の場合には、正常にi番目のタスクが実行されているとして、ステップS1106にて、i番目のタスクの未実行カウンタを0クリアして、ステップS11007へ進み、i番目のタスクの実行フラグを0にする。
一方、ステップS1102で、i番目のタスクの実行フラグが1でない場合には、ステップS1103へ進み、i番目のタスクの未実行カウンタをインクリメントする。その後、ステップS1104へ進み、i番目のタスクの実行カウンタが所定値となったか否かの判定を行う。例えば、タスクの未実行状態が所定期間続いた結果、図11に示す実行監視タスク104の処理が複数回実行された場合に、タスクの実行カウンタが所定値以上となる。所定値以上となった場合には、ステップS1105へ進みリセットなどのフェールセーフ動作を行う。
安全関連タスク102は、通常制御タスク103より優先順位が低いため、通常制御タスク103の処理負荷が一時的に大きくなった場合には、安全関連タスク102がキャンセルされる場合がある。また、イベント発生回路4によって駆動されるため、駆動周期に変動が発生する虞もある。その場合も考慮して、実行カウンタの所定値を定めている。
一方、ステップS1104で、i番目のタスクの未実行カウンタが所定値以下の場合には、ステップS1107へ進み、i番目のタスクの実行フラグを0にクリアする。
そして、ステップS1108で、変数iがNになったかを判断し、NになっていなければステップS1109で、変数iに1を加算してステップS1102の処理に戻る。ステップS1108で、変数iがNになれば、実行監視タスク104を終了する。
そして、ステップS1108で、変数iがNになったかを判断し、NになっていなければステップS1109で、変数iに1を加算してステップS1102の処理に戻る。ステップS1108で、変数iがNになれば、実行監視タスク104を終了する。
図12は、外部信号が途絶した場合の通常制御タスクの処理を示すフローチャートである。前述の図9の安全関連タスク102および実行監視タスク104の処理を示すフローチャートは、決められた周期で外部信号が発生して、定期的に呼び出されて処理されている。そして、ステップS902で、割り込み監視用の内部カウンタがリセットされている。しかし、何らかの原因により、外部信号が途絶した場合には、ステップS602の処理が行われなくなる。
図12に示す処理は、通常制御タスクにおいて、例えば20msより長い周期で繰り返し実行される。ステップS1201で、割り込み監視用の内部カウンタがkより大きいかを検出し、内部カウンタがkより大きい、例えば70msより大きい場合には、外部信号が途絶したことを検出する。ステップS1202で、プロセッサ2は通常制御タスク103内におけるタスク管理処理によって安全関連タスク102を実行する。次に、ステップS1203で、プロセッサ2は通常制御タスク103内におけるタスク管理処理によって安全関連タスク102を実行する。
以上により、安全関連タスク102が期待通りのタイミングで実行されていない場合には、その異常を検知して安全状態へ遷移させることが可能となる。
安全関連タスク102は外部信号により起動されるため、外部信号が失墜した場合には、安全関連タスク102が動作しない。この場合には、前述したようにWDT3にてその異常を検出し、プロセッサ2をリセットする等の処理が取られる。しかし、安全関連タスク102は、対象エレメントの故障を監視している安全機構であり、その安全機構が失われたからといって、即リセットするのは望ましくない。好ましくは、MIL点灯や出力制限はするものの、なるべくその機能を継続できる状態にすることである。そこで、外部信号が失墜した場合には、安全関連タスク102はOS101が持っているタスク管理で実行するような構成とすればよい。但し、このときは安全機構が喪失しているため、フェールセーフ動作や、安全機構喪失の表示等をすることにより、車両の運転者が認識できる状態とする。
(変形例)
本発明は、以上説明した第1および第2の実施の形態を次のように変形して実施することができる。
本発明は、以上説明した第1および第2の実施の形態を次のように変形して実施することができる。
(1)上述した実施の形態では、イベント発生回路4は、機能安全制御装置1内にある構成となっているが、他の機能安全制御装置、例えば制御ユニット7にあってもよい。この場合は、ワイヤー接続やCAN(Controller Area Network)通信等を使って、プロセッサ2の割り込みコントローラ15の外部割込み端子に接続する構成とする。また、イベント発生回路4を複数個設け、複数の外部信号が割り込みコントローラ15の外部割込み端子に接続される構成としてもよい。
(2)上述した実施の形態では、安全関連タスク102を外部信号で周期的に実行する構成としたが、外部信号で実行するものを安全関連タスク102に限定しなくてもよい。即ち任意の処理を外部信号で周期的に実行する構成としてもよい。例えば、プロセッサ内に主機能演算部と主機能演算部の処理を監視する監視演算部が存在した場合、この監視演算部を外部信号で周期的に実行してもよい。
以上説明した実施の形態によれば、次の作用効果が得られる。
(1)制御対象に対する制御内容を指示して制御対象の機能安全の確保に関する安全関連タスク102と、制御対象の制御に関する機能安全を除いた通常制御タスク103とを実行するプロセッサ2を備えた機能安全制御装置1において、プロセッサ2は、外部から入力された外部信号をトリガにして安全関連タスク102を実行するようにしている。したがって、通常制御タスク103の実行しているプロセッサ2のOS101のタスク管理とは独立して、機能安全に関する国際標準としてIEC61508やISO26262等が制定されている機能安全を実現する為の命令コードを含んだ安全関連タスク102を実行することができるため、通常制御タスク103と時間的な分離が可能となる。よって、同一のプロセッサ2内に安全関連タスク102と通常制御タスク103を配置することができ、機能安全制御装置1を簡素な処理で構成することにより低コストに提供することが可能となる。
(1)制御対象に対する制御内容を指示して制御対象の機能安全の確保に関する安全関連タスク102と、制御対象の制御に関する機能安全を除いた通常制御タスク103とを実行するプロセッサ2を備えた機能安全制御装置1において、プロセッサ2は、外部から入力された外部信号をトリガにして安全関連タスク102を実行するようにしている。したがって、通常制御タスク103の実行しているプロセッサ2のOS101のタスク管理とは独立して、機能安全に関する国際標準としてIEC61508やISO26262等が制定されている機能安全を実現する為の命令コードを含んだ安全関連タスク102を実行することができるため、通常制御タスク103と時間的な分離が可能となる。よって、同一のプロセッサ2内に安全関連タスク102と通常制御タスク103を配置することができ、機能安全制御装置1を簡素な処理で構成することにより低コストに提供することが可能となる。
(2)外部信号は周期的に発生され、外部信号がプロセッサ2に入力された時、プロセッサ2の割り込み処理により安全関連タスク102を実行する。安全関連タスク102は、決まった時間間隔で起動されるので、対象となるエレメントを周期的に監視して、異常が発生した時点から所定時間内に安全状態に移行させる処理を行うことができる。なお外部信号の周期は、異常が発生してから安全状態に移行するまでの許容時間と異常確定に必要な判断回数等によって決定する。例えば許容時間が200msで異常確定に5回必要な場合、パルス周期は40msで十分である。もちろん、割り込み誤差等を考慮して、周期をさらに短く設定してもよい。
(3)プロセッサ2は、外部信号による割り込み処理により、通常制御タスク103に優先して安全関連タスク102を実行する。プロセッサ2のタスク管理が異常となり、割り込みが入っても安全関連タスク102が動作せず、安全状態に移行しない場合がある。そこで本割り込みの優先順位を最優先にすることにより、プロセッサ2が異常となった場合でも安全関連タスク102を実行することが可能となる。
(4)安全関連タスク102の実行を監視する実行監視タスク104を更に備え、プロセッサ2は、実行監視タスク104を通常制御タスク103よりも優先して実行し、通常制御タスク103を安全関連タスク102よりも優先して実行する。一般に、安全関連タスク102の処理を最優先にすると、必ず安全関連タスク102を実行することが出来る反面、安全関連タスク102の処理が大きくなると、演算負荷が大きくなり、通常制御タスク103が正常に動作しなくなる。そこで、安全関連タスク102の実行を監視する実行監視タスク104を追加し、この実行監視タスク104を最優先とし、従来の安全関連タスク102の優先順位を下げることで、機能安全の機能を確保しつつ通常制御タスク103の処理への影響を最小限することが出来る。
(5)外部信号が途絶したことを検出する検出部ステップS701、S1201を更に備え、検出部により外部信号が途絶したことが検出された時、プロセッサ2は通常制御タスク103内におけるタスク管理処理によって安全関連タスク102を実行する。安全関連タスク102を外部割り込みで実行する場合、外部信号が途絶した場合、安全関連タスク102を実行することが出来ず、安全関連タスク102が対象としているエレメントが異常となった時に異常状態を検出することが出来なくなってしまう。そこで、外部信号が途絶した場合には、通常制御タスク103のタスク管理処理を使って安全関連タスク102を実行することにより、MIL点灯や出力制限などのフェールセーフ動作を行いつつ、対象エレメントの異常監視を継続することが出来る。
本発明は、上記の実施の形態に限定されるものではなく、本発明の特徴を損なわない限り、本発明の技術思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。
2・・・プロセッサ、3・・・WDT、4・・・イベント発生回路、14・・・CPU、15・・・割り込みコントローラ、102・・・安全関連タスク、103・・・通常制御タスク、104・・・実行監視タスク
Claims (8)
- 制御対象に対する制御内容を指示して前記制御対象の機能安全の確保に関する安全関連タスクと、前記制御対象の制御に関する前記機能安全を除いた通常制御タスクとを実行するプロセッサを備えた機能安全制御装置において、
前記プロセッサは、外部から入力された外部信号をトリガにして前記安全関連タスクを実行することを特徴とする機能安全制御装置。 - 請求項1記載の機能安全制御装置であって、
前記外部信号は周期的に発生され、前記外部信号が前記プロセッサに入力された時、前記プロセッサの割り込み処理により前記安全関連タスクを実行することを特徴とする機能安全制御装置。 - 請求項2記載の機能安全制御装置であって、
前記プロセッサの割り込み処理により前記安全関連タスクを実行した結果、所定回数の割り込み処理により所定回数の異常が検出された場合に異常を警告することを特徴とする機能安全制御装置。 - 請求項1〜3のいずれか一項に記載の機能安全制御装置であって、
前記外部信号は前記プロセッサの外部に設けられたイベント発生回路から発生されることを特徴とする機能安全制御装置。 - 請求項1〜3のいずれか一項に記載の機能安全制御装置であって、
前記プロセッサは、前記外部信号による前記割り込み処理により、前記通常制御タスクに優先して前記安全関連タスクを実行することを特徴とする機能安全制御装置。 - 請求項1〜3のいずれか一項に記載の機能安全制御装置であって、
前記安全関連タスクの実行を監視する実行監視タスクを更に備え、
前記プロセッサは、前記実行監視タスクを前記通常制御タスクよりも優先して実行し、前記通常制御タスクを前記安全関連タスクよりも優先して実行することを特徴とする機能安全制御装置。 - 請求項6記載の機能安全制御装置であって、
前記外部信号は少なくとも2つ以上の信号を持ち、
前記外部信号の1つをトリガにして前記実行監視タスクを実行し、
前記外部信号の他の1つをトリガにして前記安全関連タスクを実行することを特徴とする機能安全制御装置。 - 請求項1〜3のいずれか一項に記載の機能安全制御装置であって、
前記外部信号が途絶したことを検出する検出部を更に備え、
前記検出部により前記外部信号が途絶したことが検出された時、前記プロセッサは前記通常制御タスク内におけるタスク管理処理によって前記安全関連タスクを実行することを特徴とする機能安全制御装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013108919 | 2013-05-23 | ||
JP2013108919 | 2013-05-23 | ||
PCT/JP2014/056388 WO2014188764A1 (ja) | 2013-05-23 | 2014-03-12 | 機能安全制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2014188764A1 true JPWO2014188764A1 (ja) | 2017-02-23 |
Family
ID=51933330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015518127A Pending JPWO2014188764A1 (ja) | 2013-05-23 | 2014-03-12 | 機能安全制御装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2014188764A1 (ja) |
WO (1) | WO2014188764A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287931B (zh) * | 2017-01-10 | 2021-11-05 | 大陆泰密克汽车系统(上海)有限公司 | 用于优化车辆电子控制系统安全参数的方法 |
KR102102806B1 (ko) * | 2018-12-18 | 2020-04-22 | 상명대학교산학협력단 | 안전 필수 시스템의 안전활동 관리방법 및 그 안전활동 관리장치 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04295902A (ja) * | 1991-03-25 | 1992-10-20 | Meiki Co Ltd | 射出成形機の制御装置 |
JPH07186847A (ja) * | 1993-12-27 | 1995-07-25 | Asuko Kk | 車両用安全装置 |
JP2000104570A (ja) * | 1998-09-28 | 2000-04-11 | Toyota Motor Corp | 内燃機関の回転数制御装置 |
JP2005513356A (ja) * | 2001-12-21 | 2005-05-12 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 自動車の機能ユニットを制御する方法および装置 |
JP2006287683A (ja) * | 2005-04-01 | 2006-10-19 | Yokogawa Electric Corp | コントロールステーション |
JP2012015953A (ja) * | 2010-07-05 | 2012-01-19 | Asahi Kasei Electronics Co Ltd | スピーカアンプおよび電子機器 |
-
2014
- 2014-03-12 JP JP2015518127A patent/JPWO2014188764A1/ja active Pending
- 2014-03-12 WO PCT/JP2014/056388 patent/WO2014188764A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04295902A (ja) * | 1991-03-25 | 1992-10-20 | Meiki Co Ltd | 射出成形機の制御装置 |
JPH07186847A (ja) * | 1993-12-27 | 1995-07-25 | Asuko Kk | 車両用安全装置 |
JP2000104570A (ja) * | 1998-09-28 | 2000-04-11 | Toyota Motor Corp | 内燃機関の回転数制御装置 |
JP2005513356A (ja) * | 2001-12-21 | 2005-05-12 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 自動車の機能ユニットを制御する方法および装置 |
JP2006287683A (ja) * | 2005-04-01 | 2006-10-19 | Yokogawa Electric Corp | コントロールステーション |
JP2012015953A (ja) * | 2010-07-05 | 2012-01-19 | Asahi Kasei Electronics Co Ltd | スピーカアンプおよび電子機器 |
Non-Patent Citations (1)
Title |
---|
小林 益之: "最新世代安全計装システムの特長とその事例 〜フレキシブル構成と簡単・オープンなエンジニアリングツール", 計装, vol. 第51巻 第10号, JPN6016027373, 1 October 2008 (2008-10-01), JP, pages 32 - 35, ISSN: 0003361399 * |
Also Published As
Publication number | Publication date |
---|---|
WO2014188764A1 (ja) | 2014-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003915B (zh) | 驱动控制装置 | |
JP4893931B2 (ja) | セーフティ・コントローラ | |
CN107957692B (zh) | 控制器冗余方法、装置及系统 | |
JP2019101515A (ja) | 半導体装置及びその電源監視方法 | |
US10592356B2 (en) | Microcontroller and electronic control unit | |
KR20190058310A (ko) | 반도체 장치 | |
JP5241706B2 (ja) | 電気駆動システムの電子制御装置、電気駆動システムの電子駆動ユニットおよび電気駆動システム | |
JP2020101526A (ja) | 電圧監視装置および方法 | |
JP5041290B2 (ja) | プログラマブルコントローラおよびその異常時復旧方法 | |
WO2014188764A1 (ja) | 機能安全制御装置 | |
JP6007677B2 (ja) | 安全制御システム、及び安全制御システムのプロセッサ | |
US10120742B2 (en) | Power supply controller system and semiconductor device | |
JP6502211B2 (ja) | 車両制御装置 | |
JP2016066139A (ja) | 車両制御装置 | |
JP5577285B2 (ja) | ポジショナ | |
JP2019168835A (ja) | 電子制御装置 | |
US20220402121A1 (en) | Control and monitoring of a machine arrangement | |
US11097857B2 (en) | Multiple core motor controller processor with embedded prognostic/diagnostic capabilities | |
JP5726100B2 (ja) | 制御ロジック管理装置 | |
US11396098B2 (en) | Control of a robot system | |
JP7394276B2 (ja) | ピーエルシーシステムのエラー状態制御方法 | |
JP5559100B2 (ja) | 電子制御システム | |
JP7310501B2 (ja) | プログラマブルコントローラ | |
JP5511475B2 (ja) | 信号処理システムおよびこれに用いる信号源ユニットならびに信号処理ユニット | |
JP7268554B2 (ja) | 制御装置および制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170119 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170131 |