(57)【特許請求の範囲】
【請求項１】
不揮発性メモリである第１メモリに記憶された制御プログラムに従い、制御対象を制御すると共に、該制御対象において発生したイベントに対応するイベントコードを不揮発性メモリである第２メモリに記憶させる、ように構成された制御装置であって、
前記第１メモリに記憶された制御プログラムが更新された以降、その制御プログラムに従って発生しうるイベントそれぞれに対応するものとして前記第１メモリに記憶されているイベントコード群におけるいずれのイベントコードとも一致しないイベントコードが、前記第２メモリに記憶されたイベントコードの中に含まれているか否かをチェックする不一致チェック手段と、
該不一致チェック手段により含まれていると判定されたイベントコードを、前記第２メモリに記憶させておく必要のない不必要なイベントコードとして特定する不必要特定手段と、
前記不必要特定手段による特定結果を報知する結果報知手段と、を備えている
ことを特徴とする制御装置。
【請求項２】
不揮発性メモリである第１メモリに記憶された制御プログラムに従い、制御対象を制御すると共に、該制御対象において発生したイベントに対応するイベントコードを不揮発性メモリである第２メモリに記憶させる、ように構成された制御装置であって、
前記第１メモリに記憶された制御プログラムが更新された以降、その制御プログラムに従って発生しうるイベントそれぞれに対応するものとして前記第１メモリに記憶されているイベントコード群におけるいずれのイベントコードとも一致しないイベントコードが、前記第２メモリに記憶されたイベントコードの中に含まれているか否かをチェックする不一致チェック手段と、
該不一致チェック手段により含まれていると判定されたイベントコードを、前記第２メモリに記憶させておく必要のない不必要なイベントコードとして特定する不必要特定手段と、
前記第２メモリに記憶されているイベントコードのうち、前記不必要特定手段により特定されたイベントコードを削除するコード削除手段と、を備えている
ことを特徴とする制御装置。
【請求項３】
前記不一致チェック手段は、前記第１メモリに記憶された制御プログラムが更新された以降、次に当該制御装置が起動した際に、イベントコードが含まれているか否かをチェックする
ことを特徴とする請求項１または請求項２に記載の制御装置。
【請求項４】
前記不一致チェック手段は、前記第１メモリに記憶された制御プログラムが更新された以降、制御対象が制御開始時の過渡期を脱して安定した制御状態となった際にイベントコードが含まれているか否かのチェックを開始する
ことを特徴とする請求項１から３のいずれかに記載の制御装置。
【請求項５】
制御プログラムに従って制御対象の制御が開始された以降に、該制御対象に対する各種診断のための処理が実行されるように構成されている場合において、
前記不一致チェック手段は、前記第１メモリに記憶された制御プログラムが更新された以降、制御対象に対する各種診断のための処理が正常に終了した際にイベントコードが含まれているか否かのチェックを開始する
ことを特徴とする請求項１から３のいずれかに記載の制御装置。
【請求項６】
前記不一致チェック手段は、当該制御装置外部から特定のイベントコードを指定した指令を受けた際、その指令で指定されたイベントコードが前記第２メモリに記憶されている場合に、その指令で指定されたイベントコードのうち、制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群におけるいずれのイベントコードとも一致しないイベントコードを抽出する
ことを特徴とする請求項１から５のいずれかに記載の制御装置。
【請求項７】
前記第１メモリに記憶された制御プログラムと共に、該制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群を登録してなるデータテーブルが更新される場合において、
前記不一致チェック手段は、前記第１メモリに記憶された制御プログラムおよびデータテーブルが更新された以降に、前記第２メモリに記憶されたイベントコードの中に、前記データテーブルに登録されているいずれのイベントコードとも一致しないイベントコードが含まれているか否かをチェックする
ことを特徴とする請求項１から６のいずれかに記載の制御装置。
【請求項８】
前記制御装置は車両に搭載される電子制御装置であり、
前記イベントとは前記制御対象に対して発生した故障状態のことであり、前記イベントコードとは当該電子制御装置により前記制御対象に対する所定の診断を行なった際に前記故障状態を検出してこの故障状態を記憶するための故障情報として予め決められている故障コードである請求項１から７のいずれかに記載の制御装置。
【請求項９】
不揮発性メモリである第１メモリに記憶された制御プログラムに従い、制御対象を制御すると共に、該制御対象において発生したイベントに対応するイベントコードを不揮発性メモリである第２メモリに記憶させる、ように構成された制御装置に、
前記第１メモリに記憶された制御プログラムが更新された以降、その制御プログラムに従って発生しうるイベントそれぞれに対応するものとして前記第１メモリに記憶されているイベントコード群におけるいずれのイベントコードとも一致しないイベントコードが、前記第２メモリに記憶されたイベントコードの中に含まれているか否かをチェックする不一致チェック手順と、
該不一致チェック手順により含まれていると判定されたイベントコードを、前記第２メモリに記憶させておく必要のない不必要なイベントコードとして特定する不必要特定手順と、
前記不必要特定手順による特定結果を報知する結果報知手順と、
を実行させるためのプログラム。
【請求項１０】
不揮発性メモリである第１メモリに記憶された制御プログラムに従い、制御対象を制御すると共に、該制御対象において発生したイベントに対応するイベントコードを不揮発性メモリである第２メモリに記憶させる、ように構成された制御装置に、
前記第１メモリに記憶された制御プログラムが更新された以降、その制御プログラムに従って発生しうるイベントそれぞれに対応するものとして前記第１メモリに記憶されているイベントコード群におけるいずれのイベントコードとも一致しないイベントコードが、前記第２メモリに記憶されたイベントコードの中に含まれているか否かをチェックする不一致チェック手順と、
該不一致チェック手順により含まれていると判定されたイベントコードを、前記第２メモリに記憶させておく必要のない不必要なイベントコードとして特定する不必要特定手順と、
前記第２メモリに記憶されているイベントコードのうち、前記不必要特定手順により特定されたイベントコードを削除するコード削除手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリである第１メモリに記憶された制御プログラムに従い、制御対象を制御すると共に、該制御過程で制御対象において発生したイベントに対応するイベントコードを不揮発性メモリである第２メモリに記憶させる、ように構成された制御装置に関する。
【背景技術】
【０００２】
近年では、上記のような制御装置において、第１メモリに記憶された制御プログラムを更新するに際し、その更新と共に第２メモリの全記憶領域を初期化する技術が提案されている（特許文献１，２参照）。
【特許文献１】特開２００２−３２３９９０号公報
【特許文献２】特開２００４−１１８４４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ただ、上記技術では、第１メモリに記憶された制御プログラムの更新に際し、第２メモリに記憶された全てのイベントコードが初期化により削除されてしまうため、これらを後で参照することができなくなる。
【０００４】
これに対しては、第１メモリに記憶された制御プログラムの更新に際して第２メモリの全記憶領域を初期化しないこととすればよいが、制御プログラムが更新されると、その制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群も変化するため、その変更後に発生しなくなったイベントに対応するイベントコードが第２メモリに残ってしまう場合がある。
【０００５】
このようなイベントコードは、更新後の制御プログラムに従って発生しうるいずれのイベントにも対応しないものであり、以降に参照する必要性の低い不必要なものといえるため、そのようなイベントコードを少なくとも特定できるようにしておくことが望ましい。そのように不必要なイベントコードを後で削除するなどといった対応をとることが容易になるからである。
【０００６】
本発明は、このような課題を解決するためになされたものであり、その目的は、更新後の制御プログラムに従って発生しうるいずれのイベントにも対応しない不必要なイベントコードを特定できるようにするための技術を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するためには、不揮発性メモリである第１メモリに記憶された制御プログラムに従い、制御対象を制御すると共に、該制御対象において発生したイベントに対応するイベントコードを不揮発性メモリである第２メモリに記憶させる、ように構成された制御装置を、以下に示す第１の構成のようにするとよい。
【０００８】
この構成においては、前記第１メモリに記憶された制御プログラムが更新された以降に、前記第２メモリに記憶されたイベントコードのうち、その制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群におけるいずれのイベントコードとも一致しないイベントコードを抽出する不一致抽出手段と、該不一致抽出手段により抽出されたイベントコードを、前記第２メモリに記憶させておく必要のない不必要なイベントコードとして特定する不必要特定手段と、を備えている。
【０００９】
このように構成された制御装置であれば、第１メモリに記憶された制御プログラムが更新された以降、第２メモリに記憶されたイベントコードの中から、その制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群に含まれないイベントコードが抽出される。
【００１０】
第１メモリに記憶された制御プログラムが更新されると、その制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群も変化するため、第２メモリに記憶されたイベントコードのうち、イベントコード群に含まれていないものは、更新後の制御プログラムに従って発生しうるいずれのイベントにも対応していないものであり、以降に参照する必要性が低い不必要なものといえる。
【００１１】
そのため、上記構成では、上記のように抽出されたイベントコードを、第２メモリに記憶させておく必要のないイベントコードとして特定することができる。これにより、そうして特定した不必要なイベントコードを第２メモリから選択的に削除するなどといった対応をとることが容易にできるようになる。例えば特定した不必要なイベントコードを外部のモニタや装置などに表示させるようにしたり送信したりすることも可能となる。
【００１２】
また、この構成は、前記不必要特定手段による特定結果を報知する結果報知手段，を備えてなる第２の構成のようにするとよい。
このように構成すれば、その報知に係るイベントコードが不必要なものであることを制御装置や外部装置のユーザなどに知らせることができる。
【００１３】
なお、この構成における「報知」は、例えば、制御装置の備える表示部に特定結果を表示する、制御装置と通信可能な外部装置に対して特定結果を示す情報を送信する、特定結果を示す情報を制御装置外部からアクセス可能な記憶領域に記憶させる、といったことにより実現すればよい。
【００１４】
さらに、上記各構成においては、前記第２メモリに記憶されているイベントコードのうち、前記不必要特定手段により特定されたイベントコードを削除するコード削除手段，を備えてなる第３の構成のようにするとよい。
【００１５】
このように構成すれば、不必要なイベントコードとして特定されたものを第２メモリから削除させることができる。
この構成においては、不必要なものとして特定されたイベントコードを直ちに削除することとすればよく、この場合であれば、自動的に不必要なイベントコードを第２メモリから削除することができる。
【００１６】
また、上記第２の構成のように報知を行う場合には、その報知先となる外部から削除すべき旨の指令を受けた場合にのみ、不必要なものとして特定されたイベントコードを削除することとすればよい。この場合であれば、報知を受けた報知先のユーザが不必要であることを認識したうえで、削除すべき旨の指令をするための操作を行うことにより、そのイベントコードを任意に第２メモリから削除することができる。
【００１７】
ところで、上記各構成において、第１メモリに記憶された制御プログラムが更新されたことは、例えば、その制御プログラムが更新された旨の情報が第１メモリその他の記憶部に記憶されるのであれば、そのような情報の記憶をもって、その更新がなされたと判定することとすればよい。また、本制御装置と通信可能な外部装置から、制御プログラムの更新およびイベントコードの抽出それぞれの開始が順次指示されるのであれば、それら指示の一方または両方を受けたことをもって、その更新がなされたと判定することとすればよい。また、制御プログラムの更新に伴うデータ量の変化を検出し、これをもってその更新がなされたと判定することとしてもよい。
【００１８】
また、上記各構成において、イベントコードの抽出を開始するタイミングは、第１メモリに記憶された制御プログラムが更新された以降であればよく、その具体的なタイミングについては特に限定されない。例えば、その制御プログラムの更新時や、その更新後一定時間経過後に開始することが考えられる。
【００１９】
また、イベントコードの抽出は、制御プログラムの更新後、次に本制御装置が起動したタイミングで開始することも考えられ、このためには、上記各構成を以下に示す第４の構成のようにすればよい。
【００２０】
この構成において、前記不一致抽出手段は、前記第１メモリに記憶された制御プログラムが更新された以降、次に当該制御装置が起動した際にイベントコードの抽出を開始する。
【００２１】
この構成であれば、制御プログラムの更新後、次に本制御装置が起動するタイミングでイベントコードの抽出を自動的に開始することができる。
特に、上記第３の構成のように不必要なイベントコードを削除する場合には、制御プログラムの更新後、次に本制御装置が起動するタイミングで不必要なイベントコードを自動的に削除することができるようになる。
【００２２】
また、イベントコードの抽出は、制御プログラムの更新後、制御対象または本制御装置が特定の状態となったタイミングで開始することとしてもよい。
ここで、制御対象の「特定の状態」としては、例えば、「制御開始時の過渡期を脱した後の安定した制御状態」を採用することが考えられ、このためには、上記第１〜第４のいずれかの構成を以下に示す第５の構成のようにすることが考えられる。
【００２３】
この構成において、前記不一致抽出手段は、前記第１メモリに記憶された制御プログラムが更新された以降、制御対象が制御開始時の過渡期を脱して安定した制御状態となった際にイベントコードの抽出を開始する。
【００２４】
この構成であれば、制御対象が制御開始時の過渡期を脱して安定した制御状態となってから、イベントコードの抽出が開始されるため、制御対象の制御開始時のように制御装置における処理負荷が大きい時期を避けて不必要なイベントコードの特定を実施することができるようになる。
【００２５】
特に、上記第３の構成のように不必要なイベントコードを削除する場合には、制御プログラムの更新後、制御装置における処理負荷が相対的に小さくなったタイミングで不必要なイベントコードを自動的に削除することができるようになる。
【００２６】
また、イベントコードの抽出を開始する契機となる本制御装置の「特定の状態」としては、例えば、制御プログラムに従って制御対象の制御が開始された以降に、該制御対象に対する各種診断のための処理が実行されるように構成されている場合であれば、そのような「各種診断のための処理が正常に終了した状態」を採用することが考えられる。
【００２７】
このためには、上記第１〜第４のいずれかの構成を以下に示す第６の構成のようにすることが考えられる。
この構成において、前記不一致抽出手段は、前記第１メモリに記憶された制御プログラムが更新された以降、制御対象に対する各種診断のための処理が正常に終了した際にイベ
ントコードの抽出を開始する。
【００２８】
この構成であれば、制御対象に対する各種診断のための処理が正常に終了してから、イベントコードの抽出が開始されるため、各種診断により制御対象を正常に制御できる状態においてイベントコードの特定を実施することができる。
【００２９】
また、上記各構成において、イベントコードの抽出を開始すべき旨が、本制御装置と通信可能な外部装置から指示されるようにされている場合には、その指示をもって制御プログラムが更新されたとみなし、イベントコードの抽出を開始することとすればよい。
【００３０】
このとき、外部装置からの指示は、単純にイベントコードの抽出を開始すべき旨のものであればよいが、特定のイベントコードの中からの一致しないイベントコードの抽出を開始すべき旨のものであってもよい。
【００３１】
この後者の場合には、上記各構成を以下に示す第７の構成のようにするとよい。
この構成において、前記不一致抽出手段は、当該制御装置外部から特定のイベントコードを指定した指令を受けた際、その指定に係るイベントコードが前記第２メモリに記憶されている場合に、その指令で指定されたイベントコードのうち、制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群におけるいずれのイベントコードとも一致しないイベントコードを抽出する。
【００３２】
この構成であれば、外部からの指示に係るイベントコードの中から、イベントコード群におけるいずれのイベントコードとも一致しないイベントコードを抽出することができる。このように、外部装置からの指示に係るイベントコードをイベントコード群におけるイベントコードと選択的に対比することにより、その指示に係るイベントコードそれぞれが不必要なイベントコードであるか否かを個別に特定できるようになる。
【００３３】
また、上記のようにイベントコードの抽出をするに際して参照される「イベントコード群」は、どのような構造のデータであってもよいが、例えば、そのイベントコード群におけるイベントコードそれぞれを登録してなるデータテーブル構造を採用することが考えられる。この場合には、上記各構成を以下に示すようにした第８の構成のようにすることが考えられる。
【００３４】
この構成においては、前記第１メモリに記憶された制御プログラムと共に、該制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群を登録してなるデータテーブルが更新されることが前提となる。そして、前記不一致抽出手段は、前記第１メモリに記憶された制御プログラムおよびデータテーブルが更新された以降に、前記第２メモリに記憶されたイベントコードのうち、前記データテーブルに登録されているいずれのイベントコードとも一致しないイベントコードを抽出する。
【００３５】
この構成であれば、イベントコードの抽出をするに際し、データテーブルを参照して迅速に不必要なイベントコードを抽出することができる。
また、上述した各構成における制御装置は、車両に搭載される電子制御装置としてもよく、この場合、前記イベントとは前記制御対象に対して発生した故障状態のことであり、前記イベントコードとは当該電子制御装置により前記制御対象に対する所定の診断を行なった際に前記故障状態を検出してこの故障状態を記憶するための故障情報として予め決められているものとなる。
【００３６】
この構成のように、車両に搭載される電子制御装置においては、メモリ（不揮発性メモリ）の容量の制限も厳しいため、上記のように不必要なイベントコードを特定して削除することは、そのような容量の制限が厳しい環境において非常に有用である。
【００３７】
また、上記課題を解決するためには、第１から第８のいずれかの構成における全ての手段として機能させるための各種処理手順をコンピュータシステムに実行させるためのプログラムとしてもよい。
【００３８】
このプログラムにより制御されるコンピュータシステムであれば、上記第１から第８のいずれかの構成の一部を構成することができる。
なお、上述したプログラムは、コンピュータシステムによる処理に適した命令の順番付けられた列からなるものであって、各種記録媒体や通信回線を介して制御装置や、これを利用するユーザ等に提供されるものである。
【発明を実施するための最良の形態】
【００３９】
以下に本発明の実施形態を図面と共に説明する。
（１）全体構成
制御装置１は、各種センサやアクチュエータを介して所定の制御対象の動作を制御する装置（ＥＣＵ；Electronic Control Unit ）の一部として実装されたものであり、図１に示すように、制御装置１全体の動作を制御するマイコン１０，各種情報を記憶するための追記（情報の書込および消去）可能な不揮発性メモリ（本実施形態ではＥＥＰＲＯＭ；Electrically Erasable Programmable ROM）２０，入出力インタフェース３０などを備えている。
【００４０】
なお、本実施形態においては、制御対象として車両の動作を、各種センサからの検出結果に基づいて各種アクチュエータを動作させることで制御する構成について例示する。
マイコン１０は、各種処理を実行する制御部１２，後述するイベントコード群や各種プログラムを記憶している不揮発性メモリ（本実施形態ではＲＯＭ）１４，バッテリからの電源供給を受けてその記憶内容を保持可能な揮発性メモリ（本実施形態ではＲＡＭ）１６が内蔵されたものである。なお、不揮発性メモリ１４に記憶されたプログラムには、制御対象の制御に関する制御プログラムと、本発明としての機能を発揮するための機能プログラムと、がある。
【００４１】
入出力インタフェース３０は、マイコン１０を介して不揮発性メモリ２０または揮発性メモリ１６に記憶されたイベントコードを読み出すための外部装置（いわゆるスキャンツールなど）１００を接続するためのインタフェースである。
【００４２】
なお、以降の説明においては、便宜上、マイコン１０の不揮発性メモリ１４を第１メモリ１４といい、追記可能な不揮発性メモリ２０を第２メモリ２０といい、記憶内容を保持可能な揮発性メモリ１６を第３メモリ１６という。
（２）マイコン１０による処理
以下に、マイコン１０の制御部１２が第１メモリ１４に記憶された機能プログラムに従って実行する各種処理手順を説明する。
（２−１）コード記憶処理
はじめに、各種センサによる検出結果に基づき、制御対象または制御装置１に所定のイベント（本実施形態では異常）が発生したと判定される状況となった際に起動されるコード記憶処理の処理手順を図２に基づいて説明する。
【００４３】
このコード記憶処理が起動されると、まず、その起動に先立って発生したイベントに対応するイベントコードが第１メモリ１４に記憶されたデータテーブルに基づいて特定される（ｓ１１０）。
【００４４】
ここでは、図３に示されるように、制御対象または制御装置１において発生することが想定されるイベント（異常）と、そのイベントに対応するイベントコード（本実施形態ではダイアグコード、Ｄｉａｇｎｏｓｔｉｃ  Ｔｒｏｕｂｌｅ  Ｃｏｄｅやフリーズフレームデータ等の故障診断に関連するコードなど）とが対応づけて登録されたデータテーブルに基づいて、コード記憶処理の起動に先立って発生したイベントに対応するイベントコードが特定される。
【００４５】
なお、ここでは、データテーブルにイベントコード群を登録しているが、このイベントコード群はデータテーブル構造でなくてもよく、例えば、イベントコード群におけるイベントコードそれぞれを、制御対象または制御装置１において発生することが想定されるイベントに対応づけて１以上のメモリそれぞれに記憶するといったデータ構造としてもよい。この場合、そうして記憶されたイベントコードからなるイベントコード群の中から該当イベントコードを特定することとすればよい。
【００４６】
次に、上記ｓ１１０にて特定されたイベントコードが、第３メモリ１６におけるイベントコード用の記憶領域に記憶される（ｓ１２０）。
そして、上記ｓ１１０にて特定されたイベントコードが、第２メモリ２０におけるイベントコード用の記憶領域に記憶される（ｓ１３０）。尚、この第２メモリ２０へのイベントコードの記憶処理は種々の条件の下実行されるようにしても良い。例えば、車両のイグニッションキースイッチオフを検出したら実行するようにしても良い。
（２−２）不必要特定処理（その１）
続いて、マイコン１０の起動後、所定のタイミングで起動される不必要特定処理（その１）の処理手順を図４に基づいて説明する。
【００４７】
本実施形態において、第１メモリ１４に記憶されたデータテーブルおよび制御プログラムは、外部装置１００からの指示を受けて更新され、その更新に伴ってその旨を示す情報が第１メモリ１４に記憶されるように構成されている。尚、この更新は第１メモリ１４が例えばフラッシュＲＯＭなど書き換え可能なメモリとして実行されるものである。そして、この不必要特定処理は、第１メモリ１４にその旨の情報が第１メモリ１４に記憶された，つまり制御プログラムが更新された状態で、外部装置１００から本不必要特定処理の開始が指示されたタイミングとなった際に起動される。
【００４８】
なお、制御プログラムが更新されたことは、外部装置１００が制御プログラムの更新および本不必要特定処理の開始を順次指示する場合であれば、それら指示の一方または両方を受けたことをもって更新がなされたと判定することとしてもよい。また、制御プログラムの更新に伴うデータ容量の変化を検知し、これをもって更新がなされたと判定することとしてもよい。
【００４９】
この不必要特定処理が起動されると、まず、第２メモリ２０に記憶されているイベントコードそれぞれが読み出される（ｓ２１０）。ここでは、外部装置１００からの指示においてイベントコードが指定されていなければ、全てのイベントコードの読み出しが試みられる一方、イベントコードが指定されていれば、その指定に係るイベントコードのみの読み出しが試みられる。
【００５０】
次に、上記ｓ２１０において第２メモリ２０からイベントコードが読み出されたか否かがチェックされ（ｓ２２０）、イベントコードが読み出されていなければ（ｓ２２０：ＮＯ）、第２メモリ２０に記憶させておく必要のない不必要なイベントコードが存在しないと判定され（ｓ２３０）、その判定結果が報知された後（ｓ２４０）、本不必要特定処理が終了する。
【００５１】
このｓ２４０では、上記判定結果を外部装置１００その他制御装置１と通信可能な装置（以降「外部装置等」という）に対して送信する、その判定結果を制御装置１の備える表示部に表示させる、その判定結果を外部装置等からアクセス可能なメモリの記憶領域に記憶させる、といったことにより判定結果の報知が実現される。
【００５２】
また、上記ｓ２１０において第２メモリ２０からイベントコードが読み出されていれば（ｓ２２０：ＹＥＳ）、第１メモリ１４に記憶されたデータテーブルからイベントコード群が読み出される（ｓ２５０）。
【００５３】
次に、上記ｓ２１０にて読み出されたイベントコードの中から、上記ｓ２５０にて読み出されたイベントコード群におけるいずれのイベントコードとも一致しないイベントコードが抽出される（ｓ２６０）。
【００５４】
このｓ２６０で該当イベントコードが抽出されなかった場合には（ｓ２７０：ＮＯ）、プロセスがｓ２３０へ移行し、不必要なイベントコードが存在しないと判定される。
一方、上記ｓ２６０で該当するイベントコードが抽出された場合には（ｓ２７０：ＹＥＳ）、その抽出されたイベントコードが、第２メモリ２０に記憶させておく必要のない不必要なイベントコードとして特定される（ｓ２８０）。
【００５５】
上述のように、第１メモリ１４に記憶された制御プログラムが更新された場合には、その制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群もデータテーブルの更新により変化する。この場合、第２メモリ２０に記憶されたイベントコードのうち、データテーブルのイベントコード群に含まれないイベントコードは、更新後の制御プログラムに従って発生しうるいずれのイベントにも対応しておらず不要なものといえる。そのため、このｓ２８０では、そのようなイベントコードを不必要なイベントコードとして特定している。
【００５６】
次に、上記ｓ２８０による特定結果が報知される（ｓ２９０）。ここでは、上記ｓ２４０と同様に、上記特定結果を外部装置等に対して送信する、その特定結果を制御装置１の備える表示部に表示させる、その特定結果を外部装置等からアクセス可能なメモリの記憶領域に記憶させる、といったことにより特定結果の報知が実現される。この報知後、外部装置等側では、その特定結果に係るイベントコードの削除を制御装置１に対して指令するための操作が受け付けられる状態となり、この操作が行われると、外部装置等側から該当イベントコードを削除すべき旨の指令（削除指令）が送信されてくる。
【００５７】
こうして、上記による特定結果が報知された後、一定期間が経過するまでに外部装置等側からの削除指令を受信したか否かがチェックされる（ｓ３００）。
このｓ３００で削除指令を受信していないと判定された場合には（ｓ３００：ＮＯ）、直ちに本不必要特定処理が終了する一方、削除指令を受信していると判定された場合には（ｓ３００：ＹＥＳ）、上記ｓ２８０にて特定されたイベントコードが、第２メモリ２０から削除された後（ｓ３１０）、本不必要特定処理が終了する。こうして本不必要特定処理が終了する際には、第１メモリ１４に記憶された「制御プログラムが更新された旨の情報」についても併せて削除することとしてもよい。
【００５８】
なお、ここでは、制御装置１外部からの削除指令を受けてイベントコードを削除しているが、この削除指令の有無に拘わらずイベントコードを削除する，具体的にいえばプロセスがｓ３００を行うことなくｓ３１０へと移行するように構成してもよい。
【００５９】
尚、ｓ２６０におけるイベントコード群に含まれないイベントコードの抽出がｓ２８０における不必要なイベントコードの特定としても良いし、あるいはｓ２６０における抽出完了をｓ２８０の不必要なイベントコードの特定としても良い。この場合、ｓ２６０における抽出のためのイベントコード群とイベントコードとの比較が不一致抽出手段と言え、またその比較結果により不一致である旨の結果を出力することが不必要特定手段と言える。
（２−３）不必要特定処理（その２）
この不必要特定処理（その２）は、上述した不必要特定処理（その１）に比して、第１メモリ１４に実装された機能プログラムによる一部処理内容が相違しているだけであるため、その相違点についてのみ図５に基づいて詳述する。
【００６０】
この不必要特定処理（その２）は、第１メモリ１４に制御プログラムが更新された旨の情報が第１メモリ１４に記憶された状態で、下記ａ〜ｄのいずれかのタイミングとなった際に起動される。
【００６１】
ａ．制御装置１のマイコン１０が起動（再起動）したタイミング
ｂ．制御対象が制御開始時の過渡期を脱して安定した制御状態となったタイミング
ｃ．制御装置１が制御対象に対する各種診断（いわゆるレディネスステータスなど）のための処理を終えたタイミング
ｄ．制御プログラムが更新されたタイミング，または，更新された以降一定時間が経過したタイミング
これらタイミングについては、制御装置１としての処理の負荷が過度なものとならない程度のものを少なくとも１以上使用すればよい。
【００６２】
なお、上記ｂのタイミングとなったことは、本制御装置１による制御対象の制御状態（またはこれを示すメモリへの記憶内容）や制御開始からの経過時間に基づいて判定されるものであり、上記ｃのタイミングとなったことは、本制御装置１による各種診断に関する処理の終了（またはこれを示すメモリへの情報の記憶）を受けて判定されるものである。
【００６３】
この不必要特定処理（その２）では、上記と同様にｓ２１０〜ｓ２３０が行われた後、上述したｓ２４０が行われることなく終了する。
また、上記と同様にｓ２１０〜ｓ２８０が行われた後、上述したｓ２９０，ｓ３００が行われることなく終了する。
【００６４】
なお、この不必要特定処理（その２）においても、上述したｓ２４０，ｓ２９０，ｓ３００が行われるものとしてもよい。
（３）作用，効果
このように構成された制御装置１であれば、第１メモリ１４に記憶された制御プログラムが更新された以降、第２メモリ２０に記憶されたイベントコードの中から、その制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群に含まれないイベントコードが抽出される（図４，５のｓ２６０）。
【００６５】
第１メモリ１４に記憶された制御プログラムが更新されると、その制御プログラムに従って発生しうるイベントそれぞれに対応するイベントコード群も変化する（更新される）ため、第２メモリ２０に記憶されたイベントコードのうち、イベントコード群に含まれていないものは、更新後の制御プログラムに従って発生しうるいずれのイベントにも対応しておらず、以降に参照する必要性が低いために不必要なものといえる。
【００６６】
そのため、上記構成では、上記のように抽出されたイベントコードを、第２メモリ２０に記憶させておく必要のないイベントコードとして特定することができる（同図ｓ２８０）。これにより、そうして特定された不必要なイベントコードを第２メモリ２０から選択的に削除するなどといった対応をとることができるようになる。
【００６７】
具体的にいえば、上記実施形態では、不必要なイベントコードとして特定されたものを、そのまま第２メモリ２０から削除させることができる（同図ｓ３１０）。
不必要特定処理（その１）においては、不必要なイベントコードの特定結果を報知した後（図４のｓ２９０）、その報知先から削除指令を受けた場合にのみ、不必要なものとして特定されたイベントコードを削除している（同図ｓ３００→ｓ３１０）。そのため、報知を受けた報知先のユーザが不必要であることを認識したうえで削除指令をするための操作を行うことにより、そのイベントコードを任意に第２メモリ２０から削除することができる。
【００６８】
一方、不必要特定処理（その２）においては、不必要なものとして特定されたイベントコードを直ちに削除している（図５のｓ２８０→ｓ３１０）。そのため、自動的に不必要なイベントコードを第２メモリ２０から削除することができる。
【００６９】
また、上記実施形態では、不必要なイベントコードとして特定した特定結果を報知することにより（図４のｓ２９０）、この報知に係るイベントコードが不必要なものであることを制御装置１のユーザや外部装置等側などに知らせることができる。
【００７０】
また、上記実施形態において、不必要特定処理（その１）では、第１メモリ１４に記憶された制御プログラムが更新された以降、外部装置１００からの指示を受けたタイミングでイベントコードの抽出を開始することにより、不必要なイベントコードを特定して削除することができる（図４参照）。
【００７１】
また、上記実施形態において、不必要特定処理（その２）では、制御プログラムの更新後、次に制御装置１が起動するタイミングでイベントコードの抽出を自動的に開始し、不必要なイベントコードを自動的に削除することができる。
【００７２】
また、同様に、不必要特定処理（その２）では、制御対象が制御開始時の過渡期を脱して安定した制御状態となってから、イベントコードの抽出が開始されるため、制御対象の制御開始時のように制御装置１における処理負荷が大きい時期を避けて不必要なイベントコードの特定および削除を自動的に実施することができる。
【００７３】
また、同様に、不必要特定処理（その２）では、制御対象に対する各種診断のための処理が正常に終了してから、イベントコードの抽出が開始されるため、各種診断により制御対象を正常に制御できる状態においてイベントコードの特定および削除を自動的に実施することができる。
【００７４】
また、不必要特定処理（その１）では、外部からの指示に係るイベントコードの中から、イベントコード群におけるいずれのイベントコードとも一致しないイベントコードを抽出することができる（図４のｓ２６０）。このように、外部装置１００からの指示に係るイベントコードをイベントコード群におけるイベントコードと選択的に対比することにより、その指示に係るイベントコードそれぞれが不必要なイベントコードであるか否かを個別に特定して削除できるようになる。
【００７５】
また、上記実施形態においては、不必要なイベントコードの抽出をするに際し、データテーブルを参照して迅速に不必要なイベントコードを抽出することができる（図４，図５のｓ２５０，ｓ２６０）。
（４）変形例
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【００７６】
例えば、上記実施形態においては、本発明の制御装置を車両制御装置に適用した場合を例示したが、本発明の制御装置が車両以外を制御対象とする制御装置に対して提供できることはいうまでもない。
【００７７】
また、上記実施形態においては、イベントコードが、制御対象または制御装置１において発生する「異常」に対応するダイアグコードである場合を例示した。しかし、このイベントコードとしては、「異常」以外に対応するイベントそれぞれに対応するコードであってもよい。
【００７８】
ところで、カリフォルニア州大気資源局（ＣＡＲＢ：Ｃａｌｉｆｏｒｎｉａ  Ａｉｒ  Ｒｅｓｏｕｒｃｅｓ  Ｂｏａｒｄ）による法規（ＯＢＤ２）には、診断結果として記憶される異常情報（いわゆるＤＴＣ：Ｄｉａｇｎｏｓｔｉｃ  Ｔｒｏｕｂｌｅ  Ｃｏｄｅ、或いは、Ｆａｕｌｔ  Ｃｏｄｅと呼ばれる）を、永久故障コード（Ｐｅｒｍａｎｅｎｔ  Ｆａｕｌｔ  Ｃｏｄｅ：以下、ここでは、ＰＤＴＣ（Ｐｅｒｍａｎｅｎｔ  ＤＴＣ）と言う）として電子制御装置のＥＥＰＲＯＭに記憶すべき旨が規定されている。この規定に照らすと、本実施形態においては、第１メモリ１４に記憶されるイベントコードが上記異常情報（ＤＴＣ）に相当し、第２メモリ２０に記憶されるイベントコードが上記ＰＤＴＣに相当する。
（５）本発明との対応関係
以上説明した実施形態において、図４，図５におけるｓ２６０が本発明における不一致抽出手段であり、同図ｓ２８０が本発明における不必要特定手段であり、同図ｓ２９０が本発明における結果報知手段であり、同図ｓ３１０が本発明におけるコード削除手段である。
【図面の簡単な説明】
【００７９】
【図１】制御装置の全体構成を示すブロック図
【図２】コード記憶処理を示すフローチャート
【図３】データテーブルのデータ構造を示す図
【図４】不必要特定処理（その１）を示すフローチャート
【図５】不必要特定処理（その２）を示すフローチャート
【符号の説明】
【００８０】
１…制御装置、１０…マイコン、１２…制御部、１４…不揮発性メモリ、１６…揮発性メモリ、２０…不揮発性メモリ、３０…入出力インタフェース、１００…外部装置。
【図１】
0004600510.tif 000002
【図２】
0004600510.tif 000003
【図３】
0004600510.tif 000004
【図４】
0004600510.tif 000005
【図５】
0004600510.tif 000006