JP3659017B2 - 自己診断装置を備えた車両用制御装置 - Google Patents
自己診断装置を備えた車両用制御装置 Download PDFInfo
- Publication number
- JP3659017B2 JP3659017B2 JP26483098A JP26483098A JP3659017B2 JP 3659017 B2 JP3659017 B2 JP 3659017B2 JP 26483098 A JP26483098 A JP 26483098A JP 26483098 A JP26483098 A JP 26483098A JP 3659017 B2 JP3659017 B2 JP 3659017B2
- Authority
- JP
- Japan
- Prior art keywords
- abnormality
- flag
- abnormality detection
- diagnosis
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M15/00—Testing of engines
- G01M15/04—Testing internal-combustion engines
- G01M15/05—Testing internal-combustion engines by combined monitoring of two or more different engine parameters
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/22—Safety or indicating devices for abnormal conditions
- F02D41/222—Safety or indicating devices for abnormal conditions relating to the failure of sensors or parameter detection devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)
Description
【発明の属する技術分野】
本発明は車両用制御装置に関し、特に自動車に搭載されたセンサ類、アクチュエータ類等の異常発生状態を自己診断する自己診断装置を備えた車両用制御装置に関する。
【0002】
【従来の技術】
例えば、特開平7−91310号公報には、車両用制御装置の自己診断装置の一例が開示されている。従来より、多くの自動車エンジンは電子制御装置により制御され、この電子制御装置にはエンジン制御システムの異常個所を検出する自己診断機能を備えている。そして異常を検出した場合には、表示ランプを点灯して運転者への警告を促し、或いは外部診断装置に対し異常個所を示す異常コードを出力してディーラーやサービス工場の作業者が異常個所を特定させる等の機能を備えている。
【0003】
図18は従来技術における異常フラグ、ランプ点灯用フラグ、異常コードフラグのメモリエリアの説明図である。また、図19は異常コード判定用テーブルの説明図である。図18に示すように、表示ランプを点灯し異常コードを出力するために、電子制御装置内のメモリはその使用及び用途毎に複数のフラグ情報を格納している。
【0004】
図18において、(A)は現在異常フラグを格納するメモリエリアを示し、そのメモリエリア内のビット位置は異常検出対象毎に対応して予め設定されている。即ち、1ビット目が水温センサ用のビット位置、2ビット目が吸気温センサ用のビット位置、3ビット目がスロットルセンサ用のビット位置、4ビット目がECTソレノイド用のビット位置である。そして、図示しない異常検出ルーチンにて異常と判断した場合に、異常検出対象に該当するビット情報が「0」から「1」に変化する。
【0005】
また、(B)は表示ランプ点灯用フラグを格納するメモリエリアを示し、表示ランプ点灯用フラグの情報は現在異常フラグ(A)でのビット情報を、所定時間毎にコピーすることにより常に最新の値が格納されている。そして、表示ランプ点灯用フラグエリア内のビット情報の内、1つでも異常を示すデータがあるなら表示ランプが点灯される。
【0006】
さらに、(C)は異常コードフラグを格納するメモリエリアを示し、異常コードフラグの情報と現在異常フラグでのビット情報を、所定時間毎にコピーすることにより常に最新の値が格納される。そして、この情報はディーラーやサービス工場の作業者が所望の操作をすることにより外部に読み出される。
なお、異常コードフラグの情報は、そのまま出力してもどの部品が異常であるかを特定できないため、一般的には、図19に示すように、異常コードフラグのビット位置と出力コードとを対応させたテーブルを電子制御装置内に用意し、このテーブルにより変換されたコードが外部に読み出される。例えば、水温センサに異常が発生した場合には、「11」というコードが出力されることになる。
【0007】
このような、従来の故障診断装置では、
1)現在異常フラグ、表示ランプ点灯用フラグ等の各フラグエリアのビット位置情報の対応関係(1ビット目は水温センサ等)は等しく、これにより、各異常検出情報をバイト単位でコピー(処理)できる。
2)現在発生した異常を記憶する目的、ランプ表示する目的等の各使用目的毎にメモリエリアを設け、各メモリエリアには全ての異常検出対象情報を集約させているため、一括処理できるアクセス回数が減りメモリ容量を削減できる。例えば、異常の誤検出防止のため、イグニッション・キーがオフした状態での異常検出結果を無効にする場合には、現在異常フラグの各ビット情報を一括して「0」にすることで達成できる。
【0008】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術では、異常検出プログラムを異なるエンジン制御システムに適応する場合、或いは、仕様変更等の理由により異常検出対象が増加した場合、各メモリエリアのビットの定義に始まり図19のような各種テーブルに至るまで全て変更する必要があった。
【0009】
具体的には、例えば、自動変速機(A/T)付き自動車に手動変速機(M/T)付き自動車の設定が増えた場合には、A/T制御ソレノイドに関するビット、テーブルの削除、M/T専用のダイアグの追加等の作業を必要とする。そのためにプログラム開発工数が膨大となっていた。さらに、このような変更を全て完了しないと、プログラムの動作確認(デバック)ができず作業性の悪化も来していた。
【0010】
本発明は、異常検出対象が増減しても異常検出処理に関わるメモリ情報、テーブル等の変更個所を極力低減させ、プログラム開発工数を低減させた車両用制御装置の自己診断装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
請求項1〜4の発明によれば、従来は、異常検出プログラムを異なるエンジン制御システムに適用する場合、或いは仕様変更などの理由で異常検出対象が増加した場合、各メモリエリアのビット定義から各種テーブルに至るまで全て変更する必要があったが、本発明では異常検出対象が増減しても、異常検出処理に関わるメモリ情報やテーブル等の変更個所を極力低減させ、その結果プログラムの開発工数を著しく低減させることができ、ソフトウェアの再利用性を顕著に向上させることができる。
【0012】
【発明の実施の形態】
以下に、本発明の一実施形態を図面を参照して説明する。図1は異常診断を行うエンジン制御システムの一例構成図である。エンジン11には、エアクリーナからの吸入空気が吸気管12を経て供給されている。この吸気管12には、吸入空気量を測定するエアフローセンサ13と、吸気温度を検出する吸気温センサ14が配置され、さらに、アクセルペダルによって駆動されるスロットル弁15が配置されている。このエンジン11は、マイクロコンピュータ等によって構成されるエンジン制御ユニット16によって制御され、エンジン制御ユニット16には、エアフローセンサ13からの吸入空気量検出信号、スロットルセンサ17からのスロットル弁15の開度状態を検出する検出信号が供給される。
【0013】
エンジン制御ユニット16には、さらに排出ガス中に含まれる酸素濃度を検出する空燃比センサ18からの検出信号、バッテリ19からのバッテリ電圧信号、水温センサ20からの検出信号、エンジン11によって駆動されるディストリビュータ21からの回転信号、さらに気筒判別信号等、エンジン11の運転状態に対応した各種検出信号が供給される。
【0014】
また、エンジン制御ユニット16では、これらの各種検出信号に基づいてエンジン11の運転状態に対応した燃料噴射量等を演算し、エンジン11の複数の気筒それぞれに設定されるインジェクタ22a〜22dに対して燃料噴射指令を出力し、また、イグナイタ23に対して点火指令信号を出力して、このエンジン11の運転制御を実行する。
【0015】
さらに、エンジン制御ユニット16では、車両に搭載される各種制御装置の異常診断動作も各センサ群からの検出信号に基づいて実行される。このため、エンジン制御ユニット16に対しては、異常検出結果の出力のための診断モードを設定するテストスイッチ24が配置され、さらに、そのテスト結果であるダイアグノーシスの結果表示等を行う表示ランプ25が接続されている。
【0016】
さらに、スイッチ26はバッテリ19をエンジン制御ユニット16に対して接続するイグニッションスイッチであり、このイグニッションスイッチ26に連動するようにしてスタータモータ27を制御するスタータスイッチ28が設けられている。
図2は図1のエンジン制御ユニットの基本的な構成を説明するブロック図である。エンジン制御ニット16はマイクロコンピュータを構成するCPU31を備える。このCPU31にはアナログ入力回路32及びディジタル入力回路33からのデータが入力され、アナログ入力回路32からのアナログ入力データは、A/D変換器34でディジタルデータに変換されCPU31に入力される。
【0017】
また、アナログ入力回路32には、エアフローセンサ13からの検出信号Us、水温センサ20からの検出信号Thw、吸気センサ14からの検出信号Tha、バッテリ19の電圧+B、等が入力される。また、ディジタル入力回路33には、ディストリビュータ21からの気筒判別信号G1と回転数信号Ne、空燃比センサ18からの酸素濃度に対応したリーン・リッチ信号Ox、スロットルセンサ17からのスロットル弁15が全開であることを示すアイドル信号Idle、スタータスイッチ28からのスタート信号STA、及びテストスイッチ24からの診断モードを設定する信号T、等が入力される。
【0018】
また、A/D変換器34は、アナログ入力回路32に入力される各種の検出信号をCPU31からの指令に対応して順次選択して読み取り、ディジタルデータに変換するマルチプレクサ機能を含んで構成される。さらに、電源回路35は、イグニッションスイッチ26を経てバッテリ19の電圧+BをCPU31に供給し、また、常時バックアップ用電源Battを供給している。
【0019】
CPU31からの出力データは、出力回路36、37及び38に供給され、このエンジン制御ユニット16からの出力信号として取り出される。即ち、出力回路36からはイグナイタ23に対して点火指令信号IGtを出力する。また、出力回路37からはダイアグノーシスの結果を表す信号Wを出力して表示ランプ25を点灯制御し、さらに出力回路38からの出力信号τqはエンジン11の運転状態に対応した燃料噴射量を指示するもので、インジェクタ22a〜22dに供給され、これらインジェクタをそれぞれ制御して各気筒それぞれに噴射される燃料量が制御されるようになっている。
【0020】
さらに、CPU(エンジン制御ユニット)31内には、後述する異常診断プログラムを格納するメモリ(ROM)39が設けられている。
図3は本発明によるエンジン制御ユニット内のメモリ39に格納されている異常診断プログラムの構造(アーキテクチャ)を概念的に示した説明図である。本発明による異常診断プログラムは、オブジェクト指向設計されたプログラムで構成される。既に知られるように、オブジェクト指向設計とは、従来のソフトウェアがその目的とする処理(例えば、燃料噴射という処理)に着目したものに対し、そのモノを基本単位にモデル化し、そのモノの特性や振る舞い(作動)で処理を記述するものでる。この基本単位を「オブジェクト」と称し、オブジェクト指向設計されたプログラムでは、このオブジェクトを最小構成単位として記述される。プログラム全体としては、オブジェクト間を要求や応答といったやりとり(「メッセージ」と称する)により結合することで一連の処理が実行される。オブジェクトはデータ(「属性」ともいう)とデータを処理する手続き(「メソッド」ともいう)とを一体化した形で記述され、オブジェクトは他のオブジェクトからの要求(メッセージ)を受信することによりメソッドが実行される。なお、オブジェクトへの仕事の依頼はメソッドを介してのみ行うことができ、オブジェクト内のデータへの直接のアクセスは禁止される。
【0021】
なお、実際の異常診断プログラムは、エンジン制御ユニット16の外部に接続される診断ツールとの通信を行うもの等、種々のプログラムを備えているが、ここでは本実施形態を説明するための要部のみ示す。
図3に示すように、本発明の異常診断プログラムは、異常検出オブジェクト100と、異常確定オブジェクト200と、異常時処理オブジェクト300とで構成される。異常検出オブジェクト100は、エンジン制御ユニット16に入力された各センサ群の情報に基づいて、正常/異常を判断するプログラムを有し、この異常検出オブジェクト100は異常検出対象毎にオブジェクト化される。
【0022】
即ち、図3の例は、水温センサ20の異常を検出する水温センサ異常検出オブジェクト110(以下、水温センサObjと称する)、吸気温センサ14の異常を検出する吸気温センサ異常検出オブジェクト120(以下、吸気温センサObj)、スロットルセンサ17の異常を検出するスロットルセンサ異常検出オブジェクト130(以下、スロットルセンサObj)、を図示している。さらに、異常検出対象が増えるとこれに対応した異常検出オブジェクトが追加され、逆に異常検出対象が減った場合には、異常検出オブジェクトがここから削除される。
【0023】
異常が検出されると、後述するようにフラグ処理要求のメッセージが異常確定オブジェクト200に発行され、さらに異常確定オブジェクト200からカウント処理要求のメッセージが異常時処理オブジェクト300に発行される。
即ち、異常確定オブジェクト200は、異常検出オブジェクト100にて立てられたフラグを処理するプログラムを有し、異常検出オブジェクト100からのサブルーチンコールにより起動される。
【0024】
なお、異常確定オブジェクト200にあるプログラムを異常検出オブジェクト100の各オブジェクトに組み入れ、それぞれで実行することもできるが、図示の異常確定オブジェクト200のプログラムは各オブジェクト間で共通の処理のため、異常確定オブジェクト200として独立させている。これにより、本発明ではROM容量を削減でき、さらに新たな異常検出対象における異常検出オブジェクトを作成する場合にもこの共通部分のプログラムを作成する必要がなく作業を簡素化することができる。
【0025】
さらに、異常時処理オブジェクト300は、複数ある異常検出対象への異常検出結果を総合的に判断し、最終的にランプを点灯すべきか否かを判断するプログラムを有している。
前述したように、異常検出対象の増減により、異常検出オブジェクト100が追加又は削除されるが、異常確定オブジェクト200及び異常時処理オブジェクト300におけるプログラムを変更することはない。
【0026】
図4は図3に示す水温センサObjの詳細を示した説明図である。なお、吸気温センサObj120、スロットルセンサObj130、等もこれと同じ構成となっている。図示のように、水温センサObj110は、フラグ格納部112と、異常検出プログラム部114と、異常情報テーブル116とで構成される。
フラグ格納部112には、異常か正常かを示す情報、異常時に運転者に警告するランプを点灯するか否かを示す情報等が、フラグ(1ビット)情報として記憶されている。これを具体的に以下に説明する。
【0027】
・正常判定フラグは、異常検出プログラム部114にて正常判断したときにはフラグ「1」が立つ。
・現在異常フラグは、異常検出プログラム部114にて異常判断したときにはフラグ「1」が立つ。
・ランプ点灯フラグは、異常確定しフラグ「1」が立つと、ランプ点灯を指示する。
【0028】
・異常コードフラグは、異常確定しフラグ「1」が立つと、異常であることを記憶する。
また、異常検出プログラム部114には、後述の図6に示す異常検出プログラムが格納され、ここでの判断結果に応じてフラグ格納部112のフラグが操作される。
【0029】
さらに、異常情報テーブル116には、診断ツールへ出力するコード情報(SAEコード)や、異常時ランプを点灯させるか否かを示す情報(ランプ点灯)、複数あるランプの内でどのランプを点灯させるかを示す情報(ランプ適用)、異常判断条件を示す情報(低電圧1〜3)等、各異常検出対象に関連した特有の情報が格納されている。図4の水温センサObjの場合は、診断ツールへは「115」を、ランプへは「11」を出力することを示している。
【0030】
即ち、本実施形態では、従来のものと異なりフラグ情報や異常情報テーブルが各異常検出対象毎に設けられている。
図5は異常診断プログラムが実行される処理の流れを示すメッセージ・シーケンスチャート(MSC)である。この図では各オブジェクトにて実際に実行される処理が示され、矢印により他のオブジェクトへの関数コール(メッセージ)が示されている。即ち、図4に示す異常検出プログラム部114にて異常/正常の判定の結果で、フラグ処理要求のメッセージが異常確定オブジェクトに発行され、異常確定オブジェクトにて異常確定処理が行われ、異常時処理オブジェクトにてランプ点灯/消灯判定を行い、ランプ点灯/消灯要求を発行する。
【0031】
図6は水温センサObj110での処理フローチャートである。このプログラムは16ms毎に実行される。水温センサObjでは、まず、フラグ情報をレジスタにコピーする(S601)。ここで、「レジスタへのコピー」とは前回の異常検出処理にて確定したフラグ格納部112のフラグ情報を、過去のフラグ情報として所望のレジスタ(図示せず)に待避させることである(なお、この待避データは図8のステップS805で使用する)。
【0032】
次に、水温センサ20の検出値を読み込み(S602)、次に、読み込み値が所定範囲内か否かを判定する(S603)。そして、所定範囲内であれば(YES)、正常判定フラグを「1」に現在異常フラグを「0」にする(S604)。一方、読み込み値が所定範囲にないとき(NO)、正常判定フラグを「0」に、現在異常フラグを「1」にする(S605)。そしてこのようなフラグ処理要求を異常確定オブジェクトに発行する(S606)。
【0033】
図7は吸気温センサObj120での処理フローチャートである。図7のフローチャートは、図6の水温センサ値の読み込みが、吸気温センサの読み込みに変わっただけなので説明を省略する。
図8は図3の異常確定Obj200での処理フローチャートである。図示のステップS801〜S803では、現在の運転状態と異常検出Obj100から送られた異常情報テーブル116の情報(低電圧1〜3)が「1」か否かを判断し、異常と判断してよい条件か否かを判断する。具体的には、水温センサの異常検出の場合、バッテリ電圧が低下すると水温センサが正常であるにもかかわらず、水温センサの値は所定範囲外となる。従って、水温センサの場合は異常情報テーブル116の低電圧3を「1」とすることで(図4参照)、ステップS803にて肯定判断され(YES)、異常判定フラグがリセットされる。即ち、異常と判断した結果がキャンセルされる。
【0034】
一方、エンジンの回転信号を検出する回転センサ等はバッテリ電圧に関係しないため、低電圧3は「0」と設定される。これにより、回転センサについてはステップS803で否定判断され(NO)、ステップS805以降で異常か否か判定される。このように、図4の異常情報テーブル116の低電圧1〜3の情報を基にして処理することで、異常条件の違いを意識せず、共通の処理ステップ(S801〜S803)で処理することができる。尚、IG(イグニッションスイッチの状態)、STA(スタータスイッチの状態)、+B(バッテリ電圧の状態)に関する情報は、異常時処理Obj300に格納している。
【0035】
次に、異常検出条件が全て満足されたならば、ステップS805にてレジスタに待避した値と現在のフラグ格納部とのフラグ情報を比較してフラグが変化したか否かを判定する。ステップS806及びS807にて、フラグが変化した場合のみ現在異常フラグの値を異常コードフラグとランプ点灯フラグとにコピーする。なお、XMSGフラグは図13の処理を起動するためのフラグである。
【0036】
以上説明したとおり、ステップS806以降の処理はフラグ状態が変化したときのみ行われ、後述する図13の処理も同様である。これによりプログラム負荷を軽減することができる。
図9はランプ点灯処理に関わるメッセージ・シーケンスチャート(MSC)であり、このシーケンスは65ms毎に繰り返し実行される。(A),(B),(C),(D)はそれぞれ1つの異常検出対象の処理であり、(A)の処理が終了すると(B)に処理が移行する。
【0037】
詳細は図10以降で説明するが、まず、ステップS901でステップS950にてランプ点灯/消灯を判断するためのカウンタをクリア(リセット)し、ステップS902でS903にてカウントすべきか否かランプ点灯フラグの状態から判断する。カウントすべきと判断したならば異常時処理オブジェクト300へカウント処理要求を発行する。
【0038】
ステップS904ではXMSGフラグを見て異常コードを記憶すべきか否か判断し、記憶すべきと判断したならば異常時処理オブジェクトへ異常コード記憶要求を発行する。ステップS905ではXMSGフラグ、ランプ点灯フラグをクリアする。以上で1つの異常検出対象(=異常検出Obj)の処理が終わり、これと同じ処理を他の異常検出対象に対しても繰り返す((B)〜(D))。そして、全ての異常検出対象の処理が終わると、ステップS950にてランプ点灯/消灯の判断を行い、ランプ点灯と判断したらランプ点灯要求を出す。
【0039】
図10は図9のステップS901の詳細フローチャートである。図示のように、異常個所数をカウントするカウンタ(DIAGERR)と、正常復帰個所をカウントするカウンタ(DIAGOK)をリセットする(S1001)。
図11は図9のステップS902の詳細フローチャートである。ランプ点灯フラグ(異常発生しランプ点灯を指示するフラグ)が「1」か否か判断し(S1101)、「1」のときのみ異常時処理オブジェクトに対して異常/正常のカウント処理の実行を要求する(S1102)。
【0040】
図12は図9のステップS903の詳細フローチャートである。まず、点灯するランプを指定する情報(ランプ適用)を見て該当するものか否か判断する(S1201)。ここでは「1」であるが、車両には警告ランプが多数ありその場合はランプ適用2,3等となる。
次に、異常個所数をカウントするカウンタDIAGERRをインクリメントし(S1202)、次に現在異常フラグが「0」でかつ正常判定フラグが「1」、即ち、一旦は異常と判断したが、その後正常に復帰したか否かを判断し(S1203)、正常復帰したならば正常復帰個所をカウントするカウンタDIAGOKをインクリメントする(S1204)。
【0041】
より正確には、ランプ点灯フラグが「1」で正常判定フラグも「1」である数をカウントし、正常復帰後の最初に実行される図12の処理でのみカウントされる。これは、カウント後、後述する図14の処理でランプ点灯フラグは「0」となり、図11で否定判定され図12の処理自体実行されなくなるためである。
図13は図9のステップS904の詳細フローチャートである。まず、フラグ状態が変化したとき「1」となるメッセージフラグXMSGが、XMSG=1か否か判断し(S1301)、XMSG=1なら異常コードの記憶要求を発行する(S1302)。この場合、異常コードの記憶要求は、一旦異常となると毎回、異常コード記憶要求を出すのではなく、フラグ状態が変化したときのみ異常検出オブジェクトでの処理を行うので、異常検出オブジェクトでの処理負荷が増大することはない。
【0042】
図14は図9のステップS905の詳細フローチャートである。図14では、フラグ状態が変化したとき「1」となるXMSGフラグを見て「1」なら(S1401)、XMSGフラグをリセットし(S1402)、ランプ点灯フラグを現在異常フラグの値とする(S1403)。つまり、図12で異常から正常に復帰したことを判断するために、正常復帰してもランプ点灯フラグを直ちにリセットせず、カウンタDIAGOKのカウント処理を終了したタイミングでリセットしている。これにより、異常時処理オブジェクトは異常から正常に切り換わった数を正確に把握できる。
【0043】
このように、1つの異常検出対象に対し、図10から図14の処理を実行し、他の異常検出対象もこれと同じ処理を実行して、全ての異常検出対象に対するカウンタDIAGERR及びDIAGOKをカウントしたならば、図9のステップS950のランプ点灯/消灯判定を行う。
図15は図9のステップS950の詳細フローチャートである。カウンタDIAGERR=0で(S1501でYES)、又はカウンタDIAGOKのカウント値がDIAGERRのカウント値以上であるなら(S1502でYES)、ランプを消灯すべくXLAMP(ランプ点灯/消灯要求フラグ)を「0」にする(S1503)。明らかなように、カウンタDIAGERR=0でなく(S1501でNO)、さらにカウンタDIAGOKのカウント値がDIAGERRのカウント値以上でないなら(S1502でNO)、ランプを点灯すべくXLAMP(ランプ点灯/消灯要求フラグ)を「1」にする(S1504)。
【0044】
ここで、カウンタDIAGOKとDIAGERRの各カウント値の比較によりランプ点灯是非を決めている理由を説明すると、ランプは複数ある異常検出対象のうち1つでも異常が発生していると点灯させなければならない性質を持つ。これは所定の法規で決められているからである。
さらに検討しなければならない事項として、前述したように、異常検出オブジェクト100は仕様の違い(異常検出対象の数)で増減するが、異常時処理オブジェクト300は異常検出オブジェクト100に、どの異常検出対象のものがあるか分からない。このように構成されているのは、もし分かるようにするためには異常時処理オブジェクト300に異常検出対象を特定するための何らかの情報を持たせる必要があり、このようにすると、異常検出オブジェクト100の増減に伴い異常時処理オブジェクト300も修正する必要があり、プログラムの再利用性を悪化させるからである。
【0045】
従って、本発明では、異常検出オブジェクト100の異常情報テーブル116に、あるランプに関係する異常検出対象のグループを示す情報(ランプ適用)を持たせ、異常時処理オブジェクト300はこの情報からあるランプに関係する異常検出対象を特定するように構成されている。そして、異常時処理オブジェクト300は現在異常を示している数(DIAGERRの数)と、異常から正常に復帰した直後の数を比較することで、これに関係する異常検出対象の総数や具体的にどの異常検出対象かを知ることなくランプ点灯処理を実行できる。
【0046】
なお、単純にランプ点灯フラグの数と正常判定フラグの数を比較することで目的を達成できるかに見えるが、このフラグのセット、リセット動作がされた場合はカウント数が誤り、正常復帰してもランプが消灯しない可能性がある。
これに対して、本発明では、正常復帰しても直ちにランプ点灯フラグをリセットするのではなく、後述する図17の(A)〜(C)で示すように、カウント処理が終了したタイミングでリセットしている。これにより、異常から正常に復帰した異常検出対象の数を正確に把握することができる。また、ここでは、ランプ点灯フラグを用いているが、正常復帰してもDIAGOKのカウント処理を完了するまで、異常状態を保持しているデータであれば何でもよい。
図16は同じランプを適用する3つのセンサが正常、異常を繰り返した場合のDIAGERR、DIAGOK、実際のランプ点灯/消灯状態を示す図である。この図は図9で説明したように65msのタイミングで8回実行した場合である。図示のように、ダイアグ異常数(DIAGERR)とダイアグ復帰数(DIAGOK)との比較で適切にランプ制御できることが分かる。
【0047】
図中の(a)〜(m)は、前述のランプ点灯/消灯タイミングの説明を補足するために付加した符号である。即ち、(f)ではダイアグ異常数がこのサイクル(65ms−5)では(b),(e)の2個のはずであるが、「3」となっている。これは、このタイミングでは(a)の「異常」がカウントされているからである(ランプ点灯フラグがまだ「1」のため)。また、(g)のダイアグ復帰数「1」は(d)をカウントした数である。
【0048】
また、サイクル(65ms−8)では、(l)のダイアグ異常数「1」は(h)をカウントしたものであり、(m)のダイアグ復帰数「1」は(k)をカウントしたものである。ダイアグ異常数とダイアグ復帰数が等しい場合は「消灯」となる。
さらに、(i),(j)の「正常」は、(m)に「1」と示すように、カウントされていない。これは、図11で否定判定され(S1101)、図12の処理(S1203)が行われないためである。
【0049】
図17は図16のように正常/異常を繰り返した場合の各フラグ、カウンタの動きを示したタイムチャートである。ここでの特徴は、ランプ点灯フラグは正常復帰しても直ぐにリセットされず、カウント処理を待ってリセットされる点にある。即ち、図中の(A),(B),(C)に示すように、(A)のタイミングで正常復帰しても、(B)のタイミングでDIAGOKをカウントするまで、ランプ点灯フラグをリセットしていない(C)。従って、前述したように、異常から正常になった数を正確にカウントできる。なお、(D)は、図12のステップS1202に示すように、DIAGERRによるランプ点灯フラグの数(異常数)のカウントであり、(E)は、図12のステップS1203及びS1204に示すように、DIAGOKによるランプ点灯フラグが「1」で、かつ正常判定フラグが「1」の数のカウントである。
【図面の簡単な説明】
【図1】異常診断を行うエンジン制御システムの一例構成図である。
【図2】図1のエンジン制御ユニットの基本的な構成を説明するブロック図である。
【図3】本発明による異常診断プログラムの構造(アーキテクチャ)を概念的に示した説明図である。
【図4】図3に示す水温センサObjの詳細を示した説明図である。
【図5】本発明の異常診断プログラムが実行される処理の流れを示すメッセージ・シーケンスチャート(MSC)である。
【図6】本発明の水温センサObjでの処理フローチャートである。
【図7】本発明の吸気温センサObjでの処理フローチャートである。
【図8】本発明の異常確定Objでの処理フローチャートである。
【図9】本発明のランプ点灯処理のメッセージ・シーケンスチャート(MSC)である。
【図10】図9のステップS901の詳細フローチャートである。
【図11】図9のステップS902の詳細フローチャートである。
【図12】図9のステップS903の詳細フローチャートである。
【図13】図9のステップS904の詳細フローチャートである。
【図14】図9のステップS905の詳細フローチャートである。
【図15】図9のステップS950の詳細フローチャートである。
【図16】同じランプを適用する3つのセンサが正常、異常を繰り返した場合のDIAGERR、DIAGOK、実際のランプ点灯/消灯状態を示す図である。
【図17】図16の正常/異常を繰り返した場合の各フラグ、カウンタの動きを示したタイムチャートである。
【図18】従来技術における異常フラグ、ランプ点灯用フラグ、異常コードフラグのメモリエリアの説明図である。
【図19】異常コード判定用テーブルの説明図である。
【符号の説明】
11…エンジン
12…吸気管
13…エアフローセンサ
14…吸気温センサ
15…スロットル弁
16…エンジン制御ユニット
17…スロットルセンサ
18…空燃比センサ
19…バッテリ
20…冷却水温センサ
21…ディストリビュータ
22a,22b,22d…インジェクタ
23…イグナイタ
24…テストスイッチ
25…ランプ
26…イグニッションスイッチ
27…スタータ
28…スタータスイッチ
31…CPU
32…アナログ入力回路
33…ディジタル入力回路
34…A/D変換器
35…電源回路
36,37,38…出力回路
39…メモリ
Claims (9)
- 自己診断装置を備えた車両用制御装置において、前記自己診断装置は前記車両に対する異常診断を行う異常診断手段を有し、前記異常診断手段は、
異常検出対象毎に分割され、分割された各々は、異常検出するための異常検出プログラム(114)と、前記異常検出プログラムでの異常検出時に検出対象に対する処理を行うためのデータを格納する第1のデータ格納部(112)と、異常検出対象毎に少なくとも異常判断条件を示す情報を含む異常発生時処理情報を格納する第2のデータ格納部(116)とを有する複数の異常検出オブジェクト(110,120,130)と、
前記複数の異常検出オブジェクトの前記第1のデータ格納部の情報を基に、前記第2のデータ格納部の前記異常発生時処理情報に基づく処理を行う1つの異常時処理オブジェクト(300)と、
を備えたことを特徴とする自己診断装置を備えた車両用制御装置。 - 自己診断装置を備えた車両用制御装置において、前記自己診断装置は前記車両に対する異常診断を行う異常診断手段を有し、前記異常診断手段は、
異常検出対象毎に分割され、分割された各々は、異常検出するための異常検出プログラム(114)と、前記異常検出プログラムでの異常検出時に検出対象に対する処理を行うためのデータを格納する第1のデータ格納部(112)と、異常検出時の車両の環境状態に応じて異常検出結果を有効とすべきか否かを示す異常検出対象固有のデータを格納する第2のデータ格納部(116)と、を有する複数の異常検出オブジェクト(110,120,130)と、
前記第2のデータ格納部の情報に基づき、前記異常検出オブジェクトでの異常検出結果が有効か否かを判断する1つの異常確定オブジェクト(200)と、
前記複数の異常検出オブジェクトの前記第1のデータ格納部の情報を基に、検出対象に対する異常発生時処理を行う1つの異常時処理オブジェクト(300)と、を備え、
ここに、前記第1のデータ格納部(112)は異常検出対象毎のフラグを格納するフラグ格納部であり、前記第2のデータ格納部(116)は異常検出対象毎の情報を格納する異常情報テーブルであることを特徴とする自己診断装置を備えた車両用制御装置。 - 自己診断装置を備えた車両用制御装置において、前記自己診断装置は前記車両に対する異常診断を行う異常診断手段を有し、前記異常診断手段は、
異常検出対象毎に分割され、分割された各々は、異常検出するための異常検出プログラム(114)と、前記異常検出プログラムでの異常検出時にランプ点灯等の処理を行うためのフラグを格納するフラグ格納部(112)とを有する複数の異常検出オブジェクト(110,120,130)と、
前記複数の異常検出オブジェクトの前記フラグ格納部の情報を基に、ランプ点灯等の異常発生時処理を行う1つの異常時処理オブジェクト(300)と、を備え、
さらに、前記異常検出オブジェクト(110,120,130)は、異常検出時にランプ点灯を指示するランプ点灯フラグをセットし、正常判断時に正常判定フラグをセットする手段を有し、
前記異常時処理オブジェクト(300)は、複数の異常検出オブジェクト(110,120,130)に対するランプ点灯フラグ及び正常判定フラグを調査しランプ点灯フラグがセットされている数をカウントする第1のカウント手段(S1202)と、ランプ点灯フラグと正常判定フラグが共にセットされている数をカウントする第2のカウント手段(S1204)と、前記第1のカウント手段でのカウント数と前記第2のカウント手段からのカウント数との比較結果でランプ点灯するか否かを判断する判断手段と、
を備えたことを特徴とする自己診断装置を備えた車両用制御装置。 - 自己診断装置を備えた車両用制御装置において、前記自己診断装置は前記車両に対する異常診断を行う異常診断手段を有し、前記異常診断手段は、
異常検出対象毎に分割され、分割された各々は、異常検出するための異常検出プログラム(114)と、前記異常検出プログラムでの異常検出時にランプ点灯等の処理を行うためのフラグを格納するフラグ格納部(112)とを有する複数の異常検出オブジェクト(110,120,130)と、
前記複数の異常検出オブジェクトの前記フラグ格納部の情報を基に、ランプ点灯等の異常発生時処理を行う1つの異常時処理オブジェクト(300)と、を備え、
前記異常検出オブジェクト(110,120,130)は、異常検出時に異常発生を示す異常発生データを前記フラグ格納部(112)にセットし、正常判断時に正常判断した結果を示す正常判定データを前記フラグ格納部(112)にセットする手段を有し、
前記異常時処理オブジェクト(300)は、複数の異常検出オブジェクト(110,120,130)に対する異常発生データ及び正常判定データを調査し異常発生データがセットされている個数をカウントする第1のカウント手段(S1202)と、異常発生データと正常判定データとが共にセットされている数をカウントする第2のカウント手段(S1204)と、前記第1のカウント手段でのカウント数と前記第2のカウント手段からのカウント数との比較結果でランプ点灯するか否かを判断する判断手段と、
を備えたことを特徴とする自己診断装置を備えた車両用制御装置。 - 正常復帰時の前記ランプ点灯フラグのリセットを、前記異常時処理オブジェクトにてランプ点灯するか否かの判断後、又は前記第1及び第2のカウント手段でのカウント処理実行後まで遅延させる手段をさらに備えることを特徴とする請求項3に記載の自己診断装置を備えた車両用制御装置。
- 正常復帰時の前記異常発生データのリセットを、前記異常時処理オブジェクトにてランプ点灯するか否かの判断後、又は前記第1及び第2のカウント手段でのカウント処理実行後まで遅延させる手段をさらに備えることを特徴とする請求項4に記載の自己診断装置を備えた車両用制御装置。
- 前記第1及び第2のカウント手段でのカウント処理は、点灯すべきランプ毎に行われ、前記異常検出オブジェクト(110,120,130)は、いずれのランプ点灯に関わるものかを示す情報を有することを特徴とする請求項3又は4に記載の自己診断装置を備えた車両用制御装置。
- 前記異常診断手段は、オブジェクト指向設計されたプログラムで記述されることを特徴とする請求項1〜4のいずれか一項に記載の自己診断装置を備えた車両用制御装置。
- 前記第1のデータ格納部(112)は異常検出対象毎のフラグを格納するフラグ格納部であり、前記第2のデータ格納部(116)は異常検出対象毎の情報を格納する異常情報テーブルであることを特徴とする請求項1に記載の自己診断装置を備えた車両用制御装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26483098A JP3659017B2 (ja) | 1998-09-18 | 1998-09-18 | 自己診断装置を備えた車両用制御装置 |
US09/383,277 US6615119B1 (en) | 1998-09-18 | 1999-08-26 | Object-oriented diagnostic apparatus for vehicle controller |
DE69931864T DE69931864T2 (de) | 1998-09-18 | 1999-09-01 | Diagnoseapparat für Kraftfahrzeugsteuerung |
EP99117197A EP0987423B1 (en) | 1998-09-18 | 1999-09-01 | vehicle controller diagnostic apparatus |
ES99117197T ES2268817T3 (es) | 1998-09-18 | 1999-09-01 | Aparato de diagnostico de controlador de vehiculo. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26483098A JP3659017B2 (ja) | 1998-09-18 | 1998-09-18 | 自己診断装置を備えた車両用制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000097810A JP2000097810A (ja) | 2000-04-07 |
JP3659017B2 true JP3659017B2 (ja) | 2005-06-15 |
Family
ID=17408810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26483098A Expired - Lifetime JP3659017B2 (ja) | 1998-09-18 | 1998-09-18 | 自己診断装置を備えた車両用制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6615119B1 (ja) |
EP (1) | EP0987423B1 (ja) |
JP (1) | JP3659017B2 (ja) |
DE (1) | DE69931864T2 (ja) |
ES (1) | ES2268817T3 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553289B2 (en) | 2000-04-28 | 2003-04-22 | Denso Corporation | Control apparatus having object-oriented self-diagnosis program |
JP3879368B2 (ja) * | 2000-06-08 | 2007-02-14 | トヨタ自動車株式会社 | エンジンシステムの異常判定装置 |
JP2002132533A (ja) | 2000-10-27 | 2002-05-10 | Denso Corp | 自己診断機能を備えた車両用制御装置及び記録媒体 |
JP3692932B2 (ja) | 2000-12-13 | 2005-09-07 | 株式会社デンソー | 情報提供機能を備えた車両用制御装置及び記録媒体 |
JP4491967B2 (ja) | 2000-12-28 | 2010-06-30 | 株式会社デンソー | 自己診断機能を備えた車両用制御装置及び記録媒体 |
WO2004104834A1 (ja) * | 2003-05-20 | 2004-12-02 | Bosch Corporation | 車両制御システムの復帰制御方法 |
JP4269878B2 (ja) * | 2003-10-10 | 2009-05-27 | 株式会社デンソー | 電子制御装置 |
JP2006224892A (ja) * | 2005-02-21 | 2006-08-31 | Fujitsu Ten Ltd | 車両用電子制御装置 |
DE102006028695B4 (de) | 2005-06-23 | 2017-11-30 | Denso Corporation | Elektronisches Steuersystem mit Fehlfunktionsüberwachung |
JP4442617B2 (ja) | 2007-02-16 | 2010-03-31 | 株式会社デンソー | 電子制御装置 |
EP2026288A3 (en) * | 2007-08-03 | 2010-11-24 | Denso Corporation | Electronic control system and method for vehicle diagnosis |
JP4479775B2 (ja) | 2007-10-02 | 2010-06-09 | 株式会社デンソー | 車両制御装置およびプログラム |
JP4803168B2 (ja) | 2007-12-12 | 2011-10-26 | トヨタ自動車株式会社 | 車両用情報記憶装置 |
JP4853525B2 (ja) * | 2009-02-09 | 2012-01-11 | トヨタ自動車株式会社 | 移動領域予測装置 |
JP5230557B2 (ja) * | 2009-08-03 | 2013-07-10 | 日立オートモティブシステムズ株式会社 | 車両故障判定装置、車両故障判定装置設計プログラム |
JP5557671B2 (ja) | 2010-09-27 | 2014-07-23 | 日本特殊陶業株式会社 | 車両用電装部品の制御装置 |
JP5910152B2 (ja) * | 2012-02-20 | 2016-04-27 | 株式会社デンソー | 車両用メータ装置 |
JP6051591B2 (ja) * | 2012-05-17 | 2016-12-27 | トヨタ自動車株式会社 | エンジン制御ユニットの監視装置 |
JP6499958B2 (ja) * | 2015-12-22 | 2019-04-10 | 日立オートモティブシステムズ株式会社 | 車両故障診断装置 |
JP7003456B2 (ja) * | 2017-06-19 | 2022-01-20 | 株式会社デンソー | 診断装置 |
JP7243470B2 (ja) * | 2019-06-11 | 2023-03-22 | 株式会社デンソー | 車両用装置 |
US20220027963A1 (en) * | 2020-07-23 | 2022-01-27 | Allstate Insurance Company | Vehicle Valuation Engine to Determine Valuation Based on Usage and Fault History |
CN112863006B (zh) * | 2021-02-24 | 2023-01-06 | 联合汽车电子有限公司 | 车辆的检测方法、装置、设备、车辆和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4497057A (en) * | 1981-08-07 | 1985-01-29 | Nippondenso Co., Ltd. | Motor vehicle diagnostic monitoring system |
US5671141A (en) | 1993-04-05 | 1997-09-23 | Ford Global Technologies, Inc. | Computer program architecture for onboard vehicle diagnostic system |
JPH07116984B2 (ja) * | 1994-08-22 | 1995-12-18 | 日本電装株式会社 | 車載用制御装置の自己診断装置 |
SE510029C2 (sv) * | 1995-10-03 | 1999-04-12 | Volvo Ab | Diagnossystem i ett driftsystem för motorer jämte en diagnosfunktionsmodul (DF-modul) i ett driftsystem för motorer |
-
1998
- 1998-09-18 JP JP26483098A patent/JP3659017B2/ja not_active Expired - Lifetime
-
1999
- 1999-08-26 US US09/383,277 patent/US6615119B1/en not_active Expired - Lifetime
- 1999-09-01 DE DE69931864T patent/DE69931864T2/de not_active Expired - Lifetime
- 1999-09-01 EP EP99117197A patent/EP0987423B1/en not_active Expired - Lifetime
- 1999-09-01 ES ES99117197T patent/ES2268817T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6615119B1 (en) | 2003-09-02 |
ES2268817T3 (es) | 2007-03-16 |
JP2000097810A (ja) | 2000-04-07 |
EP0987423B1 (en) | 2006-06-14 |
EP0987423A2 (en) | 2000-03-22 |
DE69931864T2 (de) | 2006-12-07 |
DE69931864D1 (de) | 2006-07-27 |
EP0987423A3 (en) | 2001-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3659017B2 (ja) | 自己診断装置を備えた車両用制御装置 | |
JP4491967B2 (ja) | 自己診断機能を備えた車両用制御装置及び記録媒体 | |
US6431160B1 (en) | Air-fuel ratio control apparatus for an internal combustion engine and a control method of the air-fuel ratio control apparatus | |
EP2693032B1 (en) | Fault diagnosis method, fault diagnosis system, and fault diagnosis device for engine | |
US7962258B2 (en) | Operator-side system and mode file identifying method | |
US5392641A (en) | Ionization misfire detection apparatus and method for an internal combustion engine | |
JP2002178854A (ja) | 情報提供機能を備えた車両用制御装置及び記録媒体 | |
US20060224283A1 (en) | On board diagnostics (obd) | |
US6553289B2 (en) | Control apparatus having object-oriented self-diagnosis program | |
GB2125578A (en) | Self monitoring system | |
GB2125577A (en) | Self monitoring system | |
JPH07234199A (ja) | ラムダゾンデの動作機能正常性検査方法 | |
JP5208680B2 (ja) | 制御装置及び制御方法 | |
US5465613A (en) | Self-diagnosing apparatus for motor vehicles | |
US8793975B2 (en) | Device and method for diagnosing a technical apparatus | |
EP1202177A2 (en) | Vehicular control device having self-diagnosis function and self-diagnosis program for implementing the same | |
JP6499958B2 (ja) | 車両故障診断装置 | |
JP3362488B2 (ja) | 自動車用診断装置及び自動車用診断方法 | |
JP3419060B2 (ja) | 車両用診断装置 | |
JP2775008B2 (ja) | 車載用の制御装置 | |
JPH11257057A (ja) | 内燃機関の排気ガス中に配置された触媒容量の診断方法および装置 | |
JPH0791310A (ja) | 車載用制御装置の自己診断装置 | |
JP2004156590A (ja) | 車両制御装置 | |
US20220003182A1 (en) | Method and system for diagnosing misfire of engine | |
JP4081919B2 (ja) | 内燃機関の異常診断装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041222 |
|
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: 20050222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050307 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110325 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110325 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20190325 Year of fee payment: 14 |
|
EXPY | Cancellation because of completion of term |