(57)【要約】【課題】シミュレーション環境全体のパーフォーマンスの低下やメモリ容量の増大を招くことなく、必要な信号波形を適切にモニタできるソフトウェア評価装置を提供する。【解決手段】制御ソフトウェアを実行する制御系モデル１１と、制御ソフトウェアにより制御される被制御系モデル１３と、共有メモリと、制御系モデルまたは被制御系モデルに関連して発生し、制御系モデルまたは被制御系モデルの対応モジュールを起動するイベントと、システムタイマ２１に基づく当該イベントの起動時刻とを設定管理し、制御系モデルまたは被制御系モデルを実行制御するシステム管理手段１２と、イベントにより起動されたモジュールによる演算処理時に共有メモリ３２に記憶された所定の入出力データの遷移状態をログデータとしてシステム時刻またはその信号属性とともにモニタメモリ４０に順次記憶する信号モニタ手段４１を備えている。【選択図】図１
2008262318.tif 000002
【特許請求の範囲】
【請求項１】
制御ソフトウェアを実行する複数のモジュールを備えた制御系モデルと、
前記制御ソフトウェアにより制御される複数のモジュールを備えた被制御系モデルと、
前記制御系モデルと前記被制御系モデル間で入出力データを遣り取りする共有メモリと、
前記制御系モデルまたは前記被制御系モデルに関連して発生し、前記制御系モデルまたは前記被制御系モデルの対応モジュールを起動するイベントと、システムタイマに基づく当該イベントの起動時刻とを設定管理し、前記制御系モデルまたは前記被制御系モデルを実行制御するシステム管理手段と、
イベントにより起動されたモジュールによる演算処理時に前記共有メモリに記憶された所定の入出力データの遷移状態をログデータとしてシステム時刻またはその信号属性とともにモニタメモリに順次記憶する信号モニタ手段を備えているソフトウェア評価装置。
【請求項２】
前記共有メモリに記憶された所定の入出力データは、前記被制御系モデルのプロセスを示す物理データである請求項１記載のソフトウェア評価装置。
【請求項３】
前記共有メモリに記憶された所定の入出力データは、モジュールが起動されたイベントに関与しないデータが含まれる請求項１または２記載のソフトウェア評価装置。
【請求項４】
前記モニタメモリに記憶されたログデータに基づいて信号波形を生成して表示する信号表示手段を備えている請求項１から３の何れかに記載のソフトウェア評価装置。
【請求項５】
制御ソフトウェアを実行する複数のモジュールを備えた制御系モデルと、前記制御ソフトウェアにより制御される複数のモジュールを備えた被制御系モデルと、前記制御系モデルと前記被制御系モデル間で入出力データを遣り取りする共有メモリと、前記制御系モデルまたは前記被制御系モデルに関連して発生し、前記制御系モデルまたは前記被制御系モデルの対応モジュールを起動するイベントと、システムタイマに基づく当該イベントの起動時刻とを設定管理し、前記制御系モデルまたは前記被制御系モデルを実行制御するシステム管理手段とを備えてなるソフトウェア評価装置の信号モニタ方法であって、
イベントにより起動されたモジュールによる演算処理時にメモリに記憶された所定の入出力データの遷移状態をログデータとしてシステム時刻またはその信号属性とともにモニタメモリに順次記憶する信号モニタステップと、前記モニタメモリに記憶されたログデータに基づいて信号波形を生成して表示する信号表示ステップを備えているソフトウェア評価装置の信号モニタ方法。
【請求項６】
第１の装置と第２の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムの模擬をソフトウェアで行うシミュレーション装置であって、
前記被模擬システムのシミュレーションを、前記被模擬システム内で発生するイベントを処理する毎にシミュレーション内の時間を次のイベントが発生する時刻まで進行させるイベントドリブン方式で実行するシミュレーション手段と、
前記シミュレーション手段によるシミュレーション実行時に、前記イベントによって変化した前記被模擬システム内のデータの変化を、当該データの変化が生じたシミュレーション内の時間とともに記録するデータ記録手段と、を備えているシミュレーション装置。
【請求項７】
第１の装置と第２の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムの模擬をソフトウェアで行うシミュレーション装置であって、
前記被模擬システムのシミュレーションを、前記被模擬システム内で発生するイベントを処理する毎にシミュレーション内の時間を次のイベントが発生する時刻まで進行させるイベントドリブン方式で実行するシミュレーション手段と、
前記シミュレーション手段によるシミュレーション実行時に、前記イベントによって変化した前記被模擬システム内のデータの変化を、当該データの変化が生じたシミュレーション内の時間とともに記録するデータ記録手段と、
前記シミュレーション手段によるシミュレーション実行後に、前記データ記録手段に記録された情報に基づいて、前記被模擬システム内における所定のデータについての波形データを生成して表示する波形データ表示手段と、を備えているシミュレーション装置。
【請求項８】
第１の装置と第２の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムの模擬をソフトウェアで行うシミュレーション装置であって、
前記被模擬システムのシミュレーションを、前記被模擬システム内で発生するイベントを処理する毎にシミュレーション内の時間を次のイベントが発生する時刻まで進行させるイベントドリブン方式で実行するものであり、シミュレーション時における前記被模擬システム内のデータの遣り取りを、共有メモリを介して行う、シミュレーション手段と、
前記シミュレーション手段によるシミュレーション実行時に、前記イベントによって変化した前記被模擬システム内のデータの変化を、当該データの変化が生じたシミュレーション内の時間とともに記録するデータ記録手段と、を備えているシミュレーション装置。
【請求項９】
第１の装置と第２の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムの模擬をソフトウェアで行うシミュレーション方法であって、
前記被模擬システムのシミュレーションを、前記被模擬システム内で発生するイベントを処理する毎にシミュレーション内の時間を次のイベントが発生する時刻まで進行させるイベントドリブン方式で実行するとともに、前記イベントによって変化した前記被模擬システム内のデータの変化を、当該データの変化が生じたシミュレーション内の時間とともに記録するシミュレーションステップと、
前記シミュレーションステップ後に、前記シミュレーションステップにおいて記録されたデータの変化に関する情報に基づいて、前記被模擬システム内における所定のデータについての波形データを生成して表示する波形データ表示ステップと、を備えているシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア評価装置及びソフトウェア評価装置の信号モニタ方法に関する。
【背景技術】
【０００２】
近年、様々な分野において、実際の装置やプラントにおけるメカニズムや電気的信号等の果たす役割を数式化したモデルをコンピュータに演算させる、つまり、仮想空間においてシミュレーションすることにより、現実の実証実験を行なうことなく製品特性の確認や起こり得る問題の抽出を可能とするソフトウェア評価装置が利用されている。前記ソフトウェア評価装置を利用することで製品開発に要する期間やコストを削減し、製品開発に係る安全性を向上させることができる。
【０００３】
このようなソフトウェア評価装置として、出願人は先に制御ソフトウェアを実行する複数のモジュールを備えた制御系モデルと、前記制御ソフトウェアにより制御される複数のモジュールを備えた被制御系モデルと、前記制御系モデルと前記被制御系モデル間で入出力データを遣り取りする共有メモリと、前記制御系モデルまたは前記被制御系モデルに関連して発生し、前記制御系モデルまたは前記被制御系モデルの対応モジュールを起動するイベントと、システムタイマに基づく当該イベントの起動時刻とを設定管理し、前記制御系モデルまたは前記被制御系モデルを実行制御するシステム管理手段とからなるソフトウェア評価装置を具現化したソフトウェア開発環境システムを提案している（特願２００５−２３６４５４号）。
【０００４】
上述のソフトウェア評価装置は、例えば、車両を電子制御するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）に組み込まれる制御用ソフトウェアを実行する制御系モデルと、ＥＣＵにより制御されるエンジン等の動作を模擬する被制御系モデルと、前記制御系モデルと前記被制御系モデルに介在してそれらを作動制御するシステム管理手段とを一台のコンピュータ上に構築したもので、ＥＣＵとエンジン等の双方から制御回路や周辺デバイス、センサ等のハードウェアを簡略化してソフトウェアで構築し、詳細なハードウェア構成が無い状態でも、制御用ソフトウェアの動作を評価できる環境を構築するものである。
【０００５】
つまり、システム管理手段が、前記制御系モデルまたは前記被制御系モデルに関連して発生する、前記制御系モデルまたは前記被制御系モデルの対応モジュールを起動するイベントとその起動時刻とを設定管理し、前記制御系モデルまたは前記被制御系モデルを発生イベント順に実行制御するイベントドリブン型のシミュレータとして構成されている。
【０００６】
尚、本発明に関連する公知技術として、特許文献１には同一ＯＳ上で動作させるソフトウェア及びハードウェアのシミュレーションシステムが開示され、特許文献２にはＣＰＵ上のシミュレータプログラムとシミュレータハードウェアとがパーソナルコンピュータのシミュレータボード上で接続された構成が開示され、特許文献３には実記デバイス及び仮想デバイスを周辺デバイスとして用いる場合に、効率よくプログラムの検証が行なえるマイクロコンピュータ先行開発支援用検証システムが開示されている。
【０００７】
【特許文献１】特開２００２−１７５３４４号公報
【特許文献２】特開２００１−３３１３４６号公報
【特許文献３】特開２００３−３１６６０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したイベントドリブン型のシミュレータによれば、制御系と被制御系の双方のモデルには、実機における制御回路や周辺デバイス、センサ等のハードウェアに対応するシミュレーション部分を簡略化して構築しており、現実に存在する信号波形まで具体的にシミュレーションを行なっていない。よって、シミュレーションにおけるモデルの実行に必要な任意のイベントは、実際の信号波形では無く、その信号波形が示す物理量等の簡易的な信号に基づいて発生する構成となっている。そしてイベントが発生すると、時系列的に対応するモジュールが起動され、必要な演算処理が実行されるものであった。
【０００９】
よって、例えば、制御系でエンジンの回転数を演算する場合、従来のハードウェアで構成するシミュレータでは、エンジンに設けられたクランク角センサから出力されるクランクパルスを模擬したパルス信号を実際のエンジン制御ＥＣＵに出力していたが、上述のイベントドリブン型のシミュレータのような、ソフトウェアで構成するシミュレータでは、エンジンのプラントモデルで演算されたエンジン回転数の物理量が、そのままエンジン制御用のソフトウェアに入力され、エンジン回転数に基づいたイベントが発生される形になるが、回転数をエンジンのプラントモデルからエンジン制御用のソフトウェアに伝達する際に、クランクパルスの波形の模擬をしていないために、そのままの構成ではクランクパルスの波形を表示したりするようなことができないという問題があった。
【００１０】
そこで、システム管理手段が、前記制御系モデルまたは前記被制御系モデルに関連して発生するイベントとは別に、共有メモリに書き込まれ或いはモジュールによる演算の過程で変化する各種の信号を、波形表示等ができるようにモニタするためのイベントを所定インタバルで発生させるように構成することが考えられるが、その場合には、モニタ処理のための演算負荷が増大してシミュレーション環境全体のパーフォーマンスが低下する虞があり、同時にモニタした信号を記憶するための大容量のメモリが必要になるという問題が発生する。
【００１１】
本発明は、シミュレーション環境全体のパーフォーマンスの低下やメモリ容量の増大を招くことなく、必要な信号波形を適切にモニタできるソフトウェア評価装置及びソフトウェア評価装置の信号モニタ方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述の目的を達成するため、本発明によるソフトウェア評価装置の特徴構成は、制御ソフトウェアを実行する複数のモジュールを備えた制御系モデルと、前記制御ソフトウェアにより制御される複数のモジュールを備えた被制御系モデルと、前記制御系モデルと前記被制御系モデル間で入出力データを遣り取りする共有メモリと、前記制御系モデルまたは前記被制御系モデルに関連して発生し、前記制御系モデルまたは前記被制御系モデルの対応モジュールを起動するイベントと、システムタイマに基づく当該イベントの起動時刻を設定管理し、前記制御系モデルまたは前記被制御系モデルを実行制御するシステム管理手段と、イベントにより起動されたモジュールによる演算処理時に前記共有メモリに記憶された所定の入出力データの遷移状態をログデータとしてシステム時刻またはその信号属性とともにモニタメモリに順次記憶する信号モニタ手段を備えている点にある。
【００１３】
上述の構成によれば、信号モニタ手段により、イベントにより起動されたモジュールによる演算処理時に、モニタの必要な入出力データの遷移状態がログデータとしてシステム時刻またはその信号属性、例えばデューティ比や分周比等とともにモニタメモリに順次記憶されるので、予定されているイベント以外のモニタ用のイベントを発生させることなく信号波形をサンプリングできるのである。しかも、サンプリング時にシステム時刻またはその信号属性とともに記憶されるので、記憶容量がそれほど嵩張ることがない。そのようなログデータに基づけば、信号波形の再生も容易に行なうことができるようになるのである。
【発明の効果】
【００１４】
以上説明した通り、本発明によれば、シミュレーション環境全体のパーフォーマンスの低下やメモリ容量の増大を招くことなく、必要な信号波形を適切にモニタできるソフトウェア評価装置及びソフトウェア評価装置の信号モニタ方法を提供することができるようになった。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明によるソフトウェア評価装置及びソフトウェア評価装置の信号モニタ方法を説明する。
【００１６】
図１に示すように、ソフトウェア評価装置１０は、所定のオペレーティングシステム（ＯＳ）上で動作する一台のコンピュータのＣＰＵボード３０上に、制御ソフトウェアを実行する複数のモジュールを備えた第１の装置である制御系モデル１１と、制御ソフトウェアにより制御される複数の擬似演算モジュールを備えた第２の装置である被制御系モデル１３と、制御系モデル１１と被制御系モデル１３間で入出力データ（ＩＯデータ）を遣り取りする共有メモリ３２と、制御系モデル１１または被制御系モデル１３に関連して発生し、制御系モデル１１または被制御系モデル１３の対応モジュールを起動するイベントと、システムタイマ２１に基づいて当該イベントの起動時刻を設定管理し、制御系モデル１１または被制御系モデル１３を実行制御するシステム管理手段１２を備えて構成されている。
【００１７】
制御系モデル１１は、図２に示すように、制御ソフトウェア２と、制御ソフトウェアの必要なモジュールを実行させる割込みコントローラ２２と、ＩＯデータ部２３と、割込みコントローラ２２またはＩＯデータ部２３と外部入出力２８，２９との間で所定のシーケンス制御を実行するキャプチャ機能部２４、コンペア機能部２５、通信機能部２６、ポート機能部２７等を備えている。
【００１８】
外部入出力２８，２９は、被制御系モデル１３からの模擬演算結果として前記共有メモリ３２に書き込まれるデータや、制御系モデル１１による演算結果として共有メモリ３２に書き込まれるデータである。
【００１９】
具体的には、パルス入力２８−１とは、エンジン回転数やスピードセンサ信号等で、パルス入力２８−１が入力されたキャプチャ機能部２４は、フリーランで動作するシステム管理手段１２のシステムタイマ２１のタイマ情報をもとに、指定したパルスの有効エッジの時刻を捉える。この時点で割込みも起こすことができる。またそのキャプチャ時刻はＩＯデータ部２３に書き込まれる。
【００２０】
上記の割込みが発生したときは、割込みコントローラ２２を介して、制御ソフトウェア２の該当割込みルーチンが起動される。
【００２１】
コンペア機能部２５は、例えば現在時刻から１ｍｓｅｃ．後に所定のパルスをパルス出力２８−２として送出する、というような制御を行なうときに、その１ｍｓｅｃ．後の時刻に一致したか否かを判定し、一致がとれたときにその所定のパルスを出力する。このとき割込みコントローラ２２へ割込みを指示することもできる。尚、そのパルス出力２８−２は、具体的には点火信号や燃料噴射信号である。その点火時期や噴射時期は、最新のエンジン回転数に応じて、制御ソフトウェア２により演算され更新される。
【００２２】
通信機能部２６は、シリアル通信２９−１を介して、例えば外部のインテリジェントＩＣと通信を行ない、必要に応じて割込みを生じさせる。ポート機能部２７は、ＩＯポート２９−１の入力ポートよりデータを読み込み、またその出力ポートよりデータを出力する。このＩＯポート２９−２には、例えばＩＧスイッチ、スタータスイッチやエアコンのマグネットクラッチ等が入力される。
【００２３】
図１に示すように、制御系モデル１１と被制御系モデル１３との間の入出力情報の受け渡しは、システム管理手段１２を経由して行なわれる。入出力情報には、制御系モデル１１とシステム管理手段１２の間に図示する“起動（イベント時刻付）”や、“ＩＯデータ（時刻付）”や、“ＩＯデータ”が含まれる。またその入出力情報には、システム管理手段１２及び被制御系モデル１３の間においても図示する通り、“起動（時刻付）”や、“ＩＯデータ（時刻付）”や、“ＩＯデータ”が含まれる。
【００２４】
システムタイマ２１は当該ソフトウェア評価装置の基準時刻を規定するもので、システム管理手段１２により起動制御される制御系モデル１１及び被制御系モデル１３の所定のモジュールはシステムタイマ２１に基づいて動作する。つまり、制御系モデル１１と被制御系モデル１３の夫々はシステムタイマ２１に基づいて同一の仮想時間上で動作する。
【００２５】
制御系モデル１１と被制御系モデル１３には、共有メモリ３２との間で、各イベントに関する時刻付のＩＯデータを書き込みまたは読み出す制御系モデル側ＩＯドライバ３１及び被制御系モデル側ＩＯドライバ３３を備えている。
【００２６】
ＩＯドライバ３１，３２から共有メモリ３２に書き込まれたタイミング依存のＩＯデータはシステムタイマ２１の時刻と関連付けられて管理され（図中点線枠３５）、タイミング非依存のＩＯデータはシステムタイマ２１の時刻と関連付けられることなく管理される（図中点線枠３６）。
【００２７】
つまり、システム管理手段１２は、制御系モデル１１または被制御系モデル１３から共有メモリ３２に書き込まれたＩＯデータに基づいてイベントの要求を検出すると、それらのイベント要求を集約してシステムタイマ２１により更新される時刻を各イベントに設定して共有メモリ３２に蓄積する。
【００２８】
例えば、タイミング依存のＩＯデータとして上述のパルス入力２８−１のデータやパルス出力２８−２のデータが管理され、タイミング依存のＩＯデータとして上述のシリアル通信２９−１のデータやＩＯポート２９−２のデータが管理される。
【００２９】
ここで、制御系モデル１１または被制御系モデル１３のＩＯドライバを介して共有メモリ３２に書き込まれるＩＯデータは、システム管理手段１２により管理されるイベントに関するデータのみならず、制御系モデル１１と被制御系モデル１３の間で制御演算または模擬演算に必要なＩＯデータも含まれ、後述する信号モニタに必要なＩＯデータも含まれる。
【００３０】
さらに、ＣＰＵボード３０には、ソフトウェア評価装置１０の他に、上述のＯＳ３７やＣＰＵに付帯するＣＰＵタイマ３８が搭載されている。
【００３１】
以下、ソフトウェア評価装置１０の動作例を、図３に示すタイミングチャートに基づいて説明する。
図３において、（ａ），（ｂ），（ｃ），（ｄ）の各欄は、夫々システム管理手段１２、制御系モデル１１、被制御系モデル１３、システムタイマ２１の動作を示し、横軸は時間軸として、各イベントに対応して時刻ｔ０、ｔ１、・・・、ｔ５が付されている。さらに、各イベントの内容を図４に示す。
【００３２】
システム管理手段１２は、先ず、内部で１ｍｓｅｃ．インタバルの割込みを発生させ、システムタイマ２１の時刻ｔ０で割込みイベントを共有メモリ３２に格納する。割込みイベントを検出した制御系モデル１１及び被制御系モデル１３では対応する定時処理モジュールが起動される。以後、システム管理手段１２では、後に発生する他のイベントと１ｍｓｅｃ．インタバルの割込みイベントが時系列的にスケジューリングされる。
【００３３】
具体的には、上述の割込みイベントに応じて制御系モデル１１では１ｍｓｅｃ．の割込み処理モジュールが起動され、被制御系モデル１３ではメイン処理が起動される。
【００３４】
制御系モデル１１が１ｍｓｅｃ．の割込み処理モジュールの起動中に、図３のａ１のタイミングで、ＩＯドライバ３１を介して共有メモリ３２に何らかの信号（例えばＩＯパルス）を出力すると、システム管理手段１２は共有メモリ３２に書き込まれたスケジューリングデータに当該信号に対応するイベントを追加する。被制御系モデル１３でのメイン処理においても、図３のａ２のタイミングで、ＩＯドライバ３３を介して共有メモリ３２に何らかの信号を出力すると、システム管理手段１２は共有メモリ３２に書き込まれたスケジューリングデータに当該信号に対応するイベントを追加する。
【００３５】
時刻ｔ０での被制御系モデル１３によるメイン処理にて、システム管理手段１２が被制御系モデル１３から「パルス１出力」要求を受けると、これに対応するパルス発生時刻を設定し、例えば時刻ｔ１での「パルス１出力」イベントを発生させる。制御系モデル１１では当該「パルス１出力」イベントに対応して、図３のｂ１のタイミングでパルス１出力モジュールが起動される。ここで、制御系モデル１１はシステムタイマ２１のタイマ値を基に演算を実行する。
【００３６】
システム管理手段１２が時刻ｔ１での制御系モデル１１によるパルス出力処理により「パルス２出力」要求を受けると、更新したシステムタイマ２１のタイマ値（図３のタイミングａ３）をパラメータとして、これに対応するパルス発生時刻を設定する。ここに時刻ｔ２にて、制御系モデル１１による「パルス２出力」処理が起動する。
【００３７】
一方、システム管理手段１２が被制御系モデル１３から「パルス３出力」要求を受けると、これに対するパルス発生時刻を設定する。ここに時刻ｔ３にてパルス３入力が発生し、制御系モデル１１による「パルス３入力」処理が起動する。
【００３８】
次にシステム管理手段１２が制御系モデル１１から「パルス４出力」要求を受けると、これに対するパルス発生時刻を設定する。ここに時刻ｔ４にて制御系モデル１１による「パルス４出力」処理が起動する。
【００３９】
時刻ｔ５では、通信仕様に応じてシステム管理手段１２内部で生成した「受信イベント」が発生すると、これに応答して制御系モデル１１は、それに対応した「受信」処理を起動する。
【００４０】
このように共有メモリ３２にイベントが蓄積され、蓄積されたイベントに基づいて時系列的に制御系モデル１１または被制御系モデル１３が起動されることにより、シミュレーションが進められる。
【００４１】
ここで、システムタイマ２１で規定される制御系モデル１１または被制御系モデル１３における処理中の時間は零であり、例えば、時刻ｔ０のステップでは、時間Ｔは零となっており、イベントの発生の無い区間は処理をスキップしながら、時系列で順番にイベントが実行され、イベントに設定された時刻により時間がステップ状に進むように構成されているが、各イベントに対応してモジュールが起動される制御系モデル１１または被制御系モデル１３ではＣＰＵタイマ３８によりイベントの実処理時間が計時される。
【００４２】
図５に示すように、システム管理手段１２は、イベント管理情報により直近のイベントを選択し（Ｓ１１）、選択したイベントの時刻にシステムタイマの値を更新し（Ｓ１２）、当該システムタイマ時刻で更新されるＩＯデータをセットして（Ｓ１３）、発生するイベント情報（割込みフラグ等）を設定することにより（Ｓ１４）対応する制御系モデル１１または被制御モデル１３のモジュールを起動する（Ｓ１５）。
【００４３】
制御系モデル１１または被制御モデル１３のモジュールは所定の演算処理を実行して、システム管理手段１２に対してＩＯ情報の更新、イベント管理情報の更新を要求する（Ｓ１６）。その後、処理が実行されたイベントをイベント管理情報から削除する（Ｓ１７）。
【００４４】
このようにして制御系モデル１１で実行される制御プログラムの評価が行なわれる。
【００４５】
さらに、制御系モデル１１には、図１に示すように、イベントにより起動されたモジュールによる演算処理時に共有メモリ３２に記憶された所定の入出力データの遷移状態をログデータとしてシステム時刻またはその信号属性とともにモニタメモリ４０に順次記憶するデータ記憶手段である信号モニタ手段４１と、モニタメモリ４０に記憶されたログデータに基づいて信号波形を生成して表示する波形データ表示手段である信号表示手段４２を備えている。
【００４６】
任意のイベントにより起動される制御系モデル１１のモジュールの実行時に、信号モニタ手段４１を構成する信号モニタモジュールが起動され、システム管理手段１２により予め設定されたモニタ対象となる入出力データの遷移状態がログデータとしてモニタメモリ４０に記憶される。イベントにより実行されているモジュールに関与する入出力データのみならず関与しない入出力データもモニタ対象としてログデータが記録される。
【００４７】
以下、信号モニタ手段４１によるログデータの記憶プロセスについて詳述する。
【００４８】
信号モニタ手段４１は、制御系モデル１１または被制御系モデル１３の演算処理の結果、共有メモリ３２に書き込まれたＩＯデータをそのときのシステムタイマ２１の値とともにモニタメモリ４０に格納する。このとき、共有メモリ３２に書き込まれたＩＯデータが論理データであるときには論理データとして、被制御系モデルのプロセスを示す温度や電圧などの物理データであるときは物理データとして記憶する。
【００４９】
ここで、被制御系モデル１３は、ＩＯデータを共有メモリ３２に書き込む際に、ＩＯデータの属性データも出力するように構成されている。例えば、ＩＯデータが所定のデューティ比を有するパルス信号である場合にはデューティ比が属性データとして記憶され、所定の分周比を有するパルス信号であれば分周比が属性データとして記憶され、ＩＯデータがアナログ値であればアナログ値であることを示すデータが属性データとして記憶される。
【００５０】
従って、信号モニタ手段４１は、ＩＯデータとその属性データとシステムタイマ２１の値をモニタメモリ４０に格納するように構成されている。
【００５１】
さらに、信号モニタ手段４１は、ＩＯデータまたはＩＯデータに関連するデータが制御系モデル１１による演算過程で変化するときには、その演算過程で変化した値をモニタメモリ４０に格納する。
【００５２】
このようにして信号モニタ手段４１によりモニタメモリ４０に格納されたログデータは、システム管理手段１２により制御される制御系モデル１１または被制御モデル１３の処理の終了時または中断時に、システム管理手段１２により起動される信号表示手段４２によりコンピュータの表示部に表示される。具体的には、モニタメモリ４０に記憶されたログデータ、つまり、信号値と属性データ等に基づいて信号波形を生成して、生成された信号波形をコンピュータの表示部に表示処理する。
【００５３】
以下、具体例を説明する。
【００５４】
図６では、制御系モデル１１が被制御系モデル１３に共有メモリ３２を介して信号Ａを出力するとき、つまり信号の更新タイミングで記憶する場合を示し、信号モニタ手段４１は共有メモリ３２から信号Ａをモニタしたときのシステムタイマ値と信号値をモニタメモリ４０に格納してログデータを生成する。信号表示手段４２はログデータに基づいて信号波形Ａを再生して表示する。
【００５５】
図７では、制御系モデル１１のイベント処理による演算で変化した信号値Ｂが制御系モデル１１の演算用の内部ＲＡＭに格納される場合を示し、信号モニタ手段４１は内部ＲＡＭから信号Ｂをモニタしたときのシステムタイマ値と信号値をモニタメモリ４０に格納してログデータを生成する。信号表示手段４２はログデータに基づいて信号波形Ｂを再生して表示する。
【００５６】
図８では、被制御系モデル１３が制御系モデル１１に共有メモリ３２を介して信号Ｃを出力するときで、パルス信号の片方向の有効エッジのみでイベントが処理される場合を示し、信号モニタ手段４１は共有メモリ３２から信号Ｃをモニタしたときのシステムタイマ値と信号値とデューティ比をモニタメモリ４０に格納してログデータを生成する。信号表示手段４２はログデータに基づいて信号波形Ｃを再生して表示する。
【００５７】
図９では、被制御系モデル１３が制御系モデル１１に共有メモリ３２を介して信号Ｄを出力するときで、分周を行なうパルス信号で分周後のエッジのイベントで処理される場合を示し、信号モニタ手段４１は共有メモリ３２から信号Ｄをモニタしたときのシステムタイマ値と信号値とデューティ比と分周比をモニタメモリ４０に格納してログデータを生成する。信号表示手段４２はログデータに基づいて信号波形Ｄを再生して表示する。
【００５８】
図１０では、制御系モデル１１が被制御系モデル１３に共有メモリ３２を介して信号Ｅを出力するときで、信号変化によるイベントを発生させないパルス信号を任意のタイミングでサンプリングする場合を示し、信号モニタ手段４１は共有メモリ３２から信号Ｅをモニタしたときのシステムタイマ値と信号値とデューティ比をモニタメモリ４０に格納してログデータを生成する。信号表示手段４２はログデータに基づいて信号波形Ｅを再生して表示する。
【００５９】
図１１では制御系モデル１１が被制御系モデル１３に共有メモリ３２を介して電源電圧に依存する信号Ｆを出力するときで、イベント処理上はオン／オフ情報で処理が実行されるが、信号モニタ手段４１は共有メモリ３２から信号Ｆをモニタしたときのシステムタイマ値と信号値と物理値（電圧値）をモニタメモリ４０に格納してログデータを生成する。信号表示手段４２はログデータに基づいて信号波形Ｆを再生して表示する。
【００６０】
以上説明したように、本発明によるソフトウェア評価装置の信号モニタ方法は、イベントにより起動されたモジュールによる演算処理時にメモリに記憶された所定の入出力データの遷移状態をログデータとしてシステム時刻またはその信号属性とともにモニタメモリに順次記憶する信号モニタステップと、前記モニタメモリに記憶されたログデータに基づいて信号波形を生成して表示する信号表示ステップを備えて構成されている。
【００６１】
上述した実施形態では、模擬を行なう対象システムとして、被制御装置を制御装置で制御するシステムを例に本発明を説明したが、本発明はこのような構成以外に、複数の制御装置がＣＡＮ等の通信線を介してデータの遣り取りを行いながら所定の制御を行なうシステム等、所定の装置との間に物理的に信号線が存在し、その信号線を介してデータの遣り取りを行いながら所定の動作を行うシステム（特に、シミュレーション結果として、信号線を流れるデータを波形データとして表示したい場合に有効）であれば適用可能である。
【００６２】
つまり、第１の装置と第２の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムの模擬をソフトウェアで行うシミュレーション装置であって、前記被模擬システムのシミュレーションを、前記被模擬システム内で発生するイベントを処理する毎にシミュレーション内の時間を次のイベントが発生する時刻まで進行させるイベントドリブン方式で実行するシミュレーション手段と、前記シミュレーション手段によるシミュレーション実行時に、前記イベントによって変化した前記被模擬システム内のデータの変化を、当該データの変化が生じたシミュレーション内の時間とともに記録するデータ記録手段とを備えて構成されるシミュレーション装置である。
【００６３】
また、前記シミュレーション手段によるシミュレーション実行後に、前記データ記録手段に記録された情報に基づいて、前記被模擬システム内における所定のデータについての波形データを生成して表示する波形データ表示手段を備えていることが好ましい。
【００６４】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
【図面の簡単な説明】
【００６５】
【図１】ソフトウェア評価装置のブロック構成図
【図２】制御系モデルの機能ブロック構成図
【図３】ソフトウェア評価装置の動作を示すタイミングチャート
【図４】イベント管理に関する説明図
【図５】システム制御手段の動作を示すフローチャート
【図６】第一の信号モニタ方法の説明図
【図７】第二の信号モニタ方法の説明図
【図８】第三の信号モニタ方法の説明図
【図９】第四の信号モニタ方法の説明図
【図１０】第五の信号モニタ方法の説明図
【図１１】第六の信号モニタ方法の説明図
【符号の説明】
【００６６】
１１：制御系モデル
１２：システム管理手段
１３：被制御系モデル
２１：システムタイマ
３２：共有メモリ
４０：モニタメモリ
４１：信号モニタ手段
４２：信号表示手段
【図１】
2008262318.tif 000003
【図２】
2008262318.tif 000004
【図３】
2008262318.tif 000005
【図４】
2008262318.tif 000006
【図５】
2008262318.tif 000007
【図６】
2008262318.tif 000008
【図７】
2008262318.tif 000009
【図８】
2008262318.tif 000010
【図９】
2008262318.tif 000011
【図１０】
2008262318.tif 000012
【図１１】
2008262318.tif 000013