(57)【要約】【課題】制御プログラムの検証効率を向上することができるシミュレーションシステムを提供する。【解決手段】シミュレーション開始後の実時間を管理するシステムタイマと被制御系モジュールの出力データをシステムタイマのタイマ値とともに時間非同期型シミュレータに送信する送信部と当該出力データに対応して時間非同期型シミュレータの制御系モジュールで実行された出力データを受信する受信部を時間同期型シミュレータに備え、送信部から送信された出力データとタイマ値に基づいて、所定周期内で制御系モジュールを起動し、制御系モジュールで実行された出力データを受信部に送信する返信部を時間非同期型シミュレータに備え、時間非同期型シミュレータが時間同期型シミュレータと同期して動作する。【選択図】図４
2011018107.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータが組み込まれた制御装置が接続され、マイクロコンピュータで実行される制御プログラムの動作を検証するシミュレーションシステムであって、
制御装置と接続され、被制御装置を模擬する被制御系モジュールと、制御装置から入力された制御信号に基づいて被制御系モジュールを実行させて、その結果を制御装置外部に出力する処理を所定周期で繰り返すシステム管理部を備えた時間同期型シミュレータと、
制御装置を模擬する制御系モジュールと、被制御装置を模擬する被制御系モジュールと、制御系モジュールまたは被制御系モジュールで発生したイベントをその時刻とともに管理し、イベントの発生順に各イベントに対応する処理を実行させるイベント管理部を備えた時間非同期型シミュレータと、
を接続し、
時間同期型シミュレータに、シミュレーション開始後の実時間を管理するシステムタイマと、時間同期型シミュレータに備えた被制御系モジュールの出力データをシステムタイマのタイマ値とともに時間非同期型シミュレータに送信する送信部と、送信部から送信された出力データに対応して時間非同期型シミュレータの制御系モジュールで実行された出力データを受信する受信部を備え、
時間非同期型シミュレータのイベント管理部は、送信部から送信された出力データとタイマ値に基づいて、所定周期内で制御系モジュールを起動し、制御系モジュールで実行された出力データを受信部に送信する返信部を備え、
時間非同期型シミュレータが時間同期型シミュレータと同期して動作するように構成されているシミュレーションシステム。
【請求項２】
制御系モジュールが時間同期型シミュレータに接続された制御装置を模擬する制御系モジュールであり、時間同期型シミュレータに、受信部で受信された出力データと制御装置の出力データを対比して記憶するデータ記録処理部を備えている請求項１記載のシミュレーションシステム。
【請求項３】
制御系モジュールが時間同期型シミュレータに接続された制御装置とは異なる制御装置を模擬する制御系モジュールであり、時間同期型シミュレータに、受信部で受信された出力データに基づいて被制御系モジュールが実行されるようにシステム管理部に引き渡すデータ引渡し部を備えている請求項１記載のシミュレーションシステム。
【請求項４】
マイクロコンピュータが組み込まれた制御装置が接続され、マイクロコンピュータで実行される制御プログラムの動作を検証するシミュレーションシステムであって、
制御装置と接続され、被制御装置を模擬する被制御系モジュールと、制御装置から入力された制御信号に基づいて被制御系モジュールを実行させて、その結果を制御装置に出力する処理を所定周期で繰り返すシステム管理部を備えた時間同期型シミュレータと、
制御装置に組み込まれるマイクロコンピュータを模擬する模擬マイクロコンピュータモジュールと、模擬マイクロコンピュータモジュールで実行される制御プログラムを生成するプログラム生成部と、プログラム生成部で生成された制御プログラムを模擬マイクロコンピュータモジュールで実行させる模擬マイクロコンピュータ管理部を備えた模擬マイクロコンピュータと
を備え、
模擬マイクロコンピュータと制御装置が、制御装置に組み込まれたマイクロコンピュータのＲＡＭモニタ用の通信線で接続され、
時間同期型シミュレータから入力されたデータに対する模擬マイクロコンピュータの演算処理を起動する演算起動部を制御装置に備え、演算起動部により起動され、制御装置の動作時に通信線を介して模擬マイクロコンピュータの演算結果を制御装置に送信するデータ書込み処理部を模擬マイクロコンピュータに備え、
演算起動部は、時間同期型シミュレータから入力されたデータをＲＡＭに書込み、当該データに対する模擬マイクロコンピュータの演算処理を起動し、
データ書込み処理部は、制御装置の動作時に通信線を介して模擬マイクロコンピュータの演算結果をマイクロコンピュータのＲＡＭに書き込むシミュレーションシステム。
【請求項５】
マイクロコンピュータが組み込まれた制御装置によって制御される被制御装置を模擬する時間同期型シミュレータであって、
制御装置と制御装置を模擬する時間非同期型シミュレータと接続され、
被制御装置を模擬する被制御系モジュールと、
制御装置から入力された制御信号に基づいて被制御系モジュールを実行させて、その結果を制御装置外部に出力する処理を所定周期で繰り返すシステム管理部と、
シミュレーション開始後の実時間を管理するシステムタイマと、
被制御系モジュールの出力データをシステムタイマのタイマ値とともに時間非同期型シミュレータに送信するとともに、被制御系モジュールの出力データを制御装置に送信する送信部と、
送信部から送信された出力データに対応して時間非同期型シミュレータと制御装置から送られてきた出力データを受信する受信部と、
を備えている時間同期型シミュレータ。
【請求項６】
受信部で受信された出力データと制御装置の出力データを対比して記憶するデータ記録処理部を備えている請求項５記載の時間同期型シミュレータ。
【請求項７】
制御装置と時間非同期型シミュレータが模擬する制御装置が異なる制御装置である請求項５記載の時間同期型シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータが組み込まれた制御装置が接続され、マイクロコンピュータで実行される制御プログラムの動作を検証するシミュレーションシステムに関する。
【背景技術】
【０００２】
車両や航空機さらには様々な化学プラント等を制御するために、マイクロコンピュータを組み込んだ様々な制御装置が用いられている。そのようなマイクロコンピュータで実行される制御プログラムを効率的に開発し、開発された制御プログラムを効率的に検証するために、制御対象を模擬するシミュレータが用いられている。
【０００３】
例えば、車両のエンジンやブレーキ等を制御するマイクロコンピュータが組み込まれた制御装置の制御プログラムを実際の車両に先行して開発する場合、車両の動作をコンピュータで模擬演算する車両シミュレータと制御装置を接続して、開発中の制御プログラムのロジック評価等を行うシミュレーションシステムが構築されている。
【０００４】
特許文献１には、このようなシミュレーションシステムとして、ＨＩＬＳ（Hardware In the Loop Simulation）システムやＳＩＬＳ（Software In the Loop Simulation）システムが開示されている。
【０００５】
ＨＩＬＳシステムは、制御装置とシミュレータを接続して制御装置が組み込まれる開発中の制御プログラムを検証するシステムであり、ＳＩＬＳシステムは、制御装置に替えて制御装置をコンピュータで模擬するシミュレータをパーソナルコンピュータ等の汎用コンピュータ上に構築して開発中の制御プログラムを検証するシステムである。
【０００６】
図２に示すように、ＨＩＬＳシステムは、制御装置から出力される電気信号をＩ／Ｆボードを介して論理信号に変換し、車両動作を模擬するソフトウェアを実行する高性能なＣＰＵにその論理信号を入力して演算処理し、演算結果である論理信号を再びＩ／Ｆボードを介して電気信号に変換して制御装置にフィードバックする一連の動作を所定周期で実行する周期駆動型のシステムで、制御装置、Ｉ／Ｆボード、高性能ＣＰＵ等のハードウェアによるフィードバックループが構築されている。
【０００７】
図３に示すように、ＳＩＬＳシステムは、制御装置を模擬する制御系モジュールと、車両の動作を模擬する車両モデルでなる被制御系モジュールの双方をソフトウェアで構築し、夫々で発生した所定のイベントを時系列的に管理して、イベント毎に制御系モジュールと被制御系モジュールをステップ的に動作させるイベント管理部を備えたイベント駆動型のシステムで、制御装置、車両の全てがソフトウェアで実現され、ソフトウェアによるフィードバックループが構築されている。
【０００８】
ＨＩＬＳシステムは、既存の制御装置を用いて制御プログラムを開発する場合に有用であり、ＳＩＬＳシステムは、ターゲットとなる制御装置が現実に存在しない場合であっても制御プログラムを開発できる点で有用である。
【０００９】
従って、従来、開発初期に制御装置のハードウェアが存在しない状況で、制御装置に組み込まれる制御プログラムを先行開発する場合には、ＳＩＬＳシステムにより当該開発中の制御プログラムの動作検証が行われ、その後、制御装置のハードウェアが製作された時点で、ＳＩＬＳシステムにより検証された制御プログラムに基づいてソースプログラムが編集され、ソースプログラムをオブジェクトプログラムに変換した後に、当該制御装置に組み込み、ＨＩＬＳシステムにより制御装置の実時間での動作検証が行われていた。
【００１０】
また、特許文献２には、パーソナルコンピュータ等で利用される汎用のＣＰＵが搭載され、制御装置のマイクロコンピュータに内蔵されるＣＰＵを模擬するマザーボードと、マイクロコンピュータに内蔵されるＣＰＵの周辺リソースを模擬するＩ／Ｏボードと、マイクロコンピュータの外部に設けられる入出力回路を備えたインタフェースボードの三つの機能ブロックを備え、制御装置に備えられたマイクロコンピュータを模擬する模擬制御装置が開示されている。ターゲットとなる制御装置が現実に存在しない場合であっても、このような模擬制御装置をＨＩＬＳシステムに接続することにより、制御プログラムの実時間での動作検証が可能なプログラム開発環境が構築されていた。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００７−５２５８０号公報
【特許文献２】特開２００４−２３４５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、ＨＩＬＳシステムによる動作検証の結果、制御プログラムを改修する必要が生じた場合には、ソースプログラムを修正した後、オブジェクトプログラムに変換した制御プログラムを制御装置に組み込むという煩雑な作業が必要となり、また、上述の複数の検証工程を何度も繰り返さなければならず、より効率よく制御プログラムの動作検証が行なえる開発環境の整備が望まれていた。
【００１３】
また、車両の制御システム等では、複数の制御装置がＣＡＮ等のネットワークを介して通信しながら制御対象を協働して制御するように構成されているため、制御装置単体の動作検証のみならず、他の制御装置と協働して制御対象を制御する場合のシステム動作の検証が必要となる。
【００１４】
このような場合に、通常、互いに必要なデータを送受信するために通信線を介して複数のＨＩＬＳシステムを接続し、各ＨＩＬＳシステムに個別の制御装置を接続することにより分散型のシミュレーションシステムが構築されるのであるが、他の制御装置のハードウェア及び制御プログラムが開発されるまで、システム動作の検証ができないという問題もあった。
【００１５】
本発明の目的は、上述した従来の問題点に鑑み、制御プログラムの検証効率を向上することができるシミュレーションシステムを提供する点にある。
【課題を解決するための手段】
【００１６】
上述の目的を達成するため、本発明によるシミュレーションシステムの特徴構成は、マイクロコンピュータが組み込まれた制御装置が接続され、マイクロコンピュータで実行される制御プログラムの動作を検証するシミュレーションシステムであって、制御装置と接続され、被制御装置を模擬する被制御系モジュールと、制御装置から入力された制御信号に基づいて被制御系モジュールを実行させて、その結果を制御装置外部に出力する処理を所定周期で繰り返すシステム管理部を備えた時間同期型シミュレータと、制御装置を模擬する制御系モジュールと、被制御装置を模擬する被制御系モジュールと、制御系モジュールまたは被制御系モジュールで発生したイベントをその時刻とともに管理し、イベントの発生順に各イベントに対応する処理を実行させるイベント管理部を備えた時間非同期型シミュレータと、を接続し、時間同期型シミュレータに、シミュレーション開始後の実時間を管理するシステムタイマと、時間同期型シミュレータに備えた被制御系モジュールの出力データをシステムタイマのタイマ値とともに時間非同期型シミュレータに送信する送信部と、送信部から送信された出力データに対応して時間非同期型シミュレータの制御系モジュールで実行された出力データを受信する受信部を備え、時間非同期型シミュレータのイベント管理部は、送信部から送信された出力データとタイマ値に基づいて、所定周期内で制御系モジュールを起動し、制御系モジュールで実行された出力データを受信部に送信する返信部を備え、時間非同期型シミュレータが時間同期型シミュレータと同期して動作するように構成されている点にある。
【００１７】
時間同期型シミュレータでは、システム管理部により、制御装置から入力された制御信号に基づいて被制御系モジュールが実行され、その結果が制御装置外部に出力される処理が所定周期で繰り返されている間に、送信部により、被制御系モジュールの所定の出力データとシステムタイマのタイマ値が時間非同期型シミュレータに送信される。
【００１８】
時間同期型シミュレータの送信部から送信された出力データとタイマ値が、時間非同期型シミュレータの返信部により受信されると、当該出力データとタイマ値に基づいて所定周期内で制御系モジュールが起動され、制御系モジュールで実行された出力データが、返信部により時間同期型シミュレータの受信部に送信され、時間同期型シミュレータの受信部により当該制御系モジュールの出力データが受信される。
【００１９】
つまり、時間同期型シミュレータと時間非同期型シミュレータが同期して動作できるようになる。例えば、時間非同期型シミュレータで実行される制御系モジュールが時間同期型シミュレータに接続される制御装置に対応するものであれば、両者の出力を比較することにより制御装置に組み込まれる制御プログラムの動作がリアルタイムで検証でき、例えば、時間非同期型シミュレータで実行される制御系モジュールが時間同期型シミュレータに接続される制御装置と協働して制御対象を制御する他の制御装置であれば、システム動作がリアルタイムで検証できるようになる。
【発明の効果】
【００２０】
以上説明した通り、本発明によれば、制御プログラムの検証効率を向上することができるシミュレーションシステムを提供することができるようになった。
【図面の簡単な説明】
【００２１】
【図１】シミュレーションシステムの全体構成図
【図２】時間同期型シミュレータの説明図
【図３】時間非同期型シミュレータの説明図
【図４】時間同期型シミュレータ及び時間非同期型シミュレータのブロック構成図
【図５】時間非同期型シミュレータの動作を示すタイムチャート
【図６】イベント管理部により管理されるイベントリストの説明図
【図７】イベント管理部の動作を示すフローチャート
【図８】シミュレーションシステムの動作を示すフローチャート
【図９】図１とは別のシミュレーションシステムの全体構成図
【図１０】模擬マイクロコンピュータと制御装置のブロック構成図
【図１１】図９に示すシミュレーションシステムの動作を示すフローチャート
【発明を実施するための形態】
【００２２】
以下に、本発明を、車両を電子制御する制御装置に組み込まれる制御プログラムを動作検証するシミュレーションシステムに適用する場合を例に説明する。
【００２３】
図１に示すように、本発明によるシミュレーションシステム１は、マイクロコンピュータが組み込まれた制御装置３と、制御装置３とハーネス９で接続された時間同期型シミュレータ２と、時間非同期型シミュレータ４と、ホストコンピュータ５を備えている。時間同期型シミュレータ２と時間非同期型シミュレータ４は通信線８で接続され、ホストコンピュータ５と時間同期型シミュレータ２及びホストコンピュータ５と時間非同期型シミュレータ４は、ＬＡＮ１０で接続されている。
【００２４】
図２及び図４に示すように、制御装置３は、ＣＰＵ３４、ＣＰＵ３４により実行される制御プログラム３１が記憶されたＲＯＭ３５、ワーキング領域としてのＲＡＭ３６、及びハーネス９を介して外部から入力された制御信号をＣＰＵ３４に入力し、ＣＰＵ３４から出力された制御信号をハーネス９を介して外部に出力する入出力回路３３を備えたマイクロコンピュータ３２を備えている。
【００２５】
時間同期型シミュレータ２は、被制御装置を模擬する被制御系モジュール２２と、制御装置３から入力された制御信号に基づいて被制御系モジュール２２を実行させて、その結果を制御装置３に出力する処理を所定周期で繰り返すシステム管理部２１と、システムタイマ２５を備えた、所定のオペレーティングシステム（ＯＳ）上で動作するＣＰＵボード２０と、制御装置３とハーネス９で接続されたＩ／Ｆボード２８を備えている。
【００２６】
ＣＰＵボード２０には、汎用のパーソナルコンピュータに用いられるような高速且つ高機能なＣＰＵと、ＣＰＵタイマと、所定のＯＳがインストールされたＲＯＭや、被制御系モジュール２２及びシステム管理部２１を構成する制御プログラムが記憶されるとともに、ワーキング領域として利用されるＲＡＭ等のメモリ２６と、Ｉ／Ｆボード２８に対してＰＣＩバス８を介して論理信号を入出力するＰＣＩインタフェース回路２７等が搭載されている。
【００２７】
メモリ２６には、制御装置３と被制御系モジュール２２との間で遣り取りされる入出力データ（以下、「ＩＯデータ」と記す。）が識別可能に記憶される。
【００２８】
ここで、ＩＯデータが識別可能に記憶されるとは、例えば、ＩＯデータがデジタル信号、アナログ信号、或いは、パルス信号であるかを示す信号形態や、どの制御装置３と被制御系モジュール２２との間で遣り取りされるのかを示す信号経路の定義情報（以下、「経路情報」と記す。）等のＩＯデータを識別する識別情報毎に区画された所定の領域にＩＯデータが記憶されることを示す。
【００２９】
当該ＩＯデータを識別する信号形態や経路情報等の識別情報は、オペレータの操作により、後述するホストコンピュータ５でシミュレーション条件として設定され、ＩＯデータを識別する識別情報に対応するメモリ２６の所定の領域は、当該設定時に区画される。
【００３０】
システムタイマ２５は、ＣＰＵタイマに基づいてシミュレーション開始後の実時間を管理するものであり、システム管理部２１により実行制御される被制御系モジュール２２及び制御装置３の夫々は、システムタイマ２５に基づいて同一の実時間上で動作する。
【００３１】
Ｉ／Ｆボード２８は、ハーネス９を介して制御装置３と、また、ＰＣＩバスを介してＣＰＵボード２０と接続されている。Ｉ／Ｆボード２８は、被制御系モジュール２２から出力された車両状態を示す論理信号が入力されると、当該論理信号を電気信号に変換して所定の制御装置３に出力し、或いは、制御装置３から出力された電気信号を論理信号に変換して、所定の被制御系モジュール２２に入力すべく、ＰＣＩバス８及びＰＣＩインタフェース回路２７を介してメモリ２６の所定の領域に記憶するＦＰＧＡ等で構成されたインタフェース回路が搭載されている。時間同期型シミュレータ２には、制御装置３に対して入出力される信号群に対応して、複数のＩ／Ｆボード２８が搭載されている。
【００３２】
つまり、時間同期型シミュレータ２は、制御装置３から出力された電気信号をＩ／Ｆボード２８で受け、Ｉ／Ｆボード２８で変換された論理信号をＣＰＵボード２０上で動作する被制御系モジュール２２に入力して演算処理し、演算処理結果の論理信号を再びＩ／Ｆボード２８で電気信号に変換して制御装置３にフィードバックする処理を、システム管理部２１の管理下で所定のインタバルで繰り返して行う時間同期型のシミュレータとして構成されている。
【００３３】
一方、図３及び図４に示すように、時間非同期型シミュレータ４は、所定のオペレーティングシステム（ＯＳ）上で動作する一台のコンピュータのＣＰＵボード４０上に、制御装置３を模擬する制御系モジュール４９と、被制御装置を模擬する被制御系モジュール４２と、制御系モジュール４９と被制御系モジュール４２間でデータを遣り取りする記憶部４６と、イベント管理部４１を備えて構成されている。
【００３４】
ＣＰＵボード４０には、汎用のパーソナルコンピュータに用いられるような高速且つ高機能なＣＰＵと、ＣＰＵタイマと、ＲＡＭ，ＲＯＭ等のメモリと、ＰＣＩインタフェース回路等が搭載されている。
【００３５】
制御系モジュール４９は、制御装置３の制御を模擬する複数の制御プログラム４ａと、イベントに対応する所定の制御プログラム４ａを実行させる割込みコントローラ４ｂと、制御プログラム４ａに対する入出力情報をＲＡＭに読み書きするＩＯドライバ４ｃと、を備えている。つまり、記憶部４６は、ＲＡＭにより具現化されている。
【００３６】
被制御系モジュール４２は、被制御装置を模擬する複数の車両モデルプログラムと、車両モデルプログラムの入出力データが示す車両状態を論理信号として入出力するインタフェースモデルプログラムを備えている。
【００３７】
イベント管理部４１は、イベントの起動時刻を設定管理するシステムタイマ４５を備え、制御系モジュール４９または被制御系モジュール４２の実行により発生するイベントをその起動時刻とともに管理し、起動時刻に基づいて各イベントに対応する処理を制御系モジュール４９または被制御系モジュール４２で実行する。
【００３８】
制御系モジュール４９と被制御系モジュール４２との間の入出力情報の受け渡しは、イベント管理部４１を経由して行われる。入出力情報には、制御系モジュール４９及び被制御系モジュール４２を起動するイベントと当該イベントの起動時刻とを対応付けたイベント情報や、制御系モジュール４９と被制御系モジュール４２との間で遣り取りされるＩＯデータが含まれる。
【００３９】
システムタイマ４５は、当該時間非同期型シミュレータ４の基準時刻を規定するもので、イベント管理部４１により起動制御される制御系モジュール４９及び被制御系モジュール４２は、システムタイマ４５に基づいて動作する。つまり、制御系モジュール４９と被制御系モジュール４２の夫々はシステムタイマ４５に基づいて同一の仮想時間上で動作する。
【００４０】
制御系モジュール４９及び被制御系モジュール４２から記憶部４６に書き込まれるタイミング依存のＩＯデータはシステムタイマ４５の時刻と関連付けられて管理され、タイミング非依存のＩＯデータはシステムタイマ４５の時刻と関連付けられることなく管理される。
【００４１】
例えば、制御系モジュール４９から記憶部４６に書き込まれる点火信号や燃料噴射信号等のパルス信号や、被制御系モジュール４２から記憶部４６に書き込まれるエンジン回転数や速度センサ信号等のパルス信号等のタイミング依存のＩＯデータは、システムタイマ４５の時刻と関連付けられて管理される。
【００４２】
また、例えば、制御系モジュール４９及び被制御系モジュール４２の双方において記憶部４６に読み書きされる、ＩＧスイッチ、スタータスイッチやエアコンのマグネットクラッチ等の入出力データ等のタイミング非依存のＩＯデータは、システムタイマ４５の時刻と関連付けられることなく管理される。
【００４３】
つまり、イベント管理部４１は、制御系モジュール４９または被制御系モジュール４２から記憶部４６に書き込まれたＩＯデータに基づいて、ＩＯデータの入出力要求を示すイベント要求を検出し、当該イベント要求を集約してシステムタイマ４５により更新される時刻を各イベントの起動時刻とするイベント情報を生成し、記憶部４６に備えられたイベントリスト４８に蓄積する。
【００４４】
イベントリスト４８に蓄積される各イベント情報は、イベントの起動時刻と、ＩＯデータの入出力要求の内容を示すイベント内容と、当該ＩＯデータを設定した制御プログラムや当該ＩＯデータの信号種類等、ＩＯデータ及びイベントの要求元に関連する情報を示す取得元情報と、イベントに対応する起動対象の制御プログラムを示すアクション情報で構成されている。
【００４５】
ここで、制御系モジュール４９または被制御系モジュール４２から記憶部４６に書き込まれるＩＯデータは、イベント管理部４１により管理されるイベントに関連するデータのみならず、制御系モジュール４９と被制御系モジュール４２の間での制御演算または模擬演算に必要なＩＯデータも含まれる。
【００４６】
ＩＯデータは、ＩＯデータの識別情報毎に区画された記憶部４６の所定の領域に書き込まれる。ＩＯデータの識別情報は、オペレータの操作により、後述するホストコンピュータ５でシミュレーション条件として設定され、ＩＯデータを識別する識別情報に対応する記憶部４６の所定の領域は、当該シミュレーション条件の設定時に区画される。
【００４７】
以下、時間非同期型シミュレータ４の動作例を図５に基づいて詳述する。
図５において、（ａ），（ｂ），（ｃ），（ｄ）の各欄は、夫々イベント管理部４１、制御系モジュール４９、被制御系モジュール４２、システムタイマ４５の動作を示し、横軸は時間軸として、各イベントに対応して時刻ｔ０、ｔ１、・・・、ｔ５が付されている。さらに、各イベントの内容が蓄積されるイベントリスト４８を図６に示す。
【００４８】
イベント管理部４１は、先ず、内部で１ｍｓｅｃ．インタバルの割込みを発生させ、システムタイマ４５の時刻ｔ０で割込みイベントを記憶部４６に記憶し、当該割込みイベントに対応する制御系モジュール４９及び被制御系モジュール４２の定時処理プログラムを起動する。
【００４９】
制御系モジュール４９及び被制御系モジュール４２は、それぞれの実機装置において、不定期に入出力ポートに対して入出力される割込み処理要求に応じるために、定時処理ブロックを所定周期で繰り返し実行し、各定時処理ブロックの実行後のタイミングと同期して、割込み処理要求に応じるように構成されている。この構成を模擬して、制御系モジュール４９及び被制御系モジュール４２では、各定時処理ブロックを模擬した、上述のインタバル割込み処理が実行される。
【００５０】
以後、イベント管理部４１では、後に発生する他のイベントと１ｍｓｅｃ．インタバルの割込みイベントが時系列的にスケジューリングされ、イベントリスト４８にスケジューリングしたデータが記憶される。
【００５１】
具体的には、上述の割込みイベントに応じて制御系モジュール４９では１ｍｓｅｃ．の割込み処理が起動され、被制御系モジュール４２ではメイン処理が起動される。
【００５２】
制御系モジュール４９が１ｍｓｅｃ．の割込み処理の起動中に、図中のａ１のタイミングで、ＩＯドライバ４ｃを介して記憶部４６に何らかの信号（例えばＩＯパルス）を出力すると、イベント管理部４１は、イベントリスト４８に当該信号に対応するイベント情報を追加する。被制御系モジュール４２でのメイン処理においても、図中のａ２のタイミングで記憶部４６に何らかの信号を出力すると、イベント管理部４１はイベントリスト４８に当該信号に対応するイベント情報を追加する。
【００５３】
時刻ｔ０での被制御系モジュール４２によるメイン処理にて、イベント管理部４１が被制御系モジュール４２からの「パルス１出力」要求を受けると、これに対応するパルス発生時刻を起動時刻とした、被制御系モジュール４２に対する「パルス１入力」イベント情報をイベントリスト４８に設定する。
【００５４】
イベント管理部４１は、イベントリスト４８から起動時刻が直近のイベント情報を抽出して、イベントの起動時刻、例えば時刻ｔ１で、「パルス１入力」イベントを発生させる。
【００５５】
イベント管理部４１は、図中のｂ１のタイミングで発生させた「パルス１入力」イベントのアクション情報に基づいて、制御系モジュール４９のパルス１出力処理プログラムに対応するＩＯドライバ４ｃを起動して、記憶部４６に記憶された何らかの出力データ（例えば、エンジン回転数）をＩＯドライバ４ｃに入力するとともに、割込みコントローラ４ｂを介して制御系モジュール４９のパルス１出力処理プログラムを起動する。
【００５６】
パルス１出力処理プログラムは、ＩＯドライバ４ｃを介してＩＯデータを取得し、システムタイマ４５のタイマ値を基に演算処理を実行する。ここで、演算処理とは、例えば、被制御系モジュール４２からＩＯデータとして取得したエンジン回転数を利用し、その回転数に応じた次回タイミングの算出を行うことである。
【００５７】
イベント管理部４１が、時刻ｔ１での制御系モジュール４９によるパルス１出力処理により「パルス２出力」要求を受けると、更新したシステムタイマ４５のタイマ値（図中のタイミングａ３）をパラメータとして、これに対応するパルス発生時刻を起動時刻とした「パルス２出力」イベント情報をイベントリスト４８に設定する。イベント管理部４１は、例えば時刻ｔ２にて、制御系モジュール４９による「パルス２出力」処理プログラムを起動する。
【００５８】
一方、イベント管理部４１が被制御系モジュール４２から「パルス３出力」要求を受けると、これに対応するパルス発生時刻を起動時刻とした、被制御系モジュール４２に対する「パルス３入力」イベント情報をイベントリスト４８に設定する。イベント管理部４１は、例えば時刻ｔ３にて、制御系モジュール４９による「パルス３入力」処理プログラムを起動する。
【００５９】
次にイベント管理部４１が制御系モジュール４９から「パルス４出力」要求を受けると、これに対応するパルス発生時刻を起動時刻とした「パルス４出力」イベント情報をイベントリスト４８に設定する。イベント管理部４１は、例えば時刻ｔ４にて、制御系モジュール４９による「パルス４出力」処理プログラムを起動する。
【００６０】
時刻ｔ５では、通信仕様に応じてイベント管理部４１内部で生成した「受信イベント」が発生すると、これに応答して制御系モジュール４９は、それに対応した「受信」処理プログラムを起動する。
【００６１】
このようにイベントリスト４８にイベント情報が蓄積され、蓄積されたイベント情報に基づいて時系列的に制御系モジュール４９または被制御系モジュール４２の該当する割込み処理の制御プログラムが起動されることによりシミュレーションが進められる。
【００６２】
ここで、システムタイマ４５で規定される制御系モジュール４９または被制御系モジュール４２における処理中の時間は零であり、例えば、時刻ｔ０のステップでは、時間Ｔは零となっており、イベントの発生の無い区間は処理をスキップしながら、時系列で順番にイベントが実行され、イベントに設定された時刻により時間がステップ状に進むように構成されているが、各イベントに対応した制御プログラムが起動される制御系モジュール４９または被制御系モジュール４２では、ＣＰＵボード４０に備えられたＣＰＵタイマによりイベントの実処理時間が計時される。
【００６３】
図７に示すように、イベント管理部４１は、イベントリスト４８から起動時刻が直近のイベント情報を抽出し（ＳＡ１）、抽出したイベントの起動時刻にシステムタイマの値を更新し（ＳＡ２）、当該システムタイマ時刻で更新されるＩＯデータをＩＯドライバ４ｂ及びインタフェースモデルプログラムに入力し（ＳＡ３）、対応する制御系モジュール４９または被制御系モジュール４２の割込み処理の制御プログラムを起動する（ＳＡ４）。
【００６４】
制御系モジュール４９または被制御系モジュール４２の割込み処理の制御プログラムは所定の演算処理を実行してＩＯデータを更新し、イベント管理部４１に対してイベントリスト４８の更新を要求する（ＳＡ５）。その後、イベント管理部４１は、処理が実行されたイベントに対応するイベント情報をイベントリスト４８から削除する（ＳＡ６）。
【００６５】
ホストコンピュータ５は、ＣＰＵやメモリを備えたＣＰＵボードと、モニタやキーボード及びマウス等のオペレータの操作及び表示用の入出力機器と、ハードディスク等の記憶媒体を備えたパーソナルコンピュータ等の汎用コンピュータで構成されている。
【００６６】
ホストコンピュータ５には、所定のＯＳ及び操作表示系モジュール５１がインストールされている。操作表示系モジュール５１は、制御装置３と被制御系モジュール２２間、及び後述する被制御系モジュール２２と制御系モジュール４９間で遣り取りされるＩＯデータの信号形態や経路情報等の識別情報、被制御系モジュール２２で実行される制御プログラムの演算条件、及びシミュレーションの実行によりメモリ２６に記憶されるＩＯデータの計測条件等の時間同期型シミュレータ２に対するシミュレーション条件の入力操作用画面を操作可能にモニタに表示するように構成されている。
【００６７】
また、操作表示系モジュール５１は、被制御系モジュール４２と制御系モジュール４９間、及び後述する制御系モジュール４９と被制御系モジュール２２間で遣り取りされるＩＯデータの信号形態や経路情報等の識別情報、被制御系モジュール４２で実行される制御プログラムの演算条件、及びシミュレーションの実行により記憶部４６に記憶されるＩＯデータの計測条件等の時間非同期型シミュレータ４に対するシミュレーション条件の入力操作用画面を操作可能にモニタに表示するように構成されている。
【００６８】
さらに、操作表示系モジュール５１は、時間同期型シミュレータ２及び時間非同期型シミュレータ４の起動及び停止を操作する実行操作用画面や、シミュレーション条件として設定した計測条件に基づいて計測された計測データを表示する計測表示用画面を操作可能にモニタに表示するように構成されている。
【００６９】
つまり、ホストコンピュータ５は、時間同期型シミュレータ２及び時間非同期型シミュレータ４に対するシミュレーション条件を操作設定して各シミュレータに出力するとともに、シミュレーション条件として設定された計測条件に基づいて計測された計測データを各シミュレータから受信してモニタに表示し、各シミュレータによるシミュレーションの実行管理及びシミュレーション実行結果を評価する装置として構成されている。
【００７０】
以下では、時間非同期型シミュレータ４により動作検証済みの制御プログラムが組み込まれた制御装置３を時間同期型シミュレータ２により繰り返し動作検証する場合に、時間非同期型シミュレータ４に備えられた検証済みの制御プログラムを時間同期型シミュレータ２と同期して動作させる実施形態について詳述する。
【００７１】
図４に示すように、シミュレーションシステム１は、上述した構成に加えて、時間同期型シミュレータ２に、時間同期型シミュレータ２に備えた被制御系モジュール２２の出力データをシステムタイマ２５のタイマ値とともに通信線８を介して時間非同期型シミュレータ４に送信するイベント送信部２３と、イベント送信部２３から送信された出力データに対応して時間非同期型シミュレータ４の制御系モジュール４９で実行された出力データを通信線８を介して受信するイベント受信部２４を備えている。尚、図４では、本発明における通信線８をＰＣＩバス８として構成しているが、これに限らず、スターファブリックやＬＶＤＳ等の高速通信可能な通信線で構成してもよい。
【００７２】
また、シミュレーションシステム１は、時間非同期型シミュレータ４に、時間非同期型シミュレータ４に備えた被制御系モジュール４２の動作を停止させるとともに、イベント送信部２３から受信した出力データとタイマ値に基づいて、所定周期内で制御系モジュール４９を起動するイベントを発生させてイベント管理部４１に引き渡すイベント生成部４３と、制御系モジュール４９で実行され記憶部４６に記憶された出力データをイベント管理部４１から受け取り、イベント受信部２４に送信するイベント返信部４４を備えている。
【００７３】
イベント送信部２３及びイベント受信部２４は、時間同期型シミュレータ２のＣＰＵボード２０上で制御プログラムが実行されることにより具現化され、ＰＣＩインタフェース回路２７及びＰＣＩバス８を介して時間非同期型シミュレータ４と通信可能に構成されている。
【００７４】
イベント送信部２３は、被制御系モジュール２２から時間非同期型シミュレータ４に備えられた制御系モジュール４９への出力データが、当該出力データの識別情報に対応するメモリ２６の所定の領域に記憶されたことを検出すると、当該出力データをシステムタイマ２５のタイマ値と当該出力データの識別情報とともに、ＰＣＩインタフェース回路２７及びＰＣＩバス８を介して時間非同期型シミュレータ４に送信する。
【００７５】
イベント受信部２４は、時間非同期型シミュレータ４の制御系モジュール４９から出力された出力データと当該出力データの識別情報をＰＣＩバス８及びＰＣＩインタフェース回路２７を介して受信すると、当該受信した出力データの識別情報に対応するメモリ２６の所定の領域に当該受信した出力データを記憶する。
【００７６】
イベント生成部４３及びイベント返信部４４は、時間非同期型シミュレータ４のＣＰＵボード４０上で制御プログラムが実行されることにより具現化され、ＰＣＩインタフェース回路４７及びＰＣＩバス８を介して時間同期型シミュレータ２と通信可能に構成されている。
【００７７】
イベント生成部４３は、時間非同期型シミュレータ４の電源投入後の初期起動時に、被制御系モジュール４２の動作を停止させることを示すフラグを記憶部４６に記憶する。これにより、イベント管理部４１による被制御系モジュール４２に対応するイベントの実行が停止される。
【００７８】
また、イベント生成部４３は、イベント送信部２３から送信された出力データとタイマ値と当該出力データの識別情報を受信すると、当該識別情報に対応する記憶部４６の所定の領域に当該出力データ及びタイマ値を記憶し、イベント管理部４１にイベントリスト４８の更新を要求する。
【００７９】
イベント管理部４１は、イベント生成部４３により、時間同期型シミュレータ２から制御系モジュール４９への出力データの識別情報に対応する所定の領域に当該出力データ及びタイマ値が記憶されたことを検出すると、当該所定の領域に対応する当該出力データの識別情報に含まれる経路情報から、起動対象の制御系モジュール４２を特定し、当該タイマ値を起動時刻とするイベント情報を生成してイベントリスト４８に蓄積する。
【００８０】
つまり、イベント生成部４３は、当該出力データ及びタイマ値を記憶部４６に記憶することにより、イベント送信部２３から受信した出力データとタイマ値に基づいて、所定周期内で制御系モジュール４９を起動するイベントを発生させてイベント管理部４１に引き渡す。
【００８１】
当該イベント情報に対応するイベントは、イベント管理部４１により、イベント情報に対応する起動時刻に実行され、イベント情報に対応する所定の制御系モジュール４９が実行される。当該制御系モジュール４９は、実行結果の出力データを、当該出力データの識別情報に対応する記憶部４６の所定の領域に記憶する。
【００８２】
イベント返信部４４は、イベント管理部４１により、記憶部４６の所定の領域に制御系モジュール４９の出力データが記憶されたことが検出された場合に、イベント管理部４１から当該出力データと当該所定の領域に対応する当該出力データの識別情報を受け取り、当該受け取った出力データを当該出力データの識別情報とともに、ＰＣＩインタフェース回路２７及びＰＣＩバス８を介してイベント受信部２４に送信する。
【００８３】
以下、本構成により、時間非同期型シミュレータ４が時間同期型シミュレータ２と同期して動作する動作例について詳述する。
図８に示すように、シミュレーションシステム１に電源が投入されると、ＯＳが起動して初期設定が行われ、操作表示系モジュール５１が起動される（ＳＢ１，ＳＣ１，ＳＤ１）。また、制御装置３に電源が投入されると、制御装置３に備えられたマイクロコンピュータが起動して初期設定が行なわれる（ＳＥ１）。
【００８４】
続いて、ホストコンピュータ５では、操作表示系モジュール５１により、ホストコンピュータ５のモニタにシミュレーション条件の入力操作用画面が表示され、オペレータによりシミュレーション条件が設定操作される。設定操作が完了すると、設定されたシミュレーション条件がＬＡＮ１０を介して時間同期型シミュレータ２及び時間非同期型シミュレータ４に送信される（ＳＢ２）。
【００８５】
時間同期型シミュレータ２では、制御装置３と被制御系モジュール２２間、及び被制御系モジュール２２と制御系モジュール４９間で遣り取りされるＩＯデータの識別情報、被制御系モジュール２２で実行される制御プログラムの演算条件、及びシミュレーションの実行によりメモリ２６に記憶されるＩＯデータの計測条件等のシミュレーション条件が設定される（ＳＣ２）。
【００８６】
時間非同期型シミュレータ４では、制御系モジュール４９と被制御系モジュール２２間で遣り取りされるＩＯデータの識別情報、及びシミュレーションの実行により記憶部４６に記憶されるＩＯデータの計測条件等のシミュレーション条件が設定され、イベント生成部４３が起動される（ＳＤ２）。
【００８７】
時間非同期型シミュレータ４では、イベント生成部４３により、時間非同期型シミュレータ４に備えられた被制御系モジュール４２の動作を停止させることを示すフラグが記憶部４６に設定され、被制御系モジュール４２の動作が停止される（ＳＤ３）。
【００８８】
シミュレーション条件の設定が終了し、ホストコンピュータ５において、オペレータによりシミュレーションの開始操作がなされると、ホストコンピュータ５から時間同期型シミュレータ２に対してシミュレーションの開始指令が送信される（ＳＢ３）。
【００８９】
時間同期型シミュレータ２では、システム管理部２１により、システムタイマ２５が起動され、制御装置３から出力された制御信号、及び、必要に応じてホストコンピュータ５から送信された演算条件を入力する信号入力処理と、信号入力処理で入力された制御信号や操作信号等のＩＯデータに基づいて被制御系モジュール２２を実行する演算処理と、演算処理結果の論理信号を出力する信号出力処理と、条件設定された計測データをサンプリングするデータ計測処理の各処理（ＳＣ３）が所定のインタバルで繰返し実行される（ＳＣ７）。尚、データ計測処理でサンプリングされた計測データはメモリ２６に記憶され、上述の所定のインタバルとは非同期の所定の時期、例えば、シミュレーションのアイドル時間にＬＡＮ１０を介してホストコンピュータ５に送信される。
【００９０】
システム管理部２１により上述の各処理が所定のインタバルで繰り返し実行されている場合に、制御装置３への出力要求があり、被制御系モジュール２２から当該制御装置３への出力データがメモリ２６の所定の領域に記憶されると（ＳＣ４）、システム管理部２１により、当該出力データがＩ／Ｆボード２８を介して制御装置３に送信される（ＳＣ４；（イ））。
【００９１】
制御装置３は、電源が投入されている間に（ＳＥ５）、システム管理部２１からＩ／Ｆボード２８を介して当該出力データを受信すると、信号入力処理（ＳＥ２）と、信号入力処理で入力された制御信号に基づいて制御装置３に組み込まれた制御プログラムの実行処理（ＳＥ３）と、当該制御プログラムの実行結果の出力データをＩ／Ｆボード２８を介して送信する処理（ＳＥ４）とを実行する。
【００９２】
システム管理部２１により上述の各処理が所定のインタバルで繰り返し実行されている場合に、時間非同期型シミュレータ４に備えられた制御系モジュール４９への出力要求があり（ＳＣ４；（ロ））、被制御系モジュール２２から当該制御系モジュール４９への出力データがメモリ２６の所定の領域に記憶されると（ＳＣ４）、イベント送信部２３により、当該出力データが、システムタイマ２５のタイマ値と当該出力データの識別情報とともにＰＣＩインタフェース回路２７及びＰＣＩバス８を介して時間非同期型シミュレータ４に送信される（ＳＣ５）。
【００９３】
時間非同期型シミュレータ４では、イベント生成部４３により、イベント送信部２３から送信された出力データと識別情報とタイマ値が受信され、当該出力データとタイマ値が当該識別情報に対応する記憶部４６の所定の領域に記憶されると（ＳＤ４）、イベント管理部４１により、当該所定の領域に対応する当該出力データの識別情報に含まれる経路情報から、起動対象の制御系モジュール４２が特定され、当該受信したタイマ値を起動時刻とする当該制御系モジュール４９のイベント情報がイベントリスト４８に追加される（ＳＤ５）。
【００９４】
時間非同期型シミュレータ４では、イベント管理部４１により、上述のステップＳＡ１からステップＳＡ６の処理が実行され、各イベントに対応する制御系モジュール４９が各イベントに設定された起動時刻に実行される（ＳＤ６）。
【００９５】
時間非同期型シミュレータ４では、イベント管理部４１により、記憶部４６の所定の領域に制御系モジュール４９の出力データが記憶されたことが検出されると、イベント返信部４４により、イベント管理部４１から当該出力データと当該所定の領域に対応する当該出力データの識別情報が受け取られ、当該出力データが当該出力データの識別情報とともにイベント受信部２４に送信される（ＳＤ７）。
【００９６】
システム管理部２１により上述の各処理が所定のインタバルで繰り返し実行されている場合に、制御装置３及び時間非同期型シミュレータ４に備えられた制御系モジュール４９への出力要求がない場合（ＳＣ４；（ハ））は、上述のとおり、ステップＳＣ３における各処理が所定のインタバルで繰返し実行される。
【００９７】
時間同期型シミュレータ２では、制御装置３から送信された出力データがＩ／Ｆボード２８を介してメモリ２６の所定の領域に記憶される、及び、イベント受信部２４により、イベント返信部４４から出力された出力データ及び当該出力データの識別情報が受信されると、当該出力データの識別情報に対応するメモリ２６の所定の領域に当該出力データが記憶される（ＳＣ６）。
【００９８】
ホストコンピュータ５では、ＬＡＮ１０を介して受信した計測データがトレンドグラフとしてモニタに表示され、オペレータにより終了操作がなされると（ＳＢ４）、時間同期型シミュレータ２と時間非同期型シミュレータ４に終了指令が送信され（ＳＢ５）、当該終了指令を受信した時間同期型シミュレータ２と時間非同期型シミュレータ４は処理を終了する（ＳＣ８、ＳＤ８）。
【００９９】
また、制御装置３では、例えばイグニッションスイッチのオフを示す制御信号等、電源をオフする指令を示す所定の制御信号が入力されると（ＳＥ５）、例えばマイクロコンピュータのＲＡＭに記憶された内容を当該マイクロコンピュータに備えられた不揮発性メモリに退避する等の所定の終了処理が実行され、電源がオフされる（ＳＥ６）。
【０１００】
つまり、時間同期型シミュレータ２による制御装置３の動作検証を繰り返す場合に、当該制御装置３に対応する時間非同期型シミュレータ４の制御系モジュール４９を同期して動作させることにより、メモリ２６の所定の領域に、時間同期型シミュレータ２により起動された制御装置３の出力データと、時間非同期型シミュレータ４により実行された制御系モジュール４９の出力データとが記憶される。
【０１０１】
したがって、例えば、ホストコンピュータ６で、メモリ２６の所定の領域に記憶される当該制御装置３の出力データと制御系モジュール４９の出力データとを計測するよう、シミュレーション条件の計測条件として設定して計測表示用画面に表示する等の方法で、制御装置３の出力データと制御系モジュール４９の出力データとを容易に対比することができるようになる。
【０１０２】
即ち、時間非同期型シミュレータ４により動作検証済みの制御プログラムが組み込まれた制御装置３、例えばエンジン制御装置を、時間同期型シミュレータ２により繰り返し動作検証する場合に、時間非同期型シミュレータ４に備えられた開発の上流段階で検証済みのエンジン制御装置の制御プログラムを時間同期型シミュレータ２と同期して動作させ、時間非同期型シミュレータ４に備えられた検証済みの制御プログラムの出力データと、当該制御装置３に組み込まれた制御プログラムの検証中の出力データとを対比することにより、検証済みの制御プログラムと同じ動作を当該制御装置３に組み込まれた制御プログラムが行っているかを容易に検証することができる。
【０１０３】
したがって、制御装置３に組み込まれる制御プログラムの改修箇所を容易に特定することができるようになり、効率よく制御装置３の動作検証を行うことができるようになる。
【０１０４】
即ち、本実施形態におけるシミュレーションシステム１は、マイクロコンピュータが組み込まれた制御装置３が接続され、マイクロコンピュータで実行される制御プログラムの動作を検証するシミュレーションシステムであって、制御装置３と接続され、被制御装置を模擬する被制御系モジュール２２と、制御装置３から入力された制御信号に基づいて被制御系モジュール４９を実行させて、その結果を制御装置外部に出力する処理を所定周期で繰り返すシステム管理部２１を備えた時間同期型シミュレータ２と、制御装置３を模擬する制御系モジュール４９と、被制御装置を模擬する被制御系モジュール４２と、制御系モジュール４９または被制御系モジュール４２で発生したイベントをその時刻とともに管理し、イベントの発生順に各イベントに対応する処理を実行させるイベント管理部４１を備えた時間非同期型シミュレータ４と、を接続し、時間同期型シミュレータ２に、シミュレーション開始後の実時間を管理するシステムタイマ２５と、時間同期型シミュレータ２に備えた被制御系モジュール２２の出力データをシステムタイマ２５のタイマ値とともに時間非同期型シミュレータ４に送信する送信部（イベント送信部２３）と、送信部（イベント送信部２３）から送信された出力データに対応して時間非同期型シミュレータ４の制御系モジュール４９で実行された出力データを受信する受信部（イベント受信部２４）を備え、時間非同期型シミュレータ４のイベント管理部４１は、送信部（イベント送信部２３）から送信された出力データとタイマ値に基づいて、所定周期内で制御系モジュール４９を起動し、制御系モジュール４９で実行された出力データを受信部（イベント受信部２４）に送信する返信部（イベント生成部４３及びイベント返信部４４）を備え、時間非同期型シミュレータ４が時間同期型シミュレータ２と同期して動作するように構成されている。
【０１０５】
尚、図４に示すように、制御系モジュール４９が時間同期型シミュレータ２に接続された制御装置３を模擬する制御系モジュール４９であり、時間同期型シミュレータ２に、受信部（イベント受信部２４）で受信されたイベント返信部４４から送信された出力データと制御装置３の出力データを対比して記憶するデータ記録処理部２４１を備えて構成してもよい。
【０１０６】
データ記録処理部２４１は、メモリ２６の所定の領域に記憶された、制御装置３の出力データと制御系モジュール４９の出力データを対比して、例えば、予めシミュレーション条件として予め設定された誤差の範囲よりも大きな誤差がある場合は、当該制御装置３の動作検証結果が良好ではない旨を示すコードをメモリ２６に記憶する等の方法で、当該制御系モジュール４９と制御装置３に組み込まれた制御プログラムの出力データを対比した結果をメモリ２６に記憶する。
【０１０７】
つまり、データ記録処理部２４１によりメモリ２６に記憶される制御装置３の出力データと制御系モジュール４９の出力データの対比結果を計測条件に含め、ホストコンピュータ５のモニタに表示させる等の方法で、効率よく制御装置３の出力データと制御系モジュール４９の出力データの対比結果を確認することができるようになる。
【０１０８】
以下では、例えばエンジンを制御する制御装置３がＣＡＮバス等の通信線を介して接続された変速機構の制御装置等の他の制御装置と関連して動作することを検証する場合に、時間非同期型シミュレータ４に備えられた検証済みの制御プログラムを時間同期型シミュレータ２と同期して動作させる実施形態について詳述する。
【０１０９】
図４に示すように、シミュレーションシステム１は、制御系モジュール４９が時間同期型シミュレータ２に接続された制御装置３とは異なる制御装置を模擬する制御系モジュール４９であり、時間同期型シミュレータ２に、受信部（イベント受信部２４）で受信されたイベント返信部４４から送信された出力データに基づいて被制御系モジュール２２が実行されるようにシステム管理部２１に引き渡すデータ引渡し部２４２を備えている。
【０１１０】
この場合、時間同期型シミュレータ２では、メモリ２６の所定の領域に、被制御系モジュール２２から時間同期型シミュレータ２に接続された制御装置３とは異なる制御装置を模擬する制御系モジュール４９への出力データが記憶されると、時間非同期型シミュレータ４の制御系モジュール４９が実行され、実行結果の出力データが、メモリ２６の所定の領域に記憶される（ＳＣ４〜ＳＣ６，ＳＤ４〜ＳＤ７，図８参照）。
【０１１１】
データ引渡し部２４２は、メモリ２６の所定の領域に制御系モジュール４９の出力データが記憶されたことを検出すると、当該出力データをメモリ２６から読み込んでシステム管理部２１に引き渡す。システム管理部２１は、データ引渡し部２４２から引き渡された入力データに基づいて、当該被制御系モジュール２２を実行する（ＳＣ３，図８参照）。
【０１１２】
従来、制御装置３がＣＡＮバス等の通信線を介して接続された他の制御装置と関連して動作することを検証する場合に、ターゲットとなる他の制御装置が現実に存在しないときは、例えば、当該存在しない制御装置を模擬する模擬制御装置を準備して、当該模擬装置が接続された時間同期型シミュレータ２と、検証対象の制御装置が接続された時間同期型シミュレータ２と、を連動させる大規模なシミュレーションシステム１を構築する等の手間をかける必要があった。
【０１１３】
しかし、本実施形態の構成によれば、存在しない制御装置を模擬する制御系モジュール４９を時間非同期型シミュレータ４に組み込み、当該時間非同期型シミュレータ４と当該制御装置３が接続された時間同期型シミュレータ２とを同期して動作させることにより、当該制御装置３が他の制御装置と関連して動作することを容易に動作検証することができるようになる。
【０１１４】
尚、上述の実施形態では、時間非同期型シミュレータ４は、被制御系モジュール４２を備えて構成され、時間同期型シミュレータ２から時間非同期型シミュレータ４に組み込まれた制御系モジュール４９を実行する場合に、当該被制御系モジュール４２の起動を停止するように構成されていたが、時間非同期型シミュレータ４は、被制御系モジュール４２を備えずに、他の時間非同期型シミュレータの被制御系モジュール４２を実行して、当該実行結果の出力データを取得するインタフェース部を備えて構成されていてもよい。
【０１１５】
ただし、この場合、図８に示したように、イベント管理部４１は、ステップＳＤ３でイベント生成部４３により、時間非同期型シミュレータ４に備えられた被制御系モジュール４２の動作を停止させるフラグが記憶部４６に設定されると、当該インタフェース部を介して他の時間非同期型シミュレータの被制御系モジュール４２を動作させないように構成されている。
【０１１６】
以下では、ターゲットとなる制御装置が現実に存在しない場合であっても、当該制御装置を模擬する模擬マイクロコンピュータを既存の制御装置に接続して、時間同期型シミュレータ２により当該制御装置の動作検証を行う実施形態について詳述する。
【０１１７】
図９に示すように、シミュレーションシステム１は、マイクロコンピュータ３２が組み込まれた制御装置３と、模擬マイクロコンピュータ６と、制御装置３とハーネス９で接続された時間同期型シミュレータ２と、時間同期型シミュレータ２とＬＡＮ１０を介して接続されたホストコンピュータ５と、を備えて構成し、模擬マイクロコンピュータ６と制御装置３に組み込まれたマイクロコンピュータ３２とを通信線としてのシリアル通信ライン１１で接続し、時間同期型シミュレータ２から入力されたデータに対する模擬マイクロコンピュータ６の演算処理を起動する演算起動部を制御装置３に備え、演算起動部により起動され、制御装置３の動作時にシリアル通信ライン１１を介して模擬マイクロコンピュータ６の演算結果をマイクロコンピュータに送信するデータ書込み処理部を模擬マイクロコンピュータ６に備えている。
【０１１８】
具体的には、図１０に示すように、制御装置３は、上述した構成に加えて、後述するモニタ装置６５との間で、制御装置３に組み込まれたＲＡＭ３５のモニタ用の通信線としてのシリアル通信線１１を介して制御信号を入出力するモニタインタフェース回路３７を備え、ＲＡＭ３６に記憶されたデータ内容をシリアル通信線１１に接続された模擬マイクロコンピュータ６から読み書き可能に構成されている。
【０１１９】
制御装置３に組み込まれた制御プログラムは、その実行中に模擬マイクロコンピュータ６の演算処理を起動するように構成されている。具体的には、当該制御プログラムは、ＲＡＭ３６を介して当該起動する演算処理との間でＩＯデータを遣り取りする。ＲＡＭ３６には、ＩＯデータが識別可能に記憶される。
【０１２０】
ＩＯデータには、時間同期型シミュレータ２から制御装置３に入力され、既存の制御プログラムとは異なる新たな制御プログラムの起動時に入力されるデータに限らず、既存の制御プログラムの演算処理中に、例えば、当該制御プログラムを一部機能拡張する演算処理のみが実装された新たな制御プログラム等の新たな制御プログラムを起動する場合に、当該新たな制御プログラムに入力されるデータも含まれる。
【０１２１】
ここで、ＩＯデータが識別可能に記憶されるとは、例えば、デジタル信号、アナログ信号、或いは、パルス信号であるかを示す信号形態や、どの制御装置３に組み込まれた制御プログラムと模擬マイクロコンピュータ６の演算処理との間で遣り取りされるのかを示す経路情報等のＩＯデータを識別する識別情報毎に区画された所定の領域にＩＯデータが記憶されることを示す。尚、当該ＩＯデータの識別情報に対応するＲＡＭ３６の所定の領域は、制御装置３への制御プログラムの組み込み時に区画される。
【０１２２】
一方、模擬マイクロコンピュータ６は、モニタやキーボード及びマウス等のオペレータの操作及び表示用の入出力機器と、制御装置３よりも高速に演算処理可能なＣＰＵが搭載された、所定のオペレーティングシステム（ＯＳ）上で動作するＣＰＵボード６０と、モニタ装置６５とを備え、ＣＰＵボード６０、入出力機器、及びモニタ装置６５は、それぞれＰＣＩバスを介して通信可能に構成されている。
【０１２３】
ＣＰＵボード６０には、制御装置３に組み込まれるマイクロコンピュータを模擬する模擬マイクロコンピュータモジュール６２と、模擬マイクロコンピュータモジュール６２で実行される制御プログラムを生成するプログラム生成部６３と、プログラム生成部６３で生成された制御プログラムを模擬マイクロコンピュータモジュール６２で実行させる模擬マイクロコンピュータ管理部６１と、操作表示部６４が備えられている。
【０１２４】
模擬マイクロコンピュータモジュール６２は、制御装置３に組み込まれる制御プログラムを模擬する制御プログラムを備え、当該制御プログラムは、ＣＰＵボード６０上のＣＰＵにより実行可能に構成されている。
【０１２５】
プログラム生成部６３は、オペレータの操作により、制御プログラムのソースコードを編集し、編集したソースコードをコンパイルしてＣＰＵボード６０上で実行可能なオブジェクトコードを生成するように構成され、例えば、マトラボ／シムリンク（ＭＡＴＬＡＢ／Ｓｉｍｕｌｉｎｋ（登録商標））等の開発ツールで具現化されている。
【０１２６】
モニタ装置６５は、制御装置３に組み込まれたモニタインタフェース回路３７とシリアル通信ライン１１で接続され、シリアルクロック信号に同期してコマンドデータを送信し、当該コマンドデータに応答して当該シリアルクロック信号に同期して返信される応答データを受信する通信インタフェース部６６を備えている。
【０１２７】
モニタ装置６５は、通信インタフェース部６６を介して動作中の制御装置３から受信した応答データに基づいて制御装置３のリソース状態をモニタする、或いは、リソース状態を所定のデータにより更新するコマンドデータを送信して、リソース状態を更新可能に構成されている。
【０１２８】
ここで、制御装置３のリソース状態とは、例えば、制御装置３のＲＡＭ３６の各アドレスに記憶されているデータ内容のことであり、これらのデータ内容は、制御装置３のＣＰＵ３４による制御プログラムの実行に伴って変化する。つまり、モニタ装置６５は、ＣＰＵ３４の実行中であっても制御装置３のリソース状態をモニタし、或いは、リソース状態を更新可能に構成されている。
【０１２９】
当該リソース状態をＣＰＵ３４の実行中にモニタし、或いは、更新する機能は、ＮＢＤ（Ｎｏｎ  Ｂｒｅａｋ  Ｄｅｂｕｇ）の機能が搭載された制御装置３に、モニタ装置６５からＮＢＤの機能に基づいてアクセスすることで実現されている。当該アクセスは、制御装置３に搭載されたＮＢＤの機能を制御するためのコントロールソフトウェアを、モニタ装置６５にインストールして実行させることにより具現化される。
【０１３０】
操作表示部６４は、入出力機器及びＯＳに組み込まれたＧＵＩ（Graphical User Interface）を介してオペレータによる入出力操作可能に構成され、プログラム生成部６３、模擬マイクロコンピュータ管理部６１、及びモニタ装置６５の起動や、モニタ装置６５によりモニタする、或いは、更新する対象のＲＡＭ３６の所定の領域を指定するモニタ条件、モニタ装置６５によりＲＡＭ３６をモニタするインタバル、模擬マイクロコンピュータモジュール６２に入出力されるＩＯデータの信号形態や経路情報等の識別情報及び模擬マイクロコンピュータモジュール６２で実行される制御プログラムの演算条件等の実行条件の設定や、モニタ装置６５の停止等の入力操作や、モニタ条件に基づいてモニタ装置６５によりモニタされたＲＡＭ３６のデータをモニタへ表示する等の出力操作が可能に構成されている。ここで、模擬マイクロコンピュータモジュール６２に入出力されるＩＯデータの経路情報には、モニタ条件として設定されたＲＡＭ３６の所定の領域を入出力先として含めることができる。
【０１３１】
模擬マイクロコンピュータ管理部６１は、操作表示部６４から入力された模擬マイクロコンピュータモジュール６２の実行条件に基づいて、ＣＰＵボード６０上で模擬マイクロコンピュータモジュール６２を実行可能に構成されている。
【０１３２】
以下では、本実施形態におけるシミュレーションシステム１の動作例を説明する。
図１１に示すように、シミュレーションシステム１に電源が投入されると、ＯＳが起動して初期設定が行われ、ホストコンピュータ５の操作表示系モジュール５１及び模擬マイクロコンピュータ６の操作表示部６４が起動される（ＳＦ１，ＳＧ１、ＳＨ１）。また、制御装置３に電源が投入されると、制御装置３に備えられたマイクロコンピュータが起動して初期設定が行なわれる（ＳＪ１）。
【０１３３】
ホストコンピュータ５では、操作表示系モジュール５１により、ホストコンピュータ５のモニタにシミュレーション条件の入力操作用画面が表示され、オペレータによりシミュレーション条件が設定操作される。設定操作が完了すると、設定されたシミュレーション条件がＬＡＮ１０を介して時間同期型シミュレータ２に送信される（ＳＦ２）。
【０１３４】
時間同期型シミュレータ２では、制御装置３と被制御系モジュール２２間で遣り取りされるＩＯデータの信号形態や経路情報等の識別情報、被制御系モジュール２２で実行される制御プログラムの演算条件、及びメモリ２６に記憶されるＩＯデータの計測条件等のシミュレーション条件が設定される（ＳＧ２）。
【０１３５】
一方、模擬マイクロコンピュータ６では、操作表示部６４により、模擬マイクロコンピュータ６のモニタに、モニタ装置６５によりモニタする、或いは、更新する対象のＲＡＭ３６の所定の領域を指定するモニタ条件、モニタ装置６５によりＲＡＭ３６をモニタするインタバル、模擬マイクロコンピュータモジュール６２に入出力されるＩＯデータの信号形態や経路情報等の識別情報及び模擬マイクロコンピュータモジュール６２で実行される制御プログラムの演算条件等の実行条件の設定用の操作画面が表示され、オペレータにより各種実行条件が設定操作される（ＳＨ２）。
【０１３６】
模擬マイクロコンピュータ６では、操作表示部６４により、模擬マイクロコンピュータ管理部６１及びモニタ装置６５の起動操作用の操作画面が表示され、オペレータによりモニタ装置６５が起動操作されると、モニタ装置６５により、実行条件として設定された所定周期で、実行条件として設定されたモニタ条件に対応する制御装置３のＲＡＭ３６のデータのモニタが開始される（ＳＨ３、ＳＨ７）。
【０１３７】
ホストコンピュータ５では、シミュレーションの条件設定が終了し、オペレータによりシミュレーションの開始操作がなされると、ホストコンピュータ５から時間同期型シミュレータ２にシミュレーションの開始指令が送信される（ＳＦ３）。
【０１３８】
時間同期型シミュレータ２では、システム管理部２１により、システムタイマ２５が起動され、制御装置３から出力された制御信号、及び、必要に応じてホストコンピュータ５から送信された演算条件を入力する信号入力処理と、信号入力処理で入力された制御信号や操作信号等のＩＯデータに基づいて被制御系モジュール２２を実行する演算処理と、演算処理結果の論理信号を出力する信号出力処理と、条件設定された計測データをサンプリングするデータ計測処理の各処理（ＳＧ３）が所定のインタバルで繰返し実行される（ＳＧ７）。尚、データ計測処理でサンプリングされた計測データはメモリ２６に記憶され、上述の所定のインタバルとは非同期の所定の時期、例えば、シミュレーションのアイドル時間にＬＡＮ１０を介してホストコンピュータ５に送信される。
【０１３９】
システム管理部２１により上述の各処理が所定のインタバルで繰り返し実行されている場合に、制御装置３への出力要求があり、被制御系モジュール２２から当該制御装置３への出力データがメモリ２６の所定の領域に記憶されると（ＳＧ４；Ｙ）、システム管理部２１により、当該出力データがＩ／Ｆボード２８を介して制御装置３に送信される（ＳＧ５）。
【０１４０】
制御装置３は、電源が投入されている間に（ＳＪ８）、システム管理部２１からＩ／Ｆボード２８を介して当該出力データを受信すると、信号入力処理（ＳＪ２）と、信号入力処理で入力された制御信号に基づいて制御装置３に組み込まれた制御プログラムの実行処理（ＳＪ３）と、当該制御プログラムの実行結果の出力データをＩ／Ｆボード２８を介して送信する処理（ＳＪ７）とを実行する。
【０１４１】
制御装置３では、被制御系モジュール２２からの起動要求を受けて起動された制御装置３の制御プログラムがその実行中に模擬マイクロコンピュータモジュール６２を起動する場合は（ＳＪ４；Ｙ）、ＲＡＭ３６の所定の領域に当該制御プログラムの出力データを記憶する（ＳＪ５）。
【０１４２】
模擬マイクロコンピュータ６では、モニタ装置６５により、モニタ条件に基づいてモニタ中のＲＡＭ３６の所定の領域に当該出力データが記憶されたことが検出されると（ＳＨ４）、模擬マイクロコンピュータ管理部６１により、モニタ条件として設定されたＲＡＭ３６の所定の領域を入出力先として含む経路情報から、起動対象の模擬マイクロコンピュータモジュール２２が特定され、当該模擬マイクロコンピュータモジュール２２が実行される（ＳＨ５）。
【０１４３】
模擬マイクロコンピュータ６では、モニタ装置６５により、モニタ条件に基づいて、模擬マイクロコンピュータ管理部６１により実行された模擬マイクロコンピュータモジュール２２の実行結果の出力データによりＲＡＭ３６の所定の領域を更新するよう指示するコマンドデータが、シリアル通信ライン１１を介して制御装置３に送信される（ＳＨ６）。
【０１４４】
制御装置３では、モニタインタフェース回路３７により、モニタ装置６５から送信されたコマンドデータが受信され、当該模擬マイクロコンピュータモジュール６２の起動を要求した制御プログラムが、ＲＡＭ３６の所定の領域に当該模擬マイクロコンピュータモジュール２２の出力データが書き込まれたことを検出すると、当該出力データに基づいて演算処理を継続し（ＳＪ６）、演算処理結果の出力データをＩ／Ｆボード２８を介して時間同期型シミュレータ２に送信する（ＳＪ７）。
【０１４５】
システム管理部２１により上述の各処理が所定のインタバルで繰り返し実行されている場合に、制御装置３への出力要求がない場合（ＳＧ４；Ｎ）は、上述の通り、ステップＳＧ３における各処理が所定のインタバルで繰返し実行される。
【０１４６】
時間同期型シミュレータ２では、制御装置３から送信された出力データがＩ／Ｆボード２８を介してメモリ２６の所定の領域に記憶される（ＳＧ６）。
【０１４７】
ホストコンピュータ５では、ＬＡＮ１０を介して受信した計測データがトレンドグラフとしてモニタに表示され、オペレータにより終了操作がなされると（ＳＦ４）、時間同期型シミュレータ２に終了指令が送信され（ＳＦ５）、当該終了指令を受信した時間同期型シミュレータ２は処理を終了する（ＳＧ８）。また、オペレータにより、操作表示部６４を介して、模擬マイクロコンピュータ管理部６１及びモニタ装置６５の終了操作がなされると、模擬マイクロコンピュータ管理部６１及びモニタ装置６５は、処理を終了する（ＳＨ８）。
【０１４８】
また、制御装置３では、例えばイグニッションスイッチのオフを示す制御信号等、電源をオフする指令を示す所定の制御信号が入力されると（ＳＪ８）、例えばマイクロコンピュータのＲＡＭに記憶された内容を当該マイクロコンピュータに備えられた不揮発性メモリに退避する等の所定の終了処理が実行され、電源がオフされる（ＳＪ９）。
【０１４９】
即ち、本発明による時間同期型シミュレータ２から入力されたデータに対する模擬マイクロコンピュータ６の演算処理を起動する演算起動部は、模擬マイクロコンピュータモジュール６２を起動要求する制御プログラム、ＲＡＭ３６及びモニタインタフェース回路３７で構成され、時間同期型シミュレータ２から入力されたデータをＲＡＭ３６に書込み、当該データに対する模擬マイクロコンピュータ６の演算処理を起動するように構成されている。
【０１５０】
また、演算起動部により起動され、制御装置３の動作時に通信線としてのシリアル通信ライン１１を介して模擬マイクロコンピュータ６の演算結果をマイクロコンピュータ６に送信するデータ書込み処理部は、モニタ装置６５により構成され、制御装置３の動作時に当該シリアル通信ライン１１を介して模擬マイクロコンピュータ６の演算結果をマイクロコンピュータのＲＡＭ３６に書き込むように構成されている。
【０１５１】
上述の構成によれば、例えば、既存の制御装置３を拡張開発する場合等、ターゲットとなる制御装置３が現実に存在しない場合であっても、新たに拡張開発する部分の制御プログラムをプログラム生成部６３により先行開発して模擬マイクロコンピュータ６に組み込み、時間同期型シミュレータ２により既存の制御装置３を動作させ、これと同期して当該模擬マイクロコンピュータ６に組み込まれた新たな制御プログラムを動作させることにより、拡張開発部分を含む制御プログラムが組み込まれた制御装置３の動作検証を行うことができるようになる。
【０１５２】
また、当該動作検証を繰り返し行う場合に、制御プログラムを改修する必要があっても、プログラム生成部６３により、改修した制御プログラムを模擬マイクロコンピュータ６に組み込むことにより、効率よく拡張開発後の制御装置３の動作検証を再開することができるようになる。
【０１５３】
尚、本実施形態では、ターゲットとなる制御装置３が現実に存在しない場合であっても、制御装置３に組み込まれる制御プログラムのうちの一部の機能を実現する制御プログラムを、当該制御装置３を模擬する模擬マイクロコンピュータ６に組み込み、当該模擬マイクロコンピュータ６を既存の制御装置３に接続して、時間同期型シミュレータ２により当該制御装置３の動作検証を行う実施形態について説明したが、これと同様にして、当該制御装置３に組み込まれる制御プログラムのうちの一部の機能を実現する制御プログラムを時間非同期型シミュレータ４で動作する制御系モジュール４９として組み込み、当該時間非同期型シミュレータ４と既存の制御装置３を時間同期型シミュレータ２に接続して、当該時間型同期型シミュレータ２により、当該制御装置３の動作検証を行うことも可能である。
【０１５４】
具体的には、図１１に示したものと同様に、当該時間同期型シミュレータ２が制御装置３に組み込まれた既存の制御プログラムを実行して、ステップＳＪ４で、当該既存の制御プログラムがその実行中に時間非同期型シミュレータ４に組み込まれた当該制御装置３の一部の機能に該当する制御プログラムを起動する場合は、当該既存の制御プログラムは、当該既存の制御プログラムの出力データをＲＡＭ３６の所定の領域に記憶するとともに、Ｉ／Ｆボード２８を介して時間同期型シミュレータ２に送信する。
【０１５５】
尚、当該既存の制御プログラムとは別に、当該時間非同期型シミュレータ４に組み込まれた制御プログラムの実行結果の出力データがＩ／Ｆボード２８を介して入力されると、ＲＡＭ３６の所定の領域に記憶する出力データ書き込み用の制御プログラムが制御装置３に予め組み込まれている。
【０１５６】
システム管理部２１は、ステップＳＣ６で当該制御装置３からの出力データを受信するまでに、Ｉ／Ｆボード２８を介してメモリ２６の所定領域に、当該制御装置３の一部の機能に該当する制御プログラムへの出力データが記憶されたことを検出すると、イベント送信部２３により、当該起動要求された時間非同期型シミュレータ４に組み込まれた制御プログラムを時間同期型シミュレータ２と同期して実行する。
【０１５７】
続いて、システム管理部２１は、イベント受信部２４により、時間非同期型シミュレータ４から当該実行結果の出力データを取得すると、当該出力データをＩ／Ｆボード２８を介して制御装置３に送信し、上述の出力データ書き込み用の制御プログラムを起動して、当該出力データをＲＡＭ３６の所定の領域に記憶する。
【０１５８】
制御装置３で実行中の当該既存の制御プログラムは、ＲＡＭ３６の所定の領域に記憶された出力データを利用して処理を継続し、実行結果の出力データをＩ／Ｆボード２８を介して時間同期型シミュレータ２に送信する。
【０１５９】
この場合、例えば、既存の制御装置３を拡張開発する場合等、ターゲットとなる制御装置３が現実に存在しない場合であっても、新たに拡張開発する部分の制御プログラムを時間非同期型シミュレータ４の制御系モジュール４９として組み込み、時間同期型シミュレータ２により既存の制御装置３を動作させ、これと同期して当該時間非同期型シミュレータ４に制御系モジュール４９として組み込まれた新たな制御プログラムを動作させることにより、拡張開発部分を含む制御プログラムが組み込まれた制御装置３の動作検証を行うことができるようになる。
【０１６０】
また、当該拡張開発部分を含む制御プログラムが組み込まれた制御装置３の動作検証を繰り返し行う場合に、当該拡張開発部分の制御プログラムを改修する必要があっても、改修した制御プログラムを時間非同期型シミュレータ４に組み込んで、時間非同期型シミュレータ４で動作検証を行うことができ、さらに、当該動作検証された改修した制御プログラムを時間同期型シミュレータ２から同期して実行させることができるため、効率よく拡張開発後の制御装置３の動作検証を再開することができるようになる。
【０１６１】
即ち、時間同期型シミュレータ２は、マイクロコンピュータが組み込まれた制御装置３によって制御される被制御装置を模擬する時間同期型シミュレータ２であって、制御装置３と制御装置３を模擬する時間非同期型シミュレータ４と接続され、被制御装置を模擬する被制御系モジュール２２と、制御装置３から入力された制御信号に基づいて被制御系モジュール２２を実行させて、その結果を制御装置外部に出力する処理を所定周期で繰り返すシステム管理部２１と、シミュレーション開始後の実時間を管理するシステムタイマ２５と、被制御系モジュール２２の出力データをシステムタイマ２５のタイマ値とともに時間非同期型シミュレータ４に送信するとともに、被制御系モジュール２２の出力データを制御装置３に送信する送信部（イベント送信部２３）と、送信部（イベント送信部２３）から送信された出力データに対応して時間非同期型シミュレータ４と制御装置３から送られてきた出力データを受信する受信部（イベント受信部４４）と、を備えて構成されている。
【０１６２】
さらに、時間同期型シミュレータ２は、受信部（イベント受信部４４）で受信された出力データと制御装置３の出力データを対比して記憶するデータ記録処理部２４１を備えて構成されていてもよい。また、時間同期型シミュレータ２に接続される制御装置３と、時間同期型シミュレータ２に接続される時間非同期型シミュレータ４が模擬する制御装置３が異なる制御装置３で構成されていてもよい。
【０１６３】
尚、本実施形態では、模擬マイクロコンピュータ６の操作表示部６４及びホストコンピュータ５の操作表示系モジュール５１は、夫々独立して模擬マイクロコンピュータ６及びホストコンピュータ５で動作するよう構成されていたが、これに代えて、模擬マイクロコンピュータ６とホストコンピュータ５とをＬＡＮ１０で接続して、操作表示部６４及び操作表示系モジュール５１が連動して動作するように構成し、操作表示系モジュール５１により、模擬マイクロコンピュータ６の模擬マイクロコンピュータ管理部６１及びモニタ装置６５の起動や、模擬マイクロコンピュータ管理部６１で実行される模擬マイクロコンピュータモジュール６２の実行条件等の各種条件設定操作（ＳＨ２，ＳＨ３）等の各種入力表示操作を可能に構成してもよい。
【０１６４】
この場合、操作表示系モジュール５１により、シミュレーション条件の設定及び模擬マイクロコンピュータモジュール６２の実行条件の設定操作が、ホストコンピュータ５のみで行えるため、シミュレーションを実行する効率を向上することができる。
【０１６５】
本発明によるシミュレーションシステム１は、車両システムを構成する任意の制御装置に適用でき、さらには、航空機、空調システム、又は化学プラント等の様々な制御装置にも適用することができる。
【０１６６】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、適宜変更設計することが可能である。
【符号の説明】
【０１６７】
１：シミュレーションシステム
２：時間同期型シミュレータ
３：制御装置
４：時間非同期型シミュレータ
６：模擬マイクロコンピュータ
８：通信線（ＰＣＩバス）
１０：通信線（ＬＡＮ）
１１：通信線（シリアル通信ライン）
２１：システム管理部
２２：被制御系モジュール 
２３：イベント送信部
２４：イベント受信部
２５：システムタイマ
４２：被制御系モジュール
４３：イベント生成部
４４：イベント返信部
４６：記憶部
４９：制御系モジュール
２４１：データ記録処理部
２４２：データ引渡し部
３６：演算起動部（ＲＡＭ）
３７：演算起動部（モニタインタフェース回路）
６１：模擬マイクロコンピュータ管理部
６２：模擬マイクロコンピュータモジュール
６３：プログラム生成部
６５：データ書込み処理部（モニタ装置）
【図４】
2011018107.tif 000003
【図５】
2011018107.tif 000004
【図６】
2011018107.tif 000005
【図７】
2011018107.tif 000006
【図８】
2011018107.tif 000007
【図１０】
2011018107.tif 000008
【図１１】
2011018107.tif 000009
【図１】
2011018107.tif 000010
【図２】
2011018107.tif 000011
【図３】
2011018107.tif 000012
【図９】
2011018107.tif 000013