シミュレーションシステム及びシミュレーション方法
【課題】分散型のシミュレーションシステムを構築する際に、接続されるシミュレータの自由度を確保するとともに、モデルプログラムの環境条件の設定操作が容易に行なえるシミュレーションシステムを提供する。
【解決手段】所定のシミュレーションを実行するシミュレータSMにおけるシミュレーションの環境条件を管理するスレーブ管理装置SPCを複数存在するシミュレータSMに対応させて複数備えるとともに、各スレーブ管理装置SPCとネットワーク接続され、前記スレーブ管理装置SPCを介して複数のシミュレータSMにおけるシミュレーションの環境条件を統括管理するマスタ管理装置MPCを備える。
【解決手段】所定のシミュレーションを実行するシミュレータSMにおけるシミュレーションの環境条件を管理するスレーブ管理装置SPCを複数存在するシミュレータSMに対応させて複数備えるとともに、各スレーブ管理装置SPCとネットワーク接続され、前記スレーブ管理装置SPCを介して複数のシミュレータSMにおけるシミュレーションの環境条件を統括管理するマスタ管理装置MPCを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定のモデルプログラムを実行するシミュレータと、前記モデルプログラム及びその環境条件の設定を管理する管理装置を備えたシミュレーションシステムに関し、特に車両の制御システムを評価するのに好適なシミュレーションシステムに関する。
【背景技術】
【0002】
近年、製品開発に要する期間やコストを削減し、製品開発にかかる安全性を向上させることを目的として、様々な分野において開発される組み込みソフトウェア等の評価のために、当該ソフトウェアで制御される実際の装置を数式化したモデルプログラムにより模擬してコンピュータに演算させ、その結果に基づいて特性の確認や起こり得る問題の抽出を可能とするシミュレーションシステムが利用されている。
【0003】
このようなシミュレーションシステムとして、例えば、車両を電子制御するECU(Electronic Control Unit)に組み込まれる制御用ソフトウェアを評価するために、評価対象プログラムが組み込まれた制御系ハードウェアでなるECU基板と、ECU基板により制御される非制御系の一例であるエンジンシステムを模擬するモデルプログラムが組み込まれ、前記ECU基板により制御される被制御系ハードウェアで構成されるシミュレータと、当該モデルプログラムの入出力情報や環境条件の設定及び実行を管理するホストコンピュータでなる管理装置でシミュレーションユニットを構築することが提案されている。
【0004】
また、制御用ソフトウェアが組み込まれた制御系ハードウェアであるECUそのものを模擬する制御系ソフトウェアと、前記被制御系ハードウェアそのものを模擬する被制御系ソフトウェアで構成されるシミュレータと、当該モデルプログラムの入出力情報や環境条件の設定及び実行を管理するホストコンピュータでなる管理装置でシミュレーションユニットを構築することも提案されている。
【0005】
前者のシミュレータは一般にHILS(Hardware In the Loop Simulation)と称され、後者のシミュレータは一般にSILS(Software In the Loop Simulation)と称される。
【0006】
尚、本発明に関連する公知技術として、特許文献1には同一OS上で動作させるソフトウェア及びハードウェアのシミュレーションシステムが開示され、特許文献2にはCPU上のシミュレータプログラムとシミュレータハードウェアとがパーソナルコンピュータのシミュレータボード上で接続された構成が開示され、特許文献3には実記デバイス及び仮想デバイスを周辺デバイスとして用いる場合に、効率よくプログラムの検証が行なえるマイクロコンピュータ先行開発支援用検証システムが開示されている。
【0007】
【特許文献1】特開2002−175344号公報
【特許文献2】特開2001−331346号公報
【特許文献3】特開2003−316603号公報
【非特許文献1】田中修三他著「オールソフトシミュレーションによる制御ソフトウェア開発」富士通テン技報、2006年6月、28頁〜33頁
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述したシミュレーションシステムを用いて開発ソフトウェアを評価する場合に、異なるモデルプログラムが移植された複数のシミュレータを並列に接続して、夫々設定された演算周期で並列演算することにより、大規模且つ複雑なモデルを実現する分散型のシミュレーションシステムが構築され、評価対象プログラムがシステムに搭載されたときの総合的な評価が行なわれる。
【0009】
従来、このような分散型のシミュレーションシステムを構築する場合には、図1に示すように、管理装置としての一台のホストコンピュータPCに評価対象装置の各機能ブロックを模擬する複数のシミュレータSMがネットワーク接続され、当該ホストコンピュータPCに、各シミュレータSMに移植されるべき複数のモデルプログラムMPがメモリMのユーザフォルダ1内にソフトウェアリソースとしてシミュレータ単位で管理されるとともに、各シミュレータSMに対するモデルプログラムMPの入出力条件や操作設定画面等の環境条件を設定するための単一のシミュレーション情報管理領域Aが設定され、対応するシミュレータSM毎にシミュレーション情報管理領域A上で環境条件が設定され、そのシミュレータSMにモデルプログラム及び環境条件がダウンロードされるように構成されていた。
【0010】
つまり、あるシミュレータSMに対して単一のシミュレーション情報管理領域Aに環境条件を設定してダウンロードした後に、次のシミュレータSMに対して当該シミュレーション情報管理領域Aに次の環境条件を設定してダウンロードする操作を繰り返す必要があった。
【0011】
ここに、環境条件とは、シミュレーションを実行する際にホストコンピュータPCとの間での入出力情報等の設定条件、ホストコンピュータPCの表示部からシミュレーションを制御するためのGUI(Graphical User Interface)の設定条件等をいい、GUIの設定条件とは、シミュレータに対する演算条件を設定するためにGUI上に表示される操作スイッチやメータMTの種類、シミュレータから入手した制御データをGUI上に表示するグラフィックモデルGMの選択等をいう。
【0012】
また、他の構成では、図2に示すように、管理装置としての一台のホストコンピュータPCに複数のシミュレータSMがネットワーク接続され、当該ホストコンピュータPCに、各シミュレータSMに移植されるべき複数のモデルプログラムMPがメモリMのユーザフォルダ1内にソフトウェアリソースとしてシミュレータSM単位で管理されるとともに、各シミュレータSMに対するモデルプログラムの入出力条件や操作設定画面等の環境条件を設定するためのシミュレーション情報管理領域Aが個別に設定され、対応するシミュレータSM毎にシミュレーション情報管理領域Aの環境条件が設定された後に各シミュレータSMに同時にモデルプログラムMP及び環境条件がダウンロードされるように構成されていた。
【0013】
上述のシミュレーションシステムは、シミュレータにモデルプログラム及び環境条件がダウンロードされた後に、ホストコンピュータの操作画面上に表示される操作スイッチやメータ等をマウス等のポインティングデバイスにより操作することにより、要求されるシミュレーションが実行されるものである。
【0014】
しかし、前者による場合には、シミュレーション情報管理領域が複数のシミュレータで共用される構成であるために、管理装置側で複数のシミュレータの環境条件を一括で設定し或いは閲覧することができず、設定或いは閲覧操作に手間と時間が掛かり煩雑であるという問題があった。
【0015】
また、後者による場合には、一つのシミュレータの環境条件であっても非常に大量のデータ容量となるため、シミュレーション情報管理領域の容量の制限により、同時に接続可能なシミュレータの数が制限されるという問題や、各シミュレータのオペレーティングシステムを統一する必要があるという問題があった。
【0016】
上述のシミュレーションシステムを用いて、例えば、車両モデルを構築する場合、各シミュレータにより車両のエンジンやミッション等の機能ブロックが模擬されるのであるが、そのような機能ブロックを制御する制御用ソフトウェアを評価する場合、評価対象となる機能ブロックについては正確且つ厳格な評価のためにHILSシステムを用いる必要があるものの、評価対象以外の機能ブロックについてはHILSシステムまたはSILSシステムの何れかを用いればよい。
【0017】
しかし、SILSシステムは、シミュレーション条件によっては演算精度や速度のミスマッチにより組み込むことができないという問題があった。
【0018】
また、HILSシステムは、一般に開発工数がかかり容易に入手できないという問題点や、制御系ハードウェアであるECU基板を変えるとそれに対応して被制御系ハードウェアを取り替えてシステムを再構築する必要があり、対応するECU基板または被制御系ハードウェアが準備できないときにはシステムを構築できないため、既存のリソースを正確に管理していなければ、臨機応変にシステムを構築することができないという問題もあった。
【0019】
本発明の目的は、上述の問題点に鑑み、分散型のシミュレーションシステムを構築する際に、接続されるシミュレータの自由度を確保するとともに、モデルプログラムの環境条件の設定操作が容易に行なえるシミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【0020】
上述の目的を達成するため、本発明によるシミュレーションシステムの特徴構成は、所定のシミュレーションを実行するシミュレータにおけるシミュレーションの環境条件を管理するスレーブ管理装置を複数存在するシミュレータに対応させて複数備えるとともに、各スレーブ管理装置とネットワーク接続され、前記スレーブ管理装置を介して複数のシミュレータにおけるシミュレーションの環境条件を統括管理するマスタ管理装置を備える点にある。
【0021】
上述の構成によれば、マスタ管理装置を介して各モデルプログラムの環境条件を一括して設定すれば、マスタ管理装置から各スレーブ管理装置を介して各シミュレータに環境条件が自動設定されるようになり、また、マスタ管理装置から複数のシミュレータの環境条件を一括で閲覧操作できるようになる。つまり、各スレーブ管理装置に大容量のシミュレーション情報管理領域を設定する必要が無く、フレキシブルなシミュレーションシステムを構築することができる。
【発明の効果】
【0022】
以上説明した通り、本発明によれば、分散型のシミュレーションシステムを構築する際に、接続されるシミュレータの自由度を確保するとともに、モデルプログラムの環境条件の設定操作が容易に行なえるシミュレーションシステムを提供することができるようになった。
【発明を実施するための最良の形態】
【0023】
以下に、本発明を、車両を電子制御するECUに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムに適用する場合を例に説明する。
【0024】
図3に示すように、シミュレーションシステムは、所定のモデルプログラムMPを実行するノードとしてのシミュレータSMと、モデルプログラムMP及びその環境条件の設定を管理するスレーブ管理装置(スレーブホストコンピュータ)SPCとが一対一で接続される複数のシミュレーションユニットSUと、各スレーブ管理装置SPCとLANでネットワーク接続されたマスタ管理装置(マスタホストコンピュータ)MPCとを備えて構成されている。
【0025】
各シミュレーションユニットSUは、システムから切り離して単独でシミュレーションが行なえるように、スレーブ管理装置SPCのメモリMのユーザフォルダ1には、接続可能なシミュレータSMに対応するモデルプログラムMPが個別フォルダに区画して格納され、当該メモリMに区画されたシミュレーション情報管理領域Aには、接続されるシミュレータSMに対応した環境条件が設定格納可能に構成されている。
【0026】
上述のシステムでは、まず評価対象となる制御用ソフトウェアが搭載されるシミュレータユニットSUが単体で評価され、その後、システムに接続して総合的な評価が行なわれるように構成されている。
【0027】
環境条件とは、シミュレーションを実行する際にスレーブ管理装置SPCとの間での入出力情報、つまりスレーブ管理装置SPCとの間でシミュレーションの実行及び評価に必要なデータの種類、単位、精度及びデータの配列情報等を定義した設定条件や、スレーブ管理装置SPCの表示部からシミュレーションを制御するためのGUI(Graphical User Interface)の設定条件等をいい、GUIの設定条件とは、シミュレータSMに対する演算条件を設定するためにGUI上に表示される操作スイッチやメータMTの種類、シミュレータSMから入手した制御データをGUI上に表示するグラフィックモデルGMの選択等をいう。
【0028】
例えば、シミュレータSMがエンジンを模擬するものである場合には、エンジン始動キー情報、アクセル開度情報、燃料情報等の入力データと、エンジン回転数、燃料噴射量、走行速度、排ガスモニタ情報、油温情報等の出力データの種類、単位、精度、データの配列等が入出力情報の設定条件に該当し、エンジン始動スイッチ、アクセルスイッチ、シフトスイッチ等が操作スイッチに該当し、回転数計、速度計等がメータMに該当し、エンジン回転数のトレンドグラフ等がグラフィックモデルに相当する。
【0029】
当該スレーブ管理装置SPCには、オペレータの設定操作により環境条件を設定し、シミュレーション情報管理領域Aに格納する環境条件設定手段が設けられ、設定された環境条件に基づいて表示部に表示される操作スイッチを操作することによりシミュレーションの実行を制御し、設定された環境条件に基づいてシミュレータSMから入力される制御データやプロセスデータを入力してメータMTやグラフ表示する演算制御手段が設けられている。
【0030】
マスタ管理装置MPCは、各スレーブ管理装置SPCで管理される複数のモデルプログラムMP及び環境条件を統括して管理する管理手段としてのデータベースDBを備えており、システムに新たにスレーブ管理装置SPCが接続されると、当該スレーブ管理装置SPCからモデルプログラムMP及び環境条件をアップロードしてデータベースDBに格納するように構成されている。
【0031】
データベースDBには、図8に示すように、車両の各機能ブロックであるステアリング、ミッション、ブレーキ、エンジン、モータ等の部品を模擬するモデルプログラムが車種や型式毎に管理され、車種や型式毎に搭載可能なモデルプログラムを特定可能な属性データと、当該モデルプログラムが移植可能なシミュレータ情報とともに管理されている。尚、データベースDBで管理されるモデルプログラムは常に車種や型式毎にセットとして管理されるものではなく、各モデルプログラムが部品毎に管理される場合もあり、また、ある車種については一部の部品についてのモデルプログラムが存在しなかったり、一部の部品が複数の車種で利用できるような場合もある。
【0032】
さらに、マスタ管理装置MPCには、オペレータの設定操作により各シミュレータSMで実行されるモデルプログラムMPに対応する環境条件を一括して設定し、データベースDBに区画されたシミュレーション情報管理領域Bに格納する環境条件設定手段が設けられ、格納された環境条件をマスタ管理装置MPCの表示部に一括して表示させる閲覧手段が設けられている。当該環境条件設定手段では、上述したスレーブ管理装置により設定される環境条件に加えてシミュレータユニット間で相互に関連する入出力データの設定も行なわれる。
【0033】
マスタ管理装置MPCに設定入力された環境条件は、LANを介して各スレーブ管理装置SPCにダウンロードされ、各スレーブ管理装置SPCの環境条件設定手段により自身のシミュレーション情報管理領域Aに反映されるように構成されている。
【0034】
マスタ管理装置MPCには、設定された環境条件に基づいて表示部に表示される操作スイッチを操作することにより各スレーブ管理装置SPCを制御して夫々のシミュレーションの実行を制御し、設定された環境条件に基づいてスレーブ管理装置SPCを介してシミュレータSMから入力される制御データやプロセスデータを入力してメータMTやグラフ表示する演算制御手段が設けられている。
【0035】
従って、マスタ管理装置MPCのGUIを介して表示される操作スイッチを操作することにより各シミュレータを制御することができ、その結果がマスタ管理装置MPCのGUIを介して表示されるように構成されている。
【0036】
マスタ管理装置MPCに設けられた環境条件設定手段は、接続されるシミュレータユニットに対応して設定される環境データの整合性を確保する入出力自動判定手段が設けられ、あるシミュレータSMが演算に必要となる入力データであって、他のシミュレータSMから出力されるデータが確実に入力されるように、データの種類、単位、精度及びデータの配列情報等が整合される。
【0037】
当該システムに接続可能なシミュレータSMは、評価対象プログラムが組み込まれた制御系ハードウェアとしてのECU(電子制御ユニット)と、モデルプログラムが組み込まれ、ECUにより制御される被制御系ハードウェア、つまりエンジンやミッションを模擬するハードウェアブロックで構成されるハードウェアシミュレータとしてのHILSシステム、または、ECUを模擬する制御系ソフトウェアと、被制御系ハードウェアを模擬する被制御系ソフトウェアが一台のコンピュータ上で実現されるソフトウェアシミュレータとしてのSILSシステムで構成されている。
【0038】
マスタ管理装置MPCに、システムに接続されるシミュレータSMにシミュレーションレベルの異なるHILSシステムやSILSシステムが混在するときに、シミュレーションレベルが整合されるように、データベースDBに格納されたリソースから適切なシミュレータを選択するシミュレータ選択手段が設けられている。
【0039】
さらに、シミュレーションレベルの異なるHILSシステム及びSILSシステムが混在するときに、上述の入出力自動判定手段により、夫々の入出力データが整合するように各シミュレーションモデルの環境条件が自動設定される。
【0040】
HILSシステムは、一例として、図4に示すように、実際に車両に搭載される制御ソフトウェアが格納されたROMとそのソフトウェアを実行するCPUとワーキングエリアとして使用されるRAMと入出力回路等を備えて構成されるECUと、ECUがハーネスを介して接続されエンジン等の制御対象を模擬する狭義のシミュレータSMと、シミュレータSMを制御するスレーブ管理装置で構成されている。尚、本発明では、ECUとシミュレータSMを広義のシミュレータとして説明している。
【0041】
HILSシステムのシミュレータSMは、図5に示すように、シミュレーションモデルSMがインストールされモデル演算を実行するモデル演算処理ユニット11と、ECUとハーネスを介して接続されるI/Fユニット16と、モデル演算処理ユニット11とI/Fユニット11との間で論理レベルと物理レベルの間で信号を変換するI/Oユニット12と、シミュレータを統括するオペレーティングシステムがインストールされたCPUボード10が高速バスを介して接続されて構成されている。
【0042】
CPUボード10はスレーブPCと接続され、シミュレータSMを統括管理し、スレーブPCから送られたシミュレーションモデルSMをモデル演算処理ユニット11に移植するとともに、必要な環境条件を各ユニットに設定する。
【0043】
I/Oユニット12に設けられた共有メモリボード13は、他のシミュレータと高速バスを介して共有データが入出力可能に構成され、共有メモリボード13を介してシミュレータ間の通信が可能に構成されている。例えば、ECU間を結ぶネットワークであるCANバスは、CANボード17を介して他のシミュレータSMに接続されたECUとデータの送受信が可能に構成されている。
【0044】
つまり、ECUから出力された電気信号をI/Fユニット16で受け、それを高性能なCPU上で動作する車両モデルで演算処理し、処理結果を再びI/Fユニット16で電気信号に変換してECUにフィードバックするリアルタイムシミュレータとして構成されている。
【0045】
SILSシステムは、一例として、図6に示すように、実際に車両に搭載される制御ソフトウェアと、当該ソフトウェアが実行されるハードウェア環境をモデル化した模擬ECU(図中、「マイコンシミュレータ」と記す。)と、HILSシステムのシミュレータのモデル演算処理ユニット11と、I/Fユニット16と、I/Oユニット12と、CPUボード10で構成されるハードウェア環境をモデル化したソフトシミュレータが一台のコンピュータ上で実現されるシミュレータSMとして実現され、当該シミュレータSMを制御するスレーブ管理装置SPCが接続されて構成されている。
【0046】
図7に示すように、所定のオペレーティングシステム(OS)上で動作する一台のコンピュータのCPUボード20上に、制御ソフトウェアを実行する複数のモジュールを備えた制御系モデル21と、制御ソフトウェアにより制御される複数の擬似演算モジュールを備えた被制御系モデル23と、制御系モデル21と被制御系モデル23間で入出力データを遣り取りする共有メモリ25と、制御系モデル21または被制御系モデル23に関連して発生し、制御系モデル21または被制御系モデル23の対応モジュールを起動するイベントと、システムタイマ225に基づいて当該イベントの起動時刻を設定管理し、制御系モデル21または被制御系モデル23を実行制御するシステム管理手段23を備えて構成されている。
【0047】
システム管理手段23は、制御系モデル21または非制御系モデル23のI/Oドライバ27、28から書き込まれた共有メモリ25上のデータに基づいて、制御系モデル21または非制御系モデル23を動作させるイベントを発生させ、システムタイマ24で管理される時間情報に基づいて時系列的に発生するイベントを共有メモリ25に書き込み、共有メモリ25に書き込まれたイベントに基づいて制御系モデル21または非制御系モデル23が所定の処理を実行するイベント駆動型のシミュレータとして構成されている。
【0048】
上述のHILSシステム及びSILSシステムのシミュレータSMには、それぞれレベルの異なる複数のシミュレータが構築されている。HILSシステムでは、実時間のみ対応でき外部仕様(入出力)のみ忠実に再現する簡易HILSと、実時間のみ対応でき実ECUの動作を忠実に再現する詳細HILSの二種類のレベルのシミュレータがあり、それぞれのモデルプログラムMPにそのレベル情報が付加されている。
【0049】
SILSシステムでは、時間増速可能でマイクロコンピュータのレジスタ入出力のみ忠実に再現する超簡易SILSと、実時間に対応できマイクロコンピュータの命令セットのみ忠実に再現する簡易SILSと、実時間以下のみ対応できマイクロコンピュータの外部仕様(入出力)のみ忠実に再現する詳細SILSと、実時間以下のみ対応できマイクロコンピュータの内部信号まで忠実に再現する超詳細SILSの四種類のレベルのシミュレータがあり、それぞれのモデルプログラムMPにそのレベル情報が付加されている。
【0050】
それぞれのレベル情報には、シミュレーション精度P1、信号の計測精度P2、シミュレーション速度P3、シミュレータ間の入出力信号数P4、シミュレータ間の通信(CAN等)信号数P5、シミュレータ間の通信データ量P6からなるシミュレーション特性データが含まれている。
【0051】
マスタ管理装置MPCに備えたシミュレータ選択手段は、オペレータから要求されたシミュレーション速度を実現可能なシミュレータのうちで、最もシミュレーションレベルの高いシミュレータを選択するように構成され、選択されたシミュレータに対応して演算制御手段によりシミュレーションが実行制御される。
【0052】
以下に上述のマスタ管理装置MPCに、所定のモデルプログラムを実行するシミュレータSMと、モデルプログラム及びその環境条件の設定を管理するスレーブ管理装置SPCとからなる複数のシミュレーションユニットが接続され、環境条件設定手段により環境条件が整合され、シミュレーションシステムが構築される手順を、図9及び図10の動作説明図に基づいて説明する。
【0053】
マスタ管理装置MPCにシミュレーションユニットSUが接続され、各スレーブ管理装置SPC及びシミュレータSMに電源が投入されると、スレーブ管理装置SPCの表示部に予め登録されたスタートアップ画面が表示される。
【0054】
続いてマスタ管理装置MPCに電源が投入されると、メインプログラムが起動されてユーザ認証が行なわれ、認証を終えると対象ユーザが最後に開いていたシステム構成、つまり、シミュレーションに使用されていたシミュレーションユニットSUに対応する標準の環境条件データがマスタ管理装置MPCのシミュレーション情報管理領域Bに展開されるとともに、各スレーブ管理装置SPCに設定されている標準の環境条件がユーザフォルダ1からスレーブ管理装置SPCのシミュレーション情報管理領域Aに展開される。
【0055】
シミュレーションユニットSUの初回の接続時には、スレーブ管理装置SPCのユーザフォルダ1に格納されているシミュレーションモデルと環境条件がデータベースDBにアップロードされ、二回目以降の接続時には、スレーブ管理装置SPCのシミュレーション情報管理領域Aに展開された環境条件と、過去にデータベースDBに登録されている環境条件の内容が対比され、相違するときにはスレーブ管理装置SPCのユーザフォルダに格納されているシミュレーションモデルと環境条件がデータベースDBにアップロードされ、過去のシミュレーションモデルと環境条件が新たなシミュレーションモデルと標準の環境条件に更新される。
【0056】
次にオペレータにより、目的とするシミュレーションの実行のために、マスタ管理装置MPCが操作されマスタ管理装置MPCのシミュレーション情報管理領域に対して環境条件が設定されると、自らのデータベースDBに格納されている環境条件及びスレーブ管理装置SPCの環境条件が設定された環境条件に更新処理された後に、マスタ管理装置MPCの演算制御手段が起動され、当該演算制御手段によりスレーブ管理装置SPCの演算制御手段が起動される。つまり、各モデルプログラムに対応する環境条件がマスタ管理装置MPCとスレーブ管理装置SPC間で整合して設定されるように構成されている。
【0057】
スレーブ管理装置SPCの演算制御手段が起動されると、シミュレーションの初期設定が開始され、その後、オペレータによりマスタ管理装置MPCのデータマネージャが起動され、環境条件で設定された各スレーブ管理装置SPCに対する入出力データである複数のサンプリングラベルデータがデータベースDBから読み出されてマスタ管理装置MPCに展開され、各スレーブ管理装置SPCを介して接続されているシミュレータSMとの間の通信状態が確認され、正常であれば、サンプリングラベルデータが各スレーブ管理装置SPCを介して接続されているシミュレータSMに転送される。これにより、各シミュレーションユニットSUの設定が終了し、シミュレーションの開始が可能な状態に制御される。
【0058】
上述した手順によりマスタ管理装置MPCと当該マスタ管理装置MPCに接続されたシミュレーションユニットSUでなるシステムに対して、シミュレーションが可能な状態にモデルプログラムと環境条件データが調整されるのである。
【0059】
以下に、オペレータの操作及びマスタ管理装置MPCに備えたシミュレータ選択手段により、具体的に最適なシミュレーションユニットSUが選択され、シミュレーションシステムが構築される手順を、図11に示すフローチャートに基づいて説明する。
【0060】
マスタ管理装置MPCに評価対象となるECUに組み込まれる制御用ソフトウェアを実行するシミュレーションモデルが選択入力されると、次に、シミュレータ選択手段によりシミュレーション精度P1、信号の計測精度P2、シミュレーション速度P3を入力するように要求される。例えば、ブレーキECUに対する制御用ソフトを評価する場合には、少なくともブレーキモデルはHILSシステムが選択され、エンジン、ミッション等の他のシミュレータはHILSシステムまたはSILSシステムの何れかが選択される。
【0061】
オペレータがシミュレーション精度P1を入力すると(S1)、シミュレーション特性データに基づいてデータベースDBから要求精度を満たすシミュレーションモデルが検索され、各シミュレータの候補が抽出される。候補となるシミュレータがリソースに存在しないときには、その旨のメッセージが表示され、要求精度を再設定するように促される(S2)。
【0062】
つまり、ノードを模擬するシミュレータを、ノードを模擬することが可能な既存のシミュレータから選択する際に、ノードで要求されたシミュレーション速度を実現可能なシミュレータのうちで、最もシミュレーション精度の高いシミュレータが選択されるように動作する。
【0063】
要求精度を下げて候補となるシミュレータが抽出されると、次に信号の計測精度P2を入力する(S3)。同様に、シミュレーション特性データに基づいてデータベースDBから要求精度を満たすシミュレーションモデルが検索され、各シミュレータの候補が抽出され、候補となるシミュレータがリソースに存在しないときには、その旨のメッセージが表示され、要求精度を再設定するように促される(S4)。
【0064】
次に、シミュレーション速度P3を入力すると(S5)、同様にして、シミュレーション特性データに基づいてデータベースDBから要求精度を満たすシミュレーションモデルが検索される(S6)。
【0065】
このようにして絞り込まれた候補となる各シミュレータに対して、図12に示すようなシミュレータ間の入出力信号数P4、シミュレータ間の通信(CAN等)信号数P5、シミュレータ間の通信データ量P6に対する優先順位データに基づいてシミュレーションに必要なシミュレータが評価され(S7)、シミュレーションレベルが自動選定される(S8)。
【0066】
ここに、優先順位データは、設定されたシミュレーション精度P1、信号の計測精度P2、シミュレーション速度P3を満たすシミュレータに対して、シミュレータ間の入出力信号数P4、シミュレータ間の通信(CAN等)信号数P5、シミュレータ間の通信データ量P6のそれぞれに対するマッチング度を示し、ユーザにより予め設定されたデータである。マッチング度は、要求するシミュレーションレベルに対して、それぞれのシミュレータ間の入出力信号数、通信信号数、通信データ量が適切な範囲であるか否かを重み付けした値である。
【0067】
つまり、シミュレータ選択手段は、ステップS6で候補となる複数のレベルのシミュレータが抽出されると、予め設定された優先順位データに基づいて、最もシミュレーションレベルの高いシミュレータが自動選択されるように構成されている。ここで、リソースにSILSシステムとHILSシステムが混在する場合には、SILSシステムよりHILSシステムが優先して選択されるように優先順位が設定されている。
【0068】
尚、ステップ7において、優先順位データが操作画面に表示されるように構成して、オペレータが優先順位データに基づいて、各シミュレータを手動選択するように構成してもよい。
【0069】
このようにしてシステムを構成する各シミュレーションユニットSUが選択されると、接続されるシミュレータユニットSMに対応して設定される標準の環境データの整合性を確保するべく、入出力自動判定手段によりあるシミュレータSMが演算に必要となる入力データであって、他のシミュレータSMから出力されるデータが確実に入力されるように、データの種類、単位、精度及びデータの配列情報等が整合され、当該シミュレーションシステムに対応する環境条件データがデータベースDBに登録され、各スレーブ管理装置SPCの環境条件データが更新される。つまり、夫々の入出力データが整合するように各シミュレーションモデルの環境条件が自動設定されるのである。
【0070】
このようにして構築されたシミュレーションシステムに対して要求されたシミュレーションが実行され、評価対象である所定の制御プログラムが評価される。
【0071】
以上説明したように、本発明によるシミュレーションシステムによれば、各スレーブ管理装置SPCの環境条件がマスタ管理装置MPCにより統括して管理され、各スレーブ管理装置SPCにおける環境条件がマスタ管理装置MPCにより一元的に変更設定、或いは閲覧でき、さらにシミュレーションも一元的に管理できるようになる。さらに、設定された環境条件がスレーブ管理装置SPCでも管理されるので、スレーブ管理装置SPCをシステムから切り離して単独でシミュレーションすることも、その後システムに組み込んで統合的にシミュレーションすることも可能になる。
【0072】
上述した実施形態では、本発明によるシミュレーションシステムを、車両を電子制御するECUに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムとして構築する例を説明したが、本発明の適用対象はこのような車両を電子制御するECUに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムに限るものではなく、様々な電子機器に対する制御システムや化学プラント等のプラントに対する制御システムの評価に適用できるものである。
【0073】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
【図面の簡単な説明】
【0074】
【図1】従来例を示すシミュレーションシステムの説明図
【図2】従来例を示すシミュレーションシステムの説明図
【図3】本発明によるシミュレーションシステムの説明図
【図4】HILSシステムの概念説明図
【図5】HILSシステムの構成図
【図6】SILSシステムの概念説明図
【図7】SILSシステムの構成図
【図8】ホスト管理装置により管理されるシミュレーションモデルの説明図
【図9】本発明によるシミュレーションシステムの動作説明図
【図10】本発明によるシミュレーションシステムの動作説明図
【図11】本発明によるシミュレータの選択手順を示すフローチャート
【図12】本発明によるシミュレータの選択基準を示す優先順位データの説明図
【符号の説明】
【0075】
1:ユーザフォルダ
A、B:シミュレーション情報管理領域
DB:データベース
MP:モデルプログラム
MPC:マスタ管理装置
SPC:スレーブ管理装置
SM:シミュレータ
GUI:グラフィカル・ユーザ・インターフェース
【技術分野】
【0001】
本発明は、所定のモデルプログラムを実行するシミュレータと、前記モデルプログラム及びその環境条件の設定を管理する管理装置を備えたシミュレーションシステムに関し、特に車両の制御システムを評価するのに好適なシミュレーションシステムに関する。
【背景技術】
【0002】
近年、製品開発に要する期間やコストを削減し、製品開発にかかる安全性を向上させることを目的として、様々な分野において開発される組み込みソフトウェア等の評価のために、当該ソフトウェアで制御される実際の装置を数式化したモデルプログラムにより模擬してコンピュータに演算させ、その結果に基づいて特性の確認や起こり得る問題の抽出を可能とするシミュレーションシステムが利用されている。
【0003】
このようなシミュレーションシステムとして、例えば、車両を電子制御するECU(Electronic Control Unit)に組み込まれる制御用ソフトウェアを評価するために、評価対象プログラムが組み込まれた制御系ハードウェアでなるECU基板と、ECU基板により制御される非制御系の一例であるエンジンシステムを模擬するモデルプログラムが組み込まれ、前記ECU基板により制御される被制御系ハードウェアで構成されるシミュレータと、当該モデルプログラムの入出力情報や環境条件の設定及び実行を管理するホストコンピュータでなる管理装置でシミュレーションユニットを構築することが提案されている。
【0004】
また、制御用ソフトウェアが組み込まれた制御系ハードウェアであるECUそのものを模擬する制御系ソフトウェアと、前記被制御系ハードウェアそのものを模擬する被制御系ソフトウェアで構成されるシミュレータと、当該モデルプログラムの入出力情報や環境条件の設定及び実行を管理するホストコンピュータでなる管理装置でシミュレーションユニットを構築することも提案されている。
【0005】
前者のシミュレータは一般にHILS(Hardware In the Loop Simulation)と称され、後者のシミュレータは一般にSILS(Software In the Loop Simulation)と称される。
【0006】
尚、本発明に関連する公知技術として、特許文献1には同一OS上で動作させるソフトウェア及びハードウェアのシミュレーションシステムが開示され、特許文献2にはCPU上のシミュレータプログラムとシミュレータハードウェアとがパーソナルコンピュータのシミュレータボード上で接続された構成が開示され、特許文献3には実記デバイス及び仮想デバイスを周辺デバイスとして用いる場合に、効率よくプログラムの検証が行なえるマイクロコンピュータ先行開発支援用検証システムが開示されている。
【0007】
【特許文献1】特開2002−175344号公報
【特許文献2】特開2001−331346号公報
【特許文献3】特開2003−316603号公報
【非特許文献1】田中修三他著「オールソフトシミュレーションによる制御ソフトウェア開発」富士通テン技報、2006年6月、28頁〜33頁
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述したシミュレーションシステムを用いて開発ソフトウェアを評価する場合に、異なるモデルプログラムが移植された複数のシミュレータを並列に接続して、夫々設定された演算周期で並列演算することにより、大規模且つ複雑なモデルを実現する分散型のシミュレーションシステムが構築され、評価対象プログラムがシステムに搭載されたときの総合的な評価が行なわれる。
【0009】
従来、このような分散型のシミュレーションシステムを構築する場合には、図1に示すように、管理装置としての一台のホストコンピュータPCに評価対象装置の各機能ブロックを模擬する複数のシミュレータSMがネットワーク接続され、当該ホストコンピュータPCに、各シミュレータSMに移植されるべき複数のモデルプログラムMPがメモリMのユーザフォルダ1内にソフトウェアリソースとしてシミュレータ単位で管理されるとともに、各シミュレータSMに対するモデルプログラムMPの入出力条件や操作設定画面等の環境条件を設定するための単一のシミュレーション情報管理領域Aが設定され、対応するシミュレータSM毎にシミュレーション情報管理領域A上で環境条件が設定され、そのシミュレータSMにモデルプログラム及び環境条件がダウンロードされるように構成されていた。
【0010】
つまり、あるシミュレータSMに対して単一のシミュレーション情報管理領域Aに環境条件を設定してダウンロードした後に、次のシミュレータSMに対して当該シミュレーション情報管理領域Aに次の環境条件を設定してダウンロードする操作を繰り返す必要があった。
【0011】
ここに、環境条件とは、シミュレーションを実行する際にホストコンピュータPCとの間での入出力情報等の設定条件、ホストコンピュータPCの表示部からシミュレーションを制御するためのGUI(Graphical User Interface)の設定条件等をいい、GUIの設定条件とは、シミュレータに対する演算条件を設定するためにGUI上に表示される操作スイッチやメータMTの種類、シミュレータから入手した制御データをGUI上に表示するグラフィックモデルGMの選択等をいう。
【0012】
また、他の構成では、図2に示すように、管理装置としての一台のホストコンピュータPCに複数のシミュレータSMがネットワーク接続され、当該ホストコンピュータPCに、各シミュレータSMに移植されるべき複数のモデルプログラムMPがメモリMのユーザフォルダ1内にソフトウェアリソースとしてシミュレータSM単位で管理されるとともに、各シミュレータSMに対するモデルプログラムの入出力条件や操作設定画面等の環境条件を設定するためのシミュレーション情報管理領域Aが個別に設定され、対応するシミュレータSM毎にシミュレーション情報管理領域Aの環境条件が設定された後に各シミュレータSMに同時にモデルプログラムMP及び環境条件がダウンロードされるように構成されていた。
【0013】
上述のシミュレーションシステムは、シミュレータにモデルプログラム及び環境条件がダウンロードされた後に、ホストコンピュータの操作画面上に表示される操作スイッチやメータ等をマウス等のポインティングデバイスにより操作することにより、要求されるシミュレーションが実行されるものである。
【0014】
しかし、前者による場合には、シミュレーション情報管理領域が複数のシミュレータで共用される構成であるために、管理装置側で複数のシミュレータの環境条件を一括で設定し或いは閲覧することができず、設定或いは閲覧操作に手間と時間が掛かり煩雑であるという問題があった。
【0015】
また、後者による場合には、一つのシミュレータの環境条件であっても非常に大量のデータ容量となるため、シミュレーション情報管理領域の容量の制限により、同時に接続可能なシミュレータの数が制限されるという問題や、各シミュレータのオペレーティングシステムを統一する必要があるという問題があった。
【0016】
上述のシミュレーションシステムを用いて、例えば、車両モデルを構築する場合、各シミュレータにより車両のエンジンやミッション等の機能ブロックが模擬されるのであるが、そのような機能ブロックを制御する制御用ソフトウェアを評価する場合、評価対象となる機能ブロックについては正確且つ厳格な評価のためにHILSシステムを用いる必要があるものの、評価対象以外の機能ブロックについてはHILSシステムまたはSILSシステムの何れかを用いればよい。
【0017】
しかし、SILSシステムは、シミュレーション条件によっては演算精度や速度のミスマッチにより組み込むことができないという問題があった。
【0018】
また、HILSシステムは、一般に開発工数がかかり容易に入手できないという問題点や、制御系ハードウェアであるECU基板を変えるとそれに対応して被制御系ハードウェアを取り替えてシステムを再構築する必要があり、対応するECU基板または被制御系ハードウェアが準備できないときにはシステムを構築できないため、既存のリソースを正確に管理していなければ、臨機応変にシステムを構築することができないという問題もあった。
【0019】
本発明の目的は、上述の問題点に鑑み、分散型のシミュレーションシステムを構築する際に、接続されるシミュレータの自由度を確保するとともに、モデルプログラムの環境条件の設定操作が容易に行なえるシミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【0020】
上述の目的を達成するため、本発明によるシミュレーションシステムの特徴構成は、所定のシミュレーションを実行するシミュレータにおけるシミュレーションの環境条件を管理するスレーブ管理装置を複数存在するシミュレータに対応させて複数備えるとともに、各スレーブ管理装置とネットワーク接続され、前記スレーブ管理装置を介して複数のシミュレータにおけるシミュレーションの環境条件を統括管理するマスタ管理装置を備える点にある。
【0021】
上述の構成によれば、マスタ管理装置を介して各モデルプログラムの環境条件を一括して設定すれば、マスタ管理装置から各スレーブ管理装置を介して各シミュレータに環境条件が自動設定されるようになり、また、マスタ管理装置から複数のシミュレータの環境条件を一括で閲覧操作できるようになる。つまり、各スレーブ管理装置に大容量のシミュレーション情報管理領域を設定する必要が無く、フレキシブルなシミュレーションシステムを構築することができる。
【発明の効果】
【0022】
以上説明した通り、本発明によれば、分散型のシミュレーションシステムを構築する際に、接続されるシミュレータの自由度を確保するとともに、モデルプログラムの環境条件の設定操作が容易に行なえるシミュレーションシステムを提供することができるようになった。
【発明を実施するための最良の形態】
【0023】
以下に、本発明を、車両を電子制御するECUに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムに適用する場合を例に説明する。
【0024】
図3に示すように、シミュレーションシステムは、所定のモデルプログラムMPを実行するノードとしてのシミュレータSMと、モデルプログラムMP及びその環境条件の設定を管理するスレーブ管理装置(スレーブホストコンピュータ)SPCとが一対一で接続される複数のシミュレーションユニットSUと、各スレーブ管理装置SPCとLANでネットワーク接続されたマスタ管理装置(マスタホストコンピュータ)MPCとを備えて構成されている。
【0025】
各シミュレーションユニットSUは、システムから切り離して単独でシミュレーションが行なえるように、スレーブ管理装置SPCのメモリMのユーザフォルダ1には、接続可能なシミュレータSMに対応するモデルプログラムMPが個別フォルダに区画して格納され、当該メモリMに区画されたシミュレーション情報管理領域Aには、接続されるシミュレータSMに対応した環境条件が設定格納可能に構成されている。
【0026】
上述のシステムでは、まず評価対象となる制御用ソフトウェアが搭載されるシミュレータユニットSUが単体で評価され、その後、システムに接続して総合的な評価が行なわれるように構成されている。
【0027】
環境条件とは、シミュレーションを実行する際にスレーブ管理装置SPCとの間での入出力情報、つまりスレーブ管理装置SPCとの間でシミュレーションの実行及び評価に必要なデータの種類、単位、精度及びデータの配列情報等を定義した設定条件や、スレーブ管理装置SPCの表示部からシミュレーションを制御するためのGUI(Graphical User Interface)の設定条件等をいい、GUIの設定条件とは、シミュレータSMに対する演算条件を設定するためにGUI上に表示される操作スイッチやメータMTの種類、シミュレータSMから入手した制御データをGUI上に表示するグラフィックモデルGMの選択等をいう。
【0028】
例えば、シミュレータSMがエンジンを模擬するものである場合には、エンジン始動キー情報、アクセル開度情報、燃料情報等の入力データと、エンジン回転数、燃料噴射量、走行速度、排ガスモニタ情報、油温情報等の出力データの種類、単位、精度、データの配列等が入出力情報の設定条件に該当し、エンジン始動スイッチ、アクセルスイッチ、シフトスイッチ等が操作スイッチに該当し、回転数計、速度計等がメータMに該当し、エンジン回転数のトレンドグラフ等がグラフィックモデルに相当する。
【0029】
当該スレーブ管理装置SPCには、オペレータの設定操作により環境条件を設定し、シミュレーション情報管理領域Aに格納する環境条件設定手段が設けられ、設定された環境条件に基づいて表示部に表示される操作スイッチを操作することによりシミュレーションの実行を制御し、設定された環境条件に基づいてシミュレータSMから入力される制御データやプロセスデータを入力してメータMTやグラフ表示する演算制御手段が設けられている。
【0030】
マスタ管理装置MPCは、各スレーブ管理装置SPCで管理される複数のモデルプログラムMP及び環境条件を統括して管理する管理手段としてのデータベースDBを備えており、システムに新たにスレーブ管理装置SPCが接続されると、当該スレーブ管理装置SPCからモデルプログラムMP及び環境条件をアップロードしてデータベースDBに格納するように構成されている。
【0031】
データベースDBには、図8に示すように、車両の各機能ブロックであるステアリング、ミッション、ブレーキ、エンジン、モータ等の部品を模擬するモデルプログラムが車種や型式毎に管理され、車種や型式毎に搭載可能なモデルプログラムを特定可能な属性データと、当該モデルプログラムが移植可能なシミュレータ情報とともに管理されている。尚、データベースDBで管理されるモデルプログラムは常に車種や型式毎にセットとして管理されるものではなく、各モデルプログラムが部品毎に管理される場合もあり、また、ある車種については一部の部品についてのモデルプログラムが存在しなかったり、一部の部品が複数の車種で利用できるような場合もある。
【0032】
さらに、マスタ管理装置MPCには、オペレータの設定操作により各シミュレータSMで実行されるモデルプログラムMPに対応する環境条件を一括して設定し、データベースDBに区画されたシミュレーション情報管理領域Bに格納する環境条件設定手段が設けられ、格納された環境条件をマスタ管理装置MPCの表示部に一括して表示させる閲覧手段が設けられている。当該環境条件設定手段では、上述したスレーブ管理装置により設定される環境条件に加えてシミュレータユニット間で相互に関連する入出力データの設定も行なわれる。
【0033】
マスタ管理装置MPCに設定入力された環境条件は、LANを介して各スレーブ管理装置SPCにダウンロードされ、各スレーブ管理装置SPCの環境条件設定手段により自身のシミュレーション情報管理領域Aに反映されるように構成されている。
【0034】
マスタ管理装置MPCには、設定された環境条件に基づいて表示部に表示される操作スイッチを操作することにより各スレーブ管理装置SPCを制御して夫々のシミュレーションの実行を制御し、設定された環境条件に基づいてスレーブ管理装置SPCを介してシミュレータSMから入力される制御データやプロセスデータを入力してメータMTやグラフ表示する演算制御手段が設けられている。
【0035】
従って、マスタ管理装置MPCのGUIを介して表示される操作スイッチを操作することにより各シミュレータを制御することができ、その結果がマスタ管理装置MPCのGUIを介して表示されるように構成されている。
【0036】
マスタ管理装置MPCに設けられた環境条件設定手段は、接続されるシミュレータユニットに対応して設定される環境データの整合性を確保する入出力自動判定手段が設けられ、あるシミュレータSMが演算に必要となる入力データであって、他のシミュレータSMから出力されるデータが確実に入力されるように、データの種類、単位、精度及びデータの配列情報等が整合される。
【0037】
当該システムに接続可能なシミュレータSMは、評価対象プログラムが組み込まれた制御系ハードウェアとしてのECU(電子制御ユニット)と、モデルプログラムが組み込まれ、ECUにより制御される被制御系ハードウェア、つまりエンジンやミッションを模擬するハードウェアブロックで構成されるハードウェアシミュレータとしてのHILSシステム、または、ECUを模擬する制御系ソフトウェアと、被制御系ハードウェアを模擬する被制御系ソフトウェアが一台のコンピュータ上で実現されるソフトウェアシミュレータとしてのSILSシステムで構成されている。
【0038】
マスタ管理装置MPCに、システムに接続されるシミュレータSMにシミュレーションレベルの異なるHILSシステムやSILSシステムが混在するときに、シミュレーションレベルが整合されるように、データベースDBに格納されたリソースから適切なシミュレータを選択するシミュレータ選択手段が設けられている。
【0039】
さらに、シミュレーションレベルの異なるHILSシステム及びSILSシステムが混在するときに、上述の入出力自動判定手段により、夫々の入出力データが整合するように各シミュレーションモデルの環境条件が自動設定される。
【0040】
HILSシステムは、一例として、図4に示すように、実際に車両に搭載される制御ソフトウェアが格納されたROMとそのソフトウェアを実行するCPUとワーキングエリアとして使用されるRAMと入出力回路等を備えて構成されるECUと、ECUがハーネスを介して接続されエンジン等の制御対象を模擬する狭義のシミュレータSMと、シミュレータSMを制御するスレーブ管理装置で構成されている。尚、本発明では、ECUとシミュレータSMを広義のシミュレータとして説明している。
【0041】
HILSシステムのシミュレータSMは、図5に示すように、シミュレーションモデルSMがインストールされモデル演算を実行するモデル演算処理ユニット11と、ECUとハーネスを介して接続されるI/Fユニット16と、モデル演算処理ユニット11とI/Fユニット11との間で論理レベルと物理レベルの間で信号を変換するI/Oユニット12と、シミュレータを統括するオペレーティングシステムがインストールされたCPUボード10が高速バスを介して接続されて構成されている。
【0042】
CPUボード10はスレーブPCと接続され、シミュレータSMを統括管理し、スレーブPCから送られたシミュレーションモデルSMをモデル演算処理ユニット11に移植するとともに、必要な環境条件を各ユニットに設定する。
【0043】
I/Oユニット12に設けられた共有メモリボード13は、他のシミュレータと高速バスを介して共有データが入出力可能に構成され、共有メモリボード13を介してシミュレータ間の通信が可能に構成されている。例えば、ECU間を結ぶネットワークであるCANバスは、CANボード17を介して他のシミュレータSMに接続されたECUとデータの送受信が可能に構成されている。
【0044】
つまり、ECUから出力された電気信号をI/Fユニット16で受け、それを高性能なCPU上で動作する車両モデルで演算処理し、処理結果を再びI/Fユニット16で電気信号に変換してECUにフィードバックするリアルタイムシミュレータとして構成されている。
【0045】
SILSシステムは、一例として、図6に示すように、実際に車両に搭載される制御ソフトウェアと、当該ソフトウェアが実行されるハードウェア環境をモデル化した模擬ECU(図中、「マイコンシミュレータ」と記す。)と、HILSシステムのシミュレータのモデル演算処理ユニット11と、I/Fユニット16と、I/Oユニット12と、CPUボード10で構成されるハードウェア環境をモデル化したソフトシミュレータが一台のコンピュータ上で実現されるシミュレータSMとして実現され、当該シミュレータSMを制御するスレーブ管理装置SPCが接続されて構成されている。
【0046】
図7に示すように、所定のオペレーティングシステム(OS)上で動作する一台のコンピュータのCPUボード20上に、制御ソフトウェアを実行する複数のモジュールを備えた制御系モデル21と、制御ソフトウェアにより制御される複数の擬似演算モジュールを備えた被制御系モデル23と、制御系モデル21と被制御系モデル23間で入出力データを遣り取りする共有メモリ25と、制御系モデル21または被制御系モデル23に関連して発生し、制御系モデル21または被制御系モデル23の対応モジュールを起動するイベントと、システムタイマ225に基づいて当該イベントの起動時刻を設定管理し、制御系モデル21または被制御系モデル23を実行制御するシステム管理手段23を備えて構成されている。
【0047】
システム管理手段23は、制御系モデル21または非制御系モデル23のI/Oドライバ27、28から書き込まれた共有メモリ25上のデータに基づいて、制御系モデル21または非制御系モデル23を動作させるイベントを発生させ、システムタイマ24で管理される時間情報に基づいて時系列的に発生するイベントを共有メモリ25に書き込み、共有メモリ25に書き込まれたイベントに基づいて制御系モデル21または非制御系モデル23が所定の処理を実行するイベント駆動型のシミュレータとして構成されている。
【0048】
上述のHILSシステム及びSILSシステムのシミュレータSMには、それぞれレベルの異なる複数のシミュレータが構築されている。HILSシステムでは、実時間のみ対応でき外部仕様(入出力)のみ忠実に再現する簡易HILSと、実時間のみ対応でき実ECUの動作を忠実に再現する詳細HILSの二種類のレベルのシミュレータがあり、それぞれのモデルプログラムMPにそのレベル情報が付加されている。
【0049】
SILSシステムでは、時間増速可能でマイクロコンピュータのレジスタ入出力のみ忠実に再現する超簡易SILSと、実時間に対応できマイクロコンピュータの命令セットのみ忠実に再現する簡易SILSと、実時間以下のみ対応できマイクロコンピュータの外部仕様(入出力)のみ忠実に再現する詳細SILSと、実時間以下のみ対応できマイクロコンピュータの内部信号まで忠実に再現する超詳細SILSの四種類のレベルのシミュレータがあり、それぞれのモデルプログラムMPにそのレベル情報が付加されている。
【0050】
それぞれのレベル情報には、シミュレーション精度P1、信号の計測精度P2、シミュレーション速度P3、シミュレータ間の入出力信号数P4、シミュレータ間の通信(CAN等)信号数P5、シミュレータ間の通信データ量P6からなるシミュレーション特性データが含まれている。
【0051】
マスタ管理装置MPCに備えたシミュレータ選択手段は、オペレータから要求されたシミュレーション速度を実現可能なシミュレータのうちで、最もシミュレーションレベルの高いシミュレータを選択するように構成され、選択されたシミュレータに対応して演算制御手段によりシミュレーションが実行制御される。
【0052】
以下に上述のマスタ管理装置MPCに、所定のモデルプログラムを実行するシミュレータSMと、モデルプログラム及びその環境条件の設定を管理するスレーブ管理装置SPCとからなる複数のシミュレーションユニットが接続され、環境条件設定手段により環境条件が整合され、シミュレーションシステムが構築される手順を、図9及び図10の動作説明図に基づいて説明する。
【0053】
マスタ管理装置MPCにシミュレーションユニットSUが接続され、各スレーブ管理装置SPC及びシミュレータSMに電源が投入されると、スレーブ管理装置SPCの表示部に予め登録されたスタートアップ画面が表示される。
【0054】
続いてマスタ管理装置MPCに電源が投入されると、メインプログラムが起動されてユーザ認証が行なわれ、認証を終えると対象ユーザが最後に開いていたシステム構成、つまり、シミュレーションに使用されていたシミュレーションユニットSUに対応する標準の環境条件データがマスタ管理装置MPCのシミュレーション情報管理領域Bに展開されるとともに、各スレーブ管理装置SPCに設定されている標準の環境条件がユーザフォルダ1からスレーブ管理装置SPCのシミュレーション情報管理領域Aに展開される。
【0055】
シミュレーションユニットSUの初回の接続時には、スレーブ管理装置SPCのユーザフォルダ1に格納されているシミュレーションモデルと環境条件がデータベースDBにアップロードされ、二回目以降の接続時には、スレーブ管理装置SPCのシミュレーション情報管理領域Aに展開された環境条件と、過去にデータベースDBに登録されている環境条件の内容が対比され、相違するときにはスレーブ管理装置SPCのユーザフォルダに格納されているシミュレーションモデルと環境条件がデータベースDBにアップロードされ、過去のシミュレーションモデルと環境条件が新たなシミュレーションモデルと標準の環境条件に更新される。
【0056】
次にオペレータにより、目的とするシミュレーションの実行のために、マスタ管理装置MPCが操作されマスタ管理装置MPCのシミュレーション情報管理領域に対して環境条件が設定されると、自らのデータベースDBに格納されている環境条件及びスレーブ管理装置SPCの環境条件が設定された環境条件に更新処理された後に、マスタ管理装置MPCの演算制御手段が起動され、当該演算制御手段によりスレーブ管理装置SPCの演算制御手段が起動される。つまり、各モデルプログラムに対応する環境条件がマスタ管理装置MPCとスレーブ管理装置SPC間で整合して設定されるように構成されている。
【0057】
スレーブ管理装置SPCの演算制御手段が起動されると、シミュレーションの初期設定が開始され、その後、オペレータによりマスタ管理装置MPCのデータマネージャが起動され、環境条件で設定された各スレーブ管理装置SPCに対する入出力データである複数のサンプリングラベルデータがデータベースDBから読み出されてマスタ管理装置MPCに展開され、各スレーブ管理装置SPCを介して接続されているシミュレータSMとの間の通信状態が確認され、正常であれば、サンプリングラベルデータが各スレーブ管理装置SPCを介して接続されているシミュレータSMに転送される。これにより、各シミュレーションユニットSUの設定が終了し、シミュレーションの開始が可能な状態に制御される。
【0058】
上述した手順によりマスタ管理装置MPCと当該マスタ管理装置MPCに接続されたシミュレーションユニットSUでなるシステムに対して、シミュレーションが可能な状態にモデルプログラムと環境条件データが調整されるのである。
【0059】
以下に、オペレータの操作及びマスタ管理装置MPCに備えたシミュレータ選択手段により、具体的に最適なシミュレーションユニットSUが選択され、シミュレーションシステムが構築される手順を、図11に示すフローチャートに基づいて説明する。
【0060】
マスタ管理装置MPCに評価対象となるECUに組み込まれる制御用ソフトウェアを実行するシミュレーションモデルが選択入力されると、次に、シミュレータ選択手段によりシミュレーション精度P1、信号の計測精度P2、シミュレーション速度P3を入力するように要求される。例えば、ブレーキECUに対する制御用ソフトを評価する場合には、少なくともブレーキモデルはHILSシステムが選択され、エンジン、ミッション等の他のシミュレータはHILSシステムまたはSILSシステムの何れかが選択される。
【0061】
オペレータがシミュレーション精度P1を入力すると(S1)、シミュレーション特性データに基づいてデータベースDBから要求精度を満たすシミュレーションモデルが検索され、各シミュレータの候補が抽出される。候補となるシミュレータがリソースに存在しないときには、その旨のメッセージが表示され、要求精度を再設定するように促される(S2)。
【0062】
つまり、ノードを模擬するシミュレータを、ノードを模擬することが可能な既存のシミュレータから選択する際に、ノードで要求されたシミュレーション速度を実現可能なシミュレータのうちで、最もシミュレーション精度の高いシミュレータが選択されるように動作する。
【0063】
要求精度を下げて候補となるシミュレータが抽出されると、次に信号の計測精度P2を入力する(S3)。同様に、シミュレーション特性データに基づいてデータベースDBから要求精度を満たすシミュレーションモデルが検索され、各シミュレータの候補が抽出され、候補となるシミュレータがリソースに存在しないときには、その旨のメッセージが表示され、要求精度を再設定するように促される(S4)。
【0064】
次に、シミュレーション速度P3を入力すると(S5)、同様にして、シミュレーション特性データに基づいてデータベースDBから要求精度を満たすシミュレーションモデルが検索される(S6)。
【0065】
このようにして絞り込まれた候補となる各シミュレータに対して、図12に示すようなシミュレータ間の入出力信号数P4、シミュレータ間の通信(CAN等)信号数P5、シミュレータ間の通信データ量P6に対する優先順位データに基づいてシミュレーションに必要なシミュレータが評価され(S7)、シミュレーションレベルが自動選定される(S8)。
【0066】
ここに、優先順位データは、設定されたシミュレーション精度P1、信号の計測精度P2、シミュレーション速度P3を満たすシミュレータに対して、シミュレータ間の入出力信号数P4、シミュレータ間の通信(CAN等)信号数P5、シミュレータ間の通信データ量P6のそれぞれに対するマッチング度を示し、ユーザにより予め設定されたデータである。マッチング度は、要求するシミュレーションレベルに対して、それぞれのシミュレータ間の入出力信号数、通信信号数、通信データ量が適切な範囲であるか否かを重み付けした値である。
【0067】
つまり、シミュレータ選択手段は、ステップS6で候補となる複数のレベルのシミュレータが抽出されると、予め設定された優先順位データに基づいて、最もシミュレーションレベルの高いシミュレータが自動選択されるように構成されている。ここで、リソースにSILSシステムとHILSシステムが混在する場合には、SILSシステムよりHILSシステムが優先して選択されるように優先順位が設定されている。
【0068】
尚、ステップ7において、優先順位データが操作画面に表示されるように構成して、オペレータが優先順位データに基づいて、各シミュレータを手動選択するように構成してもよい。
【0069】
このようにしてシステムを構成する各シミュレーションユニットSUが選択されると、接続されるシミュレータユニットSMに対応して設定される標準の環境データの整合性を確保するべく、入出力自動判定手段によりあるシミュレータSMが演算に必要となる入力データであって、他のシミュレータSMから出力されるデータが確実に入力されるように、データの種類、単位、精度及びデータの配列情報等が整合され、当該シミュレーションシステムに対応する環境条件データがデータベースDBに登録され、各スレーブ管理装置SPCの環境条件データが更新される。つまり、夫々の入出力データが整合するように各シミュレーションモデルの環境条件が自動設定されるのである。
【0070】
このようにして構築されたシミュレーションシステムに対して要求されたシミュレーションが実行され、評価対象である所定の制御プログラムが評価される。
【0071】
以上説明したように、本発明によるシミュレーションシステムによれば、各スレーブ管理装置SPCの環境条件がマスタ管理装置MPCにより統括して管理され、各スレーブ管理装置SPCにおける環境条件がマスタ管理装置MPCにより一元的に変更設定、或いは閲覧でき、さらにシミュレーションも一元的に管理できるようになる。さらに、設定された環境条件がスレーブ管理装置SPCでも管理されるので、スレーブ管理装置SPCをシステムから切り離して単独でシミュレーションすることも、その後システムに組み込んで統合的にシミュレーションすることも可能になる。
【0072】
上述した実施形態では、本発明によるシミュレーションシステムを、車両を電子制御するECUに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムとして構築する例を説明したが、本発明の適用対象はこのような車両を電子制御するECUに組み込まれる制御用ソフトウェアを評価するシミュレーションシステムに限るものではなく、様々な電子機器に対する制御システムや化学プラント等のプラントに対する制御システムの評価に適用できるものである。
【0073】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
【図面の簡単な説明】
【0074】
【図1】従来例を示すシミュレーションシステムの説明図
【図2】従来例を示すシミュレーションシステムの説明図
【図3】本発明によるシミュレーションシステムの説明図
【図4】HILSシステムの概念説明図
【図5】HILSシステムの構成図
【図6】SILSシステムの概念説明図
【図7】SILSシステムの構成図
【図8】ホスト管理装置により管理されるシミュレーションモデルの説明図
【図9】本発明によるシミュレーションシステムの動作説明図
【図10】本発明によるシミュレーションシステムの動作説明図
【図11】本発明によるシミュレータの選択手順を示すフローチャート
【図12】本発明によるシミュレータの選択基準を示す優先順位データの説明図
【符号の説明】
【0075】
1:ユーザフォルダ
A、B:シミュレーション情報管理領域
DB:データベース
MP:モデルプログラム
MPC:マスタ管理装置
SPC:スレーブ管理装置
SM:シミュレータ
GUI:グラフィカル・ユーザ・インターフェース
【特許請求の範囲】
【請求項1】
所定のシミュレーションを実行するシミュレータにおけるシミュレーションの環境条件を管理するスレーブ管理装置を複数存在するシミュレータに対応させて複数備えるとともに、各スレーブ管理装置とネットワーク接続され、前記スレーブ管理装置を介して複数のシミュレータにおけるシミュレーションの環境条件を統括管理するマスタ管理装置を備えることを特徴とするシミュレーションシステム。
【請求項2】
前記マスタ管理装置は、各スレーブ管理装置で管理されるシミュレータの環境条件を統括して管理する管理手段を備え、前記管理手段はシミュレーションシステム全体の環境条件が設定された場合に、設定が必要なスレーブ管理装置に対して環境条件の設定を指示することを特徴とする請求項1記載のシミュレーションシステム。
【請求項3】
前記マスタ管理装置は、接続されたシミュレータについての環境条件を管理しているスレーブ管理装置に対して、接続されている他のシミュレータについての環境条件と整合がとれるように、環境条件の設定を指示することを特徴とする請求項1記載のシミュレーションシステム。
【請求項4】
複数のシミュレータをネットワークを介して接続し、シミュレーション対象システムを構成する複数のノードを、選択した各シミュレータで模擬させることによって、前記シミュレーション対象システムのシミュレーションを実行させるシミュレーション方法であって、前記ノードを模擬するシミュレータを、前記ノードを模擬することが可能な既存のシミュレータから選択する際に、前記ノードで要求されたシミュレーション速度を実現可能なシミュレータのうちで、最もシミュレーション精度の高いシミュレータを選択するシミュレーション方法。
【請求項5】
前記ノードを模擬するシミュレータを、前記ノードを模擬することが可能な既存のシミュレータから選択する際に、ソフトウェアで構成されるソフトウェアシミュレータよりも、ハードウェアで構成されるハードウェアシミュレータを優先して選択することを特徴とする請求項4記載のシミュレーション方法。
【請求項1】
所定のシミュレーションを実行するシミュレータにおけるシミュレーションの環境条件を管理するスレーブ管理装置を複数存在するシミュレータに対応させて複数備えるとともに、各スレーブ管理装置とネットワーク接続され、前記スレーブ管理装置を介して複数のシミュレータにおけるシミュレーションの環境条件を統括管理するマスタ管理装置を備えることを特徴とするシミュレーションシステム。
【請求項2】
前記マスタ管理装置は、各スレーブ管理装置で管理されるシミュレータの環境条件を統括して管理する管理手段を備え、前記管理手段はシミュレーションシステム全体の環境条件が設定された場合に、設定が必要なスレーブ管理装置に対して環境条件の設定を指示することを特徴とする請求項1記載のシミュレーションシステム。
【請求項3】
前記マスタ管理装置は、接続されたシミュレータについての環境条件を管理しているスレーブ管理装置に対して、接続されている他のシミュレータについての環境条件と整合がとれるように、環境条件の設定を指示することを特徴とする請求項1記載のシミュレーションシステム。
【請求項4】
複数のシミュレータをネットワークを介して接続し、シミュレーション対象システムを構成する複数のノードを、選択した各シミュレータで模擬させることによって、前記シミュレーション対象システムのシミュレーションを実行させるシミュレーション方法であって、前記ノードを模擬するシミュレータを、前記ノードを模擬することが可能な既存のシミュレータから選択する際に、前記ノードで要求されたシミュレーション速度を実現可能なシミュレータのうちで、最もシミュレーション精度の高いシミュレータを選択するシミュレーション方法。
【請求項5】
前記ノードを模擬するシミュレータを、前記ノードを模擬することが可能な既存のシミュレータから選択する際に、ソフトウェアで構成されるソフトウェアシミュレータよりも、ハードウェアで構成されるハードウェアシミュレータを優先して選択することを特徴とする請求項4記載のシミュレーション方法。
【図9】
【図10】
【図11】
【図12】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【公開番号】特開2008−84121(P2008−84121A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−264874(P2006−264874)
【出願日】平成18年9月28日(2006.9.28)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願日】平成18年9月28日(2006.9.28)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
[ Back to top ]