(57)【要約】      （修正有）【課題】制御演算が正常に行われたかを正確に効率よく検証することができるデータ保存記憶媒体及びデータ収集装置を提供する。【解決手段】収集データの制御演算に影響を与える制御演算因子を、収集データと関連づけてデータ保存記憶媒体及びデータ収集装置に保存する。制御演算の結果を反映した演算結果データを集めた収集データだけでなく、その制御演算の結果に影響を与える制御演算因子を収集データと関連づけて保存しているので、収集データから制御演算が正常に行われたかを検証する時、検証しようとする収集データにどの制御演算因子を用いたかを確認することが正確且つ容易に行える。【選択図】図２
2013084220.tif 000002
【特許請求の範囲】
【請求項１】
制御演算の演算結果を反映した演算結果データを収集した収集データを保存しているデータ保存記憶媒体であって、
前記収集データの制御演算に影響を与える制御演算因子を、前記収集データと関連づけて保存している
ことを特徴とするデータ保存記憶媒体。
【請求項２】
前記収集データの演算開始時間および演算終了時間のうち少なくともいずれか一方を示す演算時間データが、その収集データに関連づけて前記記憶媒体に保存されているとともに、
前記制御演算に前記制御演算因子が設定された時間を示す制御演算因子時間データが、前記制御演算因子に関連付けて前記記憶媒体に保存されていることにより、
前記制御演算因子が前記収集データと関連付けられている
ことを特徴とする請求項１記載のデータ保存記憶媒体。
【請求項３】
制御演算を行なうとともに、演算結果を反映した演算結果データを収集データとして収集するデータ収集処理を行う制御部と、
前記制御演算が行われている間、前記収集データの制御演算に影響を与える制御演算因子を一時保存するとともに、前記収集データも一時保存する一時記憶部と、
不揮発性の記憶部であって、前記収集データを保存するデータ記憶部と
を有するデータ収集装置であって、
前記制御部が行なう前記データ収集処理は、
前記収集データを前記一時記憶部に一時保存する処理を行ない、且つ、その際、その収集データの演算開始時間および演算終了時間のうちいずれか少なくとも一方を示す演算時間データも、その収集データに関連付けて一時保存する一時保存処理と、
その一時記憶部から前記収集データおよびその収集データに関連付けられた演算時間データを前記データ記憶部に転送して、そのデータ記憶部に保存させるデータ転送処理とを含み、
且つ、前記制御部は、前記一時記憶部に前記制御演算因子が設定され、あるいは、その制御演算因子が変更された場合、その制御演算因子が設定あるいは変更された時間を示す制御演算因子時間データを、その制御演算因子に関連付けて、前記データ記憶部の制御演算因子保存領域に保存する
ことを特徴とするデータ収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御演算の演算結果データを保存するデータ保存記憶媒体、および、演算結果データを収集して、データ保存記憶媒体に保存させるデータ収集装置に関する。
【背景技術】
【０００２】
従来、たとえば特許文献１のように、制御パラメータを種々変更したときの検出値や、制御演算結果を自動で記憶していく装置が知られている。この特許文献１では、具体的には、エンジンを制御する電子制御装置において、制御パラメータを種々変更したときのセンサ検出値や制御演算の結果により直接的に得られる値（実データ）を自動的に記憶している。さらに、この特許文献１の装置は、この実データを、この実データと予め関連付けて記憶している物理変換式によって、物理値に自動変換することも行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許３６４５６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のデータ解析装置では、実データ（制御上の実値）を試験者が容易に分かる物理値に自動的に変換する。この点では、データ解析が容易になっている。しかし、解析のための実データが、そもそも意図された制御演算によってなされた結果か否かを検証しなければ、正確なデータの解析は難しい。
【０００５】
この検証は、制御演算の結果である実データだけで行うことはできず、制御演算においてゲインやオフセットなどに、実際にどのような値を適用したのかが分かっている必要がある。これらゲインやオフセットの変化は、当然、演算結果に影響を及ぼすからである。なお、これら演算に影響を及ぼす値であって、制御演算に種々の値を適用可能な値を、以下では適合値という。
【０００６】
しかし、従来技術では演算結果である実データを記録媒体に保存しているだけである。したがって、制御演算が意図した制御内容であったかを検証するためには、記録媒体に保存している実データを演算したときの適合値がどういう具体的値であったかを、どこか他の媒体（電子記憶媒体や紙）に記憶されている適合値から、人が手作業により確認した上で、検証を行う必要があった。そのため、実際に制御演算に用いた適合値とは異なる適合値を用いたと誤認して検証を行ってしまう可能性があった。この場合には、当然、制御演算が正常に行われたかを正確に検証することはできなくなってしまう。また、手作業で適合値を確認しなければならないので、検証の効率も悪かった。
【０００７】
そこで本発明は、制御演算が正常に行われたかを正確に、効率よく検証することができるデータ保存記憶媒体、および、データ収集装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
その目的を達成するために請求項１記載の発明は、制御演算の演算結果を反映した演算結果データを収集した収集データを保存するデータ保存記憶媒体であって、収集データの制御演算に影響を与える制御演算因子を、収集データと関連づけて保存する。
【０００９】
請求項１記載の発明によれば、制御演算の結果を反映した演算結果データを集めた収集データだけでなく、その制御演算の結果に影響を与える制御演算因子を収集データと関連づけて保存しているので、収集データから制御演算が正常に行われたかを検証する時、検証しようとする収集データにどの制御演算因子を用いたかを確認することが正確且つ容易に行える。よって、制御演算が正常に行われたかを正確に、効率よく検証することができる。
【００１０】
また、請求項２記載の発明では、収集データの演算開始時間および演算終了時間のうち少なくともいずれか一方を示す演算時間データが、その収集データに関連づけて記憶媒体に保存されている。加えて、制御演算に制御演算因子が設定された時間を示す制御演算因子時間データも、制御演算因子に関連付けて記憶媒体に保存されている。これらにより、制御演算因子が収集データと関連付けられている。
【００１１】
このように、演算時間データが収集データに関連づけられているとともに、御演算因子時間データが制御演算因子に関連付けられていれば、各々の収集データの演算開始時間あるいは演算終了時間と、各々の制御演算因子の設定時間とを比較することができる。
【００１２】
また、制御演算因子は制御演算に影響を与えるものであり、制御演算の途中では制御演算因子の変更はできない。別の表現をすれば、制御演算因子が変更された場合には、その変更前後の収集データは別のデータとなる。従って、収集データの演算開始時間および演算終了時間のどちらかを、制御演算因子が設定された時間と比較することで、検証しようとする収集データにどの制御演算因子が用いられているのかが容易に特定できる。
【００１３】
請求項３記載の発明におけるデータ記憶部は、請求項２のデータ保存記憶媒体と実質的に同一であり、請求項３記載の発明は、データ保存記憶媒体を含むデータ収集装置の発明である。
【００１４】
その請求項３記載のデータ収集装置は、制御部と、一時記憶部と、データ記憶部とを備える。制御部は、制御演算を行なうとともに、演算結果を反映した演算結果データを収集データとして収集するデータ収集処理を行う。一時記憶部は、制御演算が行われている間、収集データの制御演算に影響を与える制御演算因子を一時保存するとともに、収集データも一時保存する。データ記憶部は、不揮発性の記憶部であって、収集データを保存する。また、制御部が行なうデータ収集処理は、一時保存処理とデータ転送処理を含む。一時保存処理は、収集データを一時記憶部に一時保存する処理を行ない、且つ、その際、その収集データの演算開始時間および演算終了時間のうちいずれか少なくとも一方を示す演算時間データも、その収集データに関連付けて一時保存する処理である。一方、データ転送処理は、その一時記憶部から収集データおよびその収集データに関連付けられた演算時間データをデータ記憶部に転送して、そのデータ記憶部に保存させる処理である。さらに、制御部は、一時記憶部に制御演算因子が設定され、あるいは、その制御演算因子が変更された場合、その制御演算因子が設定あるいは変更された時間を示す制御演算因子時間データを、その制御演算因子に関連付けて、データ記憶部の制御演算因子保存領域に保存する。
【００１５】
このようにすると、データ記憶部には、演算時間データが、その収集データに関連づけて保存され、制御演算因子時間データが制御演算因子に関連付けて保存される。よって、収集データの演算開始時間および演算終了時間のどちらかを、制御演算因子が設定された時間と比較することで、検証しようとする収集データにどの制御演算因子が用いられているのかが容易に特定できる。
【図面の簡単な説明】
【００１６】
【図１】本発明が適用されたデータ収集機能内蔵ＥＣＵ１ａの構成例を示す模式図である。
【図２】本発明が適用された各記憶媒体における保存状態のイメージ図である。
【図３】本発明が適用されたデータ収集機能内蔵ＥＣＵ１ａのメイン処理における動作フローである。
【図４】本発明が適用されたデータ収集機能内蔵ＥＣＵ１ａの収集データを記録する処理における動作フローである。
【図５】本発明が適用されたデータ収集機能内蔵ＥＣＵ１ａの適合値を記録する処理における動作フローである。
【図６】本発明が適用されたデータ収集機能内蔵ＥＣＵ１ａの適合値を更新する処理における動作フローである。
【図７】本発明が適用されたデータ収集機能内蔵ＥＣＵ１ａが図１と異なる構成である例である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて説明する。 図１は本実施形態におけるＥＣＵ１ａのデータ収集装置（以下、単にデータ収集装置という）の構成例を示す模式図である。
【００１８】
図１におけるデータ収集装置８ａは、データ収集機能内蔵ＥＣＵ１ａ（以下、単にＥＣＵ１ａ）内部に設けられている。ＥＣＵ１ａには、演算処理を行うＣＰＵ２と、用途の異なる複数の記憶媒体とが備えられている。本実施の形態では、この記憶媒体として、演算のためのプログラムが動作するＲＡＭ３と、プログラムを保存しておくＥＥＰＲＯＭ４と、演算の結果を保存しておくＦｌａｓｈ  ＲＯＭ５ａとが備えられている。また、ＥＣＵ１ａは、ＣＰＵ２の内部にＤＭＡＣ（Direct Memory Access Controller）６を有しており、ＣＰＵ２を介さずに直接データ転送を行うＤＭＡ（Direct Memory Access）操作が可能である。
【００１９】
一般的に、プログラムは、不揮発性記憶媒体に保存しておき、使用時にＲＥＡＤ／ＷＲＩＴＥの容易な揮発性記憶媒体に展開する。また、演算した結果は、同じ不揮発性記憶媒体に収集してもよいが、ここでは、別の不揮発性記憶媒体に保存する。なお、収集データを用いた制御演算の正確性の検証は、不揮発性記憶媒体に記憶された収集データを用いる。
【００２０】
具体的には図１において、揮発性記憶媒体としてＲＡＭ３を、プログラムを保存する不揮発性記憶媒体としてＥＥＰＲＯＭ４を、収集データを保存するための別の不揮発性記憶媒体としてＦｌａｓｈ  ＲＯＭ５ａ（以下単にＦｌａｓｈとする）を用いている。
【００２１】
また、ＥＥＰＲＯＭ４にはプログラムの他に、そのプログラムの動作に必要な適合値（請求項でいう制御演算因子）が記憶されている。ここでいうプログラムとはＥＣＵ１ａの制御プログラムのことであり、また、このプログラムは開発段階であり、制御演算が正しく行われているか（プログラムが正しく組まれているか）が未検証であり、しかも適合値も適合前（最適化前）のプログラムである。
【００２２】
ここで、適合値とは、制御の振る舞いを決定し、制御演算の結果に影響を与える定数、係数、マップであり、たとえば制御プログラムにおけるゲインやオフセットの値等である。開発段階では、この適合値は種々の具体的数値に変更され、最適化が行われる。すなわち、適合値は変数となっている。また、部品の変更、使用環境・使用条件の変更があったときも適合値の最適化を行う必要がある。
【００２３】
制御演算の正確性を検証する際には、適合値を変更しながら制御演算を繰り返し、収集データを収集していく。そして、収集データがどのような値かを確認することで制御演算の正確性を検証する。
【００２４】
ただし、適合値は制御演算の結果に影響を及ぼすので、制御演算が正しく行われているかを検証するためには、適合値がどのような具体的数値であったかを正確に把握した上で、収集データの値を確認する必要がある。
【００２５】
しかし従来は、演算結果は保存しても、その演算に設定されていた適合値は同じ記憶媒体に保存されていなかったため、制御演算の正確性を検証しようとしても正確な検証を効率良く行うことが困難であった。
【００２６】
そこで、本実施の形態では収集データをＦｌａｓｈ５ａに保存する際に、同じＦｌａｓｈ５ａに適合値も保存する。この保存先のイメージを図２に示した。
【００２７】
図２は、各記憶媒体におけるデータ保存状態のイメージを表している。まず、ＲＡＭ３には、演算に使用するエリア（以下、演算エリア）（Ａ）と、演算結果データ（演算結果の値、あるいは制御演算により変動する物理量を示すセンサ値、そのセンサ値が物理量に換算された値など）を保存するデータ記録エリア０（Ｂ）および、同じく演算結果データを保存するデータ記録エリア１（Ｃ）と、制御演算に利用するためにＥＥＰＲＯＭ４から展開された適合値を保存しておく適合値エリア（Ｄ）とを少なくとも割り当てる。
【００２８】
ユーザーからデータ収集指示が出るとＣＰＵ２はまず、ＥＥＰＲＯＭ４から、演算に使用するプログラムをＲＡＭ３内の演算エリア（Ａ）にコピーし、プログラムを実行して行なう制御演算をこのエリアで行う。また、同時にＥＥＰＲＯＭ４から読み込んだ適合値を、ＲＡＭ３の適合値エリア（Ｄ）に保存する。
【００２９】
収集指示の出ているデータ（収集データ）は、演算後に演算エリア（Ａ）からデータ記録エリア０（Ｂ）もしくはデータ記録エリア１（Ｃ）へコピーして格納される。このとき、コピーする収集データに関係する演算時間データ（演算の開始時間か終了時間もしくはその両方）も同時に格納する。こうしてデータ記録エリア０（Ｂ）もしくはデータ記録エリア１（Ｃ）に収集データを蓄積する。Ｆｌａｓｈ５ａにはこの収集データを束（データ群）にして転送する。
【００３０】
一方、Ｆｌａｓｈ５ａ内は、収集データ群を蓄積する蓄積エリア（Ｅ）と適合値を蓄積する蓄積エリア（Ｆ）とに分けて設定（割り当て）される。割り当ては予めユーザーが任意に行うことが可能であり、その時々の収集データのデータ量を勘案して割り当てることができる。また、適合値を蓄積する蓄積エリア（Ｆ）には、適合値とともに適合値更新時間データを蓄積する。この適合値更新時間データは、ＲＡＭ３において適合値が更新された時間である。この適合値更新時間データは、特許請求の範囲の制御演算因子時間データに相当する。
【００３１】
なお、蓄積エリア（Ｆ）に蓄積する適合値の数ｍも、ユーザーが任意に設定可能であり、ユーザーがｍとして具体的数値を入力することにより、蓄積エリア（Ｆ）の必要サイズが自動的に計算されて、その必要サイズに基づいて蓄積エリア（Ｆ）が設定される。そして、蓄積エリア（Ｆ）を設定した後、Ｆｌａｓｈ５ａの残りの領域が、収集データ群を蓄積する蓄積エリア（Ｅ）に割り当てられる。
【００３２】
制御演算の検証をするときは、収集データ群に保存されている収集データの演算に用いた適合値が、蓄積エリア（Ｆ）の中のどの適合値であるかを知る必要がある。そのために、まず、検証に用いようとしている収集データと共に格納されている演算時間データ（ここでは演算開始時間とする）を参照する。次に、参照した演算時間データが示す時間に設定されていた適合値を特定するため、適合値更新時間データを参照する。
【００３３】
ここで各データの関係であるが、説明のために以下のようにする。ある演算（演算１）を行った際、収集される収集データの数は指示によって異なり、複数であってもよい（演算１の収集データ１、および演算１の収集データ２等）。但し、演算１に関する演算時間データは一つとする（演算１の演算時間データ１）。つまり、演算１の結果は、収集データ１、および収集データ２であり、収集データ１、および収集データ２に付属する時間データはどちらも時間データ１となる。
【００３４】
各データの蓄積エリアは次のようになる。演算１は演算エリア（Ａ）で行われる。その結果である収集データ１、収集データ２、および時間データ１はデータ記録エリア０（Ｂ）もしくはデータ記録エリア１（Ｃ）に蓄積される。演算１の次に演算２が開始されれば同様に、演算２が演算エリア（Ａ）で行われ、その結果、収集データ３や時間データ２がさらにデータ記録エリア０（Ｂ）もしくはデータ記録エリア１（Ｃ）に蓄積される。データ記録エリア０（Ｂ）もしくはデータ記録エリア１（Ｃ）がデータでいっぱいになると、収集データ群１として蓄積エリア（Ｅ）に保存される。
【００３５】
適合値１は後述する適合値記録タスクによって、最初に演算が開始された時間と、適合値が変更された時間に、適合値エリア（Ｄ）から蓄積エリア（Ｆ）へ保存される。
【００３６】
また、演算の処理中に適合値が変更されることはない。適合値が変更された場合には、その適合値変更以降の演算は、それまでとは別の演算（演算１→演算２）とする。つまり、演算１の処理中の適合値は、演算１を開始した時点で設定されていた適合値１である。したがって、演算１の処理に適合値１と適合値２とが混在することはない。また、適合値１に付属する適合値更新時間データは、その適合値１が更新された時間（適合値１の場合は、メイン処理の開始時間）とする。
【００３７】
以上を踏まえて、収集データと関連する適合値を求める場合を考える。たとえば、検証に用いる収集データの演算時間データが「１月１日  １２時開始」であり、適合値更新時間データとして、「１月１日  １０時開始」である適合値更新時間データ１と「１月１日  １５時開始」である適合値更新時間データ２が存在した場合、「１月１日  １２時開始」の収集データの適合値は、収集データの演算開始時に設定されていた適合値更新時間データ１と共に保存されている適合値１が設定されていたと分かる。
【００３８】
このように、検証に用いる収集データの制御演算に設定されていた適合値を参照するために、収集データ、適合値をそれぞれの時間データと関連させて保存する。また、演算の検証の際にデータを呼び出すときには、演算時間データと適合値更新時間データから自動的に関連したデータ同士を呼び出すことも可能である。
【００３９】
もし、当初に設定した収集データを蓄積する蓄積エリア（Ｅ）以上に収集データを蓄積することになり、ｎ番目のデータ群の保存でＦｌａｓｈ５ａの容量が足りなくなった場合は、収集データ群のうち一番古いデータ群を収集データ群ｎ＋１として保存しなおす（上書きする）ことも可能である。その他、容量不足として演算を停止してもよい。
【００４０】
次に、図１のデータ収集装置を用いた収集データおよび適合値の保存方法について、図３に沿って以下に具体的に説明する。以下の動作は特に断りがない限り、ＣＰＵ２によって指示され、処理されるものとする。演算タスクは、外部からのデータの収集指示により起動する。
【００４１】
まずステップＳ301として、ＲＡＭ３の初期化を行う。初期化は、ＲＡＭ３に対しては、データ記録エリアにエリア０を指定する。また、ＥＥＰＲＯＭ４に対しては、起動するプログラムとそのプログラムに設定される適合値をＲＡＭ３の演算エリア（Ａ）へ展開する。さらに、適合値をＦｌａｓｈ５ａに記録するために、適合値記録要求をＯＮにする。
【００４２】
次にステップＳ302として、演算周期となったか否か確認する。たとえば演算周期が１秒おきと設定されている場合、開始したい演算がこの確認の時点で前の演算から１秒以上経過していればＹＥＳに進み、未だ１秒が経過していなければ経過するのを待つためＮＯに進む。
【００４３】
ステップＳ303では、ステップS301でＲＡＭ３に展開したプログラムを実行させることで、指示された制御演算を行う。この制御演算では、演算結果が演算エリア（Ａ）に記憶され、また、適合値によって変動するセンサ値を取得して演算結果とともに演算エリア（Ａ）に記憶するようにしてもよい。
【００４４】
ステップＳ304では、演算エリア（Ａ）に保存されている演算結果データから指定の収集データを、データ記録エリア０またはデータ記録エリア１のうち、この時点で指定されている側のデータ記録エリアに記録する。このとき、収集データと共に、その収集データに付属する演算時間データを収集データと関連付けて記録する。この関連付けは、たとえば、演算時間データのデータシーケンス中に収集データの番号を含ませることにより行なう。
【００４５】
次にステップＳ305では、今記録したデータ記録エリアのデータサイズがＦｌａｓｈ５ａの１回分の記録サイズに達したか否かを確認する。Ｆｌａｓｈ５ａは、あるデータ量のまとまりであるブロック単位で書き込むので、１回分の記録サイズは、Ｆｌａｓｈ５ａの１ブロック分のサイズである。記録サイズに達していればＹＥＳへ進み、達していなければＮＯに戻って再度演算を行う。
【００４６】
記録サイズが充足していた場合に実行するステップＳ306では、現在ＲＡＭ３に書き込んでいたデータ記録エリアがエリア０であるかエリア１であるかを確認する。今書き込んでいたデータ記録エリアがエリア０（Ｂ）であった場合にはＹＥＳを進みステップＳ307へ進む。一方、今書き込んでいたデータ記録エリアがエリア１（Ｃ）であった場合にはＮＯを進みステップＳ308へ進む。
【００４７】
ステップＳ307では、次に書き込むデータ記録エリアをエリア１（Ｃ）に設定する。一方ステップＳ308では、次に書き込むデータ記録エリアをエリア０（Ｂ）に設定する。このように書き込むエリアを交互に切り替えることによって、別ルーチンで行っているデータの転送中に新たなデータを転送中のデータに上書きしてしまうことがないようにしておく。｛交互に切り替えるだけではこの効果は出ません｝
最後にステップＳ309では、データ記録エリアに記録したデータをＦｌａｓｈ５ａへ転送して保存することを要求するデータ記録要求をＯＮにする。
次に図４のデータ記録タスクについて説明する。図４のデータ記録タスクは、ＲＡＭ３（より正確にはＲＡＭ３のデータ記録エリア）へ記録したデータをＦｌａｓｈ５ａへ転送する。このタスクは、図３で演算を開始した時に同時に開始するが、初期化以外の処理を開始するタイミングはデータ記録要求がＯＮになった後である。それまでは、以下で説明するＳ403以降には進まない。
【００４８】
まずステップＳ401として、データ記録要求がＯＮになる前に、データを転送するためのＤＭＡＣ６を初期化する。
【００４９】
次にステップＳ402として、データ記録要求がＯＮかどうかを確認する。データ記録要求がＯＮであればＹＥＳに進み、ＯＦＦの場合にはＮＯに進んでＯＮになるのを待つ。
【００５０】
データ記録要求がＯＮであった場合に実行するステップＳ403では、データ記録用ＤＭＡをスタートさせる。この処理は、具体的には、ＤＭＡＣ６に、ＲＡＭ３のデータ記録エリアに蓄積された収集データ群をＦｌａｓｈ５ａへ転送する指示を出す処理である。
【００５１】
ステップＳ404で、ＤＭＡＣ６による転送が終了したかを確認し、転送が終了したらＹＥＳに進む。終了するまではＮＯに進んで転送を繰り返す。
【００５２】
ステップＳ405では、次のデータ転送に備えて、データの上書きにならないよう書き込みアドレスを変更する。具体的には、今書き込んだ領域が図２の中のデータ群１の領域だとすると、次に転送されてくるデータはデータ群２として記録するので、ＤＭＡＣ６へ設定する書き込み先をデータ群２とする。最後にステップＳ406として、データ記録要求をＯＦＦにする。
【００５３】
次に、図５の適合値記録タスクについて説明する。図５の適合値記録タスクは、図４と同様に、図３で演算を開始した時に同時に開始する。
【００５４】
まずステップＳ501としてＤＭＡＣ６の初期化を行う。次にステップＳ502として、適合値記録要求がＯＮかどうかを確認する。適合値記録要求がＯＮになるとＹＥＳに進む。適合値記録要求がＯＮになるのは、図３のステップS301における初期化を実行した場合、および、次に説明する図６の適合値更新タスクにおいてステップS605が実行された場合である。一方、適合値記録要求を確認した結果がＯＦＦならばＮＯに進み、ＯＮになるのを待つ。
【００５５】
ステップＳ503では、適合値記録用ＤＭＡをスタートさせる。この処理は、具体的には、ＤＭＡＣ６に、ＲＡＭ３の適合値エリア（Ｄ）に記憶された適合値をＦｌａｓｈ５ａの蓄積エリア（Ｆ）へ転送する指示を出す処理である。
【００５６】
次のステップＳ504で、ＤＭＡＣ６による転送が終了したかを確認し、転送が終了していればＹＥＳに進み、終了していなければ、ＮＯに進んで終了するまでこれを繰り返す。ステップＳ504の処理では、適合値と共に、その適合値によりＲＡＭ３の適合値エリア（Ｄ）の内容を更新した時間である適合値更新時間データも合わせて転送する。なお、この適合値更新時間データも、これと同時に転送される適合値と関連づけてＦｌａｓｈ５に保存される。この関連付けは、たとえば、適合値更新時間データのデータシーケンス中に、適合値の番号を含ませることにより行なう。
【００５７】
ステップＳ505では、次の適合値の転送に備えて適合値の書き込みアドレスの変更を行う。具体的には、今書き込んだ領域が図２の適合値１の領域だとすると、次に転送されてくるデータは適合値２として記録するので、ＤＭＡＣ６へ設定する書き込みのアドレスを変更する。 最後にステップＳ506として、適合値記録要求をＯＦＦにする。
【００５８】
次に図６の適合値更新タスクを説明する。図６に沿って適合値更新タスクにて変更処理が実行される。適合値の更新指示は、他のタスクの実行途中であっても可能である。図６の適合値更新タスクも、図３で演算を開始した時に同時に開始する。
【００５９】
まず、ステップＳ601として、適合値記録要求がＯＦＦか否かを確認する。この適合値記録要求は、後述するステップS605でＯＮになるが、それにより、前述の図５の適合値記録タスクのステップS302以降が実行され、適合値の転送が終了すると、再び、適合値記録要求はＯＦＦになる。したがって、適合値記録要求がＯＮである場合、更新された適合値の転送がまだ終了していないことを意味する。適合値記録要求がＯＮであれば、ＯＦＦになるのを待つ。一方、適合値記録要求がＯＦＦであればＹＥＳ（ステップS602）に進む。
【００６０】
ステップＳ602において、適合値の更新の指示があるかどうかを確認する。適合値の更新の指示があればＹＥＳに進み、指示がなければＮＯに進んで、ステップＳ601からやり直す。
【００６１】
次に、ステップＳ603では、ＥＥＰＲＯＭ４に保存されている適合値の値を更新する。ステップＳ604では、ＥＥＰＲＯＭ４において更新した適合値を、ＥＥＰＲＯＭ４からＲＡＭ３へ展開する。 最後にステップＳ605として、適合値記録要求をＯＮにする。
【００６２】
このように図３〜図６にしたがって、収集データおよび適合値をＦｌａｓｈ５ａへ保存する際に、収集データは、その収集データの制御演算を行なった時間を示す演算時間データを関連付けて保存し、適合値は、その適合値を更新した時間を示す適合値更新時間データを関連付けて保存する。これによって、両時間データにより、収集データと適合値とを関連づけることができる。よって、収集データから制御演算が正常に行われたかを検証する時、検証しようとする収集データにどの適合値を用いたかを確認することが正確且つ容易に行える。よって、制御演算が正常に行われたかを正確に、効率よく検証することができる。
【００６３】
以上、本発明の実施の形態を説明したが、本発明は上述の実施の形態に限定されるものではなく、次の実施の形態も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
【００６４】
たとえば、図１では、記録媒体としてＲＡＭ３やＥＥＰＲＯＭ４、Ｆｌａｓｈ  ＲＯＭ５ａを例示しているが、記録媒体の種類はこれ以外でもよい。また、図７のように図１に存在するＦｌａｓｈ  ＲＯＭ５ａがＵＳＢメモリ５ｂとしてＥＣＵ１ｂの外部に構成されていてもよい。したがって、ＥＣＵ１ｂとデータ収集装置をインターフェース回路７ａ、７ｂで接続する構成であってもよい。
【００６５】
また、本実施の形態においては、ＲＡＭ３の記録エリアをエリア０とエリア１との２つに分けたが、データを転送前に消さない処理が可能であればエリアの数に制限はない。
【符号の説明】
【００６６】
１ａ  ＥＣＵ、      ２  ＣＰＵ、      ３  ＲＡＭ、      ４  ＥＥＰＲＯＭ      
５ａ  Ｆｌａｓｈ  ＲＯＭ      ６  ＤＭＡＣ      ８ａｂ  データ収集装置
【図１】
2013084220.tif 000003
【図２】
2013084220.tif 000004
【図３】
2013084220.tif 000005
【図４】
2013084220.tif 000006
【図５】
2013084220.tif 000007
【図６】
2013084220.tif 000008
【図７】
2013084220.tif 000009