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
Application number
JP56055611A
Other languages
Japanese (ja)
Other versions
JPS57171046A (en
Inventor
Akira Teragakinai
Osamu Abe
Yasunori Mori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP56055611A priority Critical patent/JPS57171046A/en
Publication of JPS57171046A publication Critical patent/JPS57171046A/en
Publication of JPH0229856B2 publication Critical patent/JPH0229856B2/ja
Granted legal-status Critical Current

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)
  • 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)
  • Testing Of Engines (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明は、マイクロコンピユータ塔載のエンジ
ン制御装置を備えた自動車用ガソリンエンジンな
どにおける故障発生時の診断警報表示装置に関す
る。 大気汚染の防止による環境保全やエネルギー資
源の枯渇に関心が高まるにつれ、自動車用ガソリ
ンエンジンの運転状態を総合的に制御して排気ガ
スの状態を良くし、燃費の改善が図れるようにし
た制御装置が望まれるようになり、そのため、マ
イコン(マイクロコンピユータ)を用い、冷却水
温センサ、排気ガス中の酸素濃度を与える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表に各タスクの起動とその機能を示す。
TECHNICAL FIELD The present invention relates to a diagnostic warning display device when a failure occurs in an automobile gasoline engine or the like equipped with a microcomputer-mounted engine control device. As interest in environmental conservation by preventing air pollution and the depletion of energy resources increases, control devices are designed to comprehensively control the operating conditions of automobile gasoline engines to improve exhaust gas conditions and improve fuel efficiency. As a result, microcomputers are being used to collect signals from sensors that provide various data that represent the operating status of the engine, such as a cooling water temperature sensor and an O2 sensor that provides the oxygen concentration in exhaust gas. The electronic engine control device (EEC) controls various factors such as fuel intake, fuel supply amount, ignition timing, exhaust gas recirculation amount, and idle speed to ensure that the engine is always in the optimal operating state. It has come to be used. An example of a system in which such EEC is applied to a fuel injection type internal combustion engine is shown in FIGS. 1 to 6. Fig. 1 is a partial cross-sectional view schematically showing the entire engine control system.
6 and is supplied to cylinder 08. The gas burned in the cylinder 08 passes through the exhaust pipe 10 from the cylinder 08 and is discharged into the atmosphere. The throttle chamber 04 is provided with an injector 12 for injecting fuel, and the fuel injected from the injector 12 is atomized within the air passage of the throttle chamber 04 and mixed with intake air. A mixture is formed, and this mixture is supplied to the combustion chamber of the cylinder 08 through the intake pipe 06 when the intake valve 20 is opened. A throttle valve 14 is located near the outlet of the injector 12.
16 are provided. The throttle valve 14 is configured to mechanically interlock with the accelerator pedal and is driven by the driver. On the other hand, the throttle valve 16 is arranged so as to be driven by the diaphragm 18, and is fully closed when the air flow rate is small.As the air flow rate increases, the negative pressure on the diaphragm 18 increases, so that the throttle valve 16 It begins to open and suppresses the increase in inhalation resistance. An air passage 22 is provided upstream of the throttle valves 14 and 16 of the throttle chamber 04, and this air passage 22 includes a thermal air flow meter consisting of an electric heating element,
That is, a flow rate sensor 24 is provided, and an electric signal AF that changes depending on the air flow rate determined from the relationship between the air flow rate and the amount of heat transferred from the heating element is taken out. Since the flow rate sensor 24 made of this heating element (hot wire) is installed in the bypass air passage 22, it is protected from high-temperature gas generated when the cylinder 08 backfires, and it is also protected from being contaminated by dust in the intake air. It is also protected from. The outlet of this bypass air passage 22 is opened near the narrowest part of the bench lily, and the inlet thereof is opened on the upstream side of the bench lily. Fuel supplied to the injector 12 is supplied from a fuel tank 30 to a fuel pressure regulator 38 via a fuel pump 32, a fuel damper 34, and a filter 36. On the other hand, pressurized fuel is supplied from the fuel pressure regulator 38 to the injector 12 via a pipe 40.
Fuel is returned from the fuel pressure regulator 38 to the fuel tank 30 via the return pipe 42 so that the difference between the pressure in the intake pipe 06 where fuel is injected from the fuel pressure regulator 38 and the fuel pressure to the injector 12 is always constant. It's summery. The air-fuel mixture taken in from the intake valve 20 is transferred to the piston 5.
0 and is combusted by a spark from the ignition plug 52, and this combustion is converted into kinetic energy. The cylinder 08 is cooled by cooling water 54, the temperature of this cooling water is measured by a water temperature sensor 56, and this measured value TW is used as the engine temperature. A high voltage is supplied to the spark plug 52 from an ignition coil 58 in accordance with the ignition timing. Further, a crankshaft (not shown) is provided with a crank sensor that outputs a reference angle signal and a position signal at each reference crank angle and at each fixed angle (for example, 0.5 degrees) according to the rotation of the engine. The output of this crank angle sensor, water temperature sensor 56
output signal TW and electrical signal from heating element 24
The AF is inputted to a control circuit 60 consisting of a microcomputer or the like and subjected to arithmetic processing, and the output of this control circuit 60 drives the injector 12 and the ignition coil 58. Furthermore, the throttle chamber 04 has a throttle valve 1.
A bypass 26 is provided that straddles the intake pipe 6 and communicates with the intake pipe 06, and this bypass 26 is provided with a bypass valve 61 that is controlled to open and close. This bypass valve 61 faces the bypass 26 provided by bypassing the throttle valve 16, and is controlled to open and close by a pulse current, and the cross-sectional area of the bypass 26 is changed depending on the lift amount. The drive section is driven and controlled by the output of the control circuit 60. That is, the control circuit 60 generates an opening/closing periodic signal for controlling the driving section, and the driving section adjusts the lift amount of the bypass valve 61 based on this opening/closing periodic signal. Therefore, the injector 12 shown in FIG. 1 is controlled to control the air-fuel ratio (A/F) and fuel increase control, and the bypass valve 61 and the injector 12 control the engine speed at idle (ISC).
Do this. FIG. 2 shows an ignition system in which a pulsed current is supplied via an amplifier 62 to a power transistor 64, which turns on the transistor 64. As a result, the ignition coil 58 from the battery 66
Primary coil current flows to. When the input pulse current falls, the transistor 64 is cut off, and
A high voltage is generated in the secondary coil of the ignition coil 58. This high voltage is distributed via the power distributor 70 to each of the spark plugs 52 in each cylinder of the engine in synchronization with the engine rotation. FIG. 3 is for explaining an exhaust gas recirculation (EGR) system, in which constant negative pressure from a negative pressure source 80 is applied to a control valve 86 via a pressure control valve 84.
The pressure control valve 84 controls the ratio of the negative pressure of the constant negative pressure source to the atmosphere 88 according to the ON duty ratio of the repeated pulses applied to the transistor 90, and controls the state of application of the negative pressure to the control valve 86.
Therefore, the negative pressure applied to the control valve 86 is determined by the ON duty ratio of the transistor 90. The controlled negative pressure of the pressure control valve 84 causes the exhaust pipe 10 to flow into the intake pipe 0.
The amount of EGR to 6 is controlled. Figure 4 is an overall configuration diagram of a control system using a microcomputer, which includes a central processing unit 102 (hereinafter referred to as CPU), a read-only memory 104 (hereinafter referred to as ROM), and a random access memory 106 (hereinafter referred to as ROM). (referred to as RAM) and an input/output circuit 108.
The CPU 102 calculates input data from the input/output circuit 108 using various programs stored in the ROM 104, and returns the calculation results to the input/output circuit 108 again. RAM 106 is used for intermediate storage necessary for these operations. CPU102,
Various types of data are exchanged between the ROM 104, RAM 106, and input circuit 108 via a bus line 110 consisting of a data bus, a control bus, and an address bus. The input/output circuit 108 includes a first analog-to-digital converter 122 (hereinafter referred to as ACD1).
and a second analog-to-digital converter 12
4 (hereinafter referred to as ADC2) and angle signal processing circuit 1
26 and a discrete input/output circuit 128 (hereinafter referred to as DIO) for inputting and outputting 1-bit information. ADC1 has a battery voltage detection sensor 132
(hereinafter referred to as VBS) and cooling water temperature sensor 56 (hereinafter referred to as VBS)
(hereinafter referred to as TWS) and atmospheric temperature sensor 136 (hereinafter referred to as TAS)
) and vehicle speed sensor 138 (hereinafter referred to as VRS)
The outputs of the throttle angle sensor 140 (hereinafter referred to as θTHS) and the O 2 sensor 142 (hereinafter referred to as O 2 S) are added to the multiplexer 162 (hereinafter referred to as MPX), and the MPX 162 selects one of them.
Select one to convert analog/digital/conversion circuit 1
64 (hereinafter referred to as ADC). ADC16
The digital value that is the output of 4 is stored in register 166.
(hereinafter referred to as REG). The angle sensor 146 (hereinafter referred to as ANGS) outputs a signal indicating a reference crank angle, for example, 180 degrees crank angle (hereinafter referred to as REF), and a signal indicating a minute angle, for example, 1 degree crank angle (hereinafter referred to as POS). The signal is applied to the angle signal processing circuit 126, where the waveform is shaped. DIO 128 includes an idle switch 148 that operates when the throttle valve 14 returns to the fully closed position.
(hereinafter referred to as IDLE-SE), top gear switch 150 (hereinafter referred to as TOP-SW), and starter switch 152 (hereinafter referred to as START-SW)
is entered. Flow rate sensor 24 (hereinafter referred to as AFS) is ADC2
is input to analog/digital/conversion circuit 1
72 (hereinafter referred to as ADC), it is digitally converted and set in a register 174 (hereinafter referred to as REG). Next, the pulse output circuit and control target based on the calculation results of the CPU will be explained. The injector control circuit (denoted as INJC) is a circuit that converts the digital value of the calculation result into a pulse output. Therefore, a pulse with a pulse width corresponding to the fuel injection amount
INJ is made with INJC1134, AND gate 11
36 to the injector 12. The ignition pulse generation circuit 1138 (hereinafter referred to as IGNC) has a register (hereinafter referred to as ADV) for setting the ignition timing and a register (hereinafter referred to as DWL) for setting the primary current energization start time of the ignition coil.
These data are set by the CPU. Generates a pulse IGN based on the set data,
AND gate 11 to amplifier 62 detailed in FIG.
Apply this pulse IGN via 40. The opening rate of the bypass valve 61 is determined by the control circuit (hereinafter referred to as
ISCC) 1142 to AND gate 1144
is controlled by a pulse ISC applied via. ISCC 1142 has a register ISCD for setting the pulse width and a register ISCP for setting the repetition pulse period. The EGR amount control pulse generation circuit 178 (hereinafter referred to as EGRC) that controls the transistor 90 that controls the EGR control valve 86 shown in FIG. 3 has a register that sets a value representing the pulse duty.
It has EGRD and a register EGRP for setting a value representing the pulse repetition period. This EGRC
The output pulse EGR of is applied to transistor 90 via AND gate 1156. Further, the 1-bit input/output signal is controlled by the circuit DIO128. IDLE-SW as input signal
signal, TOP-SW signal, and START-SW signal. Further, the output signal includes a pulse output signal for driving the fuel pump. This DIO has a register DDR192 for determining whether the terminal is used as an input terminal or an output terminal,
Register DOUT for latching output data
194 are provided. The mode register 1160 is a register (hereinafter referred to as MOD) that holds instructions for specifying various states inside the input/output circuit 108. For example, by setting an instruction to the mode register 1160, the AND gates 1136, 1140, 1144,
All 1156 are activated or deactivated. Like this MOD register 11
By setting the command to 60, INJC and
You can control the stop and start of IGNC and ISCC output. As mentioned above, DIO 128 is a 1-bit signal input/output circuit, and is a register (hereinafter referred to as DDR) 1 that holds data for determining input or output.
92 and a register 194 (hereinafter referred to as DOUT) for holding data to be output.
This DIO 128 outputs a signal DJO0 for controlling the fuel pump 32. FIG. 5 is a program system diagram of the control circuit of FIG. 4. When the power is turned on by a key switch (not shown), the CPU 102 enters a start mode and executes an initialization program (INITIALIZ) 204. Next, execute the monitoring program (MONIT) 206 and execute the BACK GROUND JOB 2.
Execute 08. This background job includes, for example, the EGR amount calculation task (hereinafter referred to as EGR
CAL TASK) and a calculation task (hereinafter referred to as FISC) for the bypass valve 61 and injector 12 during warm-up operation. During the execution of this TASK, if an interrupt factor (hereinafter referred to as IRQ) occurs,
From the IRQ disclosure step 222, an IRQ factor analysis program 224 (hereinafter referred to as IRQ ANAL) is executed. This IRQ ANAL program is further
ADC1 end interrupt processing (hereinafter referred to as ADC1 END)
IRQ) program 226, ADC2 end interrupt processing (hereinafter referred to as ADC2 END IRQ) program 228, and certain period elapsed interrupt processing (hereinafter referred to as ADC2 END IRQ)
It consists of an engine stop interrupt processing (hereinafter referred to as INTV IRQ) program and an engine stop interrupt processing (hereinafter referred to as ENST IRQ) program, and issues a start request (hereinafter referred to as QUEUE) to each task that needs to be started, which will be described later. Each program in this IRQ ANAL program 224 ADC1 END IRQ226 and ADC2
Each task to which a QUEUE is issued by each program of END IRQ 228 and INTV IRQ 230 is level zero task group 252 or level 1 task group 2.
54, level 2 task group 256, level 3 task group 258, or tasks constituting each task group. The task in which QUEUE is generated by the ENST IRQ program 232 is the engine stop processing task 262 (hereinafter ENST
(written as TASK). This ENST TASK26
2 is executed, the control system starts again.
mode and returns to the starting point 202. The task scheduler 242 sets the execution order of the tasks so that they are executed starting with the task in which the QUEUE is occurring or the task with the highest level among the tasks whose execution has been interrupted (here, level zero is the highest). decide. When the execution of the task group is completed, the completion report program 260 (hereinafter referred to as EXIT) reports the completion. Based on this completion report, the task group with the highest level among the task groups waiting for execution is executed next. When there are no more suspended tasks or tasks with QUEUE, the task scheduler 242
The process then moves on to executing the background job 208 again. Furthermore, if an IRQ occurs while any of the level 0 task group to level 3 task group is being executed, the process returns to the starting point 222 of the IRQ processing program. Table 1 shows the activation of each task and its functions.

【表】 この第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のチエツクをエ
ンジンの制御状態にほとんど影響を与えることな
く行なうことができるから、従来技術の欠点を除
いて故障修理や保守などが容易にしかも短時間で
行なうことができ、常に安全確実なエンジンの運
転状態を得ることのできる故障個所自己診断警報
表示装置をローコストのマイコンによつて提供す
ることができる。
[Table] In this Table 1, IRQ ANAL
There are programs, TASK SCHDULER, and EXIT. These programs (hereinafter referred to as OS) are held at addresses A000 to A300 of the ROM 104 as shown in FIG. Furthermore, as a level zero program
AD1IN, AD1ST, AD2IN, AD2ST, RPMIN
There are various programs, usually INTV IRQ 10 [m
SEC]. As a level 1 program
There are INJC, IGNCAL, and DWLCAL programs.
It is activated every 20 [mSEC] of INTV IRQ. A level 2 program is the LAMBDA program, which is activated every 40 [mSEC] of INTV IRQ. There is a HOSEI program as a level 3 program, which is activated every 100 [mSEC] of INTV IRQ. There are also EGRCAL and FISC programs as background jobs. The above level zero program starts from address A700 of ROM104 in Figure 6 as PROG1.
Remembered by AAFF. Level 1 program is PROG2 at address AB00 of ROM104.
It has been stored in ABFF since then. The level 2 program is PROG3 at address AE00 of ROM104.
It has been stored in AEFF since then. Level 3 program is PROG4 at ROM10.4 address
Stored in AF00 to AFFF. Also, background job programs are held in B000 to B1FF. The above program
Lift the start address of each program from PROG1 to PROG4 (hereinafter referred to as SETMR)
is held from B200 to B2FF, and from PROG1
The value representing each program startup cycle up to PROG4 (hereinafter referred to as TTM) is from address B300 to B3FF
is stored in Other data is stored at addresses B400 to B4FF of the ROM in FIG. 6 as necessary. Following that, data ADV.MAP and AF.MAP for calculation,
Each EGR.MAP is memorized. Note that a detailed explanation of other operations will be omitted. Thus, according to the EEC mentioned above,
Almost all controls related to the engine, such as A/F control, can be appropriately performed, and the engine can fully meet the strict exhaust gas regulations, as well as provide an engine with excellent fuel efficiency. By the way, in general, when a car or other vehicle becomes malfunctioning due to a malfunction, it is extremely rare for the user to find the malfunctioning part and perform repairs or inspections on his/her own; in most cases, the user will have to request a repair shop to do the work. It is customary to find the malfunctioning part, repair it, and inspect it. However, as mentioned above, automobile engines equipped with EEC use a large number of various sensors and actuators, and their failure modes are diverse and diverse, and failures are rarely obvious from the outside. When a failure occurs, it is extremely difficult to identify the location where the failure occurred. In addition, many malfunctions can only be discovered when the engine operating conditions meet specific conditions, so even if a user complains of a malfunction, the same problem cannot be detected while the engine is actually operating. Unless the conditions are reproduced, the failure cannot be discovered. Therefore, in the conventional EEC, when a failure occurs, it is difficult to accurately diagnose it, and locating the failure location requires a high degree of skill and a lot of time. Therefore, the operation of the various sensors and actuators of the EEC mentioned above is constantly monitored and an alarm is issued when a failure is detected, and a memory means is provided so that the stored data does not disappear even when the EEC operation is stopped. If a malfunction occurs in any of the sensors or actuators, you can immediately know about it, and even after the engine has stopped,
A fault location self-diagnosis alarm device for EEC has been proposed which allows the fault location to be immediately known as it is, and an example thereof will be described below with reference to FIGS. 7 to 27 of the drawings. In this conventional example, most of the configuration as an EEC is the same as the conventional example shown in FIGS. 1 to 6, so only the different points will be explained in detail in the following explanation. FIG. 7 shows a conventional example of a control system in which a failure location self-diagnosis alarm display device is applied to EEC.The difference from the conventional example shown in FIG. A RAM 1104 is provided that is backed up and configured to operate as a memory that does not generate brightness.
A warning lamp 1106 and a display switch (hereinafter referred to as DISP-SW) 1108 are provided. And CPU102, ROM104, RAM1
By a microcomputer program such as 06,
Checks inputs from various sensors 132 to 148 including air flow rate sensor 24, water temperature sensor 56, etc., and inputs from various switches such as idle switch 148 to start switch 152, and checks inputs from various switches such as idle switch 148 to start switch 152, respectively, under predetermined timing and conditions. 12. The outputs of various actuators such as the fuel pump 32 and bipal valve 61, as well as the amplifier 62 and transistor 90 included therein, are checked, and if any abnormality is found in these inputs or outputs, the As shown in the figure, coded data corresponding to those abnormalities (hereinafter simply referred to as malfunction codes) is
It is written in the RAM 1104 and displayed on the alarm lamp 1106 as necessary. Therefore, if the above abnormality occurs while driving the car or when starting the engine, the warning lamp 1106 immediately displays the abnormality, allowing the driver of the car to continue driving without knowing that a malfunction has occurred. It is possible to prevent this from happening. The lighting mode of the warning lamp 1106 at this time is, for example, as shown in Fig. 9 a and b.
indicate cases in which an abnormality has already been detected before starting. As is clear from FIG. 9a, the lamp lights up when the key switch is turned on, and then goes out when the engine starts. This makes it possible to check that there is no abnormality in the alarm lamp 1106 itself. The lamp remains off as long as no abnormality occurs. Next, when a malfunction occurs, the light goes into a flashing mode in which the light is turned on for 0.6 seconds at 0.6 second intervals.
The light will continue to blink until the problem is resolved, and if the problem is resolved for some reason, it will remain off. At this time, if the engine stalls, the light will remain on as it does from the time the key switch is turned on until the engine starts. Furthermore, as is clear from FIG.
6 continues flashing. Furthermore, even if the engine stalls at this time, the flashing mode will not change this time. Therefore, simply by seeing the flashing warning lamp 1106, one can know that some kind of abnormality has occurred and that further continuation of the operation is no longer desirable. Next, when the display switch 1108 is operated, an input is given to the CPU 102 via the DIO 128, the operation mode of this control circuit becomes a fault code display mode, and the program is switched. When you enter this display mode program, RAM
The code is read from 1104, and the alarm lamp 110 is turned on according to the read code.
Since the lighting mode of 6 is controlled, a person who inspects or repairs a car, such as a service operator, can simply read the code from the flashing mode of this warning lamp 1106 to detect abnormalities in various sensors, actuators, etc. Since it is possible to identify the object and also know the nature of the abnormality at the same time, inspections and repairs can be carried out easily and accurately in a short period of time. The lighting mode of the alarm lamp 1106 at this time is, for example, as shown in FIGS. 10a to 10b. First, a shows the alarm lamp 110 when the display switch 1108 is operated to switch to the display mode and no malfunction has occurred up to that point.
6 lighting mode, the code at this time is [01] as shown in Figure 8, so after 2.4 seconds of preparation time has elapsed after the display starts, the code at this time is 0.3.
Repeat lighting for 3 seconds and turning off for 3 seconds 3 times. In this state, display switch 1108 is turned on.
keep it for as long as it takes. Next, when b is in display mode, by then
If an error occurs in which the ISC terminal shorts, and as a result, code [22] is stored in RAM 1104, after 2.4 seconds of preparation time,
1.2 seconds of lighting time with 0.6 seconds of turning off time 2
3 times, and then a blinking state in which the lighting time of 0.3 seconds occurs twice in succession is repeated 3 times. As is clear from these Figures 10a and b,
The number of flashes for 1.2 seconds following the 2.4 seconds of preparation time represents the 10s digit of the code, and the number of flashes for 0.3 seconds represents the 1s digit of the code.
It can be seen that the 3 seconds of lights-out time represents a code break. Therefore, in Figure 10a, the code is [01], so it lights up for 0.3 seconds once, and in Figure 10b, the code is [22], so it lights up twice for 1.2 seconds.
The lights appeared twice for 0.3 seconds each. In this way, display switch 110
Warning lamp 1106 that occurs when 8 is turned on
The code previously stored in the RAM 1104 can be visually read very easily depending on the lighting state of the code, and the location of the abnormality can be easily identified and the contents of the abnormality can be easily known. By the way, since such an EEC is equipped with a large number of sensors and actuators, there is a considerable possibility that malfunctions may occur at the same time or at multiple locations within a relatively short period of time. Therefore, in this conventional example, the RAM 1104
has multiple addresses, for example 3.
It is now possible to memorize specific fault codes. Therefore, in such a case, when the display switch 1108 is turned on and switched to the fault code display mode, the plurality of fault codes that have been stored up to that point are sequentially displayed three times as shown in Figure 10c. It is now displayed one by one. In other words, if the currently memorized fault codes were [22] and [15], code [22] would be displayed three times, followed by code [15] three times, and this would cause switch 1108 to be displayed. This will repeat until you turn it off. Therefore, even if a plurality of abnormalities have occurred up to that point, up to three abnormalities are stored and displayed in sequence, making it extremely easy to discover the malfunction. In addition, even if there is no problem,
The purpose of storing the code [01] in the RAM 1104 and reading it out and displaying it during the display mode is to confirm that no abnormality has occurred in the system including the RAM 1104. It can be done reliably. In this way, according to the above conventional example, when an abnormality occurs during engine operation, the abnormality occurs in the battery 110.
2 is encoded and stored in the RAM 1104, which operates as a non-luminous memory, so the location and contents of the problem can always be known with certainty even after the engine has stopped. Next, operations in the alarm mode and code display mode when a malfunction of the various sensors and actuators shown in FIG. 8 are detected will be described. Figure 11 is a flowchart showing the operation for identifying alarm mode and code display mode, which is incorporated into the level 2 task in the program system diagram shown in Figure 5, and is activated every 40 [mSEC]. ing. When entering this task, it is determined in step (hereinafter referred to as S) 1 whether the display switch 1108 is ON or not, and if NO, the process advances to S2.
Check the RAM 1104 to see if there is a defect flag, and if NO, proceed directly to EXIT.
When the result in S2 is YES, an alarm operation in S3 is performed. Also, if the result is YES in S1, move on to S4,
Performs code display operation. Figure 12 is a flowchart showing the details of alarm operation S3 in Figure 11.
In S31, it is determined based on the flag whether or not the time setting is completed. If the result in S31 is NO, the process advances to S32 to set the flag. This is for checking the completion of the time setting required in S31. Then in S33
Set the time to 0.6 seconds. This time setting is performed by setting an initial value to a counter. Finally, in S34, the state of the alarm lamp 1106 is reversed, and then the process goes to EXIT. Also, when the result in S31 becomes YES,
Proceed to S35 and determine whether 0.6 seconds have elapsed by looking at the counter set in S33. If the result is NO, subtract 1 from the time counter in S37 and proceed to EXIT. Furthermore, if the result in S35 is YES, the flag is reset in S38 and then the process proceeds to EXIT. Therefore, the next time this flow is entered, the process will proceed from S31 to S32. The result of executing the above flow is as follows. First, the first thing that comes into this flow is
As is clear from FIG. 11, this is when an abnormality occurs and the defect flag is raised in a state where there was no defect flag until then. Therefore, when entering S34 from S31 through S32 and S33, the warning lamp 1106 is still on.
is not lit. Therefore, in S34, lamp 110
6 lighting is performed. And after that, 40 [m
SEC] When entering this flow, the time counter is sequentially decremented in S37, and when 0.6 seconds have passed, it becomes 0, so the flag is reset in S38. So next time I go from S31 to S34 again, but this time the lamp is lit, so
This time, the lamp 1106 is turned off. Accordingly, the alarm operations shown in FIGS. 9a and 9b are performed by the flow shown in FIG. 12. It should be noted that the time counters referred to as S33, S35, S37, etc. are configured by software by the program of the CPU 102 using the memory area of the RAM 106 (Fig. 7), and it is clear from the above explanation. The initial value that should be set in S33 is 0.6 seconds, as shown in
The value divided by 40 [mSEC], that is, 15. Next, FIGS. 13 to 15 are flowcharts showing details of the code display operation S4 in FIG.
When entering this flow, first check the flag in S301 to determine whether the 2.4 second timer is set, and if NO, proceed to S302 and turn on the alarm lamp.
106 is turned off, a 2.4 second timer is set, and a flag is set. Next, I turn to S303 and check the flag to see if 2.4 seconds have elapsed. If the result in S301 is YES, skip S302 and proceed to S303. If the result here is NO
Head to S304 and subtract 1 from the 2.4 second timer there.
Next, check whether the 2.4 second timer has reached 0 in S305, and if NO, exit from EXIT, but if YES, exit from EXIT.
Set the flag in S306. By executing these steps S301 to S306, the light-off time of 2.4 seconds from the start of the display shown in FIGS. 10a and 10b is set. Note that the timer referred to here is the same as the time counter described above, and is configured in software. After this, the code is displayed in the manner shown in Figures 10 a to 10 b, but this point can be easily understood by looking at the flowcharts in Figures 13 to 15, so a detailed explanation will be provided. is omitted. Next, abnormality detection operations of the various sensors and actuators described above will be explained. In the above conventional example, when detecting an abnormality in a sensor, etc., the determination of whether or not there is an abnormality is repeated multiple times, for example, five times, and a temporary abnormality that happens to occur at the time of abnormality detection or noise that strays into the signal system, etc., may mistakenly cause an abnormal state. In order to eliminate detection results that have become false and to reliably detect only true abnormalities, the operation shown in the flowchart of FIG. 16 is performed. That is, when an abnormality detection program for various sensors, etc. is entered under predetermined conditions or timing, the operation shown in FIG. 16 is performed, and first, in S601, it is determined whether or not there is an abnormality. Note that the determination operation in S601 corresponds to various types of sensors and actuators, and some examples will be described later. If the determination result in S601 is NG, that is, abnormal, the process advances to S602 and the NG counter is incremented. This NG counter is for counting the number of judgments. Then I entered S603 and this NG
Check whether the contents of the counter are 5 or not. By the way, if the result for S601 is now NG for the first time, the result for S603 is of course
Since the answer is NO, proceed directly to EXIT and end this operation. Next time this flow starts, if the result in S601 becomes NG again, the above operation will be repeated, and each time the NG counter will be increased in S602.
1. Therefore, if the operation of this flow is started and the result in S601 is NG each time,
In other words, during that time, the abnormal condition continues and it is 5
The result in S603 becomes YES only when the abnormality is detected several times. In this case, the process proceeds to S604 to set the contents of the NG counter to 0, and then sets the defect flag indicating that an abnormality has been detected in S605. Then, in S606, NG processing is performed such as storing a code corresponding to the content of the abnormality at a predetermined address in the RAM 1104 according to FIG. 8, and the flow exits. Also, if the result in S601 is OK, that is, there is no abnormality, proceed to S607 and check the contents of the NG counter, and if it has not reached 0, that is, the result is NO, proceed to S608 and check the contents of the NG counter. Set the contents to 0 and proceed to S608. On the other hand, S607
If the result is YES, proceed directly to S609,
Check whether the defective flag is set or not. If the result is YES, clear the defective flag through S610 and then exit to EXIT. If the result is NO, proceed to EXIT.
Immediately exit to EXIT from S609. As a result of the operation according to the flowchart in FIG. 16, each time the judgment result in S601 becomes OK, that is, there is no abnormality, the NG counter is reset to 0 and the defective flag is cleared in S607 to S610. Therefore, the judgment result in S601 is 5 times,
The failure flag is set through S605 only when the result is NG continuously, that is, there is an abnormality, and abnormalities due to temporary abnormalities or false detections due to noise can be eliminated. Note that if the content of the NG counter in S603 is set to another number, the number of times the check is performed can be set to an arbitrary number accordingly. In addition, in this conventional example, after an abnormality occurs five times in a row and the failure flag is set and NG processing is performed,
Even if the result in S601 is OK, the defect flag is set and NG processing is performed again only when NG occurs five times in a row.However, once the defect flag is set, NG processing is performed again. It can be considered that the reason why the judgment becomes OK after the test is carried out is more likely to be due to an error being determined as normal than if the abnormality disappears.
If the determination becomes NG after that, the defect flag may be reset and NG processing may be performed immediately. In other words, in this case, even if the result in S601 is not NG five times in a row, S602 is immediately executed just once.
Then, it passes through S605. To this end, for example, a step may be provided after S610 to set the contents of the NG counter to 4. Next, the abnormality check of various sensors and actuators shown in S601 of FIG. 16 will be explained. FIG. 17 shows an example of an ignition system abnormality check system, in which an amplifier 62 is provided with a test input terminal 621, a test signal PA 0 is supplied to the base of an amplification transistor Q62 via a transistor Q65, and a test output A terminal 622 is provided to take out the detection signal AI6. FIG. 18 is a flowchart showing the abnormality check operation. This ignition system abnormality check system is incorporated as one task in the engine stall task 262 (FIG. 5), and is activated when the engine stalls. When we start this flow, first we start with the signal at S801.
Examine AI6 and determine whether it is greater than 0.5V. At this time, the engine is stalled, so IGN is 1
, while the signal PA 0 still remains at 0. Therefore, since the ON signal should be supplied to the base of transistor Q62,
If the result in S801 is YES, transistor Q
This means that an abnormality has occurred in transistor Q62 and the collector-emitter is open, so a defect flag indicating that transistor Q62 is open is prepared through S802, and the judgment result in S601 (Figure 16) is NG. Then I headed towards S602. Therefore, at this time, the code "38" is stored in RAM according to Figure 8.
1104. Furthermore, if the result in S801 is NO, proceed to S803 and first set the test signal PA 0 to 1. and S804
Proceed to check the detection signal AI6 and find that it is 1.3V±
Determine whether it is within the 0.5V range. Note that this voltage value of 1.2V±0.5V is the forward voltage between the base and emitter of the transistor 64, so it goes without saying that it is necessary to set the voltage value appropriately depending on the type of transistor used as the transistor 64. do not have. Now, if the result in S804 is YES, it means that no abnormality has been detected, so we return the test signal PA 0 to 0 for S805, and the judgment in S601 is OK, so as shown in Figure 16. Head to S606. On the other hand, if the result in S804 is NO, the next S806
Then, it is checked whether the voltage value of the detection signal AI6 is greater than 1.7V. If the result is NO, the harness part up to transistor 64 or transistor Q
62 and 64, and when the result is YES, it indicates that the harness part up to transistor 64 is open, so the code "36" or "37" to be stored in the RAM 1104 according to FIG. Prepare to set bad flag
This is done in S807 or S808, and then the test signal PA 0 is returned to 0 in S809, and the determination result becomes NG. Next, a conventional example of abnormality checking operation of the air flow sensor AFS will be explained with reference to the flowchart of FIG. This operation is processed as one task of the level 2 task 256 in Fig. 5. When entering this flow, data from the AFS 24 (Fig. 7) is first fetched from the RAM 106 in S901, and then the data is judged in S902. Do this. As shown in Figure 20, this AFS24 generates an output voltage within the range under normal conditions, so when it is determined in S902 that the data is within the range, the determination result is unchanged.
OK. However, when the result in S902 is determined to be a low output state, the process proceeds to S903, prepares to set a defective flag corresponding to the low output, and exits with a determination result of NG. Therefore, at this time, the code "14" is stored according to FIG. Also, when the result in S902 is determined to be a high output state, the process goes to S904 to check whether the engine rotation speed is 4000 rpm or more, and if the result is YES, exits with OK. On the other hand, the result is
If NO, the process advances to S905, prepares to set a failure flag corresponding to the large output, and then exits to NG. Therefore, at this time, as shown in Figure 8,
Code "15" is memorized. In addition, here S904
The reason for this is that even if the AF data reaches the high output range, it is not abnormal when the engine speed is high. Next, FIG. 21 shows an example of an abnormality check system for the actuator that controls the idle speed, that is, the bypass valve 61. In the figure, 210 and 211 are detection signals PA6
and the output terminal of PA7, 212 is the input terminal of test signal PB7, Q213 is the amplification transistor, Q2
14 is a driving transistor, and Q215 is a detection transistor. FIG. 22 is a flowchart showing the abnormality check operation, in which background job 208 (fifth
(Figure) is executed as one program, and when this flow starts, the detection signal is first detected in S20.
PA6 and PA7 are read, and then it is checked in S21 whether signal PA6 is 0 or 1. Then, when the result becomes 1, the signal is sent in the following S22.
Check whether PA7 is 0 or 1, and if the result is 1, it is assumed that there is no abnormality and exits successfully. In other words, signal PA6
is 1, which means that the signal ISC is 1, so it is normal for both transistors Q213 and Q214 to be on, and therefore transistor Q21 is turned on.
5 should be off, so at this time the signal
If PA7 is also 1, it means that there is no abnormality. Also, if the result in S22 becomes 0, this indicates that one or both of transistors Q213 and Q214 is open, so proceed to S23 and prepare to set the defective flag.
Exit to. Therefore, at this time, the code "20" will be stored according to FIG. On the other hand, if the result in S21 becomes 0, proceed to S24, check signal PA7, and if it becomes 0, proceed to S24.
Proceed to OK. That is, if the signal PA6 is 0, the signal ISC is 0, transistors Q213 and Q214 are off, and therefore the transistor Q215 is on. Therefore, if the signal PA7 is also 0, an abnormal state occurs. However, if the result in S24 becomes 1, the next S25
After setting the test signal PB7 of the terminal 212 to 1, the signal PA7 is read in S26, and it is checked whether this signal PA7 is 1 or 0 in the following S27. When the result becomes 1, preparations are made to set the output shot defect flag before proceeding to S28, and then exits to NG. Therefore, the code "22" will be stored at this time. Also, if the result in S27 is 0, turn to S29,
The harness open defect flag is set and the flag is NG, and the code "21" is stored. That is, signal PA6 changes from 0 to transistor Q2.
13 and Q214 should be off and transistor Q215 should be on, so signal PA7 must be 0. However, signal PA7 becomes 1, which means that the base of transistor Q215 becomes 0.
It means becoming. Therefore, signal at S25
When setting PB7 to 1, if signal PA7 does not become 0, a signal is sent to the base of transistor Q215.
Since this means that PB7 is not given, it can be seen that the output is shot. Also, if the signal PA7 becomes 0 at this time, it means that the signal PB7 is applied to the base of the transistor Q215,
Therefore, it means that no voltage has been applied from the power supply +B through the solenoid valve 61 until then, and it is determined that the harness is open. Next, FIG. 23 shows an example of an abnormality check system for the pressure control valve 84, which is an actuator for EGR control, in which 901 and 903 are output terminals for detection signals PA4 and PA5, 902 is an input terminal for test signal PB5,
Q91 and Q92 are detection transistors.
Note that 90 is a transistor for driving the pressure control valve 84. FIG. 24 is a flowchart showing the operation of this abnormality check system, which operates as one of the programs of the background job 208 in FIG. When entering this flow, first the detection signal PA is detected at S40.
4. Read PA5, and then check whether signal PA4 is 1 or 0 in S41. If the result in S41 is 0, proceed to S42 and check whether signal PA5 is 1 or 0. If the result is 1, exit to OK. Also, when the result is 0,
A defect flag indicating that the transistor 90 is open is prepared through S43, and the process exits to NG. In other words, the reason why the signal PA4 becomes 0 in S41 is because the transistor Q91 is on, that is, the signal EGR
indicates that the current value has become 1, and the transistor 90 should also be on at this time. Therefore, if transistor 90 is normal, transistor Q92 is turned off, so when PA5 is checked in S42, if the result is 1, there is no abnormality and it is OK, and if the result is 0, transistor 90 is open abnormally and it is NG. be. Therefore, at this time, the code "23" is entered from Figure 8.
is memorized. Also, if the result in S41 is 1, proceed to S44,
Check signal PA5 and if it is 0 then OK
However, if the result becomes 1, proceed to S45 and first try setting test signal PB5 to 1. Then S46
After reading the detection signal PA5 in S47, it is checked whether it is 0 or 1. If the result in S47 is 1, S48
The output ground failure flag is prepared through S49, and when the result becomes 0, the harness open failure flag is prepared in S49, and each exit is NG. In other words, the signal PA4 becoming 1 in S41 means that the input signal EGR is 0.
Therefore, if the transistor 90 is normal, it should be off, and at that time the transistor Q92 is on, so if the detection signal PA5 is 0 in S44, it is OK. Further, if the result is 1 in S44, it means that the voltage from the power supply +B is not applied to the base of the transistor Q92, so try applying the test signal PB5 in S45. If transistor Q92 still does not turn on, that is, S47
When the result becomes 1, the transistor 90
If the short or output end of transistor Q92 is turned on and the result at S47 becomes 0, it can be seen that the path from the power supply +B to the base of transistor Q92 is open, that is, the harness is open. Therefore, when passing through S48, the code "25" is
Then, when passing through S49, the code "24" is stored. Next, an example of an abnormality check system for the fuel pump 32 is shown in FIGS. 25 to 27. FIG. 25 shows a circuit of a relay driving transistor Q32 of the fuel pump 32, and a detection signal PA2 is taken out from its collector. By the way, there are two types of abnormality checks for the fuel pump 32: one in normal operating conditions and one when the engine stalls. First, Fig. 26 shows the one during normal operation, and is checked every 10 minutes by a timer interrupt. First, in S60, the control signal DIO0 is set to 1 to turn off the transistor Q32. This is because under normal operating conditions, the fuel pump 32 is in operation and therefore the control signal is
This is because DIO0 is set to 0. Then, after a predetermined waiting time, it is checked in S61 whether the detection signal PA2 has become 0 or not. If the result is determined to be YES, the signal DIO0 is set to 0 in S62.
Return to OK and exit. Further, if the result in S61 is NO, the process proceeds to S63, where a defect flag indicating that the transistor Q32 has become defective in shot is prepared, and the process exits to NG. In other words, if transistor Q32 is normal, it is turned on and off by control signal DIO0, and detection signal PA2
is 1 if transistor Q32 is on, and 0 if it is off.
This is because it is supposed to be. Therefore, at this time, code "33" is stored. Next, FIG. 27 shows the operation when the engine stalls, which is performed by one program of the engine stall task 262 (FIG. 5). When entering this flow, first S72
The detection signal PA2 is checked and it is determined whether it is 0 or not. If the result is YES, the process advances to S71, where the output terminal short failure flag including the F/P relay is prepared, and the process exits to NG. In other words, at this time, since the signal DIO0 is still 0, the transistor Q32 should be on, but since the signal PA2 is 0, it can be determined that the output terminal is short. Therefore, at this time, code "34" will be stored. Also, if the result in S70 is NO, the next S72
First, signal DIO0 is set to 1 to turn off transistor Q32, and then signal PA is turned off again in S73.
Examine 2 and then determine whether it becomes 1 or not. If the result in S73 is NO, you can exit as is, but if it is YES, in S74, the fuel pump 32
The harness leading to this will set up an open defect flag and will fail. That is, at this time, even though the transistor Q32 is turned off, the voltage from the power supply +B appears as the signal PA2, which means that the output harness is open. Therefore, at this time, code "35" will be stored. In addition, the abnormality check when the engine stalls is 1.
Don't do it repeatedly. Therefore, steps other than S605 and S606 in the flow of FIG. 16 are omitted. By the way, although not specifically explained above, in such conventional examples, the abnormality check of the ROM 104 of the microcomputer is performed as one of the programs in various tasks using the initialization program 204 (see Fig. 5) or interrupts. I was just going to do it. However, checking this ROM 104 requires a considerable amount of processing time; for example, with an 8-bit microcontroller normally used for EEC,
It took about 200 [mSEC]. Therefore, if the ROM is checked in the initialization program as in the conventional example described above, if the starter switch is activated immediately after the key switch is turned on, the engine control There is a problem that initialization is insufficient, making it difficult to start.Also, when using an interrupt task, the load on the microcomputer becomes so large that it may not be able to adequately follow engine control. It was hot. Therefore, in the past, in order to solve these problems, it was necessary to increase the processing power of the microcomputer, which had the disadvantage of increasing costs. Additionally, related devices of this type include:
There are also JP-A-53-110724 and JP-A-53-123728.
For example, the disclosure in Publication No. The purpose of the present invention is to eliminate the drawbacks of the conventional example described above, to be able to sufficiently check the ROM without increasing the performance of the microcomputer, and to accurately perform self-diagnosis and display information when an abnormality occurs in the ROM. To provide an EEC self-diagnosis alarm display device designed to In order to achieve this object, the present invention is characterized in that when the control circuit is switched to a display mode of a fault code representing a self-diagnosis result, the ROM is checked and the fault code is stored. shall be. Embodiments of the self-diagnosis alarm display device according to the present invention will be described below with reference to the drawings. FIG. 28 is a flowchart explaining the operation of one embodiment of the present invention, and as is clear from this figure,
This embodiment incorporates the operation for ROM check into the code display mode in the flowchart shown in FIG.
It is activated every 40 [mSEC] by the task, and first the display switch 1108 (Figure 7) is activated in S1.
is turned on, and if the result is NO, that is, the display switch 1108 is turned on.
When it is OFF, an alarm operation is performed in S2 and S3 depending on the presence or absence of the defective flag, as explained in connection with FIG. 11. On the other hand, when the result in S1 is YES, that is, when it is detected that the display switch 1108 is turned on, the process goes to S5 to S10, which are newly installed in this embodiment, and first, in this S5, the ROM is turned on.
It is checked by looking at the flag whether or not the check in step 104 has been completed, and if the result is YES, the process immediately jumps to S4, where a fault code display operation is performed as explained in FIG. However, if the check end flag of ROM 104 is not set, this
The result in S5 is NO, so proceed to S6 next.
Starts the check operation of ROM104, then in S7
Check whether the ROM check has finished or not, and if the result is NO, that is, the check in S6 has not finished, exit directly through S4.
Exit to. On the other hand, the result in S7 is YES, that is, ROM104
When the check has finished, turn to S8,
At S8, the ROM check end flag is set. Therefore, from now on, when entering this flow, it will immediately pass through S4 from S5. Now, after setting the ROM check end flag in S8, the process proceeds to S9, where it is checked whether or not a defect has been detected in the ROM 104. The result on S9 is
If NO, that is, there is no abnormality in the ROM 104 and no fault was detected by the check in S6, the process exits directly through S4 and exits to EXIT, but if the result in S9 is YES, that is, a fault has been detected in the ROM 104. Sometimes through the next S10
Store the error code "51" in RAM1104 and then exit to EXIT. Therefore, when entering this flow from now on, a malfunction code indicating an abnormality in the ROM 104 will be displayed. As a result of the above, according to this embodiment of the present invention, only when the display switch 1108 is turned on and the device enters the code display operation mode,
An abnormality detection operation of the ROM 104 will be performed, and the results will be displayed. On the other hand, this display switch 1108
The switch is turned ON most of the time when the engine is stopped or when the engine is in idle mode, so the load on the EEC microcomputer is quite light. Therefore, according to the embodiment described above, even if a considerable load is applied to the microcomputer by checking the ROM 104, the control operation of the engine is hardly affected, and there is no possibility that the starting of the engine becomes uncertain. There will be no more of that. Next, an embodiment of the ROM check operation at S6 in FIG. 28 will be described. Now, assuming that the ROM 104 has a capacity of 8 bits for each address, as shown in FIG. 29, the data of each address is added together as is to obtain a total value. This total value should have a very large number of digits, but take the lowest 8 bits and make it the Sum, and compare it with a pre-determined reference value to see if the two are equal. When the results are equal, it is assumed that there is no abnormality in the ROM 104, and when the results are not equal, it is assumed that a malfunction has been detected. According to this embodiment, the ROM 104 can be checked extremely easily and with considerable accuracy. By the way, in the above embodiment, the RAM
A battery 1102 is provided for backing up the battery 1104, but this battery 1102 may be one that directly supplies voltage from an automobile battery without going through a key switch, or a separate dry battery or the like may be provided. . Of course, if the RAM 1104 is a non-luminous memory, these are unnecessary. In addition, a warning lamp 110 is used to display the malfunction code.
6 may be omitted, and another display means, for example, a means capable of directly displaying numbers, characters, etc., may be provided, or if necessary, a fault code may be displayed by connecting with a plug or the like. In this case, the contents of the RAM 1104 can be displayed as they are in numbers or characters. As explained above, according to the present invention, EEC
Since the ROM included in the microcontroller can be checked with almost no effect on the engine control status, troubleshooting and maintenance can be done easily and in a short time, eliminating the drawbacks of conventional technology. A low-cost microcomputer can provide a fault location self-diagnosis alarm display device that can provide safe and reliable engine operating conditions at all times.

【図面の簡単な説明】[Brief explanation of drawings]

第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…
…デイスプレイスイツチ。
Figures 1 to 6 are diagrams showing an example of an electronic engine control system applied to a fuel injection type internal combustion engine. Figure 1 is a cross-sectional view of the engine including a part of the control system, and Figure 2 is a schematic diagram of the ignition system, Figure 3 is a system diagram of the exhaust gas recirculation system, Figure 4 is a block diagram of the overall configuration of the control system, and Figure 5 is a diagram of the overall configuration of the control system.
Figure 6 is a diagram of the program system, Figure 6 is a memory configuration diagram showing the program contents, Figure 7 is a block diagram of the overall configuration of an example of a fault self-diagnosis alarm display device, and Figure 8 is an explanation of an example of a fault code. Figures 9a and 9b are explanatory diagrams showing examples of lamp lighting modes during alarm operation, and Figures 10a to c
11 is an explanatory diagram showing an example of a lamp lighting mode during code display operation, FIG. 11 is a flowchart showing an example of a method for distinguishing between alarm operation and code display operation, and FIG. 12 is a flow chart showing an example of alarm operation. , FIGS. 13 to 15 are flowcharts showing an example of code display operation, FIG. 16 is a flowchart showing an example of a basic pattern of an abnormality check, and FIG. 17 is a circuit showing an example of an ignition system abnormality check system. 18 is a flowchart showing the operation, FIG. 19 is a flowchart showing an example of the abnormality check operation of the air flow sensor, and FIG. 20 is an explanatory diagram of the operation of the air flow sensor.
Fig. 21 is a circuit diagram showing an example of a bypass valve abnormality check system, Fig. 22 is a flowchart for explaining its operation, Fig. 23 is a circuit diagram showing an example of a pressure control valve abnormality check system, and Fig. 24 is a circuit diagram showing an example of a bypass valve abnormality check system. FIG. 25 is a circuit diagram showing an example of a fuel pump abnormality check system, FIGS. 26 and 27 are flowcharts for explaining the operation, and FIG. 28 is an embodiment of the present invention. FIG. 29 is a flowchart showing the ROM abnormality detection operation in FIG. 29, and is a conceptual diagram showing one embodiment of the ROM check. 104...ROM, 1102...Battery for backup, 1104...RAM constituting non-luminous memory, 1106...Warning lamp, 1108...
...display switch.

Claims (1)

【特許請求の範囲】 1 エンジンが運転中、所定のタイミングと所定
の条件のもとで、エンジン制御に必要な各種のセ
ンサとアクチユエータの自己診断を継続して行な
い、この診断結果を、エンジン制御装置が動作停
止してもデータの保持が可能なメモリに記憶さ
せ、所定のスイツチの操作により、上記メモリか
らデータを読出して所定の表示手段に表示させる
方式の電子式エンジン制御装置用自己診断警報表
示装置において、上記スイツチの操作に応じて発
生される信号の入力を条件として上記エンジン制
御装置に含まれたリード・オンリ・メモリの自己
診断処理を開始するチエツク手段と、該チエツク
手段により異常が検出されたときには該異常を表
わすデータを上記データの保持が可能なメモリに
格納する制御手段とを設け、上記エンジン制御装
置に含まれたリード・オンリ・メモリの自己診断
を行なうように構成したことを特徴とする電子式
エンジン制御装置の自己診断警報表示装置。 2 特許請求の範囲第1項において、上記リー
ド・オンリ・メモリのチエツク手段が、該リー
ド・オンリ・メモリの各アドレスのデータを加算
する手段と、該手段による加算結果の下位の所定
桁のデータを基準データと比較する手段を備え、
これらデータの一致状態により上記リード・オン
リ・メモリの異常を検出するように構成されてい
ることを特徴とする電子式エンジン制御装置の自
己診断警報表示装置。
[Claims] 1. While the engine is operating, self-diagnosis of various sensors and actuators necessary for engine control is continuously performed at predetermined timing and under predetermined conditions, and the results of this diagnosis are used for engine control. A self-diagnosis alarm for an electronic engine control device that stores data in a memory that can retain data even when the device stops operating, and reads the data from the memory and displays it on a predetermined display means by operating a predetermined switch. In the display device, a check means starts a self-diagnosis process of the read-only memory included in the engine control device on condition that a signal generated in response to the operation of the switch is input, and the check means detects an abnormality. and control means for storing data representing the abnormality in a memory capable of holding the data when detected, and configured to perform self-diagnosis of the read-only memory included in the engine control device. A self-diagnosis alarm display device for an electronic engine control device, characterized by: 2. In claim 1, the check means of the read-only memory includes means for adding data at each address of the read-only memory, and data of a lower predetermined digit of the addition result by the means. provided with a means to compare the data with reference data;
A self-diagnosis alarm display device for an electronic engine control device, characterized in that it is configured to detect an abnormality in the read-only memory based on a matching state of these data.
JP56055611A 1981-04-15 1981-04-15 Self diagnostic alarm indicating system for electronic engine control system Granted JPS57171046A (en)

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 (en) 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 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644656U (en) * 1992-11-27 1994-06-14 池田物産株式会社 Vehicle seat

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59165044U (en) * 1983-04-15 1984-11-06 三菱自動車工業株式会社 Microcomputer system for vehicle control
JPS62291537A (en) * 1986-06-11 1987-12-18 Nippon Denso Co Ltd Synthetic diagnostic apparatus for vehicle
JP2599262B2 (en) * 1986-08-25 1997-04-09 富士通テン 株式会社 Failure diagnosis device for electronic engine control device
JPH0767897B2 (en) * 1986-09-17 1995-07-26 日本電装株式会社 Vehicle abnormality warning device
JPH0758242B2 (en) * 1986-10-03 1995-06-21 富士重工業株式会社 Electronic control unit
JP2525871B2 (en) * 1988-07-22 1996-08-21 株式会社日立製作所 Engine controller diagnostic system
JP2589197B2 (en) * 1990-04-12 1997-03-12 株式会社ユニシアジェックス Vehicle control device
JP2589198B2 (en) * 1990-04-12 1997-03-12 株式会社ユニシアジェックス Vehicle control device
JP2885158B2 (en) * 1995-12-18 1999-04-19 日本電気株式会社 Vehicle maintenance management device
KR19990050088A (en) * 1997-12-16 1999-07-05 정몽규 How to improve malfunction of control device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644656U (en) * 1992-11-27 1994-06-14 池田物産株式会社 Vehicle seat

Also Published As

Publication number Publication date
JPS57171046A (en) 1982-10-21

Similar Documents

Publication Publication Date Title
JPS6331731B2 (en)
US6818120B2 (en) O2-sensor fault diagnosis apparatus and method therefor
JP4491967B2 (en) VEHICLE CONTROL DEVICE AND RECORDING MEDIUM HAVING SELF-DIAGNOSTIC FUNCTION
US6112150A (en) Fault recognition system and method for an internal combustion engine
US4587615A (en) System for diagnosing an internal combustion engine
JPH0342415B2 (en)
US4546646A (en) System for diagnosing an internal combustion engine
JPS639098B2 (en)
JP2010106785A (en) Abnormality diagnostic device for emission gas recirculating system
JPH0213137B2 (en)
JPH06317148A (en) Method and device for controlling the secondary air supply to the exhaust gas of an internal combustion engine
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 (en)
JPS6349066B2 (en)
JPH0230954A (en) Fuel control device
JPH0114528B2 (en)
JP2721340B2 (en) Fault diagnosis device
KR100191412B1 (en) Cracking test for dignosis car by expert system
JPS6335820B2 (en)
JP2001073861A (en) Diagnostic device for exhaust temperature sensor
KR100241669B1 (en) Problem diagnosis device
JP2004060579A (en) Method and apparatus for diagnosing internal combustion engine