JPH0229856B2 - - Google Patents
Info
- Publication number
- JPH0229856B2 JPH0229856B2 JP56055611A JP5561181A JPH0229856B2 JP H0229856 B2 JPH0229856 B2 JP H0229856B2 JP 56055611 A JP56055611 A JP 56055611A JP 5561181 A JP5561181 A JP 5561181A JP H0229856 B2 JPH0229856 B2 JP H0229856B2
- Authority
- JP
- Japan
- Prior art keywords
- abnormality
- result
- data
- signal
- transistor
- 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
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Testing Of Engines (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
本発明は、マイクロコンピユータ塔載のエンジ
ン制御装置を備えた自動車用ガソリンエンジンな
どにおける故障発生時の診断警報表示装置に関す
る。 大気汚染の防止による環境保全やエネルギー資
源の枯渇に関心が高まるにつれ、自動車用ガソリ
ンエンジンの運転状態を総合的に制御して排気ガ
スの状態を良くし、燃費の改善が図れるようにし
た制御装置が望まれるようになり、そのため、マ
イコン(マイクロコンピユータ)を用い、冷却水
温センサ、排気ガス中の酸素濃度を与えるO2セ
ンサなど、エンジンの運転状態を表わす各種のデ
ータを与えるセンサからの信号を取り込み、燃料
供給量や点火時期、又は排気ガス環流量やアイド
ル回転数など種々の制御を行なつて常に最適なエ
ンジンの運転状態が得られるようにした、電子式
エンジン制御装置(EECという)が使用される
ようになつてきた。 このようなEECを燃料噴射タイプの内燃機関
に適用したシステムの一例を第1図ないし第6図
に示す。 第1図はエンジンの制御系全体を概括的に示し
た一部断面図で、図において、吸入空気はエアク
リーナ02、スロツトルチヤンバ04、吸気管0
6を通り、シリンダ08へ供給される。シリンダ
08で燃焼したガスは、シリンダ08から排気管
10を通り、大気中へ排出される。 スロツトルチヤンバ04には、燃料を噴射する
ためのインジエクタ12が設けられており、この
インジエクタ12から噴出した燃料はスロツトル
チヤンバ04の空気通路内で霧化され、吸入空気
と混合して混合気を形成し、この混合気は吸気管
06を通つて、吸気弁20の開弁により、シリン
ダ08の燃焼室へ供給される。 インジエクタ12の出口近傍には絞り弁14,
16が設けられている。絞り弁14は、アクセル
ペタルと機械的に連動するように構成され、運転
者により駆動される。一方、絞り弁16はダイヤ
フラム18により駆動されるように配置され、空
気流量が小の領域で全閉状態となり、空気流量が
増大するにつれてダイヤフラム18への負圧が増
大することにより絞り弁16は開き始め、吸入抵
抗の増大を抑止する。 スロツトルチヤンバ04の絞り弁14,16の
上流には空気通路22が設けられ、この空気通路
22には電気的発熱体からなる熱式空気流量計、
即ち流量センサ24が配設され、空気流速と発熱
体の伝熱量との関係から定まる空気流速に応じて
変化する電気信号AFが取り出される。この発熱
体(ホツトワイヤ)からなる流量センサ24はバ
イパス空気通路22内に設けられているので、シ
リンダ08のバツクフアイア時に生じる高温ガス
から保護されると共に、吸入空気中のごみなどに
よつて汚染されることからも保護される。このバ
イパス空気通路22の出口はベンチユリの最狭部
近傍に開口され、その入口はベンチユリの上流側
に開口されている。 インジエクタ12に供給される燃料は、燃料タ
ンク30から、フユーエルポンプ32、フユーエ
ルダンパ34及びフイルタ36を介して燃圧レギ
ユレータ38へ供給される。一方、燃圧レギユレ
ータ38からはインジエクタ12へパイプ40を
介して加圧燃料が供給され、そのインジエクタ1
2から燃料が噴射される吸気管06の圧力と上記
インジエクタ12への燃料圧の差が常に一定にな
るように、燃圧レギユレータ38から燃料タンク
30へリターンパイプ42を介して燃料が戻され
るようになつている。 吸気弁20から吸入された混合気はピストン5
0により圧縮され、点火プラグ52によるスパー
クにより燃焼し、この燃焼は運動エネルギに変換
される。シリンダ08は冷却水54により冷却さ
れ、この冷却水の温度は水温センサ56により計
測され、この計測値TWはエンジン温度として利
用される。点火プラグ52には点火コイル58よ
り点火タイミングに合わせて高電圧が供給され
る。 また、図示しないクランク軸にはエンジンの回
転に応じて基準クランク角毎におよび一定角度
(例えば0.5度)毎に基準角信号およびポジシヨン
信号を出すクランクセンサが設けられている。 このクランク角センサの出力、水温センサ56
の出力信号TW及び発熱体24からの電気信号
AFはマイクロコンピユータなどからなる制御回
路60に入力されて演算処理され、この制御回路
60の出力によつてインジエクタ12及び点火コ
イル58が駆動される。 さらに、スロツトルチヤンバ04には絞り弁1
6を跨いで吸気管06に連通するバイパス26が
設けられ、このバイパス26には開閉制御される
バイパスバルブ61が設けられている。 このバイパスバルブ61は絞り弁16を迂回し
て設けられたバイパス26に臨ませられ、パルス
電流によつて開閉制御され、そのリフト量により
バイパス26の断面積を変更するもので、このリ
フト量は制御回路60の出力によつて駆動部が駆
動され制御される。即ち、制御回路60によつて
駆動部の制御のため開閉周期信号が発生され、駆
動部はこの開閉周期信号によつてバイパスバルブ
61のリフト量を調節する。 従つて、第1図のインジエクタ12を制御して
空燃比(A/F)の制御と燃料増量制御とを行な
い、バイパスバルブ61とインジエクタ12によ
りアイドル時のエンジン・スピード制御(ISC)
を行なう。 第2図は点火装置を示し、増幅器62を介して
パワー・トランジスタ64へパルス電流が供給さ
れ、この電流によりトランジスタ64はONす
る。これによりバツテリ66より点火コイル58
へ一次コイル電流が流れる。入力パルス電流の立
ち下がりでトランジスタ64は遮断状態となり、
点火コイル58の2次コイルに高電圧を発生す
る。 この高電圧は配電器70を介してエンジンの各
シリンダにある点火プラグ52のそれぞれにエン
ジン回転に同期して高電圧を配電する。 第3図は排気ガス環流(EGR)システムを説
明するためのもので、負圧源80の一定負圧が制
圧弁84を介して制御弁86へ加えられている。
制圧弁84はトランジスタ90に加えられる繰返
しパルスのONデユーテイ比率に応じ、一定負圧
源の負圧を大気88へ開放に対する比率を制御
し、制御弁86への負圧の印加状態を制御する。
従つて制御弁86へ加えられる負圧はトランジス
タ90のONデユーテイ比率で定まる。この制圧
弁84の制御負圧により排気管10から吸気管0
6へのEGR量が制御される。 第4図はマイコンを用いた制御システムの全体
構成図で、セントラル・プロセツシング・ユニツ
ト102(以下CPUと記す)とリード・オン
リ・メモリ104(以下ROMと記す)とランダ
ム・アクセス・メモリ106(以下RAMと記
す)と入出力回路108とから構成されている。
上記CPU102はROM104内に記憶された各
種のプログラムにより、入出力回路108からの
入力データを演算し、その演算結果を再び入出力
回路108へ戻す。これらの演算に必要な中間的
な記憶はRAM106を使用する。CPU102、
ROM104、RAM106、入力回路108間
の各種データのやり取りはデータ・バスとコント
ロール・バスとアドレス・バスからなるバスライ
ン110によつて行なわれる。 入出力回路108には第1のアナログ・デイジ
タル・コンバータ122(以下ACD1と記す)
と第2のアナログ・デイジタル・コンバータ12
4(以下ADC2と記す)と角度信号処理回路1
26と1ビツト情報を入出力する為のデイスクリ
ート入出力回路128(以下DIOと記す)との入
力手段を持つ。 ADC1にはバツテリ電圧検出センサ132
(以下VBSと記す)と冷却水温センサ56(以下
TWSと記す)と大気温センサ136(以下TAS
と記す)と車速センサ138(以下VRSと記す)
とスロツトル角センサ140(以下θTHSと記
す)とO2センサ142(以下O2Sと記す)との出
力がマルチ・プレクサ162(以下(MPXと記
す)に加えられ、MPX162によりこの内の1
つを選択してアナログ・デイジタル・変換回路1
64(以下ADCと記す)へ入力する。ADC16
4の出力であるデイジタル値はレジスタ166
(以下REGと記す)に保持される。 角度センサ146(以下ANGSと記す)から
は基準クランク角例えば180度クランク角を示す
信号(以下REFと記す)と微少角例えば1度ク
ランク角を示す信号(以下POSと記す)とが出
力され、角度信号処理回路126へ加えられ、こ
こで波形整形される。 DIO128には絞り弁14が全閉位置に戻つて
いるときに動作するアイドル・スイツチ148
(以下IDLE−SEと記す)とトツプ・ギヤ・スイ
ツチ150(以下TOP−SWと記す)とスター
タ・スイツチ152(以下START−SWと記す)
とが入力されている。 流量センサ24(以下AFSと記す)はADC2
へ入力され、アナログ・デイジタル・変換回路1
72(以下ADCと記す)を介してデイジタル変
換されレジスタ174(以下REGと記す)へセ
ツトされる。 次にCPUの演算結果に基づくパルス出力回路
および制御対象について説明する。インジエクタ
制御回路(INJCと記す)は演算結果のデイジタ
ル値をパルス出力に変換する回路である。従つて
燃料噴射量に相当したパルス幅を有するパルス
INJがINJC1134で作られ、ANDゲート11
36を介してインジエクタ12へ印加される。 点火パルス発生回路1138(以下IGNCと記
す)は点火時期をセツトするレジスタ(ADVと
記す)と点火コイルの1次電流通電開始時間をセ
ツトするレジスタ(DWLと記す)とを有し、
CPUよりこれらデータがセツトされる。セツト
されたデータに基づいてパルスIGNを発生し、
第2図に詳述した増幅器62へANDゲート11
40を介してこのパルスIGNを加える。 バイパスバルブ61の開弁率は制御回路(以下
ISCCと記す)1142からANDゲート1144
を介して加えられるパルスISCによつて制御され
る。ISCC1142はパルス幅をセツトするレジ
スタISCDと繰返しパルス周期をセツトするレジ
スタISCPとを持つている。 第3図に示したEGR制御弁86を制御するト
ランジスタ90を制御するEGR量制御パルス発
生回路178(以下EGRCと記す)にはパルスの
デユーテイを表わす値をセツトするレジスタ
EGRDとパルスの繰返し周期を表わす値をセツト
するレジスタEGRPとを有している。このEGRC
の出力パルスEGRはANDゲート1156を介し
てトランジスタ90に加えられる。 また1ビツトの入出力信号は回路DIO128に
より制御される。入力信号としてはIDLE−SW
信号、TOP−SW信号、START−SW信号があ
る。また出力信号としては燃料ポンプを駆動する
ためのパルス出力信号がある。このDIOは端子を
入力端子として使用するか、出力端子として使用
するかを決定するためのレジスタDDR192と、
出力データをラツチするためのレジスタDOUT
194とが設けられている。 モードレジスタ1160は入出力回路108内
部の色色な状態を指令する命令を保持するレジス
タ(以下MODと記す)であり、例えばこのモー
ドレジスタ1160に命令セツトすることによ
り、ANDゲート1136,1140,1144,
1156を総て動作状態にさせたり、不動作状態
にさせたりする。このようにMODレジスタ11
60に命令をセツトすることにより、INJCや
IGNC、ISCCの出力の停止や起動を制御できる。 DIO128は上述の如く、1ビツト信号の入出
力回路で、入力あるいは出力を決定するためのデ
ータを保持するレジスタ(以下DDRと記す)1
92と出力するデータを保持するためのレジスタ
194(以下DOUTと記す)とを有している。
このDIO128よりフユーエル・ポンプ32を制
御するための信号DJO0が出力される。 第5図は第4図の制御回路のプログラムシステ
ム図である。キー・スイツチ(図示せず)により
電源がONするとCPU102はスタート・モード
となり、イニシヤライズ・プログラム
(INITIALIZ)204を実行する。次に監視プロ
グラム(MONIT)206を実行し、バツク・グ
ラウンド・ジヨブ(BACK GROUND JOB)2
08を実行する。このバツク・グラウンド・ジヨ
ブとして例えばEGR量の計算タスク(以下EGR
CAL TASKと記す)や暖機運転状態でのバイパ
スバルブ61とインジエクタ12の計算タスク
(以下FISCと記す)を実行する。このTASKの実
行中、割込要因(以下IRQと記す)が発生すると
IRQの開示ステツプ222より、IRQ要因分析プ
ログラム224(以下IRQ ANALと記す)を実
行する。このIRQ ANALのプログラムはさらに
ADC1の終了割込処理(以下ADC1 END
IRQと記す)プログラム226とADC2の終了
割込処理(以下ADC2 END IRQと記す)プロ
グラム228と一定期間経過割込処理(以下
INTV IRQと記す)プログラムとエンジン停止
割込処理(以下ENST IRQと記す)プログラム
からなり、後述する各タスクの起動の必要なタス
クにそれぞれ起動要求(以下QUEUEと記す)を
出す。 このIRQ ANALプログラム224内の各プロ
グラムADC1 END IRQ226やADC2
END IRQ228やINTV IRQ230の各プロ
グラムによりQUEUEが出される各タスクはレベ
ル・ゼロ・タスク群252やレベル1タスク群2
54やレベル2タスク群256やレベル3タスク
群258であるか、あるいは該各タスク群を構成
するタスクである。またENST IRQプログラム
232によりQUEUEが発生するタスクはエンジ
ン停止時の処理タスク262(以下ENST
TASKと記す)である。このENST TASK26
2が実行されると再び制御システムはスタート・
モードとなり、開始点202へ戻る。 タスク・スケジユーラ242はQUEUEの発生
しているタスク群かあるいは実行中断タスク群の
内レベルの高いタスク群(ここではレベル・ゼロ
を最高とする)から実行するように、タスク群の
実行序順を決定する。タスク群の実行が終了する
と終了報告プログラム260(以下EXITと記
す)により終了報告される。この終了報告によ
り、実行待ちになつているタスク群の内の最もレ
ベルの高いタスク群を次に実行する。 実行中断タスク群やQUEUEの発生しているタ
スク群がなくなるとタスク・スケジユーラ242
より再びバツク・グラウンド・ジヨブ208の実
行へ移る。さらにレベル・ゼロ・タスク群からレ
ベル3タスク群のどれかを実行中にIRQが発生す
るとIRQ処理プログラムの開始点222へ戻る。 第1表に各タスクの起動とその機能を示す。
ン制御装置を備えた自動車用ガソリンエンジンな
どにおける故障発生時の診断警報表示装置に関す
る。 大気汚染の防止による環境保全やエネルギー資
源の枯渇に関心が高まるにつれ、自動車用ガソリ
ンエンジンの運転状態を総合的に制御して排気ガ
スの状態を良くし、燃費の改善が図れるようにし
た制御装置が望まれるようになり、そのため、マ
イコン(マイクロコンピユータ)を用い、冷却水
温センサ、排気ガス中の酸素濃度を与えるO2セ
ンサなど、エンジンの運転状態を表わす各種のデ
ータを与えるセンサからの信号を取り込み、燃料
供給量や点火時期、又は排気ガス環流量やアイド
ル回転数など種々の制御を行なつて常に最適なエ
ンジンの運転状態が得られるようにした、電子式
エンジン制御装置(EECという)が使用される
ようになつてきた。 このようなEECを燃料噴射タイプの内燃機関
に適用したシステムの一例を第1図ないし第6図
に示す。 第1図はエンジンの制御系全体を概括的に示し
た一部断面図で、図において、吸入空気はエアク
リーナ02、スロツトルチヤンバ04、吸気管0
6を通り、シリンダ08へ供給される。シリンダ
08で燃焼したガスは、シリンダ08から排気管
10を通り、大気中へ排出される。 スロツトルチヤンバ04には、燃料を噴射する
ためのインジエクタ12が設けられており、この
インジエクタ12から噴出した燃料はスロツトル
チヤンバ04の空気通路内で霧化され、吸入空気
と混合して混合気を形成し、この混合気は吸気管
06を通つて、吸気弁20の開弁により、シリン
ダ08の燃焼室へ供給される。 インジエクタ12の出口近傍には絞り弁14,
16が設けられている。絞り弁14は、アクセル
ペタルと機械的に連動するように構成され、運転
者により駆動される。一方、絞り弁16はダイヤ
フラム18により駆動されるように配置され、空
気流量が小の領域で全閉状態となり、空気流量が
増大するにつれてダイヤフラム18への負圧が増
大することにより絞り弁16は開き始め、吸入抵
抗の増大を抑止する。 スロツトルチヤンバ04の絞り弁14,16の
上流には空気通路22が設けられ、この空気通路
22には電気的発熱体からなる熱式空気流量計、
即ち流量センサ24が配設され、空気流速と発熱
体の伝熱量との関係から定まる空気流速に応じて
変化する電気信号AFが取り出される。この発熱
体(ホツトワイヤ)からなる流量センサ24はバ
イパス空気通路22内に設けられているので、シ
リンダ08のバツクフアイア時に生じる高温ガス
から保護されると共に、吸入空気中のごみなどに
よつて汚染されることからも保護される。このバ
イパス空気通路22の出口はベンチユリの最狭部
近傍に開口され、その入口はベンチユリの上流側
に開口されている。 インジエクタ12に供給される燃料は、燃料タ
ンク30から、フユーエルポンプ32、フユーエ
ルダンパ34及びフイルタ36を介して燃圧レギ
ユレータ38へ供給される。一方、燃圧レギユレ
ータ38からはインジエクタ12へパイプ40を
介して加圧燃料が供給され、そのインジエクタ1
2から燃料が噴射される吸気管06の圧力と上記
インジエクタ12への燃料圧の差が常に一定にな
るように、燃圧レギユレータ38から燃料タンク
30へリターンパイプ42を介して燃料が戻され
るようになつている。 吸気弁20から吸入された混合気はピストン5
0により圧縮され、点火プラグ52によるスパー
クにより燃焼し、この燃焼は運動エネルギに変換
される。シリンダ08は冷却水54により冷却さ
れ、この冷却水の温度は水温センサ56により計
測され、この計測値TWはエンジン温度として利
用される。点火プラグ52には点火コイル58よ
り点火タイミングに合わせて高電圧が供給され
る。 また、図示しないクランク軸にはエンジンの回
転に応じて基準クランク角毎におよび一定角度
(例えば0.5度)毎に基準角信号およびポジシヨン
信号を出すクランクセンサが設けられている。 このクランク角センサの出力、水温センサ56
の出力信号TW及び発熱体24からの電気信号
AFはマイクロコンピユータなどからなる制御回
路60に入力されて演算処理され、この制御回路
60の出力によつてインジエクタ12及び点火コ
イル58が駆動される。 さらに、スロツトルチヤンバ04には絞り弁1
6を跨いで吸気管06に連通するバイパス26が
設けられ、このバイパス26には開閉制御される
バイパスバルブ61が設けられている。 このバイパスバルブ61は絞り弁16を迂回し
て設けられたバイパス26に臨ませられ、パルス
電流によつて開閉制御され、そのリフト量により
バイパス26の断面積を変更するもので、このリ
フト量は制御回路60の出力によつて駆動部が駆
動され制御される。即ち、制御回路60によつて
駆動部の制御のため開閉周期信号が発生され、駆
動部はこの開閉周期信号によつてバイパスバルブ
61のリフト量を調節する。 従つて、第1図のインジエクタ12を制御して
空燃比(A/F)の制御と燃料増量制御とを行な
い、バイパスバルブ61とインジエクタ12によ
りアイドル時のエンジン・スピード制御(ISC)
を行なう。 第2図は点火装置を示し、増幅器62を介して
パワー・トランジスタ64へパルス電流が供給さ
れ、この電流によりトランジスタ64はONす
る。これによりバツテリ66より点火コイル58
へ一次コイル電流が流れる。入力パルス電流の立
ち下がりでトランジスタ64は遮断状態となり、
点火コイル58の2次コイルに高電圧を発生す
る。 この高電圧は配電器70を介してエンジンの各
シリンダにある点火プラグ52のそれぞれにエン
ジン回転に同期して高電圧を配電する。 第3図は排気ガス環流(EGR)システムを説
明するためのもので、負圧源80の一定負圧が制
圧弁84を介して制御弁86へ加えられている。
制圧弁84はトランジスタ90に加えられる繰返
しパルスのONデユーテイ比率に応じ、一定負圧
源の負圧を大気88へ開放に対する比率を制御
し、制御弁86への負圧の印加状態を制御する。
従つて制御弁86へ加えられる負圧はトランジス
タ90のONデユーテイ比率で定まる。この制圧
弁84の制御負圧により排気管10から吸気管0
6へのEGR量が制御される。 第4図はマイコンを用いた制御システムの全体
構成図で、セントラル・プロセツシング・ユニツ
ト102(以下CPUと記す)とリード・オン
リ・メモリ104(以下ROMと記す)とランダ
ム・アクセス・メモリ106(以下RAMと記
す)と入出力回路108とから構成されている。
上記CPU102はROM104内に記憶された各
種のプログラムにより、入出力回路108からの
入力データを演算し、その演算結果を再び入出力
回路108へ戻す。これらの演算に必要な中間的
な記憶はRAM106を使用する。CPU102、
ROM104、RAM106、入力回路108間
の各種データのやり取りはデータ・バスとコント
ロール・バスとアドレス・バスからなるバスライ
ン110によつて行なわれる。 入出力回路108には第1のアナログ・デイジ
タル・コンバータ122(以下ACD1と記す)
と第2のアナログ・デイジタル・コンバータ12
4(以下ADC2と記す)と角度信号処理回路1
26と1ビツト情報を入出力する為のデイスクリ
ート入出力回路128(以下DIOと記す)との入
力手段を持つ。 ADC1にはバツテリ電圧検出センサ132
(以下VBSと記す)と冷却水温センサ56(以下
TWSと記す)と大気温センサ136(以下TAS
と記す)と車速センサ138(以下VRSと記す)
とスロツトル角センサ140(以下θTHSと記
す)とO2センサ142(以下O2Sと記す)との出
力がマルチ・プレクサ162(以下(MPXと記
す)に加えられ、MPX162によりこの内の1
つを選択してアナログ・デイジタル・変換回路1
64(以下ADCと記す)へ入力する。ADC16
4の出力であるデイジタル値はレジスタ166
(以下REGと記す)に保持される。 角度センサ146(以下ANGSと記す)から
は基準クランク角例えば180度クランク角を示す
信号(以下REFと記す)と微少角例えば1度ク
ランク角を示す信号(以下POSと記す)とが出
力され、角度信号処理回路126へ加えられ、こ
こで波形整形される。 DIO128には絞り弁14が全閉位置に戻つて
いるときに動作するアイドル・スイツチ148
(以下IDLE−SEと記す)とトツプ・ギヤ・スイ
ツチ150(以下TOP−SWと記す)とスター
タ・スイツチ152(以下START−SWと記す)
とが入力されている。 流量センサ24(以下AFSと記す)はADC2
へ入力され、アナログ・デイジタル・変換回路1
72(以下ADCと記す)を介してデイジタル変
換されレジスタ174(以下REGと記す)へセ
ツトされる。 次にCPUの演算結果に基づくパルス出力回路
および制御対象について説明する。インジエクタ
制御回路(INJCと記す)は演算結果のデイジタ
ル値をパルス出力に変換する回路である。従つて
燃料噴射量に相当したパルス幅を有するパルス
INJがINJC1134で作られ、ANDゲート11
36を介してインジエクタ12へ印加される。 点火パルス発生回路1138(以下IGNCと記
す)は点火時期をセツトするレジスタ(ADVと
記す)と点火コイルの1次電流通電開始時間をセ
ツトするレジスタ(DWLと記す)とを有し、
CPUよりこれらデータがセツトされる。セツト
されたデータに基づいてパルスIGNを発生し、
第2図に詳述した増幅器62へANDゲート11
40を介してこのパルスIGNを加える。 バイパスバルブ61の開弁率は制御回路(以下
ISCCと記す)1142からANDゲート1144
を介して加えられるパルスISCによつて制御され
る。ISCC1142はパルス幅をセツトするレジ
スタISCDと繰返しパルス周期をセツトするレジ
スタISCPとを持つている。 第3図に示したEGR制御弁86を制御するト
ランジスタ90を制御するEGR量制御パルス発
生回路178(以下EGRCと記す)にはパルスの
デユーテイを表わす値をセツトするレジスタ
EGRDとパルスの繰返し周期を表わす値をセツト
するレジスタEGRPとを有している。このEGRC
の出力パルスEGRはANDゲート1156を介し
てトランジスタ90に加えられる。 また1ビツトの入出力信号は回路DIO128に
より制御される。入力信号としてはIDLE−SW
信号、TOP−SW信号、START−SW信号があ
る。また出力信号としては燃料ポンプを駆動する
ためのパルス出力信号がある。このDIOは端子を
入力端子として使用するか、出力端子として使用
するかを決定するためのレジスタDDR192と、
出力データをラツチするためのレジスタDOUT
194とが設けられている。 モードレジスタ1160は入出力回路108内
部の色色な状態を指令する命令を保持するレジス
タ(以下MODと記す)であり、例えばこのモー
ドレジスタ1160に命令セツトすることによ
り、ANDゲート1136,1140,1144,
1156を総て動作状態にさせたり、不動作状態
にさせたりする。このようにMODレジスタ11
60に命令をセツトすることにより、INJCや
IGNC、ISCCの出力の停止や起動を制御できる。 DIO128は上述の如く、1ビツト信号の入出
力回路で、入力あるいは出力を決定するためのデ
ータを保持するレジスタ(以下DDRと記す)1
92と出力するデータを保持するためのレジスタ
194(以下DOUTと記す)とを有している。
このDIO128よりフユーエル・ポンプ32を制
御するための信号DJO0が出力される。 第5図は第4図の制御回路のプログラムシステ
ム図である。キー・スイツチ(図示せず)により
電源がONするとCPU102はスタート・モード
となり、イニシヤライズ・プログラム
(INITIALIZ)204を実行する。次に監視プロ
グラム(MONIT)206を実行し、バツク・グ
ラウンド・ジヨブ(BACK GROUND JOB)2
08を実行する。このバツク・グラウンド・ジヨ
ブとして例えばEGR量の計算タスク(以下EGR
CAL TASKと記す)や暖機運転状態でのバイパ
スバルブ61とインジエクタ12の計算タスク
(以下FISCと記す)を実行する。このTASKの実
行中、割込要因(以下IRQと記す)が発生すると
IRQの開示ステツプ222より、IRQ要因分析プ
ログラム224(以下IRQ ANALと記す)を実
行する。このIRQ ANALのプログラムはさらに
ADC1の終了割込処理(以下ADC1 END
IRQと記す)プログラム226とADC2の終了
割込処理(以下ADC2 END IRQと記す)プロ
グラム228と一定期間経過割込処理(以下
INTV IRQと記す)プログラムとエンジン停止
割込処理(以下ENST IRQと記す)プログラム
からなり、後述する各タスクの起動の必要なタス
クにそれぞれ起動要求(以下QUEUEと記す)を
出す。 このIRQ ANALプログラム224内の各プロ
グラムADC1 END IRQ226やADC2
END IRQ228やINTV IRQ230の各プロ
グラムによりQUEUEが出される各タスクはレベ
ル・ゼロ・タスク群252やレベル1タスク群2
54やレベル2タスク群256やレベル3タスク
群258であるか、あるいは該各タスク群を構成
するタスクである。またENST IRQプログラム
232によりQUEUEが発生するタスクはエンジ
ン停止時の処理タスク262(以下ENST
TASKと記す)である。このENST TASK26
2が実行されると再び制御システムはスタート・
モードとなり、開始点202へ戻る。 タスク・スケジユーラ242はQUEUEの発生
しているタスク群かあるいは実行中断タスク群の
内レベルの高いタスク群(ここではレベル・ゼロ
を最高とする)から実行するように、タスク群の
実行序順を決定する。タスク群の実行が終了する
と終了報告プログラム260(以下EXITと記
す)により終了報告される。この終了報告によ
り、実行待ちになつているタスク群の内の最もレ
ベルの高いタスク群を次に実行する。 実行中断タスク群やQUEUEの発生しているタ
スク群がなくなるとタスク・スケジユーラ242
より再びバツク・グラウンド・ジヨブ208の実
行へ移る。さらにレベル・ゼロ・タスク群からレ
ベル3タスク群のどれかを実行中にIRQが発生す
るとIRQ処理プログラムの開始点222へ戻る。 第1表に各タスクの起動とその機能を示す。
【表】
この第1表において、第5図の制御システムを
管理するためのプログラムとして、IRQ ANAL
プログラムやTASK SCHDULERやEXITがあ
る。これらのプログラム(以下OSと記す)は第
6図の如くROM104のアドレスA000からアド
レスA300に保持されている。 さらにレベル・ゼロ・プログラムとして
AD1IN、AD1ST、AD2IN、AD2ST、RPMIN
の各プログラムがあり、通常INTV IRQの10〔m
SEC〕で起動される。レベル1プログラムとして
INJC、IGNCAL、DWLCALプログラムがあり、
INTV IRQの20〔mSEC〕ごとに起動される。レ
ベル2プログラムとしてはLAMBDAプログラム
があり、INTV IRQの40〔mSEC〕ごとに起動さ
れる。レベル3プログラムとしてHOSEIプログ
ラムがあり、INTV IRQの100〔mSEC〕ごとに
起動される。またバツク・グラウンド・ジヨブと
してEGRCALとFISCプログラムがある。上記レ
ベル・ゼロ・プログラムはPROG1としてそれぞ
れ第6図のROM104のアドレスA700から
AAFFに記憶されている。レベル・1プログラム
はPROG2としてROM104のアドレスAB00
からABFFに記憶されている。レベル2プログラ
ムはPROG3としてROM104のアドレスAE00
からAEFFに記憶されている。レベル3プログラ
ムはPROG4としてROM10.4のアドレス
AF00からAFFFに記憶されている。またバツ
ク・グラウンド・ジヨブ・プログラムはB000か
らB1FFに保持されている。なお上記プログラム
PROG1からPROG4までの各プログラムのスタ
ード・アドレスのリフト(以下SETMRと記す)
がB200からB2FFまで保持され、PROG1から
PROG4までの各プログラム起動周期を表わす値
(以下TTMと記す)がアドレスB300からB3FF
に記憶されている。 その他のデータは必要に応じ第6図のROMの
アドレスB400からB4FFに記憶される。それに続
いて演算のためのデータADV.MAPやAF.MAP、
EGR.MAPをそれぞれ記憶している。 なお、その他の動作についての詳しい説明は省
略する。 このようにして、上記したEECによれば、
A/Fの制御などエンジンに関するほとんどすべ
ての制御を適切に行なうことができ、厳しい排ガ
ス規制も充分にクリア可能な上、燃費の優れたエ
ンジンを得ることができる。 ところで、一般に、自動車などにおいては、故
障などにより不具合な状態となつたときには、ユ
ーザーが自らその故障個所を見付け出し修理や点
検などを行なう場合は極めて稀であり、ほとんど
は修理工場などに依頼して故障個所の発見、修
理、点検などを行なうのが通例である。 しかしながら、EECを装備した自動車用エン
ジンでは、上記したとおり多数の各種センサやア
クチユエータが使用されている上、それらの故障
態様も多岐多様にわたり、しかも外見上から故障
が判るような場合はほとんどないため、故障が発
生した場合、その発生個所の特定が極めて困難で
ある。加えて、故障の多くは、エンジンの運転条
件が特定の条件となつたときにはじめて見出すこ
とができるものとなつているため、ユーザーによ
る故障の訴えを受けても実際にエンジンを運転し
ながら同じ条件を再現しなければその故障を発見
することができない。 従つて、従来のEECにおいては、故障が生じ
た場合、その適確な診断が困難で、故障個所の特
定には高度の熟練と多くの時間を必要とするとい
う欠点があつた。 そこで、上記したEECの各種センサやアクチ
ユエータの動作を常時監視して故障の発生を検知
したら警報を発するようにすると共に、EECの
動作が停止されたときでも記憶データが消滅しな
いメモリ手段を設け、各種センサやアクチユエー
タに故障を生じた場合には直ちにそれを知ること
ができ、しかも後刻エンジン停止後であつても、
そのままで直ちに故障個所を知ることが出来るよ
うにしたEECのための故障個所自己診断警報装
置が提案され以下、その一例を図面の第7図ない
し第27図について説明する。 なお、この従来例においても、EECとしての
構成のほとんどは第1図ないし第6図に示した従
来例と同じであるから、以下の説明では異なつて
いる点についてだけ詳細に説明する。 第7図はEECに故障個所自己診断警報表示装
置を適用した制御システムの従来例で、第4図に
示した従来例と異なる点は、装置全体の電源装置
とは独立した電池1102によつてバツクアツプ
され、不輝発生のメモリとして動作するように構
成したRAM1104が設けられている点と、
警報ランプ1106及びデイスプレイスイツチ
(以下DISP−SWと記す)1108が設けられて
いる点である。 そして、CPU102、ROM104、RAM1
06などからなるマイコンのプログラムにより、
それぞれ所定のタイミングと条件のもとで空気流
量センサ24、水温センサ56などを含む各種セ
ンサ132〜148からの入力、及びアイドルス
イツチ148〜スタートスイツチ152など各種
のスイツチからの入力のチエツクと、インジエク
タ12、フユーエルポンプ32、バイパルバルブ
61などの各種のアクチユエータ、及びそれらに
含まれている増幅器62、トランジスタ90など
に対する出力のチエツクを行ない、これらの入力
や出力に異常が発見されたときには、第8図に示
すように、それらの異常に対応してコード化され
たデータ(以下単に不具合コードと記す)を
RAM1104に書き込むと共に必要に応じて
警報ランプ1106で表示させるようにする。 従つて、自動車などの運転中、或いはエンジン
スタート時などに上記した異常が発生すれば、直
ちに警報ランプ1106によつて異常が表示さ
れ、自動車などの運転者が故障の発生を知らずに
運転を継続させてしまうのを防止することができ
る。 このときの警報ランプ1106の点灯モード
は、例えば第9図a,bのようになつており、同
図aはエンジン始動後に異常が発生した場合、b
は始動前に既に異常が検出された場合をそれぞれ
示している。 この第9図aから明らかなように、まずキース
イツチがオンにされるとランプが点灯し、ついで
エンジンが始動するとランプは消える。これによ
つて警報ランプ1106自体に異常がないことの
チエツクが可能になる。 そして異常が発生しない間はランプは消えたま
まとなつている。 次に不具合、つまり異常が発生すると0.6秒の
間隔で0.6秒の点灯を行なう点滅モードとなる。
そして不具合が解消されない限り点滅状態が続
き、何らかの理由により不具合が解消されると消
灯したままとなる。このとき、エンストが生じれ
ばキースイツチがオンされてからエンジンが始動
するまでのときと同じく点灯したままとなる。 また同図bから明らかなように、キースイツチ
がONされたとき直ちに異常が発生したとき、或
いはその前から既に異常が検知されていた場合に
は、最初から点滅モードとなり警報ランプ110
6はフラツシユを続ける。また、このときエンス
トを生じても今度は点滅モードは変らない。 このため、とにかく警報ランプ1106の点滅
を見るだけで何らかの異常が発生し、それ以上の
運転の継続は望ましいことではなくなつたことを
知ることができる。 次に、デイスプレイスイツチ1108が操作さ
れるとDIO128を介してCPU102に入力が
与えられ、この制御回路の動作モードは不具合コ
ードの表示モードとなり、プログラムの切換えが
行なわれる。 この表示モードプログラムに入ると、RAM
1104からコードの読出しが行なわれ、今度は
この読出されたコードに従つて警報ランプ110
6の点灯モードが制御されるので、サービスオペ
レータなど自動車の点検、修理などを行なう者
は、この警報ランプ1106の点滅モードからコ
ードを読み取るだけで各種のセンサやアクチユエ
ータなどのうちの異常を生じたものを特定するこ
とができ、加えてその異常の内容をも同時に知る
ことができるから、点検や修理などを簡単に、し
かも短時間のうちに適確に行なうことができる。 このときの警報ランプ1106の点灯モード
は、例えば第10図a〜bのようになる。 まずaは、デイスプレイスイツチ1108を操
作して表示モードにしたとき、それまで何も不具
合が発生していなかつたときの警報ランプ110
6の点灯モードで、このときのコードは第8図か
ら明らかなように〔01〕であるから、表示がスタ
ートしてから2.4秒の準備時間が経過したあと0.3
秒の点灯と3秒の消灯を3回、繰り返す。そして
この状態をデイスプレイスイツチ1108がON
されている間中保つ。 次にbは、表示モードにしたとき、それまでに
ISC端子がシヨートするという異常が発生してお
り、その結果RAM1104にコード〔22〕が
記憶されていた場合で、2.4秒の準備時間のあと
0.6秒の消灯時間を間にして1.2秒の点灯時間が2
回続き、ついで0.3秒の点灯時間が2回続いて生
じるような点滅状態を3回づつ繰り返す。 これら第10図a,bから明らかなように、
2.4秒の準備時間のあとに続く1.2秒の点灯回数が
コードの10の桁の数値を表わし、0.3秒の点灯回
数がコードの1の桁の数値を表わすことになり、
3秒の消灯時間はコードの区切りを表わしている
ことが判る。従つて第10図aではコードが
〔01〕なので0.3秒の点灯が1回づつ現われ、同図
bではコードが〔22〕なので1.2秒の点灯が2回、
0.3秒の点灯も2回、それぞれ現われているので
ある。 このようにして、デイスプレイスイツチ110
8をONにしたときに生じる警報ランプ1106
の点灯状態によりRAM1104にそれまで記
憶されていたコードを視覚的に極めて容易に読取
ることができ、異常個所の特定やその異常の内容
を簡単に知ることができる。 ところで、このようなEECにおいては、数多
くのセンサやアクチユエータが設けられているか
ら、不具合な個所が同時に、或いは比較的短時間
のうちに複数個所生じる可能性もかなりある。そ
こで、この従来例においては、RAM1104
に複数のアドレスが設けてあり、複数の例えば3
個所の不具合コードが記憶できるようになつてい
る。 そこで、このような場合には、デイスプレイス
イツチ1108がONされて不具合コード表示モ
ードに切換えられたときに、それまでに記憶され
ていた複数の不具合コードを第10図cに示すよ
うに順次3回ずつ表示するようになつている。即
ち、いま記憶されていた不具合コードが〔22〕と
〔15〕であつたときには、コード〔22〕が3回表
示されたあと、続いてコード〔15〕が3回表示さ
れ、これがスイツチ1108をOFFにするまで
繰返すことになる。 従つて、それまでに複数の異常個所を生じてい
た場合にも、3個所までは記憶されており、それ
らが順次表示されるから、不具合の発見を極めて
容易に行なうことができる。 なお、不具合を生じていなかつた場合にも
RAM1104にコード〔01〕をわざわざ記憶
し、それを表示モード時に読出して表示するよう
にしてあるのは、RAM1104を含む系に異
常を発生していないことの確認のためであり、こ
れにより判定を確実に行なうことができる。 このように、上記従来例によれば、エンジン運
転中に異常を生じたときには、それが電池110
2のバツクアツプにより不輝発性メモリとして動
作するRAM1104にコード化されて記憶さ
れるので、エンジン停止後であつても不具合が発
生した個所や内容を常に確実に知ることができ
る。 次に、第8図に示した各種センサ及びアクチユ
エータの不具合が検出された場合の警報モードと
コード表示モードにおける動作について説明す
る。 第11図は警報モードとコード表示モードを識
別する動作を示したフローチヤートで、第5図に
示したプログラムシステム図におけるレベル2の
タスクに組込まれ、40〔mSEC〕ごとに起動する
ようになつている。 このタスクに入ると、ステツプ(以下、Sとい
う)1でデイスプレイスイツチ1108のONか
否かが判断され、NOのときにはS2に進み、
RAM1104を見て不良フラグが有るか否か
を調べてNOのときにはそのままEXITに向う。
S2で結果がYESのときにはS3の警報動作が行な
われる。 また、S1で結果がYESとなつたらS4に向い、
コード表示動作を行なう。 第12図は第11図の警報動作S3の詳細を示
すフローチヤートで、この動作に入ると、まず
S31で時間セツト完了か否かをフラグによつて判
定する。S31での結果がNOのときにはS32に進ん
でフラグセツトを行なう。これはS31で必要な時
間セツト完了のチエツク用である。ついでS33で
0.6秒の時間をセツトする。この時間セツトはカ
ウンタに初期値をセツトすることにより行なわれ
る。最後にS34で警報ランプ1106の状態を反
転させてからEXITに向う。 また、S31での結果がYESになつたときには
S35に向い、0.6秒が経過したか否かをS33でセツ
トしたカウンタをみて判断し、結果がNOとなつ
たらS37で時間カウンタから1を引きEXITに進
む。 さらに、S35での結果がYESのときにはS38で
フラグをリセツトしてからEXITに向う。従つて
次にこのフローに入つたときにはS31からS32に
向うようになる。 以上のフローが実行された結果は次のようにな
る。まず、最初にこのフローに入つてくるのは、
第11図から明らかな如く、それまで不良フラグ
が無かつた状態から異常が発生して不良フラグが
立つたときである。従つてS31からS32、S33を経
てS34に入つたときにはまだ警報ランプ1106
は点灯していない。そこでS34ではランプ110
6の点灯が行なわれる。そしてその後、40〔m
SEC〕ごとにこのフローに入つたときにS37で順
次に時間カウンタを減算してゆき、0.6秒経つと
それが0になるから今度はS38でフラグをリセツ
トする。そこでその次から再びS31からS34に向
うが、このときにはランプが点灯しているから、
今度はランプ1106を消灯する。従つて、この
第12図のフローによつて第9図a,bに示した
警報動作が遂行されることになる。 なお、このS33、S35、S37などでいう時間カウ
ンタは、RAM106(第7図)のメモリ領域を
利用してCPU102のプログラムによつてソフ
ト的に構成されるものであり、以上の説明から明
らかなようにS33でセツトすべき初期値は0.6秒を
40〔mSEC〕で割つた値、即ち15となる。 次に第13図ないし第15図は第11図のコー
ド表示動作S4の詳細を示すフローチヤートで、
このフローに入ると、まずS301でフラグを見
て2.4秒タイマーがセツトされているか否かを判
断し、NOのときにはS302に進んで警報ランプ1
106を消灯させ、2.4秒タイマーのセツトを行
ない、フラグをセツトする。ついでS303に向
い、フラグを見て2.4秒が経過したか否かを調
べる。S301での結果がYESのときはS302を飛ば
してS303に進む。ここでの結果がNOとなつたら
S304に向い、そこで2.4秒タイマーから1を引く。
ついでS305で2.4秒タイマーが0になつたか否か
を調べ、NOならEXITから抜けるが、YESなら
S306でフラグをセツトする。 これらS301〜S306が実行されることにより第
10図a,bの表示スタートからの2.4秒の消灯
時間のセツトが行なわれる。なお、ここでいうタ
イマーも既に説明した時間カウンタと同じでソフ
ト的に構成されたものである。 なお、このあと第10図a〜bに示すような態
様でのコード表示が行なわれるのであるが、この
点は第13図ないし第15図のフローチヤートを
見れば容易に理解できるところなので詳しい説明
は省略する。 次に、上記した各種センサやアクチユエータの
異常検出動作について説明する。 上記従来例では、センサなどの異常検出に際し
て異常か否かの判定を複数回、例えば5回繰り返
し、異常検出時にたまたま生じた一時的な異常や
信号系などに迷い込んだノイズにより誤まつて異
常状態となつた検出結果を排除し、本当の意味で
の異常だけを確実に検出するため、第16図のフ
ローチヤートに示す動作が行なわれるようになつ
ている。 即ち、所定の条件、又はタイミングで各種セン
サなどの異常検出プログラムに入ると第16図の
動作が行なわれ、まずS601で異常か否かの判定
が行なわれる。なお、このS601での判定動作は
各種のセンサやアクチユエータに対応した内容と
なつており、そのいくつかの例については後述す
る。 S601での判定結果がNG、つまり異常となつた
らS602に進んでNGカウンタをインクリメントす
る。このNGカウンタは判定回数をカウントする
ためのものである。ついでS603に入つてこのNG
カウンタの内容が5になつているか否かを調べ
る。ところで、いま始めてS601での結果がNGと
なつたものとすれば、このS603での結果は当然
NOとなるから、そのままEXITに進み、この動
作を終了する。 次にこのフローの動作に入つたとき、S601で
の結果が再びNGになつたとすれば、上記の動作
が繰り返され、S602でその都度NGカウンタに+
1されてゆく。従つて、このフローの動作に入
り、その都度S601での結果がNGになつた場合、
つまりその間、異常状態が継続していてそれが5
回にわたつて検出された場合に、始めてS603で
の結果がYESになり、このときにはS604に進ん
でNGカウンタの内容を0にし、ついでS605で異
常が検出されたことを示す不良フラグのセツトを
行ない、S606でその異常の内容に対応したコー
ドを第8図に従つてRAM1104の所定のア
ドレスに記憶するなどのNG処理を行なつてこの
フローを抜ける。 また、S601での結果がOK、つまり異常が無か
つたときにはS607に進み、NGカウンタの内容を
調べ、それが0になつていなかつたとき、つまり
結果がNOのときにはS608に進んでNGカウンタ
の内容を0にしてからS608に向う。一方、S607
での結果がYESになつたらそのままS609に進み、
不良フラグがセツトされているか否かを調べ、結
果がYESのときにはS610を通つて不良フラグを
クリアしてからEXITに抜け、NOのときには
S609から直ちにEXITに抜ける。 この第16図のフローチヤートに従つた動作が
行なわれた結果、S601の判定結果がOK、つまり
異常なしとなるごとにS607〜S610によりNGカウ
ンタが0にリセツトされ、不良フラグがクリヤさ
れることになるから、S601での判定結果が5回、
連続してNG、つまり異常ありとなつたときにだ
け始めてS605を通つて不良フラグのセツトが行
なわれることになり、一時的な異常やノイズなど
による誤検出による異常を排除することができ
る。 なお、S603でのNGカウンタの内容を他の数に
すれば、チエツクを行なう回数もそれに従つて任
意の回数とすることができる。 また、この従来例では、異常が5回連続して不
良フラグのセツトとNG処理が行なわれた後、1
回でもS601での結果がOKになるとその次から再
びNGが5回連続したときだけ再度不良フラグの
セツトとNG処理が行なわれることになつている
が、一旦不良フラグがセツトされ、NG処理が行
なわれた後で判定がOKになるのは、異常が無く
なつた場合よりもむしろ誤検出により異常が正常
と判断される場合の方が多いと考えてよいから、
その後に判定がNGとなつたら直ちに不良フラグ
の再セツトとNG処理を行なうようにしてもよ
い。 つまり、このときにはS601での結果が5回連
続してNGにならなくても1回だけで直ちにS602
からS605を通るようにするのである。このため
には、例えばS610のあとにNGカウンタの内容を
4にセツトするステツプを設ければよい。 次に、第16図のS601に示した各種センサや
アクチユエータの異常チエツクについて説明す
る。 第17図は点火系の異常チエツクシステムの一
例で、増幅器62にテスト入力端子621を設
け、トランジスタQ65を介して増幅用トランジ
スタQ62のベースにテスト信号PA0を供給する
ようにすると共に、テスト出力端子622を設け
て検出信号AI6を取り出すようにする。 第18図は異常チエツク動作を示すフローチヤ
ートで、この点火系異常チエツクシステムはエン
ストタスク262(第5図)の中の一つのタスク
として組込まれ、エンスト時に動作するようにな
つている。 このフローの動作に入ると、まずS801で信号
AI6を調べ、それが0.5Vより大きいか否かを判
断する。このとき、エンスト中なのでIGNは1
になつており、一方、信号PA0はまだ0のままに
なつている。従つてトランジスタQ62のベース
にはオン信号が供給されている筈であるから、
S801での結果がYESとなつたらトランジスタQ
62に異常を生じてそのコレクタ・エミツタ間が
オープンになつたことを意味するから、S802を
通つてトランジスタQ62オープンを表わす不良
フラグの準備を行ない、S601(第16図)での判
定結果がNGとなつてS602に向う。従つて、この
ときには第8図に従つてコード「38」がRAM
1104に記憶されることになる。 また、S801での結果がNOとなつたらS803に向
い、まずテスト信号PA0を1にする。そしてS804
に進んで検出信号AI6を調べ、それが1.3V±
0.5Vの範囲にあるか否かを判断する。なおこの
電圧値、1.2V±0.5Vはトランジスタ64のベー
ス・エミツタ間順方向電圧であるから、トランジ
スタ64として使用するトランジスタの種類に応
じて適当な電圧値に定める必要があるのはいうま
でもない。 さて、S804での結果がYESとなつたら何も異
常は認められないことになるから、S805に向つ
てテスト信号PA0を0に戻し、このS601での判定
はOKとなるから第16図のS606に向う。 一方、S804での結果がNOとなつたら次のS806
に進み、検出信号AI6の電圧値が1.7Vより大か
否かを調べる。結果がNOのときにはトランジス
タ64までのハーネス部分、又はトランジスタQ
62,64のシヨートであり、結果がYESのと
きにはトランジスタ64までのハーネス部分がオ
ープンになつていることを示すから、第8図に従
つてコード「36」又は「37」RAM1104に
記憶するための不良フラグのセツトの準備を
S807又はS808で行ない、ついでS809でテスト信
号PA0を0に戻してから判定結果NGとなる。 次にエアフローセンサAFSの異常チエツク動
作の従来例を第19図のフローチヤートで説明す
る。 この動作は第5図のレベル2のタスク256の
一つのタスクとして処理され、このフローに入る
と、まずS901でAFS24(第7図)からのデー
タをRAM106から取込み、続くS902でそのデ
ータの判定を行なう。このAFS24は第20図
に示すように正常な状態では領域の範囲の出力
電圧を発生するから、S902でデータが領域に
あると判断されたときには、そのまま判定結果は
OKとなる。 しかしながらS902での結果が、つまり出力
小の状態と判断されたときにはS903に向い、出
力小に対応した不良フラグのセツト準備を行なつ
て判定結果NGに抜ける。従つて、このときには
第8図に従つてコード「14」が記憶される。 また、S902での結果が、つまり出力大の状
態と判断されたときにはS904に向い、エンジン
の回転数が4000rpm以上あるか否かを調べ、結果
がYESとなつたらOKに抜ける。一方、結果が
NOのときにはS905に進み、出力大に対応した不
良フラグセツトの準備を行なつてからNGに抜け
る。従つて、このときには第8図に示すように、
コード「15」が記憶される。なお、ここでS904
が設けられているのは、AFデータが出力大、つ
まり領域になつてもエンジンの回転数が大きい
ときには異常ではないからである。 次にアイドル回転数を制御するアクチユエー
タ、即ちバイパスバルブ61の異常チエツクシス
テムの一例を第21図に示す。 図において、210,211は検出信号PA6
とPA7の出力端子、212はテスト信号PB7の
入力端子、Q213は増幅用トランジスタ、Q2
14は駆動トランジスタ、Q215は検出用トラ
ンジスタである。 第22図は異常チエツク動作を示すフローチヤ
ートで、バツクグラウンドジヨブ208(第5
図)の一つのプログラムとして実行されるもので
あり、このフローに入ると、まずS20で検出信号
PA6とPA7の読込みを行ない、ついでS21で信
号PA6が0か1かを調べる。そして、その結果
が1となつたときには、続くS22で今度は信号
PA7が0か1かを調べ、結果が1となつたら異
常なしとしてOKに抜ける。つまり、信号PA6
が1ということは信号ISCが1、従つてトランジ
スタQ213とQ214はいずれもオンになつて
いるのが正常であり、従つてトランジスタQ21
5はオフしている筈であるから、このとき信号
PA7も1なら異常が無いことになるのである。 また、S22で結果が0になつたら、トランジス
タQ213,Q214のいずれか一方、又は両方
がオープンになつていることを示すから、S23に
進んで不良フラグのセツトの準備をしてからNG
に抜ける。従つて、このときには第8図に従つて
コード「20」が記憶されることになる。 一方、S21での結果が0になつたら次はS24に
進み、信号PA7を調べてそれが0になつたら
OKに進む。つまり信号PA6が0なら信号ISCが
0でトランジスタQ213とQ214はオフ、従
つてトランジスタQ215はオンとなつている筈
であり、そのため、信号PA7も0なら異常な状
態となるのである。 しかしてS24での結果が1になつたら次のS25
に向い、端子212のテスト信号PB7を1にし
てからS26で信号PA7を読み、続くS27でこの信
号PA7が1か0かを調べる。そして、その結果
が1となつたらS28に向つて出力シヨート不良フ
ラグのセツト準備をしてからNGに抜ける。従つ
てこのときにはコード「22」が記憶されることに
なる。 また、S27での結果が0となつたらS29に向い、
ハーネスオープン不良フラグのセツトが準備され
てNGに抜け、コード「21」が記憶されることに
なる。 つまり、信号PA6が0からトランジスタQ2
13とQ214はオフ、トランジスタQ215は
オンとなる筈だから信号PA7は0にならなけれ
ばいけない。しかるに信号PA7が1になつたと
いうことは、トランジスタQ215のベースが0
になつていることを表わす。そこで、S25で信号
PB7を1にしてみたとき、信号PA7が0になら
なければトランジスタQ215のベースに信号
PB7が与えられないことを意味するから、出力
がシヨートしていることが判る。また、このとき
信号PA7が0になれば、信号PB7がトランジス
タQ215のベースに与えられたことを意味し、
従つて、それまで電源+Bからソレノイドバルブ
61を通る電圧が与えられていなかつたことにな
り、ハーネスオープンであることが判るのであ
る。 次に第23図はEGR制御用アクチユエータで
ある制圧弁84の異常チエツクシステムの一例
で、901,903は検出信号PA4とPA5の出
力端子、902はテスト信号PB5の入力端子、
Q91,Q92は検出用のトランジスタである。
なお、90は制圧弁84の駆動用トランジスタで
ある。 第24図はこの異常チエツクシステムの動作を
示すフローチヤートで、第5図のバツクグラウン
ドジヨブ208のプログラムの一つとして動作す
るものである。 このフローに入ると、まずS40で検出信号PA
4,PA5を読み、ついでS41で信号PA4が1か
0かを調べる。 S41での結果が0となつたらS42に進んで今度
は信号PA5が1か0かを調べ、結果が1となつ
たらOKに抜ける。また、結果が0のときには
S43を通つてトランジスタ90がオープンしたこ
とを表わす不良フラグのセツトを準備し、NGに
抜ける。つまり、S41で信号PA4が0になつた
のはトランジスタQ91がオン、即ち信号EGR
が1になつていたことを示し、このときにはトラ
ンジスタ90もオンしている筈である。従つてト
ランジスタ90が正常ならトランジスタQ92は
オフになるから、S42でPA5を調べたとき結果
が1になれば異常なしでOKになり、結果が0な
らばトランジスタ90がオープン異常でNGにな
るのである。 そこで、このときには第8図からコード「23」
が記憶される。 また、S41での結果が1となつたらS44に進み、
信号PA5を調べてそれが0になつていたらOK
に抜けるが、結果が1になつたらS45に進んでま
ずテスト信号PB5を1にしてみる。ついでS46
で検出信号PA5を読んでからS47でそれが0か
1かを調べる。S47での結果が1となつたらS48
を通つて出力接地不良フラグの準備をし、結果が
0になつたときにはS49でハーネスオープン不良
フラグの準備をしてそれぞれNGに抜ける。 つまり、S41で信号PA4が1となつたという
ことは、入力信号EGRが0であることを意味し、
従つてトランジスタ90が正常ならオフになつて
いる筈で、そのときにはトランジスタQ92はオ
ン、よつて検出信号PA5がS44で0ならOKとな
る。 また、S44で結果が1となつたとすれば、トラ
ンジスタQ92のベースに電源+Bからの電圧が
加えられていないことを意味するから、S45でテ
スト信号PB5を加えてみる。そして、それでも
トランジスタQ92がオンしないとき、即ちS47
での結果が1になつたときにはトランジスタ90
のシヨート又は出力端の接地であり、トランジス
タQ92がオンしてS47での結果が0になれば電
源+BからトランジスタQ92のベースに到る経
路がオープン、即ちハーネスオープン不良である
ことが判る。 従つてS48を通つたときにはコード「25」が、
そしてS49を通つたときにはコード「24」がそれ
ぞれ記憶される。 次にフユエルポンプ32の異常チエツクシステ
ムの一例を第25図ないし第27図に示す。 第25図はフユエルポンプ32のリレー駆動用
トランジスタQ32の回路で、そのコレクタから
検出信号PA2を取り出すようにしてある。 ところで、このフユエルポンプ32に対する異
常チエツクは、通常の運転状態におけるものとエ
ンスト状態になつたときのものと2種類あり、ま
ず第26図は通常運転時のもので、タイマ割込に
より例えば10分ごとに起動され、まずS60で制御
信号DIO0を1にしてトランジスタQ32をオフ
にしてみる。これは通常の運転状態ではフユエル
ポンプ32は動作状態にあり、従つて制御信号
DIO0は0になつているからである。 ついで所定の待ち時間を置いてからS61で検出
信号PA2が0になつたか否かを調べる。そして
結果がYESと判断されたらS62で信号DIO0を0
に戻してOKに抜ける。 また、S61での結果がNOとなつたらS63に進ん
でトランジスタQ32がシヨート不良になつたこ
とを示す不良フラグの準備をしてNGに抜ける。 つまりトランジスタQ32が正常なら、制御信
号DIO0によつてオン・オフし、検出信号PA2
もトランジスタQ32がオンなら1、オフなら0
になる筈だからである。 従つて、このときには、コード「33」が記憶さ
れる。 次に第27図はエンスト時の動作で、エンスト
タスク262(第5図)の一つのプログラムによ
つて遂行される。このフローに入ると、まずS72
で検出信号PA2が調べられてそれが0か否かが
判断される。そして結果がYESとなつたらS71に
進んでF/Pリレーを含む出力端シヨート不良フ
ラグが準備されNGに抜ける。 つまり、このときにはまだ信号DIO0が0にな
つているからトランジスタQ32はオンの筈であ
り、それにもかかわらず信号PA2が0から出力
端がシヨートであると判るのである。 従つて、このときには、コード「34」が記憶さ
れることになる。 また、S70での結果がNOとなつたら、次のS72
に向い、まず信号DIO0を1にしてトランジスタ
Q32をオフにしてから続くS73で再び信号PA
2を調べ、今度はそれが1になつたか否かを判断
する。S73での結果がNOならそのままOKに抜け
るが、YESのときにはS74でフユエルポンプ32
に到るハーネスがオープン不良のフラグを準備し
てNGに抜ける。 つまり、このときには、トランジスタQ32を
オフにしたにもかかわらず電源+Bからの電圧が
信号PA2として現われていることを示し、これ
は出力ハーネスのオープンを意味するに外ならな
いからである。 従つて、このときには、コード「35」が記憶さ
れることになる。 なお、このエンスト時での異常チエツクは、1
回だけで終了させ繰り返しては行なわない。従つ
て第16図のフローのうちS605とS606以外のス
テツプは省略される。 ところで、以上では特に説明しなかつたが、こ
のような従来例では、マイコンのROM104の
異常チエツクを例えばイニシヤライズ・プログラ
ム204(第5図参照)や割込みによる各種のタ
スクの中のプログラムの一つとしてそのまま行な
うようにしていた。 しかしながら、このROM104のチエツクに
はかなりの処理時間を要し、例えば通常EECに
用いられている8ビツト程度のマイコンでは約
200〔mSEC〕程度の時間を要していた。 このため、上記した従来例のようにイニシヤラ
イズ・プログラムの中でROMのチエツクを行な
うようにした場合には、キースイツチを入れてか
ら直ちにスタータスイツチを作動させた場合など
には、エンジン制御に必要なイニシヤライズが不
充分で始動が困難になるという問題点があり、ま
た、割込みタスクによつた場合にはマイコンの負
荷が大きくなつてエンジンの制御に充分追従でき
なくなつてしまう場合が生じるという問題点があ
つた。 従つて、従来は、これらの問題点の解決のため
マイコンの処理能力を上げる必要があり、コスト
アツプとなつてしまうという欠点があつた。 なお、この種の装置として関連するものには、
他にも特開昭53−110724公報や特開昭53−123728
号公報の開示を挙げることができる。 本発明の目的は、上記した従来例の欠点を除
き、マイコンの能力を上げることなくROMのチ
エツクを充分に行なうことができ、ROMに異常
を生じたときには正確に自己診断が行なわれて表
示されるようにしたEECの自己診断警報表示装
置を提供するにある。 この目的を達成するため、本発明は、制御回路
が自己診断結果を表わす不具合コードの表示モー
ドに切換えられたときにROMのチエツクを行な
つて不具合コードの記憶が行なわれるようにした
点を特徴とする。 以下、本発明による自己診断警報表示装置の実
施例を図面について説明する。 第28図は本発明の一実施例の動作を説明する
フローチヤートで、この図から明らかなように、
この実施例は第11図に示した警報モードとコー
ド表示モードを識別して動作を行なうフローチヤ
ートの中のコード表示モードの中にROMチエツ
クのための動作を組込んだものであり、レベル2
のタスクにより40〔mSEC〕ごとに起動され、ま
ずS1でデイスプレイスイツチ1108(第7図)
がONになつているか否かを調べ、結果がNOの
とき、つまりデイスプレイスイツチ1108が
OFFになつていたときには、第11図に関連し
て説明したようにS2、S3で不良フラグの有無に
よつて警報動作が行なわれる。 一方、S1での結果がYES、つまりデイスプレ
イスイツチ1108がONになつていることが検
出されたときには、この実施例において新たに組
込まれたS5〜S10に向い、まず、このS5でROM
104のチエツクが終了しているか否かをフラグ
をみて調べ、結果がYESのときには直ちにS4に
飛び、第11図で説明したように不具合コードの
表示動作が行なわれる。 しかしながら、ROM104のチエツク終了フ
ラグがセツトされていなかつたときには、この
S5での結果はNOになるから、次にS6に進んで
ROM104のチエツク動作に入り、ついでS7で
ROMチエツクが終了しているか否かを調べ、結
果がNOのとき、つまりS6でのチエツクが終了し
ていなかつたときにはそのままS4を通つてEXIT
に抜ける。 一方、S7での結果がYES、つまりROM104
のチエツクが終了していたときには、S8に向い、
このS8でROMチエツク終了フラグをセツトす
る。 従つて、これ以後、このフローに入つたときに
はS5から直ちにS4を通るようになる。 さて、S8でROMチエツク終了フラグをセツト
したら次にS9に進みROM104に不具合が検出
されていたか否かが調べられる。S9での結果が
NO、即ちROM104に異常がなく、S6でのチ
エツクで不具合が検出されていなかつたときには
そのままS4を通つてEXITに抜けるが、S9での結
果がYESとなつたら、即ちROM104に不具合
が検出されていたときには次のS10を通つて
RAM1104に不具合コード「51」を記憶し
てからEXITに抜ける。従つて、これ以後にこの
フローに入つたときにはROM104の異常を表
示する不具合コードが表示されることになる。 以上の結果、この本発明の実施例によれば、デ
イスプレイスイツチ1108がONに操作されて
装置がコード表示動作モードに入つたときにだけ
ROM104の異常検出動作が行なわれ、その結
果が表示されることになる。 一方、このデイスプレイスイツチ1108が
ONに操作されるのは、エンジン停止時、或いは
エンジンがアイドル運転状態にあるときがほとん
どであるから、EECのマイコンに対する負荷が
かなり小くなつているときとなつている。 従つて、上記実施例によれば、ROM104の
チエツクによりマイコンにかなりの負荷を与えた
としてもエンジンの制御動作にはほとんど影響を
与えずに済み、ましてエンジンの起動が不確実に
なつたりする虞れは少しもなくなる。 次に、第28図のS6におけるROMチエツク動
作の一実施例について説明する。 いま、ROM104が各アドレスごとに8ビツ
トの容量を有するものとしたとき、第29図に示
すように、これらの各アドレスのデータをそのま
まで全て加算して合計値を出す。この合計値は非
常に多くの桁になる筈であるが、そのうちの最下
位から8ビツトを取つてSumとし、それをあら
かじめ求めておいた基準値と比較して両者がイコ
ールになるか否かを調べ、結果がイコールとなつ
たときにはROM104には異常がなく、結果が
イコールにならなかつたときに不具合が検出され
たものとするのである。 この実施例によれば、ROM104のチエツク
を極めて簡単に、しかもかなりの確度をもつて行
なうことができる。 ところで、以上の実施例においては、RAM
1104のバツクアツプ用に電池1102を設け
ているが、この電池1102としては自動車用バ
ツテリーからキースイツチを経ないで直接電圧を
供給するようにしたものでもよく、或いは別に乾
電池などを設けるようにしてもよい。 勿論、RAM1104が不輝発性のメモリな
らこれらは不要なことはいうまでもない。 また、不具合コードの表示に警報ランプ110
6を使用しないで別の表示手段、例えば数字、文
字などを直接表示できる手段を設けたり、必要に
応じてプラグなどにより接続して不具合コードの
表示を行なわせるようにしてもよい。この場合に
はRAM1104の内容をそのまま数字、又は
文字で表示させることが可能である。 以上説明したように、本発明によれば、EEC
のマイコンに含まれているROMのチエツクをエ
ンジンの制御状態にほとんど影響を与えることな
く行なうことができるから、従来技術の欠点を除
いて故障修理や保守などが容易にしかも短時間で
行なうことができ、常に安全確実なエンジンの運
転状態を得ることのできる故障個所自己診断警報
表示装置をローコストのマイコンによつて提供す
ることができる。
管理するためのプログラムとして、IRQ ANAL
プログラムやTASK SCHDULERやEXITがあ
る。これらのプログラム(以下OSと記す)は第
6図の如くROM104のアドレスA000からアド
レスA300に保持されている。 さらにレベル・ゼロ・プログラムとして
AD1IN、AD1ST、AD2IN、AD2ST、RPMIN
の各プログラムがあり、通常INTV IRQの10〔m
SEC〕で起動される。レベル1プログラムとして
INJC、IGNCAL、DWLCALプログラムがあり、
INTV IRQの20〔mSEC〕ごとに起動される。レ
ベル2プログラムとしてはLAMBDAプログラム
があり、INTV IRQの40〔mSEC〕ごとに起動さ
れる。レベル3プログラムとしてHOSEIプログ
ラムがあり、INTV IRQの100〔mSEC〕ごとに
起動される。またバツク・グラウンド・ジヨブと
してEGRCALとFISCプログラムがある。上記レ
ベル・ゼロ・プログラムはPROG1としてそれぞ
れ第6図のROM104のアドレスA700から
AAFFに記憶されている。レベル・1プログラム
はPROG2としてROM104のアドレスAB00
からABFFに記憶されている。レベル2プログラ
ムはPROG3としてROM104のアドレスAE00
からAEFFに記憶されている。レベル3プログラ
ムはPROG4としてROM10.4のアドレス
AF00からAFFFに記憶されている。またバツ
ク・グラウンド・ジヨブ・プログラムはB000か
らB1FFに保持されている。なお上記プログラム
PROG1からPROG4までの各プログラムのスタ
ード・アドレスのリフト(以下SETMRと記す)
がB200からB2FFまで保持され、PROG1から
PROG4までの各プログラム起動周期を表わす値
(以下TTMと記す)がアドレスB300からB3FF
に記憶されている。 その他のデータは必要に応じ第6図のROMの
アドレスB400からB4FFに記憶される。それに続
いて演算のためのデータADV.MAPやAF.MAP、
EGR.MAPをそれぞれ記憶している。 なお、その他の動作についての詳しい説明は省
略する。 このようにして、上記したEECによれば、
A/Fの制御などエンジンに関するほとんどすべ
ての制御を適切に行なうことができ、厳しい排ガ
ス規制も充分にクリア可能な上、燃費の優れたエ
ンジンを得ることができる。 ところで、一般に、自動車などにおいては、故
障などにより不具合な状態となつたときには、ユ
ーザーが自らその故障個所を見付け出し修理や点
検などを行なう場合は極めて稀であり、ほとんど
は修理工場などに依頼して故障個所の発見、修
理、点検などを行なうのが通例である。 しかしながら、EECを装備した自動車用エン
ジンでは、上記したとおり多数の各種センサやア
クチユエータが使用されている上、それらの故障
態様も多岐多様にわたり、しかも外見上から故障
が判るような場合はほとんどないため、故障が発
生した場合、その発生個所の特定が極めて困難で
ある。加えて、故障の多くは、エンジンの運転条
件が特定の条件となつたときにはじめて見出すこ
とができるものとなつているため、ユーザーによ
る故障の訴えを受けても実際にエンジンを運転し
ながら同じ条件を再現しなければその故障を発見
することができない。 従つて、従来のEECにおいては、故障が生じ
た場合、その適確な診断が困難で、故障個所の特
定には高度の熟練と多くの時間を必要とするとい
う欠点があつた。 そこで、上記したEECの各種センサやアクチ
ユエータの動作を常時監視して故障の発生を検知
したら警報を発するようにすると共に、EECの
動作が停止されたときでも記憶データが消滅しな
いメモリ手段を設け、各種センサやアクチユエー
タに故障を生じた場合には直ちにそれを知ること
ができ、しかも後刻エンジン停止後であつても、
そのままで直ちに故障個所を知ることが出来るよ
うにしたEECのための故障個所自己診断警報装
置が提案され以下、その一例を図面の第7図ない
し第27図について説明する。 なお、この従来例においても、EECとしての
構成のほとんどは第1図ないし第6図に示した従
来例と同じであるから、以下の説明では異なつて
いる点についてだけ詳細に説明する。 第7図はEECに故障個所自己診断警報表示装
置を適用した制御システムの従来例で、第4図に
示した従来例と異なる点は、装置全体の電源装置
とは独立した電池1102によつてバツクアツプ
され、不輝発生のメモリとして動作するように構
成したRAM1104が設けられている点と、
警報ランプ1106及びデイスプレイスイツチ
(以下DISP−SWと記す)1108が設けられて
いる点である。 そして、CPU102、ROM104、RAM1
06などからなるマイコンのプログラムにより、
それぞれ所定のタイミングと条件のもとで空気流
量センサ24、水温センサ56などを含む各種セ
ンサ132〜148からの入力、及びアイドルス
イツチ148〜スタートスイツチ152など各種
のスイツチからの入力のチエツクと、インジエク
タ12、フユーエルポンプ32、バイパルバルブ
61などの各種のアクチユエータ、及びそれらに
含まれている増幅器62、トランジスタ90など
に対する出力のチエツクを行ない、これらの入力
や出力に異常が発見されたときには、第8図に示
すように、それらの異常に対応してコード化され
たデータ(以下単に不具合コードと記す)を
RAM1104に書き込むと共に必要に応じて
警報ランプ1106で表示させるようにする。 従つて、自動車などの運転中、或いはエンジン
スタート時などに上記した異常が発生すれば、直
ちに警報ランプ1106によつて異常が表示さ
れ、自動車などの運転者が故障の発生を知らずに
運転を継続させてしまうのを防止することができ
る。 このときの警報ランプ1106の点灯モード
は、例えば第9図a,bのようになつており、同
図aはエンジン始動後に異常が発生した場合、b
は始動前に既に異常が検出された場合をそれぞれ
示している。 この第9図aから明らかなように、まずキース
イツチがオンにされるとランプが点灯し、ついで
エンジンが始動するとランプは消える。これによ
つて警報ランプ1106自体に異常がないことの
チエツクが可能になる。 そして異常が発生しない間はランプは消えたま
まとなつている。 次に不具合、つまり異常が発生すると0.6秒の
間隔で0.6秒の点灯を行なう点滅モードとなる。
そして不具合が解消されない限り点滅状態が続
き、何らかの理由により不具合が解消されると消
灯したままとなる。このとき、エンストが生じれ
ばキースイツチがオンされてからエンジンが始動
するまでのときと同じく点灯したままとなる。 また同図bから明らかなように、キースイツチ
がONされたとき直ちに異常が発生したとき、或
いはその前から既に異常が検知されていた場合に
は、最初から点滅モードとなり警報ランプ110
6はフラツシユを続ける。また、このときエンス
トを生じても今度は点滅モードは変らない。 このため、とにかく警報ランプ1106の点滅
を見るだけで何らかの異常が発生し、それ以上の
運転の継続は望ましいことではなくなつたことを
知ることができる。 次に、デイスプレイスイツチ1108が操作さ
れるとDIO128を介してCPU102に入力が
与えられ、この制御回路の動作モードは不具合コ
ードの表示モードとなり、プログラムの切換えが
行なわれる。 この表示モードプログラムに入ると、RAM
1104からコードの読出しが行なわれ、今度は
この読出されたコードに従つて警報ランプ110
6の点灯モードが制御されるので、サービスオペ
レータなど自動車の点検、修理などを行なう者
は、この警報ランプ1106の点滅モードからコ
ードを読み取るだけで各種のセンサやアクチユエ
ータなどのうちの異常を生じたものを特定するこ
とができ、加えてその異常の内容をも同時に知る
ことができるから、点検や修理などを簡単に、し
かも短時間のうちに適確に行なうことができる。 このときの警報ランプ1106の点灯モード
は、例えば第10図a〜bのようになる。 まずaは、デイスプレイスイツチ1108を操
作して表示モードにしたとき、それまで何も不具
合が発生していなかつたときの警報ランプ110
6の点灯モードで、このときのコードは第8図か
ら明らかなように〔01〕であるから、表示がスタ
ートしてから2.4秒の準備時間が経過したあと0.3
秒の点灯と3秒の消灯を3回、繰り返す。そして
この状態をデイスプレイスイツチ1108がON
されている間中保つ。 次にbは、表示モードにしたとき、それまでに
ISC端子がシヨートするという異常が発生してお
り、その結果RAM1104にコード〔22〕が
記憶されていた場合で、2.4秒の準備時間のあと
0.6秒の消灯時間を間にして1.2秒の点灯時間が2
回続き、ついで0.3秒の点灯時間が2回続いて生
じるような点滅状態を3回づつ繰り返す。 これら第10図a,bから明らかなように、
2.4秒の準備時間のあとに続く1.2秒の点灯回数が
コードの10の桁の数値を表わし、0.3秒の点灯回
数がコードの1の桁の数値を表わすことになり、
3秒の消灯時間はコードの区切りを表わしている
ことが判る。従つて第10図aではコードが
〔01〕なので0.3秒の点灯が1回づつ現われ、同図
bではコードが〔22〕なので1.2秒の点灯が2回、
0.3秒の点灯も2回、それぞれ現われているので
ある。 このようにして、デイスプレイスイツチ110
8をONにしたときに生じる警報ランプ1106
の点灯状態によりRAM1104にそれまで記
憶されていたコードを視覚的に極めて容易に読取
ることができ、異常個所の特定やその異常の内容
を簡単に知ることができる。 ところで、このようなEECにおいては、数多
くのセンサやアクチユエータが設けられているか
ら、不具合な個所が同時に、或いは比較的短時間
のうちに複数個所生じる可能性もかなりある。そ
こで、この従来例においては、RAM1104
に複数のアドレスが設けてあり、複数の例えば3
個所の不具合コードが記憶できるようになつてい
る。 そこで、このような場合には、デイスプレイス
イツチ1108がONされて不具合コード表示モ
ードに切換えられたときに、それまでに記憶され
ていた複数の不具合コードを第10図cに示すよ
うに順次3回ずつ表示するようになつている。即
ち、いま記憶されていた不具合コードが〔22〕と
〔15〕であつたときには、コード〔22〕が3回表
示されたあと、続いてコード〔15〕が3回表示さ
れ、これがスイツチ1108をOFFにするまで
繰返すことになる。 従つて、それまでに複数の異常個所を生じてい
た場合にも、3個所までは記憶されており、それ
らが順次表示されるから、不具合の発見を極めて
容易に行なうことができる。 なお、不具合を生じていなかつた場合にも
RAM1104にコード〔01〕をわざわざ記憶
し、それを表示モード時に読出して表示するよう
にしてあるのは、RAM1104を含む系に異
常を発生していないことの確認のためであり、こ
れにより判定を確実に行なうことができる。 このように、上記従来例によれば、エンジン運
転中に異常を生じたときには、それが電池110
2のバツクアツプにより不輝発性メモリとして動
作するRAM1104にコード化されて記憶さ
れるので、エンジン停止後であつても不具合が発
生した個所や内容を常に確実に知ることができ
る。 次に、第8図に示した各種センサ及びアクチユ
エータの不具合が検出された場合の警報モードと
コード表示モードにおける動作について説明す
る。 第11図は警報モードとコード表示モードを識
別する動作を示したフローチヤートで、第5図に
示したプログラムシステム図におけるレベル2の
タスクに組込まれ、40〔mSEC〕ごとに起動する
ようになつている。 このタスクに入ると、ステツプ(以下、Sとい
う)1でデイスプレイスイツチ1108のONか
否かが判断され、NOのときにはS2に進み、
RAM1104を見て不良フラグが有るか否か
を調べてNOのときにはそのままEXITに向う。
S2で結果がYESのときにはS3の警報動作が行な
われる。 また、S1で結果がYESとなつたらS4に向い、
コード表示動作を行なう。 第12図は第11図の警報動作S3の詳細を示
すフローチヤートで、この動作に入ると、まず
S31で時間セツト完了か否かをフラグによつて判
定する。S31での結果がNOのときにはS32に進ん
でフラグセツトを行なう。これはS31で必要な時
間セツト完了のチエツク用である。ついでS33で
0.6秒の時間をセツトする。この時間セツトはカ
ウンタに初期値をセツトすることにより行なわれ
る。最後にS34で警報ランプ1106の状態を反
転させてからEXITに向う。 また、S31での結果がYESになつたときには
S35に向い、0.6秒が経過したか否かをS33でセツ
トしたカウンタをみて判断し、結果がNOとなつ
たらS37で時間カウンタから1を引きEXITに進
む。 さらに、S35での結果がYESのときにはS38で
フラグをリセツトしてからEXITに向う。従つて
次にこのフローに入つたときにはS31からS32に
向うようになる。 以上のフローが実行された結果は次のようにな
る。まず、最初にこのフローに入つてくるのは、
第11図から明らかな如く、それまで不良フラグ
が無かつた状態から異常が発生して不良フラグが
立つたときである。従つてS31からS32、S33を経
てS34に入つたときにはまだ警報ランプ1106
は点灯していない。そこでS34ではランプ110
6の点灯が行なわれる。そしてその後、40〔m
SEC〕ごとにこのフローに入つたときにS37で順
次に時間カウンタを減算してゆき、0.6秒経つと
それが0になるから今度はS38でフラグをリセツ
トする。そこでその次から再びS31からS34に向
うが、このときにはランプが点灯しているから、
今度はランプ1106を消灯する。従つて、この
第12図のフローによつて第9図a,bに示した
警報動作が遂行されることになる。 なお、このS33、S35、S37などでいう時間カウ
ンタは、RAM106(第7図)のメモリ領域を
利用してCPU102のプログラムによつてソフ
ト的に構成されるものであり、以上の説明から明
らかなようにS33でセツトすべき初期値は0.6秒を
40〔mSEC〕で割つた値、即ち15となる。 次に第13図ないし第15図は第11図のコー
ド表示動作S4の詳細を示すフローチヤートで、
このフローに入ると、まずS301でフラグを見
て2.4秒タイマーがセツトされているか否かを判
断し、NOのときにはS302に進んで警報ランプ1
106を消灯させ、2.4秒タイマーのセツトを行
ない、フラグをセツトする。ついでS303に向
い、フラグを見て2.4秒が経過したか否かを調
べる。S301での結果がYESのときはS302を飛ば
してS303に進む。ここでの結果がNOとなつたら
S304に向い、そこで2.4秒タイマーから1を引く。
ついでS305で2.4秒タイマーが0になつたか否か
を調べ、NOならEXITから抜けるが、YESなら
S306でフラグをセツトする。 これらS301〜S306が実行されることにより第
10図a,bの表示スタートからの2.4秒の消灯
時間のセツトが行なわれる。なお、ここでいうタ
イマーも既に説明した時間カウンタと同じでソフ
ト的に構成されたものである。 なお、このあと第10図a〜bに示すような態
様でのコード表示が行なわれるのであるが、この
点は第13図ないし第15図のフローチヤートを
見れば容易に理解できるところなので詳しい説明
は省略する。 次に、上記した各種センサやアクチユエータの
異常検出動作について説明する。 上記従来例では、センサなどの異常検出に際し
て異常か否かの判定を複数回、例えば5回繰り返
し、異常検出時にたまたま生じた一時的な異常や
信号系などに迷い込んだノイズにより誤まつて異
常状態となつた検出結果を排除し、本当の意味で
の異常だけを確実に検出するため、第16図のフ
ローチヤートに示す動作が行なわれるようになつ
ている。 即ち、所定の条件、又はタイミングで各種セン
サなどの異常検出プログラムに入ると第16図の
動作が行なわれ、まずS601で異常か否かの判定
が行なわれる。なお、このS601での判定動作は
各種のセンサやアクチユエータに対応した内容と
なつており、そのいくつかの例については後述す
る。 S601での判定結果がNG、つまり異常となつた
らS602に進んでNGカウンタをインクリメントす
る。このNGカウンタは判定回数をカウントする
ためのものである。ついでS603に入つてこのNG
カウンタの内容が5になつているか否かを調べ
る。ところで、いま始めてS601での結果がNGと
なつたものとすれば、このS603での結果は当然
NOとなるから、そのままEXITに進み、この動
作を終了する。 次にこのフローの動作に入つたとき、S601で
の結果が再びNGになつたとすれば、上記の動作
が繰り返され、S602でその都度NGカウンタに+
1されてゆく。従つて、このフローの動作に入
り、その都度S601での結果がNGになつた場合、
つまりその間、異常状態が継続していてそれが5
回にわたつて検出された場合に、始めてS603で
の結果がYESになり、このときにはS604に進ん
でNGカウンタの内容を0にし、ついでS605で異
常が検出されたことを示す不良フラグのセツトを
行ない、S606でその異常の内容に対応したコー
ドを第8図に従つてRAM1104の所定のア
ドレスに記憶するなどのNG処理を行なつてこの
フローを抜ける。 また、S601での結果がOK、つまり異常が無か
つたときにはS607に進み、NGカウンタの内容を
調べ、それが0になつていなかつたとき、つまり
結果がNOのときにはS608に進んでNGカウンタ
の内容を0にしてからS608に向う。一方、S607
での結果がYESになつたらそのままS609に進み、
不良フラグがセツトされているか否かを調べ、結
果がYESのときにはS610を通つて不良フラグを
クリアしてからEXITに抜け、NOのときには
S609から直ちにEXITに抜ける。 この第16図のフローチヤートに従つた動作が
行なわれた結果、S601の判定結果がOK、つまり
異常なしとなるごとにS607〜S610によりNGカウ
ンタが0にリセツトされ、不良フラグがクリヤさ
れることになるから、S601での判定結果が5回、
連続してNG、つまり異常ありとなつたときにだ
け始めてS605を通つて不良フラグのセツトが行
なわれることになり、一時的な異常やノイズなど
による誤検出による異常を排除することができ
る。 なお、S603でのNGカウンタの内容を他の数に
すれば、チエツクを行なう回数もそれに従つて任
意の回数とすることができる。 また、この従来例では、異常が5回連続して不
良フラグのセツトとNG処理が行なわれた後、1
回でもS601での結果がOKになるとその次から再
びNGが5回連続したときだけ再度不良フラグの
セツトとNG処理が行なわれることになつている
が、一旦不良フラグがセツトされ、NG処理が行
なわれた後で判定がOKになるのは、異常が無く
なつた場合よりもむしろ誤検出により異常が正常
と判断される場合の方が多いと考えてよいから、
その後に判定がNGとなつたら直ちに不良フラグ
の再セツトとNG処理を行なうようにしてもよ
い。 つまり、このときにはS601での結果が5回連
続してNGにならなくても1回だけで直ちにS602
からS605を通るようにするのである。このため
には、例えばS610のあとにNGカウンタの内容を
4にセツトするステツプを設ければよい。 次に、第16図のS601に示した各種センサや
アクチユエータの異常チエツクについて説明す
る。 第17図は点火系の異常チエツクシステムの一
例で、増幅器62にテスト入力端子621を設
け、トランジスタQ65を介して増幅用トランジ
スタQ62のベースにテスト信号PA0を供給する
ようにすると共に、テスト出力端子622を設け
て検出信号AI6を取り出すようにする。 第18図は異常チエツク動作を示すフローチヤ
ートで、この点火系異常チエツクシステムはエン
ストタスク262(第5図)の中の一つのタスク
として組込まれ、エンスト時に動作するようにな
つている。 このフローの動作に入ると、まずS801で信号
AI6を調べ、それが0.5Vより大きいか否かを判
断する。このとき、エンスト中なのでIGNは1
になつており、一方、信号PA0はまだ0のままに
なつている。従つてトランジスタQ62のベース
にはオン信号が供給されている筈であるから、
S801での結果がYESとなつたらトランジスタQ
62に異常を生じてそのコレクタ・エミツタ間が
オープンになつたことを意味するから、S802を
通つてトランジスタQ62オープンを表わす不良
フラグの準備を行ない、S601(第16図)での判
定結果がNGとなつてS602に向う。従つて、この
ときには第8図に従つてコード「38」がRAM
1104に記憶されることになる。 また、S801での結果がNOとなつたらS803に向
い、まずテスト信号PA0を1にする。そしてS804
に進んで検出信号AI6を調べ、それが1.3V±
0.5Vの範囲にあるか否かを判断する。なおこの
電圧値、1.2V±0.5Vはトランジスタ64のベー
ス・エミツタ間順方向電圧であるから、トランジ
スタ64として使用するトランジスタの種類に応
じて適当な電圧値に定める必要があるのはいうま
でもない。 さて、S804での結果がYESとなつたら何も異
常は認められないことになるから、S805に向つ
てテスト信号PA0を0に戻し、このS601での判定
はOKとなるから第16図のS606に向う。 一方、S804での結果がNOとなつたら次のS806
に進み、検出信号AI6の電圧値が1.7Vより大か
否かを調べる。結果がNOのときにはトランジス
タ64までのハーネス部分、又はトランジスタQ
62,64のシヨートであり、結果がYESのと
きにはトランジスタ64までのハーネス部分がオ
ープンになつていることを示すから、第8図に従
つてコード「36」又は「37」RAM1104に
記憶するための不良フラグのセツトの準備を
S807又はS808で行ない、ついでS809でテスト信
号PA0を0に戻してから判定結果NGとなる。 次にエアフローセンサAFSの異常チエツク動
作の従来例を第19図のフローチヤートで説明す
る。 この動作は第5図のレベル2のタスク256の
一つのタスクとして処理され、このフローに入る
と、まずS901でAFS24(第7図)からのデー
タをRAM106から取込み、続くS902でそのデ
ータの判定を行なう。このAFS24は第20図
に示すように正常な状態では領域の範囲の出力
電圧を発生するから、S902でデータが領域に
あると判断されたときには、そのまま判定結果は
OKとなる。 しかしながらS902での結果が、つまり出力
小の状態と判断されたときにはS903に向い、出
力小に対応した不良フラグのセツト準備を行なつ
て判定結果NGに抜ける。従つて、このときには
第8図に従つてコード「14」が記憶される。 また、S902での結果が、つまり出力大の状
態と判断されたときにはS904に向い、エンジン
の回転数が4000rpm以上あるか否かを調べ、結果
がYESとなつたらOKに抜ける。一方、結果が
NOのときにはS905に進み、出力大に対応した不
良フラグセツトの準備を行なつてからNGに抜け
る。従つて、このときには第8図に示すように、
コード「15」が記憶される。なお、ここでS904
が設けられているのは、AFデータが出力大、つ
まり領域になつてもエンジンの回転数が大きい
ときには異常ではないからである。 次にアイドル回転数を制御するアクチユエー
タ、即ちバイパスバルブ61の異常チエツクシス
テムの一例を第21図に示す。 図において、210,211は検出信号PA6
とPA7の出力端子、212はテスト信号PB7の
入力端子、Q213は増幅用トランジスタ、Q2
14は駆動トランジスタ、Q215は検出用トラ
ンジスタである。 第22図は異常チエツク動作を示すフローチヤ
ートで、バツクグラウンドジヨブ208(第5
図)の一つのプログラムとして実行されるもので
あり、このフローに入ると、まずS20で検出信号
PA6とPA7の読込みを行ない、ついでS21で信
号PA6が0か1かを調べる。そして、その結果
が1となつたときには、続くS22で今度は信号
PA7が0か1かを調べ、結果が1となつたら異
常なしとしてOKに抜ける。つまり、信号PA6
が1ということは信号ISCが1、従つてトランジ
スタQ213とQ214はいずれもオンになつて
いるのが正常であり、従つてトランジスタQ21
5はオフしている筈であるから、このとき信号
PA7も1なら異常が無いことになるのである。 また、S22で結果が0になつたら、トランジス
タQ213,Q214のいずれか一方、又は両方
がオープンになつていることを示すから、S23に
進んで不良フラグのセツトの準備をしてからNG
に抜ける。従つて、このときには第8図に従つて
コード「20」が記憶されることになる。 一方、S21での結果が0になつたら次はS24に
進み、信号PA7を調べてそれが0になつたら
OKに進む。つまり信号PA6が0なら信号ISCが
0でトランジスタQ213とQ214はオフ、従
つてトランジスタQ215はオンとなつている筈
であり、そのため、信号PA7も0なら異常な状
態となるのである。 しかしてS24での結果が1になつたら次のS25
に向い、端子212のテスト信号PB7を1にし
てからS26で信号PA7を読み、続くS27でこの信
号PA7が1か0かを調べる。そして、その結果
が1となつたらS28に向つて出力シヨート不良フ
ラグのセツト準備をしてからNGに抜ける。従つ
てこのときにはコード「22」が記憶されることに
なる。 また、S27での結果が0となつたらS29に向い、
ハーネスオープン不良フラグのセツトが準備され
てNGに抜け、コード「21」が記憶されることに
なる。 つまり、信号PA6が0からトランジスタQ2
13とQ214はオフ、トランジスタQ215は
オンとなる筈だから信号PA7は0にならなけれ
ばいけない。しかるに信号PA7が1になつたと
いうことは、トランジスタQ215のベースが0
になつていることを表わす。そこで、S25で信号
PB7を1にしてみたとき、信号PA7が0になら
なければトランジスタQ215のベースに信号
PB7が与えられないことを意味するから、出力
がシヨートしていることが判る。また、このとき
信号PA7が0になれば、信号PB7がトランジス
タQ215のベースに与えられたことを意味し、
従つて、それまで電源+Bからソレノイドバルブ
61を通る電圧が与えられていなかつたことにな
り、ハーネスオープンであることが判るのであ
る。 次に第23図はEGR制御用アクチユエータで
ある制圧弁84の異常チエツクシステムの一例
で、901,903は検出信号PA4とPA5の出
力端子、902はテスト信号PB5の入力端子、
Q91,Q92は検出用のトランジスタである。
なお、90は制圧弁84の駆動用トランジスタで
ある。 第24図はこの異常チエツクシステムの動作を
示すフローチヤートで、第5図のバツクグラウン
ドジヨブ208のプログラムの一つとして動作す
るものである。 このフローに入ると、まずS40で検出信号PA
4,PA5を読み、ついでS41で信号PA4が1か
0かを調べる。 S41での結果が0となつたらS42に進んで今度
は信号PA5が1か0かを調べ、結果が1となつ
たらOKに抜ける。また、結果が0のときには
S43を通つてトランジスタ90がオープンしたこ
とを表わす不良フラグのセツトを準備し、NGに
抜ける。つまり、S41で信号PA4が0になつた
のはトランジスタQ91がオン、即ち信号EGR
が1になつていたことを示し、このときにはトラ
ンジスタ90もオンしている筈である。従つてト
ランジスタ90が正常ならトランジスタQ92は
オフになるから、S42でPA5を調べたとき結果
が1になれば異常なしでOKになり、結果が0な
らばトランジスタ90がオープン異常でNGにな
るのである。 そこで、このときには第8図からコード「23」
が記憶される。 また、S41での結果が1となつたらS44に進み、
信号PA5を調べてそれが0になつていたらOK
に抜けるが、結果が1になつたらS45に進んでま
ずテスト信号PB5を1にしてみる。ついでS46
で検出信号PA5を読んでからS47でそれが0か
1かを調べる。S47での結果が1となつたらS48
を通つて出力接地不良フラグの準備をし、結果が
0になつたときにはS49でハーネスオープン不良
フラグの準備をしてそれぞれNGに抜ける。 つまり、S41で信号PA4が1となつたという
ことは、入力信号EGRが0であることを意味し、
従つてトランジスタ90が正常ならオフになつて
いる筈で、そのときにはトランジスタQ92はオ
ン、よつて検出信号PA5がS44で0ならOKとな
る。 また、S44で結果が1となつたとすれば、トラ
ンジスタQ92のベースに電源+Bからの電圧が
加えられていないことを意味するから、S45でテ
スト信号PB5を加えてみる。そして、それでも
トランジスタQ92がオンしないとき、即ちS47
での結果が1になつたときにはトランジスタ90
のシヨート又は出力端の接地であり、トランジス
タQ92がオンしてS47での結果が0になれば電
源+BからトランジスタQ92のベースに到る経
路がオープン、即ちハーネスオープン不良である
ことが判る。 従つてS48を通つたときにはコード「25」が、
そしてS49を通つたときにはコード「24」がそれ
ぞれ記憶される。 次にフユエルポンプ32の異常チエツクシステ
ムの一例を第25図ないし第27図に示す。 第25図はフユエルポンプ32のリレー駆動用
トランジスタQ32の回路で、そのコレクタから
検出信号PA2を取り出すようにしてある。 ところで、このフユエルポンプ32に対する異
常チエツクは、通常の運転状態におけるものとエ
ンスト状態になつたときのものと2種類あり、ま
ず第26図は通常運転時のもので、タイマ割込に
より例えば10分ごとに起動され、まずS60で制御
信号DIO0を1にしてトランジスタQ32をオフ
にしてみる。これは通常の運転状態ではフユエル
ポンプ32は動作状態にあり、従つて制御信号
DIO0は0になつているからである。 ついで所定の待ち時間を置いてからS61で検出
信号PA2が0になつたか否かを調べる。そして
結果がYESと判断されたらS62で信号DIO0を0
に戻してOKに抜ける。 また、S61での結果がNOとなつたらS63に進ん
でトランジスタQ32がシヨート不良になつたこ
とを示す不良フラグの準備をしてNGに抜ける。 つまりトランジスタQ32が正常なら、制御信
号DIO0によつてオン・オフし、検出信号PA2
もトランジスタQ32がオンなら1、オフなら0
になる筈だからである。 従つて、このときには、コード「33」が記憶さ
れる。 次に第27図はエンスト時の動作で、エンスト
タスク262(第5図)の一つのプログラムによ
つて遂行される。このフローに入ると、まずS72
で検出信号PA2が調べられてそれが0か否かが
判断される。そして結果がYESとなつたらS71に
進んでF/Pリレーを含む出力端シヨート不良フ
ラグが準備されNGに抜ける。 つまり、このときにはまだ信号DIO0が0にな
つているからトランジスタQ32はオンの筈であ
り、それにもかかわらず信号PA2が0から出力
端がシヨートであると判るのである。 従つて、このときには、コード「34」が記憶さ
れることになる。 また、S70での結果がNOとなつたら、次のS72
に向い、まず信号DIO0を1にしてトランジスタ
Q32をオフにしてから続くS73で再び信号PA
2を調べ、今度はそれが1になつたか否かを判断
する。S73での結果がNOならそのままOKに抜け
るが、YESのときにはS74でフユエルポンプ32
に到るハーネスがオープン不良のフラグを準備し
てNGに抜ける。 つまり、このときには、トランジスタQ32を
オフにしたにもかかわらず電源+Bからの電圧が
信号PA2として現われていることを示し、これ
は出力ハーネスのオープンを意味するに外ならな
いからである。 従つて、このときには、コード「35」が記憶さ
れることになる。 なお、このエンスト時での異常チエツクは、1
回だけで終了させ繰り返しては行なわない。従つ
て第16図のフローのうちS605とS606以外のス
テツプは省略される。 ところで、以上では特に説明しなかつたが、こ
のような従来例では、マイコンのROM104の
異常チエツクを例えばイニシヤライズ・プログラ
ム204(第5図参照)や割込みによる各種のタ
スクの中のプログラムの一つとしてそのまま行な
うようにしていた。 しかしながら、このROM104のチエツクに
はかなりの処理時間を要し、例えば通常EECに
用いられている8ビツト程度のマイコンでは約
200〔mSEC〕程度の時間を要していた。 このため、上記した従来例のようにイニシヤラ
イズ・プログラムの中でROMのチエツクを行な
うようにした場合には、キースイツチを入れてか
ら直ちにスタータスイツチを作動させた場合など
には、エンジン制御に必要なイニシヤライズが不
充分で始動が困難になるという問題点があり、ま
た、割込みタスクによつた場合にはマイコンの負
荷が大きくなつてエンジンの制御に充分追従でき
なくなつてしまう場合が生じるという問題点があ
つた。 従つて、従来は、これらの問題点の解決のため
マイコンの処理能力を上げる必要があり、コスト
アツプとなつてしまうという欠点があつた。 なお、この種の装置として関連するものには、
他にも特開昭53−110724公報や特開昭53−123728
号公報の開示を挙げることができる。 本発明の目的は、上記した従来例の欠点を除
き、マイコンの能力を上げることなくROMのチ
エツクを充分に行なうことができ、ROMに異常
を生じたときには正確に自己診断が行なわれて表
示されるようにしたEECの自己診断警報表示装
置を提供するにある。 この目的を達成するため、本発明は、制御回路
が自己診断結果を表わす不具合コードの表示モー
ドに切換えられたときにROMのチエツクを行な
つて不具合コードの記憶が行なわれるようにした
点を特徴とする。 以下、本発明による自己診断警報表示装置の実
施例を図面について説明する。 第28図は本発明の一実施例の動作を説明する
フローチヤートで、この図から明らかなように、
この実施例は第11図に示した警報モードとコー
ド表示モードを識別して動作を行なうフローチヤ
ートの中のコード表示モードの中にROMチエツ
クのための動作を組込んだものであり、レベル2
のタスクにより40〔mSEC〕ごとに起動され、ま
ずS1でデイスプレイスイツチ1108(第7図)
がONになつているか否かを調べ、結果がNOの
とき、つまりデイスプレイスイツチ1108が
OFFになつていたときには、第11図に関連し
て説明したようにS2、S3で不良フラグの有無に
よつて警報動作が行なわれる。 一方、S1での結果がYES、つまりデイスプレ
イスイツチ1108がONになつていることが検
出されたときには、この実施例において新たに組
込まれたS5〜S10に向い、まず、このS5でROM
104のチエツクが終了しているか否かをフラグ
をみて調べ、結果がYESのときには直ちにS4に
飛び、第11図で説明したように不具合コードの
表示動作が行なわれる。 しかしながら、ROM104のチエツク終了フ
ラグがセツトされていなかつたときには、この
S5での結果はNOになるから、次にS6に進んで
ROM104のチエツク動作に入り、ついでS7で
ROMチエツクが終了しているか否かを調べ、結
果がNOのとき、つまりS6でのチエツクが終了し
ていなかつたときにはそのままS4を通つてEXIT
に抜ける。 一方、S7での結果がYES、つまりROM104
のチエツクが終了していたときには、S8に向い、
このS8でROMチエツク終了フラグをセツトす
る。 従つて、これ以後、このフローに入つたときに
はS5から直ちにS4を通るようになる。 さて、S8でROMチエツク終了フラグをセツト
したら次にS9に進みROM104に不具合が検出
されていたか否かが調べられる。S9での結果が
NO、即ちROM104に異常がなく、S6でのチ
エツクで不具合が検出されていなかつたときには
そのままS4を通つてEXITに抜けるが、S9での結
果がYESとなつたら、即ちROM104に不具合
が検出されていたときには次のS10を通つて
RAM1104に不具合コード「51」を記憶し
てからEXITに抜ける。従つて、これ以後にこの
フローに入つたときにはROM104の異常を表
示する不具合コードが表示されることになる。 以上の結果、この本発明の実施例によれば、デ
イスプレイスイツチ1108がONに操作されて
装置がコード表示動作モードに入つたときにだけ
ROM104の異常検出動作が行なわれ、その結
果が表示されることになる。 一方、このデイスプレイスイツチ1108が
ONに操作されるのは、エンジン停止時、或いは
エンジンがアイドル運転状態にあるときがほとん
どであるから、EECのマイコンに対する負荷が
かなり小くなつているときとなつている。 従つて、上記実施例によれば、ROM104の
チエツクによりマイコンにかなりの負荷を与えた
としてもエンジンの制御動作にはほとんど影響を
与えずに済み、ましてエンジンの起動が不確実に
なつたりする虞れは少しもなくなる。 次に、第28図のS6におけるROMチエツク動
作の一実施例について説明する。 いま、ROM104が各アドレスごとに8ビツ
トの容量を有するものとしたとき、第29図に示
すように、これらの各アドレスのデータをそのま
まで全て加算して合計値を出す。この合計値は非
常に多くの桁になる筈であるが、そのうちの最下
位から8ビツトを取つてSumとし、それをあら
かじめ求めておいた基準値と比較して両者がイコ
ールになるか否かを調べ、結果がイコールとなつ
たときにはROM104には異常がなく、結果が
イコールにならなかつたときに不具合が検出され
たものとするのである。 この実施例によれば、ROM104のチエツク
を極めて簡単に、しかもかなりの確度をもつて行
なうことができる。 ところで、以上の実施例においては、RAM
1104のバツクアツプ用に電池1102を設け
ているが、この電池1102としては自動車用バ
ツテリーからキースイツチを経ないで直接電圧を
供給するようにしたものでもよく、或いは別に乾
電池などを設けるようにしてもよい。 勿論、RAM1104が不輝発性のメモリな
らこれらは不要なことはいうまでもない。 また、不具合コードの表示に警報ランプ110
6を使用しないで別の表示手段、例えば数字、文
字などを直接表示できる手段を設けたり、必要に
応じてプラグなどにより接続して不具合コードの
表示を行なわせるようにしてもよい。この場合に
はRAM1104の内容をそのまま数字、又は
文字で表示させることが可能である。 以上説明したように、本発明によれば、EEC
のマイコンに含まれているROMのチエツクをエ
ンジンの制御状態にほとんど影響を与えることな
く行なうことができるから、従来技術の欠点を除
いて故障修理や保守などが容易にしかも短時間で
行なうことができ、常に安全確実なエンジンの運
転状態を得ることのできる故障個所自己診断警報
表示装置をローコストのマイコンによつて提供す
ることができる。
第1図ないし第6図は燃料噴射タイプの内燃機
関に適用された電子式エンジン制御システムの一
例を示した図で、第1図は制御システムの一部を
含むエンジンの断面図、第2図は点火装置の概略
図、第3図は排気ガス環流装置のシステム図、第
4図は制御システムの全体構成ブロツク図、第5
図はそのプログラムシステム図、第6図はプログ
ラム内容を示すメモリ構成図、第7図は故障個所
自己診断警報表示装置の一例を示す全体構成ブロ
ツク図、第8図は不具合コードの一例を示す説明
図、第9図a,bは警報動作時におけるランプの
点灯モードの一例を示す説明図、第10図a〜c
はコード表示動作時におけるランプの点灯モード
の一例を示す説明図、第11図は警報動作とコー
ド表示動作を識別する方法の一例を示すフローチ
ヤート、第12図は警報動作の一例を示すフロー
チヤート、第13図ないし第15図はコード表示
動作の一例を示すフローチヤート、第16図は異
常チエツクの基体パターンの一例を示すフローチ
ヤート、第17図は点火系の異常チエツクシステ
ムの一例を示す回路図、第18図はその動作を示
すフローチヤート、第19図はエアフローセンサ
の異常チエツク動作の一例を示すフローチヤー
ト、第20図はエアフローセンサの動作説明図、
第21図はバイパスバルブの異常チエツクシステ
ムの一例を示す回路図、第22図はその動作説明
用のフローチヤート、第23図は制圧弁の異常チ
エツクシステムの一例を示す回路図、第24図は
その動作説明用のフローチヤート、第25図はフ
ユエルポンプの異常チエツクシステムの一例を示
す回路図、第26図及び第27図はその動作説明
用のフローチヤート、第28図は本発明の一実施
例におけるROMの異常検出動作を示すフローチ
ヤート、第29図はROMチエツクの一実施例を
示す概念図である。 104……ROM、1102……バツクアツプ
用の電池、1104……不輝発性メモリを構成す
るRAM、1106……警報ランプ、1108…
…デイスプレイスイツチ。
関に適用された電子式エンジン制御システムの一
例を示した図で、第1図は制御システムの一部を
含むエンジンの断面図、第2図は点火装置の概略
図、第3図は排気ガス環流装置のシステム図、第
4図は制御システムの全体構成ブロツク図、第5
図はそのプログラムシステム図、第6図はプログ
ラム内容を示すメモリ構成図、第7図は故障個所
自己診断警報表示装置の一例を示す全体構成ブロ
ツク図、第8図は不具合コードの一例を示す説明
図、第9図a,bは警報動作時におけるランプの
点灯モードの一例を示す説明図、第10図a〜c
はコード表示動作時におけるランプの点灯モード
の一例を示す説明図、第11図は警報動作とコー
ド表示動作を識別する方法の一例を示すフローチ
ヤート、第12図は警報動作の一例を示すフロー
チヤート、第13図ないし第15図はコード表示
動作の一例を示すフローチヤート、第16図は異
常チエツクの基体パターンの一例を示すフローチ
ヤート、第17図は点火系の異常チエツクシステ
ムの一例を示す回路図、第18図はその動作を示
すフローチヤート、第19図はエアフローセンサ
の異常チエツク動作の一例を示すフローチヤー
ト、第20図はエアフローセンサの動作説明図、
第21図はバイパスバルブの異常チエツクシステ
ムの一例を示す回路図、第22図はその動作説明
用のフローチヤート、第23図は制圧弁の異常チ
エツクシステムの一例を示す回路図、第24図は
その動作説明用のフローチヤート、第25図はフ
ユエルポンプの異常チエツクシステムの一例を示
す回路図、第26図及び第27図はその動作説明
用のフローチヤート、第28図は本発明の一実施
例におけるROMの異常検出動作を示すフローチ
ヤート、第29図はROMチエツクの一実施例を
示す概念図である。 104……ROM、1102……バツクアツプ
用の電池、1104……不輝発性メモリを構成す
るRAM、1106……警報ランプ、1108…
…デイスプレイスイツチ。
Claims (1)
- 【特許請求の範囲】 1 エンジンが運転中、所定のタイミングと所定
の条件のもとで、エンジン制御に必要な各種のセ
ンサとアクチユエータの自己診断を継続して行な
い、この診断結果を、エンジン制御装置が動作停
止してもデータの保持が可能なメモリに記憶さ
せ、所定のスイツチの操作により、上記メモリか
らデータを読出して所定の表示手段に表示させる
方式の電子式エンジン制御装置用自己診断警報表
示装置において、上記スイツチの操作に応じて発
生される信号の入力を条件として上記エンジン制
御装置に含まれたリード・オンリ・メモリの自己
診断処理を開始するチエツク手段と、該チエツク
手段により異常が検出されたときには該異常を表
わすデータを上記データの保持が可能なメモリに
格納する制御手段とを設け、上記エンジン制御装
置に含まれたリード・オンリ・メモリの自己診断
を行なうように構成したことを特徴とする電子式
エンジン制御装置の自己診断警報表示装置。 2 特許請求の範囲第1項において、上記リー
ド・オンリ・メモリのチエツク手段が、該リー
ド・オンリ・メモリの各アドレスのデータを加算
する手段と、該手段による加算結果の下位の所定
桁のデータを基準データと比較する手段を備え、
これらデータの一致状態により上記リード・オン
リ・メモリの異常を検出するように構成されてい
ることを特徴とする電子式エンジン制御装置の自
己診断警報表示装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56055611A JPS57171046A (en) | 1981-04-15 | 1981-04-15 | Self diagnostic alarm indicating system for electronic engine control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56055611A JPS57171046A (en) | 1981-04-15 | 1981-04-15 | Self diagnostic alarm indicating system for electronic engine control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57171046A JPS57171046A (en) | 1982-10-21 |
| JPH0229856B2 true JPH0229856B2 (ja) | 1990-07-03 |
Family
ID=13003553
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56055611A Granted JPS57171046A (en) | 1981-04-15 | 1981-04-15 | Self diagnostic alarm indicating system for electronic engine control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS57171046A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0644656U (ja) * | 1992-11-27 | 1994-06-14 | 池田物産株式会社 | 車両用シート |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59165044U (ja) * | 1983-04-15 | 1984-11-06 | 三菱自動車工業株式会社 | 車輛制御用マイクロコンピユ−タシステム |
| JPS62291537A (ja) * | 1986-06-11 | 1987-12-18 | Nippon Denso Co Ltd | 車両用総合診断装置 |
| JP2599262B2 (ja) * | 1986-08-25 | 1997-04-09 | 富士通テン 株式会社 | 電子式エンジン制御装置の故障診断装置 |
| JPH0767897B2 (ja) * | 1986-09-17 | 1995-07-26 | 日本電装株式会社 | 車両の異常警告装置 |
| JPH0758242B2 (ja) * | 1986-10-03 | 1995-06-21 | 富士重工業株式会社 | 電子制御装置 |
| JP2525871B2 (ja) * | 1988-07-22 | 1996-08-21 | 株式会社日立製作所 | エンジン制御装置診断システム |
| JP2589198B2 (ja) * | 1990-04-12 | 1997-03-12 | 株式会社ユニシアジェックス | 車両用制御装置 |
| JP2589197B2 (ja) * | 1990-04-12 | 1997-03-12 | 株式会社ユニシアジェックス | 車両用制御装置 |
| JP2885158B2 (ja) * | 1995-12-18 | 1999-04-19 | 日本電気株式会社 | 車両メンテナンス管理装置 |
| KR19990050088A (ko) * | 1997-12-16 | 1999-07-05 | 정몽규 | 제어장치의 오동작 개선 방법 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54146346A (en) * | 1978-05-09 | 1979-11-15 | Nippon Denso Co Ltd | Fault diagnosing method and device for electronic controller for automobile |
| JPS55128641A (en) * | 1979-03-23 | 1980-10-04 | Nissan Motor Co Ltd | Controlling system for vehicle |
-
1981
- 1981-04-15 JP JP56055611A patent/JPS57171046A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0644656U (ja) * | 1992-11-27 | 1994-06-14 | 池田物産株式会社 | 車両用シート |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS57171046A (en) | 1982-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6331731B2 (ja) | ||
| US6818120B2 (en) | O2-sensor fault diagnosis apparatus and method therefor | |
| JP4491967B2 (ja) | 自己診断機能を備えた車両用制御装置及び記録媒体 | |
| US6112150A (en) | Fault recognition system and method for an internal combustion engine | |
| US4587615A (en) | System for diagnosing an internal combustion engine | |
| JPH0342415B2 (ja) | ||
| US4546646A (en) | System for diagnosing an internal combustion engine | |
| JPS639098B2 (ja) | ||
| JP2010106785A (ja) | 排出ガス還流システムの異常診断装置 | |
| JPH0213137B2 (ja) | ||
| JPH06317148A (ja) | 内燃機関の排ガスへの二次空気供給を制御する方法と装置 | |
| US4896276A (en) | Self-diagnosis device and process for a micro-computer control system for a motor-vehicle internal combustion engine | |
| AU606997B2 (en) | Malfunction diagnostic apparatus for vehicle control system | |
| EP0030114B1 (en) | Method for starting an operation of an internal combustion engine and apparatus therefor | |
| US4590566A (en) | System for diagnosing an internal combustion engine | |
| JPH0135180B2 (ja) | ||
| JPS6349066B2 (ja) | ||
| JPH0230954A (ja) | 燃料制御装置 | |
| JPH0114528B2 (ja) | ||
| JP2721340B2 (ja) | 異常診断装置 | |
| KR100191412B1 (ko) | 전문가 시스템에 의한 자동차의 고장진단용 크랭킹시험방법 | |
| JPS6335820B2 (ja) | ||
| JP2001073861A (ja) | 排気温度センサの診断装置 | |
| KR100241669B1 (ko) | 문제 진단 장치 | |
| JP2004060579A (ja) | 内燃機関の診断方法及び診断装置 |