(57)【要約】【課題】ＲＡＭのリソース不足を解消可能な制御装置を提供する。【解決手段】制御装置は、前記制御装置の外部からモニタが可能な複数の制御変数を有し、前記モニタが可能な間隔に対し、演算する周期が同じ又は遅い関係にある前記複数の制御変数を、所定の１つのメモリエリアへ、所定の周期で格納する。前記所定の１つのメモリエリアに書き込まれた前記制御変数が、前記複数の制御変数のいずれであるかに関する情報を前記所定の１つのメモリエリアとは別のモニタが可能なメモリエリアに格納する。【選択図】  図９
2018127940.tif 000002
【特許請求の範囲】
【請求項１】
制御装置は、前記制御装置の外部からモニタが可能な複数の制御変数を有し、
前記モニタが可能な間隔に対し、演算する周期が同じ又は遅い関係にある前記複数の制御変数を、所定の１つのメモリエリアへ、所定の周期で格納する、
ことを特徴とする制御装置。
【請求項２】
請求項１において、さらに、
前記所定の１つのメモリエリアに書き込まれた前記制御変数が、前記複数の制御変数のいずれであるかに関する情報を前記所定の１つのメモリエリアとは別のモニタが可能なメモリエリアに格納する、
ことを特徴とする制御装置。
【請求項３】
自動車に搭載されるエンジンを制御するための制御装置であって、
前記制御装置の外部からモニタが可能な複数の制御変数を有し、
前記モニタが可能な間隔に対し、前記複数の制御変数を演算する周期が同じ又は遅い関係にある前記複数の制御変数をモニタするためのメモリエリアを、前記モニタする前記複数の制御変数において所定の共用メモリエリアで共用し、
前記複数の制御変数を予め定めた時間周期で前記共用メモリエリアに書き込む、
ことを特徴とする制御装置。
【請求項４】
請求項３において、
さらに、前記共用メモリエリアに書き込まれた前記制御変数が、前記複数の制御変数のいずれであるかに関する情報を、前記共用メモリエリアとは別のモニタ可能なメモリエリアに書き込む、
ことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、自動車のエンジン制御向け電子制御装置に適用可能である。
【背景技術】
【０００２】
車載内燃エンジンを制御する電子制御装置として、電子燃料噴射制御装置がよく知られている。電子燃料噴射制御装置は、その運転状態を最適な状態に制御するため、例えば、インジェクションを用いて燃料を供給する内燃エンジンにおいて、車両及びエンジンの運転状態をセンサによって検出し、そのセンサの検出値に基づいて計算し、供給すべき燃料量を制御する。
【０００３】
このような電子制御装置の制御動作状態、例えば、センサや電子制御装置が正常に動作しているか否かを判断するため、電子制御装置を実際に車両に搭載してエンジンを稼働させたり、車両を走行させたりして、試験が行なわれている。その試験において、電子制御装置から各センサの出力値や計算値をデータとしてサンプリングし、メモリ装置にデータ群として蓄積した後、その蓄積データについて解析することが行なわれている。
【０００４】
このメモリ装置は、電子制御装置に用いられる制御コンピュータ（マイクロコントローラ等）の揮発性メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を利用する。昨今、制御の高度化により蓄積データは膨大になっており、ＲＡＭのリソースが不足しているのが現状である。
【０００５】
特許文献１には、電子制御式の燃料噴射エンジンやトランスミッション等の制御対象を制御するための電子制御ユニットにおいて、制御用ＣＰＵのＲＡＭ内に一時的に格納される変数等のデータを外部からモニタすることが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−１８５３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
リソース不足の対策は制御のスリム化、不要制御の削除が一般的であるが、必ずしも対策が出来るものではない。リソース不足の対策が出来ない場合、場合によっては、制御コンピュータの変更を行う必要がある。この場合、ＲＡＭの記憶容量が大きい上位スペックの制御コンピュータの採用が必要となるので、電子制御装置のコストアップが発生することになる。そのため、リソース不足の対策は、電子制御装置の量産開発において重要な要素の一つである。
【０００８】
本発明の課題は、ＲＡＭのリソース不足を解消可能な制御装置を提供することにある。
【０００９】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、制御装置は、前記制御装置の外部からモニタ可能な複数の制御変数を有する。前記モニタが可能な間隔に対し、演算する周期が同じ又は遅い関係にある前記複数の制御変数を、所定の１つの共用メモリエリアへ、所定の周期で格納する。
【発明の効果】
【００１２】
上記制御装置によれば、ＲＡＭのリソース不足を解消することが可能である。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る火花点火内燃機関と電子制御装置の構成の一例を示す図である。
【図２】図１の電子制御装置の構成の一例を示す図である。
【図３】モニタラベルを説明するための図である。
【図４】モニタラベルを説明するための図である。
【図５】モニタラベルが無い場合のＲＡＭのリソースを説明するための図である。
【図６】モニタラベルが有る場合のＲＡＭのリソースを説明するための図である。
【図７】モニタラベルとモニタ周期との関係を説明するための図である。
【図８】モニタラベルとリソースとの関係を説明するための図である。
【図９】実施例に係るモニタラベルとモニタ周期との関係を説明するための図である。
【図１０】実施例に係るモニタラベルとリソースとの関係を説明するための図である。
【図１１】実施例に係るマイクロコントローラの動作の一例を説明するための図である。
【図１２】変形例に係るモニタラベルとモニタ周期との関係を説明するための図である。
【図１３】変形例に係るモニタラベルとリソースとの関係を説明するための図である。
【図１４】変形例に係るマイクロコントローラの動作の一例を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、実施例、比較例、変形例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。なお、図面は説明をより明確にするため、実際の態様に比べ、各部の幅、厚さ、形状等について模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。
【実施例】
【００１５】
図１は、本発明に係る火花点火内燃機関と電子制御装置の構成の一例を示す図である。以下の説明では、筒内噴射式火花点火内燃機関を用いて説明するが、ポート噴射式火花点火内燃機関や、筒内噴射とポート噴射の両方を備えたデュアル噴射式火花点火内燃機関においても適用可能である。
【００１６】
図１において、エンジン１００１は、ピストン１００２、吸気バルブ１００３、排気バルブ１００４を備える。吸気は、空気流量計（ＡＦＭ）１０１８を通過して、絞り弁１０１７に入り、分岐部であるコレクタ１０１４より吸気管１０１０及び吸気バルブ１００３を介してエンジン１００１の燃焼室１０１９に供給される。燃料は、燃料噴射弁１００５から、エンジン１００１の燃焼室１０１９に噴射供給され、点火コイル１００７及び点火プラグ１００６により点火される。燃焼後の排気ガスは、排気バルブ１００４を介して排気管１０１１に排出される。排気管１０１１には、排気ガス浄化のための三元触媒１０１２が備えられている。
【００１７】
電子制御装置（エンジンコントロールユニット）１００９には、エンジン１００１のクランク角度センサ１０１５の信号、ＡＦＭ１０１８の空気量信号、排気ガス中の空燃比を検出する空燃比センサ１０１３の信号、アクセル開度センサ１０２０のアクセル開度等の信号が入力される。エンジンコントロールユニット１００９はアクセル開度センサ１０２０の信号からエンジン１００１への要求トルクの算出、アイドル状態の判定等を行ない、エンジン１００１に必要な吸入空気量を算出し、それに見合った開度信号を絞り弁１０１７に出力する。また、燃料噴射弁１００５へは燃料噴射信号が出力され、点火プラグ１００６へは点火信号が出力される。これらは、エンジンコントロールユニット１００９にて制御される。
【００１８】
図２は、図１の電子制御装置の構成の一例を示す図である。
【００１９】
電子制御装置（エンジンコントロールユニット）１００９は、外部不揮発性メモリ(外部ＥＥＰＲＯＭ：Electrically Erasable and Programmable Read-Only Memory)２０９と、制御コンピュータ（マイクロコントローラ、マイクロコンピュータ）２１０と、を有する。外部不揮発性メモリ２０９には、例えば、マイクロコントローラ２１０の初期設定値などの設定データが格納される。エンジンコントロールユニット１００９に対して電源が供給された際、外部不揮発性メモリ２０９に格納された設定データがマイクロコントローラ２１０に対して供給され、マイクロコントローラ２１０の初期化が行われる。
【００２０】
マイクロコントローラ２１０は、センサ類２１１及びアクチュエータ類２１２に接続される入出力インタフェース（Ｉ／Ｆ）２０５と、外部装置２１３，２１４が接続される外部通信バス２１５に接続され、外部装置２１３，２１４との信号送受信を行う外部通信インタフェース（Ｉ／Ｆ）２０６と、を有する。
【００２１】
マイクロコントローラ２１０は、ＲＯＭ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３、内部不揮発性メモリ(内部ＥＥＰＲＯＭ)２０４、内部通信インタフェース（Ｉ／Ｆ）２０７、それらを統括して制御を司る中央処理装置（ＣＰＵ：Central Processing Unit）２０１と、バス２０８と、を有する。これらの回路要素（２０１，２０２，２０３，２０５，２０６２０７，）はバス２０８を介して互いに接続されている。ＲＯＭ（Read Only Memory）２０２は、不揮発性メモリであり、制御プログラム、固定データ及び各種の制御設定値を記憶する。ＲＡＭ（Random Access Memory）２０３は、揮発性メモリであり、一時的な情報を記憶する。内部不揮発性メモリ(内部ＥＥＰＲＯＭ)２０４は、制御用学習値や故障コードを記憶する。内部通信インタフェース（Ｉ／Ｆ）２０７は、外部不揮発性メモリ２０９に接続される。
【００２２】
上述のエンジン制御は、マイクロコントローラ２１０内の中央処理装置（ＣＰＵ）２０１によって制御プログラムを実行することにより実現される。前記制御プログラムは、マイクロコントローラ２１０内のＲＯＭ２０２に配置される。中央処理装置（ＣＰＵ）２０１は、ＲＯＭ２０２内の前記制御プログラムを実行する際、ＲＯＭ２０２に配置される制御用の固定データを用い、マイクロコントローラ２１０内のＲＡＭ２０３を作業領域として利用することにより、前記制御プログラムを実行する。
【００２３】
制御プログラムを実行するマイクロコントローラ２１０は、センサ類２１１、例えば、クランク角度センサ１０１５ＡＦＭ１０１８、アクセル開度センサ１０２０、空燃比センサ１０１３、水温センサ等からの入力値を基に、目的毎の制御を行い、例えば、点火プラグ１００６の点火制御、絞り弁１０１７の制御によるトルク制御、燃料噴射弁１００５の燃料噴射制御などの制御演算値を算出する。この制御演算値は、アクチュエータ類２１２、例えば、イグナイタ、インジェクタ等への出力パラメータとなる。
【００２４】
この制御演算値は、例えば、中央処理装置（ＣＰＵ）２０１内のＡＬＵ（演算装置/算術論理演算装置）及び汎用レジスタＧＰＲを用いて計算され、汎用レジスタＧＰＲからＲＡＭ２０３へ格納される。
【００２５】
この制御演算値を算出する際、制御で使用する制御演算値の計算途中の計算値、すなわち、中間演算値もＲＡＭ２０３へ格納する。中間演算値は、電子制御装置１００９の制御開発及び検証時に有効となる値であり、電子制御装置１００９の外部からモニタ可能にされている。この明細書では、この制御演算値や中間演算値の制御プログラム内での定義名を、ラベル(変数ラベル、モニタラベル、変数モニタラベルということもある)と呼ぶこととする。また、制御演算値や中間演算値を、制御変数と呼ぶこととする。
【００２６】
（比較例に係るモニタラベル及びリソース）
以下、変数モニタラベル及びリソースについて説明する。
【００２７】
図３及び図４は、モニタラベルを説明するための図である。
【００２８】
図３において、新たなエンジン制御を開発している状況において、温度関係の情報が必要となっており、その情報は、変数ラベルONDOALL(１)にて扱う事とする。また、変数ラベルONDOALL(１)は、演算(２)にて制御演算値を求めるものとする。すなわち、ONDOALL(１)は以下の式より求めるものとする。
【００２９】
ONDOALL=演算(２)
=((ONDOA x A)+(ONDOB x A)+(ONDOC x A) +(ONDOD x B)+(ONDOE x B)+(ONDOF x B)) 
ここで、A、Bは係数である。
【００３０】
演算(２)は、演算要素（３）、（４）にて求められる。すなわち、以下である。
【００３１】
演算(２)=演算要素（３）＋演算要素（４）
演算要素（３）=(ONDOA x A)+(ONDOB x A)+(ONDOC x A)
演算要素（４）=(ONDOD x B)+(ONDOE x B)+(ONDOF x B)
演算要素（３）は、変数ラベルONDOA,ONDOB,ONDOC及び係数A(５)にて求められるものとする。演算要素（４）は、変数ラベルONDOD,ONDOE,ONDOF及び係数B（６）にて求められるものとする。係数A(５)、係数B（６）の値は、変数ラベルONDOALL(１)による制御が有効な制御となるか否かにおいて、重要なファクターであり、さまざまな実験による適合プロセスにて決定される。なお、この例では、変数ラベルONDOA、ONDOB、ONDOC、ONDOD、ONDOE、ONDOFには、モニタラベルが割り当てられていないものとする。
【００３２】
図４において、係数A(５)を決定する適合プロセスにおいて、モニタラベルONDOABC（７）が存在すると、演算過程をモニタすることが出来るため、開発効率面において有効である。同様に、係数B(６)を決定する適合プロセスにおいて、モニタラベルONDODEF（８）が存在すると、演算過程をモニタすることが出来るため、開発効率面において有効である。
【００３３】
モニタラベルONDOABC（７）は、演算要素（３）のモニタラベルであり、これにより演算要素（３）の演算結果がモニタ可能になるので、係数A（５）の決定における開発効率が向上する。また、モニタラベルONDODEF（８）は、演算要素（４）のモニタラベルであり、これにより演算要素（４）の演算結果がモニタ可能になるので、係数B（６）の決定における開発効率が向上する。
【００３４】
図４において、変数ラベルONDOALL(１)は、モニタラベルONDOABC（７）、ONDODEF（８）により演算されるが、これは演算（２）と同等である。
【００３５】
以上により、モニタラベルONDOABC（７）及びONDODEF（８）がある場合、開発効率向上が見込まれるが、ＲＡＭ２０３のリソースの観点では、モニタラベルがある場合、不利になる虞がある。
【００３６】
図５は、モニタラベルが無い場合のＲＡＭのリソースを説明するための図である。図６は、モニタラベルが有る場合のＲＡＭのリソースを説明するための図である。
【００３７】
図５に示されるように、図３の変数ラベルONDOALL(１)の演算を実行する場合において、図４に示されるモニタラベルONDOABC（７）及びONDODEF（８）のようなモニタラベルが無い場合、変数ラベルONDOALL(１)の制御演算値をＲＡＭ２０３のアドレスFFF8000に割り当てられた1バイトの記憶領域へ格納する。この場合、ＲＡＭ２０３に必要なリソースは、１バイトである。
【００３８】
一方、図６に示されるように、図４に示されるモニタラベルONDOABC（７）及びONDODEF（８）のような計算途中の中間演算値に対するモニタラベルがある場合、ＲＡＭ２０３に必要なリソースは３バイトとなる。モニタラベルONDOABC（７）の演算値をＲＡＭ２０３のアドレスFFF8000に割り当てられた1バイトの記憶領域へ格納し、ONDODEF（８）の演算値をＲＡＭ２０３のアドレスFFF8001に割り当てられた1バイトの記憶領域へ格納し、変数ラベルONDOALL(１)の制御演算値をＲＡＭ２０３のアドレスFFF8002に割り当てられた1バイトの記憶領域へ格納する。
【００３９】
このように、モニタレベルが無い場合と比較し、モニタラベルが有る場合、３倍のＲＡＭ２０３のリソースを必要とすることになる。図６に示されるように、モニタラベル毎にＲＡＭのリソースを割り当てる方式は、各モニタラベルのモニタ周期精度としては有効であるものの、ＲＡＭのリソースを多く必要とするという課題も抱える。
【００４０】
昨今の制御の増加・複雑化により、電子制御装置の量産開発において、モニタレベルの数は、数万個から数千個となっており、ＲＡＭのリソース不足の要因の１つと考えられている。
【００４１】
図７は、モニタラベルとモニタ周期との関係を説明するための図である。図８は、モニタラベルとリソースとの関係を説明するための図である。
【００４２】
図7及び図８に示す様に、Ａ、Ｂ、Ｃ、Ｄの演算を実施し、演算結果のモニタが必要な状況において、モニタに必要なモニタラベルＡ，Ｂ，Ｃ，ＤをＲＡＭ２０３のアドレスFFF8000、FFF8001、FFF8002、FFF8003に対応する記憶領域（メモリエリア）にリソースとして各々割り付け、演算結果をそれぞれのモニタラベル毎に記憶領域（メモリエリア）へ格納する。モニタラベルＡ、Ｂ、Ｃ、Ｄの更新周期は1周期毎である。
【００４３】
よって、ＲＡＭ２０３に必要なリソースは４バイトであり、1周期毎に更新された値をモニタする事が可能である。
【００４４】
（実施例に係るモニタラベル及びリソース）
図９は、実施例に係るモニタラベルとモニタ周期との関係を説明するための図である。図１０は、実施例に係るモニタラベルとリソースとの関係を説明するための図である。図１１は、実施例に係るマイクロコントローラの動作の一例を説明するための図である。
【００４５】
この例では、モニタラベルを用途やサンプル周期によりグルーピング（ＡＢ，ＣＤ）し、グルーピングの結果により、複数のラベル（ＡとＢ及びＣとＤ）を一つのラベル（ＡＢ及びＣＤ）に割り付ける事で、ＲＡＭ２０３のリソース不足を解消するものである。すなわち、モニタラベルＡＢに、ラベルＡの演算値とラベルＢの演算値とを割りづける。モニタラベルＣＤに、ラベルＣの演算値と、ラベルＤの演算値とを割りづける。
【００４６】
図９及び図１０に示されるように、この例では、Ａ、Ｂ、Ｃ、Ｄの演算を実施し、演算結果のモニタが必要な状況において、モニタに必要なモニタラベル（Ａ、Ｂ、Ｃ、Ｄ）のそれぞれをリソースとして割り付けず、テンポラリのリソースＡＢ，ＣＤを定義して使用し、Ａ、Ｂ、Ｃ、Ｄの演算を実施する。
【００４７】
モニタラベルとしてはＡＢ、ＣＤ、ＫＩＲＩＫＡＥをリソースとして割り付け、テンポラリに格納した演算結果を、ＡＢ、ＣＤのリソースに周期毎に格納する。モニタラベルＡＢ、ＣＤ、ＫＩＲＩＫＡＥには、ＲＡＭのアドレスＦＦＦ８０００，ＦＦＦ８００１，ＦＦＦＦ８００２に対応する記憶領域(メモリエリア)がそれぞれ割り当てられる。格納内容定義の部分に記載されるように、切り替え情報ＫＩＲＩＫＡＥの値が“1”の場合、モニタラベルＡＢ、ＣＤのそれぞれの共用リソースであるアドレスＦＦＦ８０００，ＦＦＦ８００１の各共用メモリエリアには、Ａ，Ｃの演算の演算結果の値がそれぞれ格納される。切り替え情報ＫＩＲＩＫＡＥの値が“０”の場合、モニタラベルＡＢ、ＣＤの共用リソースであるアドレスＦＦＦ８０００，ＦＦＦ８００１の各共用メモリエリアには、Ｂ，Ｄの演算結果の値がそれぞれ格納される。切り替え情報ＫＩＲＩＫＡＥは、共用メモリエリアＡＢ，ＣＤに書き込まれた制御変数が、複数の制御変数のいずれであるかを示す情報に対応する。
【００４８】
各演算値の格納の周期は、切り替え情報ＫＩＲＩＫＡＥの値により決定する。したがって、モニタラベルの更新周期は２周期毎となる。よって、ＲＡＭ２０３に必要なリソースは３バイトであり、２周期毎に更新された値をモニタすることが出来る。ただし、モニタの精度は低下するので、２周期毎のモニタでも十分な精度が確保可能な演算をモニタラベルとして選択する必要がある。
【００４９】
切り替え情報ＫＩＲＩＫＡＥの値と、ＡＢ、ＣＤの値との関係を説明する。切り替え情報ＫＩＲＩＫＡＥの値が“１”の時、モニタラベルＡＢのメモリエリアには、Ａの演算値が格納され、モニタラベルＣＤのメモリエリアには、Ｃの演算値が格納される。切り替え情報ＫＩＲＩＫＡＥの値が“０”の時、モニタラベルＡＢのメモリエリアには、Ｂの演算値が格納され、モニタラベルＣＤのメモリエリアには、Ｄの演算値が格納される。Ａの演算値をモニタするには、周期１，３，５の時のみ可能であり、Ｂの演算値をモニタするには、周期２，４，６の時のみ可能となる。よって、リソース面では有効だが、モニタ精度は低下するので、２周期毎のモニタでも十分な精度が確保可能な演算をモニタラベルとして選択するのが好ましい。
【００５０】
図１１に示すように、マイクロコントローラ２０１の中央処理装置（ＣＰＵ）２０１内には、ＡＬＵ（演算装置/算術論理演算装置）及び汎用レジスタＧＰＲ１−５が設けられる。汎用レジスタＧＰＲ１には、演算Ａの演算値が格納されるように割り当てられる。同様に、汎用レジスタＧＰＲ２，３、４には、演算Ｂ，Ｃ，Ｄの演算値が格納されるようにそれぞれ割り当てられる。汎用レジスタＧＰＲ５には、切り替え情報ＫＩＲＩＫＡＥの値が格納されるよう割り当てられる。なお、切り替え情報ＫＩＲＩＫＡＥは制御プログラムのソフトウエアにより構成されても良い。
【００５１】
前述の様に、切り替え情報ＫＩＲＩＫＡＥの値が“１”の時、モニタラベルＡＢの共用リソース(アドレスＦＦＦ８０００に対応する共用メモリエリア)には、Ａの演算値が汎用レジスタＧＰＲ１から格納され、モニタラベルＣＤの共用のリソース(アドレスＦＦＦ８００１に対応する共用メモリエリア)には、Ｃの演算値が汎用レジスタＧＰＲ３から格納される。また、モニタラベルＫＩＲＩＫＡＥのリソース(アドレスＦＦＦ８００２に対応するメモリエリア)には、切り替え情報ＫＩＲＩＫＡＥの値“１”が汎用レジスタＧＰＲ５から格納される。同様に、切り替え情報ＫＩＲＩＫＡＥの値が“０”の時、モニタラベルＡＢのリソース(アドレスＦＦＦ８０００に対応するメモリエリア)には、Ｂの演算値が汎用レジスタＧＰＲ２から格納され、モニタラベルＣＤのリソース(アドレスＦＦＦ８００１に対応するメモリエリア)には、Ｄの演算値が汎用レジスタＧＰＲ４から格納される。また、モニタラベルＫＩＲＩＫＡＥのリソース(アドレスＦＦＦ８００２に対応するメモリエリア)には、切り替え情報ＫＩＲＩＫＡＥの値“０”が汎用レジスタＧＰＲ５から格納される。
【００５２】
この実施例によれば、モニタラベルを用途やサンプル周期によりグルーピングし、グルーピング結果により、複数のモニタラベルを一つのモニタラベルに割り付ける事で、ＲＡＭのリソース不足を解消することが出来る。
【００５３】
（変形例）
図１２は、変形例に係るモニタラベルとモニタ周期との関係を説明するための図である。図１３は、変形例に係るモニタラベルとリソースとの関係を説明するための図である。図１４は、変形例に係るマイクロコントローラの動作の一例を説明するための図である。この例では、モニタラベルを用途やサンプル周期によりグルーピングし、グルーピング結果により、複数のモニタラベル（Ａ、Ｂ、Ｃ、Ｄ）を一つのモニタラベル（ＡＢＣＤ）に割り付ける事で、ＲＡＭ２０３のリソース不足を解消するものである。
【００５４】
図１２及び図１３に示されるように、この例でも、Ａ、Ｂ、Ｃ、Ｄの演算を実施し、演算結果のモニタが必要な状況において、モニタに必要なモニタラベル（Ａ、Ｂ、Ｃ、Ｄ）のそれぞれをリソースとして用意せず、テンポラリのリソースＡＢＣＤを定義して使用し、Ａ、Ｂ、Ｃ、Ｄの演算を実施する。
【００５５】
モニタラベルＡＢＣＤ, ＫＩＲＩＫＡＥをリソースとして割り付け、テンポラリに格納した演算結果を、ＡＢＣＤのリソースに周期毎に格納する。モニタラベルＡＢＣＤ, ＫＩＲＩＫＡＥには、ＲＡＭ２０３のアドレスＦＦＦ８０００，ＦＦＦ８００１に対応するメモリエリアがそれぞれ割り当てられる。切り替え情報ＫＩＲＩＫＡＥは、共用メモリエリアＡＢＣＤに書き込まれた制御変数が、複数の制御変数のいずれであるかを示す情報に対応する。
【００５６】
演算値の格納の周期は、切り替え情報ＫＩＲＩＫＡＥの値により決定する。モニタラベルＡＢＣＤの更新周期は、４周期毎となる。
【００５７】
よって、ＲＡＭ２０３に必要なリソースは２バイトであり、４周期毎に更新された値をモニタする事となる。よって、リソース面では有効だが、モニタ精度は低下するので、４周期毎のモニタでも十分な精度が確保可能な演算をモニタラベルとして選択する。
【００５８】
切り替え情報ＫＩＲＩＫＡＥの値と、ＡＢＣＤの値は、下記で説明する。
【００５９】
切り替え情報ＫＩＲＩＫＡＥの値が“１”の時、モニタラベルＡＢＣＤの共用メモリエリアには、演算Ａの演算値が格納される。切り替え情報ＫＩＲＩＫＡＥの値が“２”の時、モニタラベルＡＢＣＤの共用メモリエリアには、演算Ｂの演算値が格納される。切り替え情報ＫＩＲＩＫＡＥの値が“３”の時、モニタラベルＡＢＣＤの共用メモリエリアには、演算Ｃの演算値が格納される。切り替え情報ＫＩＲＩＫＡＥの値が“４”の時、モニタラベルＡＢＣＤの共用メモリエリアには、演算Ｄの演算値が格納される。
【００６０】
演算Ａの演算値をモニタするには、周期１，５の時のみ可能である。演算Ｂの演算値をモニタするには、周期２，６の時のみ可能となる。同様に、演算Ｃの演算値は、周期３，７の時のみ、演算Ｄの演算値は、周期４，８の時のみ、可能である。４周期毎にのみ同一の演算値をモニタする事が可能となるので、サンプルの精度は低下となるので、４周期毎のモニタでも十分な精度が確保可能な演算をモニタラベルとして選択するのが好ましい。
【００６１】
図１４に示すように、マイクロコントローラ２０１の中央処理装置（ＣＰＵ）２０１内には、ＡＬＵ（演算装置/算術論理演算装置）及び汎用レジスタＧＰＲ１−５が設けられる。汎用レジスタＧＰＲ１には、演算Ａの演算値が格納されるように割り当てられる。同様に、汎用レジスタＧＰＲ２，３、４には、演算Ｂ，Ｃ，Ｄの演算値が格納されるようにそれぞれ割り当てられる。汎用レジスタＧＰＲ５には、切り替え情報ＫＩＲＩＫＡＥの値が格納されるよう割り当てられる。なお、切り替え情報ＫＩＲＩＫＡＥは制御プログラムのソフトウエアにより構成されても良い。前述の様に、切り替え情報ＫＩＲＩＫＡＥが“１”の時、モニタラベルＡＢＣＤの共用リソース(アドレスＦＦＦ８０００に対応する共用メモリエリア)には、Ａの演算値が汎用レジスタＧＰＲ１から格納される。モニタラベルＫＩＲＩＫＡＥのリソース(アドレスＦＦＦ８００１に対応するメモリエリア)には、切り替え情報ＫＩＲＩＫＡＥの値“１”が汎用レジスタＧＰＲ５から格納される。切り替え情報ＫＩＲＩＫＡＥが“２”の時、モニタラベルＡＢＣＤの共用リソース(アドレスＦＦＦ８０００に対応する共用メモリエリア)には、Ｂの演算値が汎用レジスタＧＰＲ２から格納される。モニタラベルＫＩＲＩＫＡＥのリソース(アドレスＦＦＦ８００１に対応するメモリエリア)には、切り替え情報ＫＩＲＩＫＡＥの値“２”が汎用レジスタＧＰＲ５から格納される。切り替え情報ＫＩＲＩＫＡＥが“３”の時、モニタラベルＡＢＣＤの共用リソース(アドレスＦＦＦ８０００に対応する共用メモリエリア)には、Ｃの演算値が汎用レジスタＧＰＲ３から格納される。モニタラベルＫＩＲＩＫＡＥのリソース(アドレスＦＦＦ８００１に対応するメモリエリア)には、切り替え情報ＫＩＲＩＫＡＥの値“３”が汎用レジスタＧＰＲ５から格納される。切り替え情報ＫＩＲＩＫＡＥが“４”の時、モニタラベルＡＢＣＤの共用リソース(アドレスＦＦＦ８０００に対応する共用メモリエリア)には、Ｄの演算値が汎用レジスタＧＰＲ４から格納される。モニタラベルＫＩＲＩＫＡＥのリソース(アドレスＦＦＦ８００１に対応するメモリエリア)には、切り替え情報ＫＩＲＩＫＡＥの値“４”が汎用レジスタＧＰＲ５から格納される。
【００６２】
以上をまとめると、以下となる。
【００６３】
１）本発明は、制御コンピュータ（マイクロコントローラ等）により演算（Ａ，Ｂ，Ｃ，Ｄ）された制御変数（制御演算値や中間演算値）に対するものである。モニタが可能な間隔に対し、その演算（Ａ，Ｂ，Ｃ，Ｄ）の周期が同じ又は遅い（長い）制御変数（制御演算値や中間演算値）について、制御変数（制御演算値や中間演算値）をモニタするためのメモリエリア（ＲＡＭのアドレスに割り当てられる記憶領域）を、モニタする複数の制御変数（制御演算値や中間演算値）で共用する。複数の制御変数（制御演算値や中間演算値）でメモリエリアを共用するので、ＲＡＭのリソース不足を解消することが出来る。
【００６４】
また、複数の制御変数（制御演算値や中間演算値）を予め定めた時間周期で上記共用メモリエリアに書き込み、共用メモリエリアに書き込まれた制御変数が、複数の制御変数のいずれであるかに関する情報(切り替え情報：ＫＩＲＩＫＡＥ)を別のモニタ可能なメモリエリアに書き込むことにより、ＲＡＭのリソース不足を解消するものである。
【００６５】
２）図７、図８のモニタ方式では、必要なリソースは４バイトである。図９、図１０のモニタ方式では、必要なリソースは３バイトであり、図１２及び図１３では、必要なリソースは２バイトである。また、モニタラベルのサンプリング周期は、図７、図８のモニタ方式では１周期毎である。図９、図１０のモニタ方式では２周期毎であり、図１２及び図１３のモニタ方式では４周期毎となる。
【００６６】
よって、リソース低減と引き換えにサンプリング(モニタ)可能な周期が長くなるが、サンプリング(モニタ)可能な周期が長くても十分な精度が確保可能な演算をモニタラベルとして選択すればよい。
【００６７】
その為、本発明の採用においては、対象となるモニタラベルの抽出及び選択が必要となる。対象のモニタラベルは、制御演算の周期がモニタ可能間隔に対し遅いもの、または水温等、値の変化周期が遅いものを対象とし、サンプリング可能な周期が長くなっても影響のない演算をモニタラベルとするとよい。
【００６８】
３）本発明によれば、データ蓄積量の削減とリソース不足の解消の両立を図ることが出来る。すなわち、複数のモニタラベルを一つのモニタラベルに付ける事で、データ蓄積量の削減及びモニタラベルに関するＲＡＭのリソースを軽減出来る。例として、１０のモニタラベルを１つのモニタラベルに割り付ける事で、ＲＡＭのリソースを１/１０に軽減出来き、ＲＡＭのリソースの不足を解消出来る。また、言い換えると、同じモニタラベルで多くの演算値をモニタする事が可能となる。
【符号の説明】
【００６９】
１：温度情報ラベル
２：温度情報ラベル演算
３：温度情報ラベル演算要素１
４：温度情報ラベル演算要素２
５：温度情報ラベル演算係数１
６：温度情報ラベル演算係数２
７：温度情報モニタラベル１
８：温度情報モニタラベル２
１００９：電子制御装置（エンジンコントロールユニット）
２１０：制御コンピュータ
２０１：中央処理装置
２０２：不揮発性メモリ（ＲＯＭ）
２０３：揮発性メモリ（ＲＡＭ）
２１１：センサ類
２１２：アクチュエータ類
ＡＬＵ：演算装置/算術論理演算装置
ＧＰＲ，ＧＰＲ１，ＧＰＲ２，ＧＰＲ３，ＧＰＲ４：汎用レジスタ
【図１】
2018127940.tif 000003
【図２】
2018127940.tif 000004
【図３】
2018127940.tif 000005
【図４】
2018127940.tif 000006
【図５】
2018127940.tif 000007
【図６】
2018127940.tif 000008
【図７】
2018127940.tif 000009
【図８】
2018127940.tif 000010
【図９】
2018127940.tif 000011
【図１０】
2018127940.tif 000012
【図１１】
2018127940.tif 000013
【図１２】
2018127940.tif 000014
【図１３】
2018127940.tif 000015
【図１４】
2018127940.tif 000016