(57)【要約】【課題】複数の制御対象で構成される複雑な評価対象モデルであっても、夫々の制御対象間を所定の規則で管理することで、評価対象モデルの構築や変更を容易に行なうことができるシミュレーションシステムを提供する。【解決手段】対象をモデル化したシミュレーションモデルの演算を行うことでシミュレーションを行うシミュレーション装置であって、前記シミュレーションモデルを記憶する記憶手段と、前記シミュレーションモデルの演算を行うモデル演算手段１１とを備え、複数のシミュレーション装置ＳＭを接続してシミュレーションを行う際、前記モデル演算手段１１は、他のシミュレーション装置ＳＭが演算を行うシミュレーションモデルと同じ部位のシミュレーションモデルが、前記記憶手段に記憶されている場合に、重複部位のシミュレーションモデルの演算を行わない。【選択図】図９
2008090489.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーション対象をモデル化したシミュレーションモデルの演算を行うことによってシミュレーションを行うシミュレーション装置であって、
前記シミュレーションモデルを記憶する記憶手段と、前記記憶手段に記憶されたシミュレーションモデルの演算を行うモデル演算手段とを備え、複数のシミュレーション装置を接続してシミュレーションを行う際、前記モデル演算手段は、他のシミュレーション装置が演算を行うシミュレーションモデルと同じ部位についてのシミュレーションモデルが、前記記憶手段に記憶されている場合に、重複する部位についてのシミュレーションモデルの演算を行わないことを特徴とするシミュレーション装置。
【請求項２】
前記モデル演算手段は、前記記憶手段に記憶されている前記重複する部位についてのシミュレーションモデルが、他のシミュレーション装置が演算を行うシミュレーションモデルよりもシミュレーション精度が悪い場合に、シミュレーションモデルの演算を行わないことを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
シミュレーション対象をモデル化したシミュレーションモデルの演算を行うことによってシミュレーションを行うシミュレーション装置であって、
前記シミュレーションモデルの演算を行うモデル演算手段と、前記モデル演算手段の演算で算出されたパラメータを外部に送信する送信手段とを備え、複数のシミュレーション装置を接続してシミュレーションを行う際、前記送信手段は、他のシミュレーション装置におけるシミュレーションモデルの演算によって算出されるパラメータと同じパラメータが、前記演算手段の演算によって算出される場合に、重複するパラメータの送信を行わないことを特徴とするシミュレーション装置。
【請求項４】
複数のシミュレーション装置を通信接続して電気自動車のシミュレーションを行うシミュレーションシステムであって、
電池の状態をシミュレーションする演算部を備えた第一のシミュレーション装置と、モータの状態をシミュレーションする演算部とモータを駆動するインバータの状態をシミュレーションする演算部とを備えた第二のシミュレーション装置とを具備することを特徴とするシミュレーションシステム。
【請求項５】
複数のシミュレーション装置を通信接続してハイブリッド自動車のシミュレーションを行うシミュレーションシステムであって、
エンジンの状態をシミュレーションする演算部を備えた第一のシミュレーション装置と、電池の状態をシミュレーションする演算部を備えた第二のシミュレーション装置と、モータの状態をシミュレーションする演算部とモータを駆動するインバータの状態をシミュレーションする演算部とを備えた第三のシミュレーション装置とを具備することを特徴とするシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のシミュレータと各シミュレータを管理する管理装置とをネットワーク接続し、各シミュレータにより分散して実行されるモデルプログラムにより複雑な評価対象モデルを生成するシミュレーションシステムに関する。
【背景技術】
【０００２】
近年、製品開発に要する期間やコストを削減し、製品開発にかかる安全性を向上させることを目的として、様々な分野において開発される組み込みソフトウェア等の評価のために、当該ソフトウェアで制御される実際の装置を数式化したモデルプログラムにより模擬してコンピュータに演算させ、その結果に基づいて特性の確認や起こり得る問題の抽出を可能とするシミュレーションシステムが利用されている。
【０００３】
このようなシミュレーションシステムとして、例えば、車両を電子制御するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）に組み込まれる制御用ソフトウェアを評価するために、評価対象プログラムが組み込まれた制御系ハードウェアでなるＥＣＵ基板と、ＥＣＵ基板により制御される非制御系の一例であるエンジンシステムを模擬するモデルプログラムが組み込まれ、前記ＥＣＵ基板により制御される被制御系ハードウェアで構成されるシミュレータの複数がネットワークを介して管理装置に接続された分散型のシミュレーションシステムが提案されている。
【０００４】
また、制御用ソフトウェアが組み込まれた制御系ハードウェアであるＥＣＵそのものを模擬する制御系ソフトウェアと、前記被制御系ハードウェアそのものを模擬する被制御系ソフトウェアで構成されるシミュレータと、当該モデルプログラムの入出力情報や環境条件の設定及び実行を管理するホストコンピュータでなる管理装置でシミュレーションユニットを構築することも提案されている。
【０００５】
前者のシミュレータは一般にＨＩＬＳ（Ｈａｒｄｗａｒｅ  Ｉｎ  ｔｈｅ  Ｌｏｏｐ  Ｓｉｍｕｌａｔｉｏｎ）と称され、後者のシミュレータは一般にＳＩＬＳ（Ｓｏｆｔｗａｒｅ  Ｉｎ  ｔｈｅ  Ｌｏｏｐ  Ｓｉｍｕｌａｔｉｏｎ）と称される。
【０００６】
尚、本発明に関連する公知技術として、特許文献１には同一ＯＳ上で動作させるソフトウェア及びハードウェアのシミュレーションシステムが開示され、特許文献２にはＣＰＵ上のシミュレータプログラムとシミュレータハードウェアとがパーソナルコンピュータのシミュレータボード上で接続された構成が開示され、特許文献３には実記デバイス及び仮想デバイスを周辺デバイスとして用いる場合に、効率よくプログラムの検証が行なえるマイクロコンピュータ先行開発支援用検証システムが開示されている。
【０００７】
【特許文献１】特開２００２−１７５３４４号公報
【特許文献２】特開２００１−３３１３４６号公報
【特許文献３】特開２００３−３１６６０３号公報
【非特許文献１】田中修三他著「オールソフトシミュレーションによる制御ソフトウェア開発」富士通テン技報、２００６年６月、２８頁〜３３頁
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したシミュレーションシステムを用いて開発ソフトウェアを評価する場合に、異なるモデルプログラムが移植された複数のシミュレータを並列に接続して、夫々設定された演算周期で並列演算することにより、大規模且つ複雑なモデルを実現する分散型のシミュレーションシステムが構築され、評価対象プログラムがシステムに搭載されたときの総合的な評価が行なわれる。
【０００９】
異なるモデルプログラムが移植された複数のシミュレータを並列接続してシミュレーションする際に、各シミュレータで実行されるモデルプログラムに重複するモジュールが存在し、それぞれのモジュールの演算精度に差異があると、各シミュレータが自身のモジュールに基づいて演算し、その結果に基づいて演算を進める結果、シミュレーション精度が低下するという問題があった。
【００１０】
例えば、車両の動作を模擬する分散型のシミュレーションシステムの場合、エンジンを模擬するシミュレータと、トランスミッションを模擬するシミュレータのそれぞれにエンジン回転数を算出するモジュールが存在し、エンジン側のシミュレータにおけるモジュールの演算精度よりトランスミッション側のシミュレータにおけるモジュールの演算精度が低いときであっても、トランスミッション側のシミュレータでは精度の低いモジュールの演算結果に基づいて演算処理がされていたため、トランスミッション側のシミュレータの演算精度が低くなるという問題があり、そのようなトランスミッション側のシミュレータの演算結果がエンジン側のシミュレータに反映されると、システムとしての演算精度が低下するのである。
【００１１】
また、各シミュレータ間のインタフェースを規定する入出力パラメータが予め設定されているが、それらを相互に接続する場合には、データの整合が図られるように、信号名称や接続先さらにはデータの精度等の入出力パラメータを再設定してマッチングさせる煩雑な処理が必要であった。
【００１２】
本発明の目的は、上述の問題点に鑑み、複数のシミュレータを並列接続して複雑な評価対象モデルを構築する際に、相互の入出力パラメータを整合させて、精度の高いシミュレーションを行なうことのできるシミュレーションシステムを提供する点にある。
【課題を解決するための手段】
【００１３】
上述の目的を達成するため、本発明によるシミュレーションシステムの特徴構成は、シミュレーション対象をモデル化したシミュレーションモデルの演算を行うことによってシミュレーションを行うシミュレーション装置であって、前記シミュレーションモデルを記憶する記憶手段と、前記記憶手段に記憶されたシミュレーションモデルの演算を行うモデル演算手段とを備え、複数のシミュレーション装置を接続してシミュレーションを行う際、前記モデル演算手段は、他のシミュレーション装置が演算を行うシミュレーションモデルと同じ部位についてのシミュレーションモデルが、前記記憶手段に記憶されている場合に、重複する部位についてのシミュレーションモデルの演算を行わない点にある。
【００１４】
上述の構成によれば、複数のシミュレーション装置で重複した部位がある場合、特定のシミュレーション装置の重複部位のみが実行され、特定のシミュレーション装置以外のシミュレーション装置の重複部位の実行が禁止され、特定のシミュレーション装置以外のシミュレーション装置では、特定のシミュレーション装置自身の当該部位の演算結果に基づいて演算が実行されるので、各シミュレーション装置の演算結果の整合性が保たれる。
【発明の効果】
【００１５】
本発明によれば、複数のシミュレータを並列接続して複雑な評価対象モデルを構築する際に、相互の入出力パラメータを整合させて、精度の高いシミュレーションを行なうことのできるシミュレーションシステムを提供することができるようになった。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明を、車両を電子制御するＥＣＵに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムに適用する場合を例に説明する。
【００１７】
図１に示すように、シミュレーションシステムは、夫々が個別に定められた複数のモデルプログラムＭＰを実行する、つまりシミュレーション対象をモデル化したシミュレーションモデルの演算を行うシミュレーション装置としての複数のシミュレータＳＭと、前記シミュレータＳＭの各々を統括管理する管理装置（ホストコンピュータ）ＰＣとを備えて構成されており、前記シミュレータＳＭの各々と前記管理装置ＰＣはＬＡＮでネットワーク接続されている。
【００１８】
そして、シミュレーションシステムは、前記管理装置ＰＣに接続された各シミュレータＳＭにより分散して実行されるモデルプログラムＭＰ、つまり各シミュレーションモデルにより複雑な評価対象モデルを生成するように構成されている。前記評価対象モデルとは、実車両を構成する機構であり、エンジンやブレーキやトランスミッション等を模擬したエンジンモデルやブレーキモデルやトランスミッションモデル等の複数の機構モデルにより構成される車両モデルことである。
【００１９】
よって、一つシミュレーションモデルが少なくとも一つの機構モデルを構成する、または、複数のシミュレーションモデルが一つの機構モデルを構成する。前述より、一つのシミュレーションモデルが少なくとも一つの評価対象モデルを構成してもよいことは言うまでもない。
【００２０】
前記管理装置ＰＣは、複数のモデルプログラムＭＰ及び環境条件を統括して管理するデータベースＤＢを備えて構成されている。
【００２１】
前記データベースＤＢには、図２に示すように、車両の各機能ブロックであるステアリング、ミッション、ブレーキ、エンジン、モータ等を模擬するモデルプログラムＭＰが車種や型式毎に管理され、車種や型式毎に搭載可能なモデルプログラムＭＰを特定可能な属性データと、当該モデルプログラムＭＰが移植可能なシミュレータ情報とともに管理されている。
【００２２】
また、管理装置ＰＣには、オペレータの設定操作により、接続された各シミュレータＳＭで実行されるモデルプログラムＭＰに対応する環境条件Ａを一括して設定し、データベースＤＢに区画されたシミュレーション情報管理領域Ｂに格納する環境条件設定手段が設けられ、格納された環境条件を管理装置ＰＣの表示部に一括して表示させる閲覧手段が設けられている。当該環境条件設定手段では、シミュレータＳＭ間で相互に関連する入出力データの設定も行なわれる。
【００２３】
環境条件Ａとは、シミュレーションを実行する際に管理装置ＰＣとの間での入出力情報、つまり管理装置ＰＣとの間でシミュレーションの実行及び評価に必要なデータの種類、単位、精度及びデータの配列情報等を定義した設定条件や、管理装置ＰＣの表示部からシミュレーションを制御するためのＧＵＩ（Ｇｒａｐｈｉｃａl  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の設定条件等をいい、ＧＵＩの設定条件とは、シミュレータＳＭに対する演算条件を設定するためにＧＵＩ上に表示される操作スイッチやメータＭＴの種類、シミュレータＳＭから入手した制御データをＧＵＩ上に表示するグラフィックモデルＧＭの選択等をいう。
【００２４】
例えば、シミュレータＳＭがエンジンを模擬するものである場合には、エンジン始動キー情報、アクセル開度情報、燃料情報等の入力データと、エンジン回転数、燃料噴射量、走行速度、排ガスモニタ情報、油温情報等の出力データの種類、単位、精度、データの配列等が入出力情報の設定条件に該当し、エンジン始動スイッチ、アクセルスイッチ、シフトスイッチ等が操作スイッチに該当し、回転数計、速度計等がメータＭＴに該当し、エンジン回転数のトレンドグラフ等がグラフィックモデルＧＭに相当する。
【００２５】
管理装置ＰＣには、設定された環境条件に基づいて表示部に表示される操作スイッチを操作することにより夫々のシミュレーションの実行を制御し、設定された環境条件に基づいてシミュレータＳＭから入力される制御データやプロセスデータを入力してメータＭＴやグラフに表示する演算制御手段が設けられている。
【００２６】
従って、管理装置ＰＣのＧＵＩを介して表示される操作スイッチを操作することにより各シミュレータを制御することができ、その結果が管理装置ＰＣのＧＵＩを介して表示されるように構成されている。
【００２７】
当該システムに接続可能なシミュレータＳＭは、評価対象プログラムが組み込まれた制御系ハードウェアとしてのＥＣＵ（電子制御ユニット）と、モデルプログラムＭＰが組み込まれ、ＥＣＵにより制御される被制御系ハードウェア、つまりエンジンやミッションを模擬するハードウェアブロックで構成されるＨＩＬＳシステム、または、ＥＣＵを模擬する制御系ソフトウェアと、被制御系ハードウェアを模擬する被制御系ソフトウェアが一台のコンピュータ上で実現されるＳＩＬＳシステムで構成されている。
【００２８】
ＨＩＬＳシステムにおいては、ＨＩＬＳを構成する各シミュレータＳＭが、自身に備えた複数のボードで複数のモデルプログラムＭＰを実行して評価対象モデルを構成する各機構モデルを模擬し、模擬する機構モデルである被制御系モデルを制御する制御系ハードウェアであるＥＣＵと接続される。
【００２９】
ＨＩＬＳシステムは、一例として、図３に示すように、実際に車両に搭載される制御ソフトウェアが格納されたＲＯＭとそのソフトウェアを実行するＣＰＵとワーキングエリアとして使用されるＲＡＭと入出力回路等を備えて構成されるＥＣＵと、ＥＣＵがハーネスＨを介して接続されエンジン等の制御対象を模擬する狭義のシミュレータＳＭと、シミュレータＳＭを制御する管理装置ＰＣで構成されている。つまり、管理装置ＰＣは接続されている各シミュレータＳＭと夫々異なるＨＩＬＳシステムを重畳して構成していることになる。
【００３０】
ＳＩＬＳシステムにおいては、ＳＩＬＳを構成する各シミュレータＳＭが、ＨＩＬＳシステムを構成するシミュレータＳＭが備える複数のボードからなるハードウェアそのものを模擬し、模擬したハードウェアで複数のモデルプログラムＭＰを実行して機構モデルを模擬する、つまり、モデルプログラムＭＰを実行するハードウェア資源そのものを模擬し、模擬したハードウェア資源に複数のモデルプログラムＭＰを実行させて被制御系モデルを模擬する被制御系ソフトウェアと、前記被制御系ソフトウェアが模擬した被制御系モデルを制御する制御系ハードウェアであるＥＵＣそのものを模擬する制御系ソフトウェアとを備える。
【００３１】
前記ＳＩＬＳを構成する各シミュレータＳＭは、図４に示すように、所定のオペレーティングシステム（ＯＳ）上で動作する一台のコンピュータのＣＰＵボード４０上に、制御ソフトウェアを実行する複数のモジュールを備えた制御系モデル４１と、制御ソフトウェアにより制御される複数の擬似演算モジュールを備えた被制御系モデル４２と、制御系モデル４１と被制御系モデル４２間で入出力データを遣り取りする共有メモリ４３と、制御系モデル４１または被制御系モデル４２に関連して発生し、制御系モデル４１または被制御系モデル４２の対応モジュールを起動するイベントと、システムタイマ４４に基づいて当該イベントの起動時刻を設定管理し、制御系モデル４１または被制御系モデル４２を実行制御するシステム管理手段４５を備えて構成されている。
【００３２】
なお、以下の説明では、シミュレーションシステムにおいて、管理装置ＰＣに接続されているシミュレータＳＭは全てＨＩＬＳシステムで構成されているものとして説明を行なう。
【００３３】
各シミュレータＳＭは、図５に示すように、モデルプログラムＭＰがインストールされてシミュレーションモデルとして記憶される記憶手段（図示せず）が設けられており、前記記憶手段に記憶されたモデルプログラムＭＰを実行することでモデル演算を実行するモデル演算手段としてのモデル演算処理ユニット１１と、前記モデル演算処理ユニット１１の演算で算出されたパラメータを外部に送信する送信手段（図示せず）と、ＥＣＵとハーネスＨを介して接続されるＩ／Ｆユニット１６と、モデル演算処理ユニット１１とＩ／Ｆユニット１６との間で論理レベルと物理レベルの間で信号を変換するＩ／Ｏユニット１２と、シミュレータＳＭを統括するオペレーティングシステムがインストールされたＣＰＵボード１０が高速バスＢＵＳを介して接続されて構成されている。なお、本実施形態では、記憶手段はモデル演算処理ユニット１１に設けられているが、記憶手段はモデル演算処理ユニット１１の外部に設けられ、他のユニットやＣＰＵボード１０と高速バスＢＵＳを介して接続される構成であってもよい。
【００３４】
ＣＰＵボード１０は管理装置ＰＣと接続され、シミュレータＳＭを統括管理し、管理装置ＰＣから送られたシミュレーションモデルＭＰをモデル演算処理ユニット１１に移植するとともに、必要な環境条件Ａを各ユニット１１、１２、１６に設定する。
【００３５】
つまり、本発明によるシミュレーションシステムは、図６に示すように、管理装置ＰＣに接続された各シミュレータＳＭにより分散して実行されるモデルプログラムＭＰにより複雑な評価対象モデルを生成するように構成されている。
【００３６】
図６では、評価対象である制御装置の一例である４台のＥＣＵ（２〜５）と前記各ＥＣＵにより制御される４台のシミュレータ（ＳＭ２〜ＳＭ５）がローカル接続されており、前記シミュレータ（ＳＭ２〜ＳＭ５）と管理装置ＰＣがＬＡＮにより接続されて、シミュレーションシステムが構成されている。
【００３７】
また、本発明によるシミュレーションシステムは、モデルプログラムＭＰが移植された各シミュレータＳＭが各ＥＣＵ（１〜４）にそれぞれ接続されるとともに、各シミュレータＳＭ間で関連データを遣り取りするデータ通信手段を備えて構成されている。
【００３８】
前記データ通信手段は、各シミュレータＳＭのＩ／Ｏユニット１２に設けられた共有メモリボード１３上の共有メモリを、通信手段６によって各シミュレータＳＭ間を相互接続させることで、関連データの整合性をとりながら遣り取りするように構成されており、このような前記データ通信手段の動作は、各シミュレータＳＭのＣＰＵボード１０が共有メモリボード１３を制御することで実現されている。
【００３９】
以下に、前記データ通信手段について詳述する。各シミュレータＳＭのＩ／Ｏユニット１２に設けられた共有メモリボード１３は、各シミュレータＳＭ間で関連データを遣り取りするために、他のシミュレータＳＭと通信手段６を介して共有データが入出力可能に構成され、共有メモリボード１３を介してシミュレータＳＭ間の通信が可能に構成されている。例えば、ＥＣＵ間を結ぶネットワークであるＣＡＮバスは、ＣＡＮボード１７を介して他のシミュレータＳＭに接続されたＥＣＵとデータの送受信が可能に構成されている。
【００４０】
つまり、ＥＣＵから出力された電気信号をＩ／Ｆユニット１６で受け、それを高性能なＣＰＵ上で動作する車両モデルで演算処理し、処理結果を再びＩ／Ｆユニット１６で電気信号に変換してＥＣＵにフィードバックするリアルタイムシミュレータとして構成されている。
【００４１】
各シミュレータＳＭのＩ／Ｏユニット１２に装着された共有メモリボード１３は、図７に示すように、他のシミュレータＳＭとの間で演算に必要な関連データを遣り取りする共有メモリ１３１と、通信インタフェース１３２を備え、共有メモリ１３１に記憶されたデータをシミュレータＳＭ間で転送制御する光ファイバを用いた数十Ｇｂｐｓから数Ｇｂｐｓの通信速度を実現するスターファブリックや高速ＬＡＮ等でなる通信手段６で相互に接続されている。さらに何れかの共有メモリボード１３には、それら通信インタフェース１３２を管理する通信制御手段１３３を備えている。
【００４２】
各共有メモリ１３１は、各シミュレータＳＭのモデル演算処理ユニット１１や接続されたＥＣＵに必要な関連データを格納する受信データ領域８１と、他のシミュレータＳＭのモデル演算処理ユニット１１や他のシミュレータＳＭに接続されたＥＣＵに必要な関連データであって、自装置で生成された関連データを記憶する送信データ領域８２に領域区画される。
【００４３】
そして、後述する所定のタイミングで通信インタフェース１３２を介して他のシミュレータＳＭの送信データ領域８２に格納された関連データが自装置の受信データ領域８１に配送され、自装置の送信データ領域８２に格納された関連データが他のシミュレータの受信データ領域８１に配送されるように構成されている。ここで、受信データ領域８１は送信元である他のシミュレータＳＭ毎に異なる領域に区分され、送信データ領域８２は送信先である他のシミュレータＳＭ毎に異なる領域に区分されている。
【００４４】
例えば、各シミュレータＳＭの相互間においては、自装置に接続されたＥＣＵのＣＡＮバスの制御信号やデータは自装置のＣＡＮボード１７を介して送信データ領域８２に格納され、通信インタフェース１３２を介して他のシミュレータＳＭの受信データ領域８１に転送された後に当該他のシミュレータＳＭのＣＡＮボード１７を介して当該他のシミュレータＳＭに接続されたＥＣＵのハーネスＨを介してそのＥＣＵに送信される。
【００４５】
また、他のシミュレータＳＭに接続されたＥＣＵのＣＡＮバスの制御信号やデータは当該他のシミュレータのＣＡＮボード１７を介して送信データ領域８２に格納され、通信インタフェース１３２を介して自装置の受信データ領域８１に転送された後に自装置のＣＡＮボード１７を介して自装置に接続されたＥＣＵのハーネスＨを介して自装置のＥＣＵに送信される。つまり、ＣＡＮボード１７と共有メモリボード１３と通信インタフェース１３２により、ＣＡＮバスがエミュレートされる。
【００４６】
各シミュレータＳＭのモデル演算処理ユニット１１またはＩ／Ｏユニット１２間で共有されるべき関連データも同様にして、他のシミュレータＳＭに配送すべき関連データが送信データ領域８２に格納され、通信インタフェース１３２を介して他のシミュレータから配送されるべき関連データが受信データ領域８１に取り込まれるのである。
【００４７】
以下に、各シミュレータＳＭで実行される模擬演算について詳述する。各シミュレータＳＭは、各ＣＰＵボード１０による管理の下で、所定の周期、例えば１ｍｓｅｃ．周期で、機能の異なる複数の演算ステップの集合で構成される単位模擬演算処理を繰り返すように制御される。
【００４８】
各シミュレータＳＭは、管理装置ＰＣから起動指令が送られると、基準クロックに基づいて自装置の単位模擬演算処理を起動し、単位模擬演算処理が分割された複数ステップのうち、何れかのステップの開始前または終了後に各シミュレータ間での演算タイミングの同期をとり、全シミュレータが同期して単位模擬演算処理を実行できるように制御する。
【００４９】
単位模擬演算処理は、図８に示すように、初期に他のシミュレータＳＭに必要なデータ、つまり関連データを共有メモリ１３１の送信データ領域８２に格納するとともに、他のシミュレータＳＭから自装置に必要な関連データを共有メモリ１３１の受信データ領域８１に取り込む第一データ共有化処理を行なう（ＳＡ１）。
【００５０】
各シミュレータＳＭは、各ＥＣＵからのデータをＩ／Ｏユニット１２に取り込むデバイス入力処理を行なってから（ＳＡ２）、ステップＳＡ１において取り込まれたデータのうち、他のシミュレータＳＭのモデル演算に必要なデータ、つまり関連データを共有メモリ１３１の送信データ領域８２に格納するとともに、他のシミュレータにより取り込まれたデータのうち自装置のモデル演算に必要な関連データを共有メモリ１３１の受信データ領域８１に取り込む第二データ共有化処理を行ない（ＳＡ３）、共有化処理の終了後にモデル演算ユニット１１がＩ／Ｏユニット１２及び受信データ領域８１から必要なデータを取り込んでモデル演算を実行するモデル演算処理を行なう（ＳＡ４）。
【００５１】
モデル演算の終了後に演算結果のうち他のシミュレータに必要なデータ、つまり関連データを共有メモリ１３１の送信データ領域８２に格納するとともに、他のシミュレータによる演算結果のうち自装置が必要とする関連データを共有メモリ１３１の受信データ領域８１に取り込む第三データ共有化処理を行なう（ＳＡ５）。
【００５２】
そして、モデル演算結果をＩ／Ｏユニット１２に出力するデバイス出力処理を行ない（ＳＡ６）、モデル演算の結果やモデル演算の完了または未完了等の進捗状況を管理装置ＰＣに出力するモデル演算後処理を行なう（ＳＡ７）。
【００５３】
デバイス出力処理後にＩ／Ｏユニット１２からサンプリングして他のシミュレータに関連データとして出力すべきデータを共有メモリ１３１の送信データ領域８２に格納するとともに、他のシミュレータのＩ／Ｏユニット１２からサンプリングされ自装置に必要な関連データを共有メモリ１３１の受信データ領域８１に取り込む第四データ共有化処理を行なってから（ＳＡ８）、予め設定された必要なデータをＩ／Ｏユニット１２及び受信データ領域８１からサンプリングしてＣＰＵボード１０のメモリに記憶し管理装置ＰＣに出力するサンプリング処理を行ない（ＳＡ９）、各ステップの終了後に設定された演算周期に同期してステップＳＡ１に戻る（ＳＡ１０）。
【００５４】
以上説明したようなデータ通信手段を用いることで、他のシミュレータＳＭと共有する関連データを整合する際に、互いの同期が取られた後に共有化される。
【００５５】
ところで、シミュレーションシステムにおいて複数のシミュレータＳＭを接続してシミュレーションを行う際、所定のシミュレータＳＭのモデル演算処理ユニット１１は、他のシミュレータＳＭと同じ部位（つまり同じモジュール）についてのモデルプログラムＭＰが、前記記憶手段に記憶されている場合に、後述する第一から第四の処理のうちの何れかの処理を実行するように構成されている。
【００５６】
モジュールＭＤは、図９に示すように、処理Ａ等のようにアルファベットで示されている各処理であって、モデルプログラムＭＰにおける各処理内容を表しており、前記各処理内容は、変数への値の代入・分岐・繰り返し等のロジック処理、外部との入出力処理、または整数演算や浮動小数点演算等の演算処理その他の処理を表している。
【００５７】
図９では、各シミュレータＳＭで実行されている多種のモジュールＭＤのうち、図中処理Ａや処理Ｅのように、シミュレーションシステムを構成しているシミュレータＳＭにおいて重複して実行されているモジュールＭＤがある場合、当該モジュールＭＤについては、全てのシミュレータＳＭに共通のモジュールＭＤとして所定のパラメータに基づいて実行される。
【００５８】
図９の場合、処理ＡはシミュレータＳＭ２、ＳＭ３、ＳＭ４、ＳＭ５のうち何れかのシミュレータＳＭの処理Ａのみが実行され、他のシミュレータＳＭの処理Ａは、当該何れかのシミュレータＳＭで実行される処理Ａのデータを使用して処理Ａを実行する。同様に、処理Ｅは、シミュレータＳＭ２またはＳＭ３のうち何れかのシミュレータＳＭ２（ＳＭ３）の処理Ｅのみが実行され、他方のシミュレータＳＭ３（ＳＭ２）の処理Ｅは、一方のシミュレータＳＭ２（ＳＭ３）で実行される処理Ｅのデータを使用して処理Ｅを実行する。
【００５９】
前記シミュレーションシステムでは、前記所定のパラメータとして、各シミュレータＳＭで実行されるモデルプログラムＭＰと他のシミュレータＳＭで実行されるモデルプログラムＭＰとの間のインタフェースを規定する入出力パラメータが設定され、設定された入出力パラメータに基づいて各モジュールＭＤの実行の可否が設定される。つまり、モジュールＭＤが複数のシミュレータＳＭで重複した場合、何れのシミュレータＳＭ内のモジュールＭＤを実行するかを決定するに当たって、前記入出力パラメータを参照するのである。
【００６０】
前記入出力パラメータは、入出力信号名称、信号レンジ、信号単位、信号接続先を備えて構成されており、シミュレータＳＭ間で入出力パラメータが整合されるように設定される。
【００６１】
詳述すると、前記入出力パラメータは、図１０に示すように、モデルプログラムＭＰ内のモジュールＭＤ毎に、モジュールＭＤの名称からなる各「モジュール名」と、モジュールＭＤの実行によって入出力されるデータの種類や名称からなる「入出力信号名称」パラメータと、モジュールＭＤの実行によって入出力されるデータの精度や強度等からなる「信号レンジ」パラメータと、モジュールＭＤの実行によって入出力されるデータの単位からなる「信号単位」パラメータと、モジュールＭＤの実行によって入出力されるデータの接続先からなる「信号接続先」パラメータを備えて構成されている。以下、図１０に基づいて各パラメータについて説明する。
【００６２】
「モジュール名」パラメータは、信号を入出力する部品等の種類（図１０では「Ｓｅｎｓｏｒ」）と、前記部品等の種類に対応して部品等の各々を区別するために割り振られた名称（図１０では「Ａ」）との２種に分類されている。なお、部品等の種類は部品に限らず処理の種類（例えば、エンジン回転数算出処理）であってもよい。
【００６３】
「入出力信号名称」パラメータは、「モジュール名」パラメータに、当該信号が入力（ｉｎ）か出力（ｏｕｔ）かの指定（図１０では「ｉｎ」）が加わった３種に分類されている。
【００６４】
「信号レンジ」パラメータは、入出力信号毎に最小値と最大値の２つの値で構成されている。
【００６５】
「信号単位」パラメータは、当該入出力信号の単位の名称であり、図１０では電圧の単位を示す「Ｖｏｌｔ」となっている。
【００６６】
「信号接続先」は、当該入出力信号の入力信号（出力信号）の送信元（送信先）の入出力信号名称で構成されている。つまり、図１０における「Ｓｅｎｓｏｒ−Ａ−ｏｕｔ（入出力信号名称）」では、名称「Ａ」の「Ｓｅｎｓｏｒ」（部品等の種類）の出力信号が、名称「Ａ」の「Ｓｅｎｓｏｒ」の入力「ｉｎ」に出力されることを示している。
【００６７】
なお、以上説明した所定のパラメータは、シミュレーションモデルの演算によって内容が変わる（例えば、信号接続先が変わる）パラメータや、演算の有無に係わらず内容に変更がないパラメータがある。
【００６８】
以下、上述した第一から第四の処理について説明する。第一の処理としては、所定のシミュレータＳＭは、重複するモジュールＭＤについてのシミュレーションモデルの演算を行わない。詳述すると、所定のシミュレータＳＭは演算を行わずに、他のシミュレータＳＭが演算を行う。つまり、複数のシミュレータＳＭにおいてモジュールＭＤが重複した場合に、一つのシミュレータＳＭのみが重複したモジュールＭＤの演算を行うのである。
【００６９】
第二の処理としては、重複するモジュールＭＤについてのモデル演算によって得られた同種のパラメータを、他のシミュレータＳＭや制御対象等の外部に送信しない。
【００７０】
詳述すると、各シミュレータＳＭは重複するモジュールＭＤの演算を行うが、一つのシミュレータＳＭのみがパラメータの送信を前記送信手段により行い、その他のシミュレータＳＭはパラメータの送信を行わない。つまり、前記一つのシミュレータＳＭのパラメータを他の全てのシミュレータＳＭが使用する。
【００７１】
第三の処理としては、自身のモデル演算によって得られたパラメータや、外部から送信されてくるパラメータを参照して、同種のパラメータが存在する場合に、一つのパラメータのみをシミュレーションに用いる。
【００７２】
詳述すると、自身シミュレータＳＭは、重複モジュールＭＤを実行した他のシミュレータＳＭから送信されてきたパラメータと、自身シミュレータＳＭで前記重複モジュールＭＤを実行して算出されたパラメータとの複数の同種のパラメータを記憶しておき、次に当該パラメータを使用する処理を実行する際に、記憶しておいた複数の同種のパラメータのうちの一つのパラメータを選択して使用する。そして、選択されたパラメータに基づいてモジュールＭＤの実行等が行われる。よって、例えば、信号接続先が異なる同種パラメータが同じシミュレータＳＭに記憶されていた場合は、使用するパラメータによって信号接続先が異なることになる。
【００７３】
第四の処理としては、第三の処理において重複したパラメータから一つを選択する際は、最もシミュレーション精度のよいシミュレーションモデルまたは前記シミュレーションモデルで演算されたパラメータを用いる。
【００７４】
つまり、他のシミュレータＳＭがシミュレーションしているシミュレーションモデルよりも、自身シミュレータＳＭがシミュレーションしているシミュレーションモデルの精度が悪い場合には、自身シミュレータＳＭのシミュレーションモデルによって得られたパラメータを用いることなく、より精度の良い他のシミュレータＳＭのシミュレーションモデルによって得られたパラメータを使用する。
【００７５】
重複するモジュールＭＤに対して何れか一つのモジュールＭＤが実行される場合は、当該一つのモジュールＭＤが実行されているシミュレータＳＭの共有メモリ１３１に、当該一つのモジュールＭＤによって発生したデータやパラメータが格納され、当該データやパラメータは所定のタイミングで他のシミュレータＳＭの共有メモリ１３１に取り込まれる。そして、他のシミュレータＳＭは、当該モジュールＭＤと同一のモジュールＭＤを実行する際、または、当該データを使用する他のモジュールＭＤを実行する際に、当該データやパラメータを使用する。
【００７６】
上述の構成によれば、重複したモジュールＭＤやパラメータから演算実行する特定のモジュールＭＤや使用する特定のパラメータを決定することで、各シミュレータＳＭ間でのデータの整合性をとることができる。
【００７７】
また、入出力信号名称、信号レンジ、信号単位、及び信号接続先は、入出力信号を特定する上で不可欠な要素であることから、前記パラメータとして好適な適用例となる。
【００７８】
以下に、各シミュレータＳＭに夫々所定のモデルプログラムＭＰを移植することによる、複雑な評価対象モデルの一例としての電気自動車の駆動モデルの生成について、図６に基づいて説明する。
【００７９】
電気モータの駆動モデルは、少なくとも、モータに給電しまたはモータから充電される高圧バッテリ（電池）の状態を模擬する演算部（図示せず）を備えた第一のシミュレーション装置としてのバッテリモデルと、バッテリからの給電によりモータを駆動するインバータの状態を模擬する演算部及びモータの状態を模擬する演算部を備えた第二のシミュレーション装置としてのモータインバータモデルに分割生成され、各モデルプログラムＭＰは異なるシミュレータＳＭにより実行されるように構成されている。
【００８０】
なお、上述のシミュレーション装置の番号は構成されるシミュレーション装置の数によって変更されるものであり、例えば、図６のシミュレーションシステムでは、エンジンの状態をシミュレーションする演算部を備えた第一のシミュレーション装置としてのエンジンモデルと、電池の状態をシミュレーションする演算部を備えた第二のシミュレーション装置としてのバッテリモデルと、モータの状態をシミュレーションする演算部とモータを駆動するインバータの状態をシミュレーションする演算部とを備えた第三のシミュレーション装置としのモータインバータモデルに分割生成されている。
【００８１】
前記バッテリモデルは、バッテリを模擬させるためのモデルプログラムＭＰ２であり、シミュレータＳＭ２に移植されている。前記シミュレータＳＭ２は、バッテリを制御するバッテリ制御ＥＣＵ２とローカル接続されている。なお、前記バッテリ制御ＥＣＵ２は、バッテリの制御とともに、車両状態やユーザ要求に応じて走行／制動制御量をエンジン制御、モータ制御、ブレーキ制御に分配する制御としてのハイブリッド制御をも行うように構成されている。
【００８２】
また、前記バッテリモデルは、バッテリを構成する各機構を模擬する複数の部品モデルの集合として構成されており、例えば、モータの回生制動時の充電モデル、モータの駆動時の放電モデル、バッテリ上がりを起こす前の運転者への警告の発信動作を模擬する部品モデル等で構成されている。さらに、前記バッテリモデルは、バッテリの状態の模擬とともに、前記ハイブリッド制御による各制御の分配状態の模擬をも行うように構成されている。
【００８３】
前記モータインバータモデルは、電気モータを模擬するモデルプログラムＭＰ３１と前記電気モータを駆動させるためのインバータ回路を模擬するモデルプログラムＭＰ３２であり、シミュレータＳＭ３に移植されている。前記シミュレータＳＭ３は、モータ駆動と発電を制御するモータ制御ＥＣＵ３とローカル接続されている。なお、図６では、前記モデルプログラムＭＰ３１とモデルプログラム３２は、同一のシミュレータＳＭ３に移植されているが、これらのモデルプログラムＭＰ３１、ＭＰ３２は、別々のシミュレータＳＭに移植されて夫々が単体の演算ユニットとして構成されていてもよい。
【００８４】
また、シミュレータＳＭ３には、電気モータの磁極位置の検出を模擬する部品モデルや、前記磁極位置の検出誤差の補正動作を模擬するレゾルバモデル等が移植されている。
【００８５】
前記エンジンモデルは、エンジンを模擬させるためのモデルプログラムＭＰ４であり、シミュレータＳＭ４に移植されている。前記シミュレータＳＭ４は、エンジンを制御するエンジン制御ＥＣＵ４とローカル接続されている。
【００８６】
また、前記エンジンモデルは、エンジンを構成する各機構を模擬する複数の部品モデルの集合として構成されており、例えば、吸気系機構を模擬する部品モデルや、内燃機構を模擬する部品モデル等で構成されている。
【００８７】
前記ブレーキモデルは、ブレーキを模擬させるためのモデルプログラムＭＰ５であり、シミュレータＳＭ５に移植されている。前記シミュレータＳＭ５は、ブレーキを制御するブレーキ制御ＥＣＵ５とローカル接続されている。
【００８８】
また、前記ブレーキモデルは、ブレーキを構成する各機構を模擬する複数の部品モデルの集合として構成されており、例えば、ＡＢＳ（Ａｎｔｉｌｏｃｋ  Ｂｒａｋｅ  Ｓｙｓｔｅｍ）を模擬する部品モデルや、ブレーキペダル踏込み量制御を模擬する部品モデル等で構成されている。
【００８９】
そして、シミュレーションシステムは、管理装置ＰＣと各シミュレータＳＭをＬＡＮで接続することによって構築される際に、シミュレータＳＭに移植する上述したような多種のモデルプログラムＭＰの種類に基づいて異なる評価対象モデルを生成するように構成されているのであるが、この際、上述で説明したような重複するモジュールＭＤに対する処理や、このような処理を行なうに当たって設定された入出力パラメータを適用することによって、各シミュレータＳＭ間でのデータの整合性を保持しつつ、様々な評価対象モデルを生成することができる。
【００９０】
つまり、各シミュレータＳＭ間でデータの整合性が取れているために、オペレータが管理装置ＰＣを操作して、前記管理装置ＰＣに接続された少なくとも一台のシミュレータＳＭの各々に、構築したい評価対象モデルに適合する各モデルプログラムＭＰを移植するだけで、様々な評価対象モデルを生成することができ、夫々独自に構築したシミュレータＳＭを持ち寄った場合のように、あるシミュレータＳＭの変更に伴うインタフェースの再設計は不要となる。
【００９１】
例えば、シミュレーションシステムを、図６に示すように、バッテリモデル、モータインバータモデル、エンジンモデル、及びブレーキモデルを備えた構成とすることで、エンジンと電気モータが切り替えられて選択された何れかの駆動系によって車両を動作させるハイブリッド自動車の駆動モデルが生成される。
【００９２】
また、前記シミュレーションシステムから図６に示すモデルからエンジンモデルを除き、バッテリモデル、モータインバータモデル、及びブレーキモデルを備えた構成とされることで、電気モータによって車両を動作させる電気自動車の駆動モデルが生成される。
【００９３】
さらに、シミュレーションシステムを、エンジンモデルとブレーキモデルを備えた構成とすることで、エンジンによって車両を動作させる内燃機関を備えた自動車の駆動モデルが生成される。
【００９４】
上述の構成によれば、ハイブリッド自動車、電気自動車、及び内燃機関を備えた自動車のシミュレーションシステムの構築や処理を行う際、各自動車を特徴づける要素毎に分割されたモデルを組み合わせるだけで、各自動車の駆動モデルを再現できることから、シミュレーションシステムを効率よく構築でき、また、構築された各自動車のシミュレーションシステムにおけるシミュレーションを効率よく処理することができる。
【００９５】
上述した実施形態では、本発明によるシミュレーションシステムを、車両を電子制御するＥＣＵに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムとして構築する例を説明したが、本発明の適用対象はこのようなシミュレーションシステムに限るものではなく、様々な電子機器に対する制御システムや化学プラント等のプラントに対する制御システムの評価に適用できるものである。
【００９６】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
【図面の簡単な説明】
【００９７】
【図１】本発明によるシミュレーションシステムの説明図
【図２】管理装置により管理されるデータベースの説明図
【図３】ＨＩＬＳシステムの概念説明図
【図４】ＳＩＬＳシステムの概念説明図
【図５】ＨＩＬＳシステムの構成図
【図６】本発明によるシミュレーションシステムのブロック構成図
【図７】共有メモリの説明図
【図８】単位模擬演算処理の説明に用いるフローチャート
【図９】モデルプログラムにおけるモジュールの説明図
【図１０】入出力パラメータの説明図
【符号の説明】
【００９８】
１０：ＣＰＵボード
１１：モデル演算処理ユニット
１２：Ｉ／Ｏユニット
１３：共有メモリボード
１３１：共有メモリ
１３２：通信インタフェース
１６：Ｉ／Ｆユニット
ＤＢ：データベース
ＭＤ：モジュール
ＭＰ：モデルプログラム
ＰＣ：管理装置
ＳＭ：シミュレータ
ＧＵＩ：グラフィカル・ユーザ・インターフェース
【図６】
2008090489.tif 000003
【図７】
2008090489.tif 000004
【図８】
2008090489.tif 000005
【図９】
2008090489.tif 000006
【図１０】
2008090489.tif 000007
【図１】
2008090489.tif 000008
【図２】
2008090489.tif 000009
【図３】
2008090489.tif 000010
【図４】
2008090489.tif 000011
【図５】
2008090489.tif 000012