(57)【要約】【課題】製品開発における設計、検証、訂正の各工程にシミュレーション装置を適用する場合の各装置の操作感を同じにし、前の工程の検証データを次の工程に移行可能とする。【解決手段】ソフトウエア・シミュレーション装置２０とハードウエア・シミュレーション装置３０を備えたシミュレーション装置において、ハードウエア・シミュレーション装置３０に備えられた、モデル化された制御対象モデル３１、制御対象モデル３１を制御する実制御ユニット３３と、制御アプリケーション３２と、実計測シミュレータ３４、及びコントローラ３５のうち、少なくとも実制御ユニット３３と実計測シミュレータ３４を、ソフトウエア・シミュレーション装置２０において仮想的にソフトウエアで構成し、ソフトウエア・シミュレーション装置３０におけるデータがそのままハードウエア・シミュレーション装置で使用できるようにしたシミュレーション装置である。【選択図】図３
2008269022.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置において、
前記ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、前記制御対象モデルを制御する実制御ユニット、制御アプリケーション、実計測シミュレータ、及びコントローラのうち、少なくとも前記実制御ユニットと前記実計測シミュレータとを、前記ソフトウエア・シミュレーション装置においてそれぞれ仮想的にソフトウエアで構成し、前記ソフトウエア・シミュレーション装置におけるデータがそのまま前記ハードウエア・シミュレーション装置で使用できるようにしたことを特徴とするシミュレーション装置。
【請求項２】
請求項１に記載のシミュレーション装置であって、
前記ハードウエア・シミュレーション装置における、モデル化された制御対象モデル、前記制御対象モデルを制御する実制御ユニット、制御アプリケーションと、実計測シミュレータ、及びコントローラが、前記ソフトウエア・シミュレーション装置ではそれぞれ、ソフトウエアで構成された仮想制御対象モデル、前記仮想制御対象モデルを制御する仮想制御ユニット、制御アプリケーション、仮想計測シミュレータ、及びコントローラで構成されており、
前記仮想計測シミュレータへの仮想入出力が、前記実計測シミュレータインタフェースへの入出力と同じであり、前記仮想計測シミュレータにおけるデータがそのまま前記実計測シミュレータで使用できるようになっていることを特徴とするシミュレーション装置。
【請求項３】
請求項２に記載のシミュレーション装置であって、
前記実計測シミュレータが、書き換え可能なメモリを備えた入出力処理部、入力ボードを備えた信号計測部、及び出力ボードを備えた擬似信号発生部を備えていることを特徴とするシミュレーション装置。
【請求項４】
請求項３に記載のシミュレーション装置であって、
前記入力ボードから入力されたデータは前記入出力処理部の前記メモリに格納され、格納されたデータはワイヤハーネスを介して前記コントローラへ伝達され、
前記コントローラで設定された出力値は、前記ワイヤハーネスを介して前記入出力処理部のメモリに格納され、前記出力ボードを介して前記実制御ユニットに出力され、
前記制御対象モデルを前記計測シミュレータ上で、或いは前記実制御ユニットによって動作させることにより、前記制御アプリケーションの検証が可能となっていることを特徴とするシミュレーション装置。
【請求項５】
請求項３に記載のシミュレーション装置であって、
前記仮想計測シミュレータが、前記入出力処理部を仮想的にシミュレートした仮想入出力処理部、前記入力ボードを備えた前記信号計測部を仮想的にシミュレートした仮想入力ボードを備えた仮想信号計測部、及び前記出力ボードを備えた前記擬似信号発生部を仮想的にシミュレートした仮想出力ボードを備えた仮想擬似信号発生部を備えていることを特徴とするシミュレーション装置。
【請求項６】
請求項５に記載のシミュレーション装置であって、
前記仮想入力ボードから入力されたデータは前記仮想入出力処理部の前記メモリに格納され、格納されたデータは仮想ワイヤハーネスを介して前記コントローラへ伝達され、
前記コントローラで設定された出力値は、前記仮想ワイヤハーネスを介して前記仮想入出力処理部のメモリに格納され、前記仮想出力ボードを介して前記仮想制御ユニットに出力され、
前記制御対象モデルを仮想前記計測シミュレータ上で、或いは前記仮想制御ユニットによって動作させることにより、前記制御アプリケーションの検証が可能となっていることを特徴とするシミュレーション装置。
【請求項７】
請求項５又は６に記載のシミュレーション装置であって、
前記入力ボードと出力ボードが前記制御対象モデルに対して遣り取りする入出力チャンネル情報と全く同じ入出力チャンネル情報を、前記仮想入力ボードと仮想出力ボードが、前記制御対象モデルに対して遣り取りすることを特徴とするシミュレーション装置。
【請求項８】
請求項１から７の何れか１項に記載のシミュレーション装置であって、
前記ハードウエア・シミュレーション装置の前記制御対象モデルから前記実制御ユニットに送られる実データ信号に対応して、前記ソフトウエア・シミュレーション装置の前記制御対象モデルから前仮想制御ユニットに送られる仮想データ信号を入力信号とし、前記実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることを特徴とするシミュレーション装置。
【請求項９】
請求項１から７の何れか１項に記載のシミュレーション装置であって、
前記ハードウエア・シミュレーション装置の前記制御対象モデルから前記実制御ユニットに送られる実データ信号に基づいて、前記実制御ユニットがキャプチャ時刻を生成する場合に、
前記ソフトウエア・シミュレーション装置の前記制御対象モデルから前仮想制御ユニットに送られる仮想データ信号に基づいて、前記仮想制御ユニットにキャプチャ時刻を生成させ、このキャプチャ時刻信号から前記実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることを特徴とするシミュレーション装置。
【請求項１０】
制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置におけるシミュレーション方法であって、
前記ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、前記制御対象モデルを制御する実制御ユニットと、制御アプリケーションと、実計測シミュレータ、及びコントローラに対して、
前記ソフトウエア・シミュレーション装置において、少なくとも前記実制御ユニットを前記仮想制御対象モデルを制御する仮想制御ユニットでシミュレートすると共に、前記実計測シミュレータを仮想計測シミュレータでシミュレートして、
前記仮想計測シミュレータへの仮想入出力を前記実計測シミュレータインタフェースへの入出力と同じにして、前記仮想計測シミュレータにおけるデータがそのまま前記実計測シミュレータで使用できるようにしたことを特徴とするシミュレーション方法。
【請求項１１】
第１の装置と第２の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムのシミュレーションをソフトウエアで行うシミュレーション装置であって、
前記模擬システムを少なくとも前記信号線が介在する箇所で分割した前記模擬システムの機能ブロック毎に、ソフトウエアによるシミュレーションを実行するシミュレーション手段を備え、
前記シミュレーション手段は、前記機能ブロック間の信号の遣り取りを、前記信号線を介して伝達される際のデータ形式に変換した上で行うことを特徴とするシミュレーション装置。
【請求項１２】
所定の制御システムに用いられるプログラムの開発を支援する開発支援方法であって、
前記制御システムのシミュレーションをソフトウエアで行って、前記プログラムの検証を行う第１検証ステップと、
前記第１検証ステップの後に、前記制御システムのシミュレーションをハードウエアで行って、前記プログラムの検証を行う第２検証ステップとを備え、
前記第２検証ステップにおけるハードウエアでのシミュレーションは、複数の装置を信号線で接続して行うものであり、
前記第１検証ステップにおけるソフトウエアでのシミュレーションは、前記第２検証ステップにおけるハードウエアでのシミュレーションで分割して構成されている複数の装置を、それぞれ異なるモジュールで構成してシミュレーションを行うものであることを特徴とする開発支援方法。
【請求項１３】
前記第１検証ステップのモジュール間におけるデータの遣り取りのうち、前記第２検証ステップの複数の装置間における信号の遣り取りに該当するものは、前記第２検証ステップにおける複数の装置間で信号を遣り取りする際と同じデータ形式にデータを変換するデータ変換モジュールを介して行うことを特徴とする請求項１２に記載の開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシミュレーション装置、シミュレーション方法、及び開発支援方法に関し、特に、製品開発における各段階において、それぞれ独立に使用されていた、ソフトウエアシミュレーション装置とハードウエアシミュレーション装置のデータを統合して共通化したシミュレーション装置、シミュレーション方法、及び開発支援方法に関する。
【背景技術】
【０００２】
一般に、電子機器の製品開発においては、製品の企画から製品化まで、段階的な工程、例えば、要求仕様書の作成工程、外部仕様書の作成工程、設計書の作成工程、及びソース・プログラム（ソース・コード）の作成工程、を踏んで具体化していくことが行われている。この理由は、もし工程内で誤りが発見された場合に、前工程に戻ってやり直すことによるコストアップを極力少なくするためである。即ち、各工程を小さくすることによって検証を容易にし、誤りが発生してもこれが前の工程や後の工程に影響しないようにするためである。
【０００３】
前述のような製品開発の各工程においては、検証を行う手法として、シミュレーション装置を用いた検証が行われている。シミュレーション装置を用いた検証では、完全なソフトウエアシミュレーション（ＳＩＬＳ：Software In the Loop Simulationであり、以後ＳＩＬＳと記載する）による検証から、一挙に現実システム（ハードウエア）を用いたシミュレーション（ＨＩＬＳ：Hardware In the Loop Simulationであり、以後ＨＩＬＳと記載する）による検証に移行するという手順ではなく、システムの一部ずつを徐々に現実化して検証することが行われており、前工程に戻るリスクを小さくしている。
【０００４】
このように、システムの一部ずつを徐々に現実化して検証する手法では、検証に多人数の要員が必要であり、この手法は規模の大きなプロジェクトを実行する際に有効である。即ち、図１に示すように、前述の要求仕様書１の作成工程、外部仕様書２の作成工程、設計書３の作成工程、及びソース・コード４の作成工程がある場合には、各工程で小さな設計、検証、訂正のループを、特に設計段階の早い段階（上流側）で回し、小ループによる検証を繰り返して実施し、その結果を下流は引き継いで行くことにより、下流での工数を削減してリスクを最小にすることができるからである。
【０００５】
一方、このような要求に答えるべく、設計用の支援ソフトウエアの開発会社が様々なレベルでシミュレーションシステムを開発している。このシミュレーションシステムには、擬似信号作成方法や計測信号表示方法などが含まれている。図２は、要求仕様書１の作成工程、外部仕様書２の作成工程、設計書３の作成工程、ソース・コード４の作成工程、部品検査結果５の検証工程、及び製品検査結果６の検証工程がある場合に、ＳＩＬＳ（ソフトウエア・シミュレーション）１０とＨＩＬＳ（ハードウエア・シミュレーション）３０による設計や検証が、どの工程に使用されるかを示すものである。図２における設計、検証、訂正を示す楕円の大きさが、その作業の工数を表している。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述のように、設計、検証、訂正の各工程にシミュレーションシステムを適用する場合には、本来はシステムの一部ずつを現実化することにより、各工程を短く設定することが望ましいが、各工程でシミュレーションレベルを変更すると、例えば以下のような問題点が生じるため、本来必要とされる細かさまで各工程を短くすることができないという問題点があった。
【０００７】
（１）ユーザインタフェースが各シミュレーションレベルによって異なるので、シミュレーションシステムの操作感が異なる。（２）前の工程で使用した検証データが次の工程に移行できない。（３）入出力チャンネルの位置、精度等の設定が前の工程から次の工程に移行できない。
【０００８】
そこで、本発明は、製品開発における設計、検証、訂正の各工程にシミュレーション装置を適用し、各工程の一部をそれぞれ現実化した場合でも、シミュレーション装置の各シミュレーションレベルでユーザインタフェースを同じにすることができ、シミュレーション装置の操作感を同じにすると共に、前の工程で使用した検証データ、入出力チャンネルの位置、及び精度等の設定を次の工程に移行することができ、各工程を短く設定することができるシミュレーション装置、シミュレーション方法、及び開発支援方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
前記目的を達成する本発明のシミュレーション装置は、制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置において、ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、制御対象モデルを制御する実制御ユニット、制御アプリケーション、実計測シミュレータ、及びコントローラのうち、少なくとも実制御ユニットと実計測シミュレータとを、ソフトウエア・シミュレーション装置においてそれぞれ仮想的にソフトウエアで構成し、ソフトウエア・シミュレーション装置におけるデータがそのままハードウエア・シミュレーション装置で使用できるようにしたことを特徴としている。
【００１０】
このシミュレーション装置において、ハードウエア・シミュレーション装置における、モデル化された制御対象モデル、制御対象モデルを制御する実制御ユニット、制御アプリケーションと、実計測シミュレータ、及びコントローラが、ソフトウエア・シミュレーション装置ではそれぞれ、ソフトウエアで構成された仮想制御対象モデル、仮想制御対象モデルを制御する仮想制御ユニット、制御アプリケーション、仮想計測シミュレータ、及びコントローラで構成されており、仮想計測シミュレータへの仮想入出力が、実計測シミュレータインタフェースへの入出力と同じであり、仮想計測シミュレータにおけるデータがそのまま実計測シミュレータで使用できるようになっていることが可能である。
【００１１】
また、実計測シミュレータが、書き換え可能なメモリを備えた入出力処理部、入力ボードを備えた信号計測部、及び出力ボードを備えた擬似信号発生部を備えていても良い。更に、入力ボードから入力されたデータが、入出力処理部の前記メモリに格納され、格納されたデータはワイヤハーネスを介してコントローラへ伝達され、コントローラで設定された出力値は、ワイヤハーネスを介して入出力処理部のメモリに格納され、出力ボードを介して実制御ユニットに出力され、制御対象モデルを計測シミュレータ上で、或いは実制御ユニットによって動作させることにより、制御アプリケーションの検証が可能となっていても良い。
【００１２】
更に又、仮想計測シミュレータが、入出力処理部を仮想的にシミュレートした仮想入出力処理部、入力ボードを備えた信号計測部を仮想的にシミュレートした仮想入力ボードを備えた仮想信号計測部、及び出力ボードを備えた擬似信号発生部を仮想的にシミュレートした仮想出力ボードを備えた仮想擬似信号発生部を備えていても良く、仮想入力ボードから入力されたデータは仮想入出力処理部のメモリに格納され、格納されたデータは仮想ワイヤハーネスを介して前記コントローラへ伝達され、コントローラで設定された出力値は、仮想ワイヤハーネスを介して仮想入出力処理部のメモリに格納され、仮想出力ボードを介して仮想制御ユニットに出力され、制御対象モデルを仮想前記計測シミュレータ上で、或いは仮想制御ユニットによって動作させることにより、制御アプリケーションの検証が可能となっていても良い。
【００１３】
前述のシミュレーション装置において、入力ボードと出力ボードが制御対象モデルに対して遣り取りする入出力チャンネル情報と全く同じ入出力チャンネル情報を、仮想入力ボードと仮想出力ボードが、制御対象モデルに対して遣り取りすることができる。
【００１４】
更に、これらのシミュレーション装置において、ハードウエア・シミュレーション装置の制御対象モデルから実制御ユニットに送られる実データ信号に対応して、ソフトウエア・シミュレーション装置の制御対象モデルから想制御ユニットに送られる仮想データ信号を入力信号とし、実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることができる。また、これらのシミュレーション装置において、ハードウエア・シミュレーション装置の制御対象モデルから実制御ユニットに送られる実データ信号に基づいて、実制御ユニットがキャプチャ時刻を生成する場合に、ソフトウエア・シミュレーション装置の制御対象モデルから想制御ユニットに送られる仮想データ信号に基づいて、仮想制御ユニットにキャプチャ時刻を生成させ、このキャプチャ時刻信号から前記実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることができる。
【００１５】
前記目的を達成する本発明のシミュレーション方法は、制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置におけるシミュレーション方法であって、ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、制御対象モデルを制御する実制御ユニットと、制御アプリケーションと、実計測シミュレータ、及びコントローラに対して、ソフトウエア・シミュレーション装置において、少なくとも実制御ユニットを仮想制御対象モデルを制御する仮想制御ユニットでシミュレートすると共に、実計測シミュレータを仮想計測シミュレータでシミュレートして、仮想計測シミュレータへの仮想入出力を実計測シミュレータインタフェースへの入出力と同じにして、仮想計測シミュレータにおけるデータがそのまま実計測シミュレータで使用できるようにしたことを特徴としている。
【００１６】
なお、前記目的を達成する本発明のシミュレーション装置は、第１の装置と第２の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムのシミュレーションをソフトウエアで行うシミュレーション装置において、模擬システムを少なくとも信号線が介在する箇所で分割した模擬システムの機能ブロック毎に、ソフトウエアによるシミュレーションを実行するシミュレーション手段を備え、シミュレーション手段は、機能ブロック間の信号の遣り取りを、信号線を介して伝達される際のデータ形式に変換した上で行うことを特徴とするシミュレーション装置とすることができる。
【００１７】
また、前記目的を達成する本発明の開発支援方法は、所定の制御システムに用いられるプログラムの開発を支援する開発支援方法であって、制御システムのシミュレーションをソフトウエアで行って、プログラムの検証を行う第１検証ステップと、第１検証ステップの後に、制御システムのシミュレーションをハードウエアで行って、プログラムの検証を行う第２検証ステップとを備え、第２検証ステップにおけるハードウエアでのシミュレーションは、複数の装置を信号線で接続して行うものであり、第１検証ステップにおけるソフトウエアでのシミュレーションは、第２検証ステップにおけるハードウエアでのシミュレーションで分割して構成されている複数の装置を、それぞれ異なるモジュールで構成してシミュレーションを行うものであることを特長とする開発支援方法である。
【００１８】
この場合、第１検証ステップのモジュール間におけるデータの遣り取りのうち、第２検証ステップの複数の装置間における信号の遣り取りに該当するものは、第２検証ステップにおける複数の装置間で信号を遣り取りする際と同じデータ形式にデータを変換するデータ変換モジュールを介して行うことができる。
【発明の効果】
【００１９】
本発明のシミュレーション装置、シミュレーション方法、及び開発支援方法によれば、製品開発における設計、検証、訂正の各工程にシミュレーション装置を適用し、各工程の一部をそれぞれ現実化した場合でも、シミュレーション装置の各シミュレーションレベルでユーザインタフェースを同じにすることができ、シミュレーション装置の操作感を同じにすると共に、前の工程で使用した検証データ、入出力チャンネルの位置、及び精度等の設定を次の工程に移行することができ、各工程を短く設定することができるという効果がある。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を用いて本発明の実施の形態を具体的な実施例に基づいて詳細に説明する。なお、以下の実施例では、開発される製品として、電子制御機器である電子制御式内燃機関（内燃機関は以下エンジンと記す）の例を説明する。電子制御式エンジンは、例えば、マイクロコンピュータを内蔵したＥＣＵ（電子制御ユニット）によって制御されるものである。
【００２１】
図３は、製品開発における企画から製品化までの各工程の、設計事項の検証にシミュレーションシステムを使用した場合の本発明の検証手順を示す説明図である。本発明のシミュレーションシステムにも、要求仕様書１の作成工程、外部仕様書２の作成工程、設計書３の作成工程、ソース・コード４の作成工程、部品検査結果５の検証工程、及び製品検査結果６の検証工程がある。そして、要求仕様書１の作成工程からソース・コード４の作成工程までがＳＩＬＳ（ソフトウエア・シミュレーション）２０で行われ、ソース・コード４の作成工程と部品検査結果５の検証工程がＨＩＬＳ（ハードウエア・シミュレーション）３０によって行われて製品検査結果６が得られる。
【００２２】
図３では、ＳＩＬＳ２０とＨＩＬＳ３０を示す楕円が、検証方法として使用される範囲を示している。また、ソースコード４ができてからの検証手段としてＨＩＬＳ３０が使用されるが、実ＥＣＵ３３ができていなければＨＩＬＳ３０はできない。その場合は、ＳＩＬＳ２０で検証が行われる。
【００２３】
要求仕様書１の作成工程から製品検査結果６の検証工程の各工程の右側に示してあるのは、ＳＩＬＳ２０の内容、ＨＩＬＳ３０の内容、及び実機環境４０の内容を示すものである。製品開発における企画から製品化までの間には、ＳＩＬＳ２０による検証、ＨＩＬＳ３０による検証、及び実機環境４０による検証が行われるので、これを実機環境４０による検証、ＨＩＬＳ３０による検証、及びＳＩＬＳ２０の順に説明する。
【００２４】
製品検査結果６の検証工程では実機環境４０が使用される。実機環境４０には、実車（電子制御式エンジン）４１、実車４１を制御するＥＣＵアプリケーション（ＥＣＵアプリ）４２を備えた実ＥＣＵ４３と、実車４１の計測システム４４、及びパーソナルコンピュータ（ＰＣ）４５が備えられている。実機環境４０では、実ＥＣＵ４３によって制御される実車４２のデータが計測システム４４で計測され、パーソナルコンピュータ４５で検証される。
【００２５】
この実機環境４０は、ＨＩＬＳ３０によって検証することが可能である。ＨＩＬＳ３０には、実車４１に相当する制御対象モデル３１、制御対象モデル３１を制御するＥＣＵアプリケーション３２を備えた実ＥＣＵ３３と、制御対象モデル３１の計測シミュレータ３４、及びパーソナルコンピュータ３５が備えられている。ＨＩＬＳ３０では、実ＥＣＵ３３によって制御される制御対象モデル３１のデータが計測シミュレータ３４で計測され、パーソナルコンピュータ３５で検証される。
【００２６】
ＨＩＬＳ３０は更に、ＳＩＬＳ２０によって検証することが可能である。ＳＩＬＳ２０には、制御対象モデル３１に対応する制御対象モデル２１、制御対象モデル２１を制御するＥＣＵアプリケーション２２を備えた仮想ＥＣＵ２３と、制御対象モデル２１を仮想的にシミュレートする仮想計測シミュレータ２４、及びパーソナルコンピュータ２５が備えられている。ＳＩＬＳ２０では、仮想ＥＣＵ２３によって制御される制御対象モデル２１のデータが仮想計測シミュレータ２４で計測され、パーソナルコンピュータ２５で検証される。
【００２７】
図４は、製品開発における企画から製品化までの開発ステップの、設計事項の検証にシミュレーションシステムを使用した場合の本発明の検証手順の内容を、更に詳しく示すものである。この検証手順では、図３で説明したＳＩＬＳ２０の前段に、更にもう１つのＳＩＬＳ１０が設けられている。ＳＩＬＳ１０は完全な仮想ソフトウエアによる仕様レベルのシミュレータであり、アプリケーション１１、仮想制御対象１２．及びパソコン上で動作するシミュレータ１３がある。アプリケーション１１はＣ言語レベルであり、仮想ハードウエアまでは実現しておらず、仮想制御対象１２はエンジンである。ＳＩＬＳ１０における検証データは、ＳＩＬＳ２０において使用できなくても良い。
【００２８】
ＳＩＬＳ１０の後段にあるＳＩＬＳ２０は、図３で説明したＳＩＬＳ２０と同じであり、アプリケーション２２、仮想制御対象２１、仮想ＥＣＵ２２、及び仮想計測システム２６を備えている。仮想計測システム２６は図３で説明した仮想計測シミュレータ２４とパーソナルコンピュータ２５をまとめたものである。アプリケーション２２には仮想ハードウエアが加わり、仮想計測システム２６は、計測システムを仮想化したものである。
【００２９】
ＳＩＬＳ２０の後段にあるＨＩＬＳ３０は、図３で説明したＨＩＬＳ３０と同じであり、アプリケーション３２、仮想制御対象３１、実ＥＣＵ３２、及びシミュレーションシステム３６を備えている。シミュレーション３６は図３で説明した計測シミュレータ３４とパーソナルコンピュータ３５をまとめたものである。シミュレーションシステム３６は仮想的なものではなく、実際のハードウエアからなるシステムである。ＨＩＬＳ３０は、マイコンレベルのシミュレータと呼ばれる。
【００３０】
ＨＩＬＳ３０の後段にある実機４０は、図３で説明した実機４０と同じであり、アプリケーション４２、制御対象である実車４１、実ＥＣＵ４３、及び計測システム４６を備えている。計測システム４６は図３で説明した計測システム４４とパーソナルコンピュータ４５をまとめたものである。シミュレーションシステム３６は仮想的なものではなく、実際のハードウエアからなるシステムである。
【００３１】
本発明のシミュレーション装置は、ＳＩＬＳ１０の構成、ＨＩＬＳ３０の構成、及び実機環境４０は、従来のシミュレーション装置におけるこれらの構成と大差なく、ＳＩＬＳ２０の構成がこれまでと異なる。
【００３２】
図５は図４のマイコンレベルのＳＩＬＳ２０の内部構成の一例を示すものである。仮想制御対象２１は制御対象モデル実行部２１Ａとして示されており、ここにはバスで接続されたプラントモデル２１Ｂとモデルコントロール部２１Ｃとがある。プラントモデル２１Ｂは制御対象となる外部機構等をシミュレートするものであり、モデルコントロール部２１Ｃはプラントモデル２１Ｂを制御するものである。
【００３３】
仮想ＥＣＵ２３には、仮想マイコンコア部２３Ａと仮想マイコンリソース部２３Ｂとがある。仮想マイコンコア部２３Ａは、電子機器（この場合はエンジン）を制御するマイクロコンピュータであり、バスで接続されたコントロールソフトウエア２３ａと、実機環境と同一のインタフェースを持つＩ／Ｏドライバ（Ｉ／Ｏは図ではＩＯと記載）２３ｂとを備える。また、仮想マイコンリソース部２３Ｂにはリソース２３ｃがある。
【００３４】
図５に示すリソース２３ｃには、フリーランタイマ（図には単にタイマと記載）、通信を行う通信部及びパルス入力を扱うキャプチャ、及びコンペアが示してあるが、リソース２３ｃにはこの他にも、入力系のリソースとして、例えば、デジタル信号を扱う入力ポートやラッチポート、アナログ入力を扱うＡ／Ｄコンバータがあり、出力系のリソースとしては、デジタル出力を出力する出力ポート、パルス出力を出力するＰＷＭ（パルス幅変調器）とアナログ出力を出力するシリアル、及び通信を行う通信回路等がある。更に、仮想マイコンコア部２３Ａと仮想マイコンリソース部２３Ｂの中には図示しない仮想レジスタがあり、両者はデータの交換を行うことができる。
【００３５】
仮想計測システム２６は、図５には仮想計測シミュレータ部２４のみが示されている。仮想計測シミュレータ部２４にはバスで接続されたＩ／Ｆボードモデル２４Ａと仮想Ｉ／Ｏ処理部２４Ｂがある。Ｉ／Ｆボードモデル２４ＡはＩ／Ｆボード機能をシミュレートするものであり、制御対象モデル実行部２１Ａのモデルコントロール部２１Ｃと、仮想ＥＣＵ２３の仮想マイコンリソース部２３Ｂとがバスで接続されている。仮想Ｉ／Ｏ処理部２６Ｃは、Ｉ／Ｏドライバ２３ｂで得られた入出力情報を、仮想マイコンリソース部２３Ｂのリソース２３ｃに伝える動作を行うことができる。
【００３６】
図５に示すコントローラ２７は、図４に示したＳＩＬＳ２０の仮想計測システム２６の一部を示すものであり、このコントローラ２７には表示器２８が接続される。コントローラ２７は、計測値の画面表示、入出力チャンネル情報、及び検査用入出力設定情報を扱うことができる。また、コントローラ２７はバスで仮想計測シミュレータ部２４と接続されている。
【００３７】
図６（ａ）は、制御対象７のシミュレーションを行う場合の、シミュレーションシステム５０のシステム構成を示すものである。このシステムには、ブロックで示す制御対象７、制御コンピュータ８、計測シミュレータ１４、及びコントローラ２７があり、それぞれハーネス１８で接続されている。計測シミュレータ１４は、ＲＡＭを備えたＩ／Ｏ処理部１７に接続する擬似信号発生部（出力ボード）１５と信号計測部１６（入力ボード）を備えている。また、各ブロックの間に示した矢印は、各要素間のデータフローを意味している。
【００３８】
シミュレーションシステム５０では、Ｉ／Ｏ処理部１７により、入力ボード１６からのデータがＩ／Ｏ処理部１７のＲＡＭに集約され、ＬＡＮなどのワイヤハーネス１８を介してコントローラ２７に渡される。また、コントローラ２７で設定された出力値はＩ／Ｏ処理部１７のＲＡＭに集約され、出力ボード１５を使用して制御コンピュータ８に出力される。制御対象はモデル化されたものを、計測シミュレータ１４上、或いはコントローラ２７上で動かすことにより、制御コンピュータ８のソフトウエアである制御アプリケーションが机上で検証可能になっている。
【００３９】
図６（ｂ）は（ａ）のシミュレーションシステム５０をＨＩＬＳ３０で構成した場合の物理構成の一例を示すブロック図である。ＨＩＬＳ３０では、図６（ａ）の制御コンピュータ８が図３で説明したＥＣＵアプリケーション３２と実ＥＣＵ３３に対応し、計測シミュレータ１４が計測シミュレータ３４に対応し、制御対象７が制御対象モデル３１に対応し、コントローラ２７がパーソナルコンピュータ３５に対応する。計測シミュレータ３４は、Ｉ／Ｏ処理部、出力ボード及び入力ボードを含む。ＨＩＬＳ３０でも、実ＥＣＵ３３と計測シミュレータ３４、及び計測シミュレータ３４とパーソナルコンピュータ３５はハーネス３７で接続される。
【００４０】
ＨＩＬＳ３０では、前述のシミュレーションシステム５０の動作と同様に、制御シミュレータ３４のＩ／Ｏ処理部により、入力ボードからのデータがＩ／Ｏ処理部のＲＡＭに集約され、ハーネス３７を介してコントローラであるパーソナルコンピュータ３５に渡される。また、パーソナルコンピュータ３５で設定された出力値はＩ／Ｏ処理部のＲＡＭに集約され、出力ボードを使用して制御コンピュータである実ＥＣＵ３３に出力される。制御対象がモデル化された制御対象モデル３１は、計測シミュレータ３４上、或いはＰＣ３５上で動かすことにより、パーソナルコンピュータ３５のソフトウエアである制御アプリケーションが机上で検証可能になっている。
【００４１】
これに対して、図６（ｃ）は（ｂ）のＨＩＬＳ３０をＳＩＬＳ２０で構成した場合の論理構成の一例を示すブロック図を示すものである。本発明のＳＩＬＳ２０では、ＨＩＬＳ３０の制御対象モデル３１とパーソナルコンピュータ３５は、同様の制御対象モデル２１とパーソナルコンピュータ２５で構成されているが、ＥＣＵアプリケーション３２を備えた実ＥＣＵ３３が、ＥＣＵアプリケーション２２を備えた仮想ＥＣＵ２３に置き換えられ、計測シミュレータ３４が仮想計測シミュレータ２４で置き換えられている。ＳＩＬＳ３０では、仮想ＥＣＵ２３と仮想計測シミュレータ２４とは仮想ハーネス２９で接続されるが、仮想計測シミュレータ２４はパーソナルコンピュータ２５上にあるので、データの遣り取りに仮想ハーネスは必要なく、コンピュータ内の単なる関数コール、即ちプログラムの呼び出し（図には呼出３８と記載）で行うことができる。
【００４２】
ＳＩＬＳ２０の場合、ＨＩＬＳ３０のＩ／Ｏ処理部を仮想化して仮想計測シミュレータ２４とし、制御コンピュータ８のハードウエアに相当するＨＩＬＳ３０の実ＥＣＵ３３を仮想ＥＣＵとして実現している。即ち、Ｉ／Ｏ処理部のＲＡＭ構成や、ＥＣＵと出力・計測ボードのＩ／Ｆを仮想的にシミュレートすることにより、Ｉ／Ｏ処理部やＥＣＵを実物にした環境であるＨＩＬＳ３０に対して、検証用入力データ、信号モニタ箇所、検証一致確認用データをそのまま移行することができる。
【００４３】
このように、ある機能実現ブロックを仮想化し、そのＩ／Ｆはどの実現レベルでも同じにすることにより、ソフトウエアシミュレーションから現実のシステム検証まで、一貫した検証環境のシミュレーションシステムを提供できる。
【００４４】
即ち、ＳＩＬＳ３０では、前述のＨＩＬＳ３０の動作と同様に、仮想制御シミュレータ２４のＩ／Ｏ処理部により、入力ボードからのデータがＩ／Ｏ処理部のＲＡＭに集約されて、呼び出し処理でパーソナルコンピュータ２５に渡される。また、パーソナルコンピュータ２５で設定された出力値はＩ／Ｏ処理部のＲＡＭに集約され、出力ボードを使用して仮想ハーネス２９から仮想ＥＣＵ２３に出力される。制御対象がモデル化された制御対象モデル２１は、計測シミュレータ２４上、或いはパーソナルコンピュータ２５上でＨＩＬＳ３０と動揺に動かすことにより、パーソナルコンピュータ２５のソフトウエアである制御アプリケーションが机上で検証可能になっている。
【００４５】
このように、本発明においては、パーソナルコンピュータ用の市販の物理シミュレータを使用する場合でも、ＨＩＬＳ３０やそれ以降の工程で使用する計測シミュレータ３４を仮想的に実現した、仮想シミュレータ２４上で動作させることにより、ＳＩＬＳ２０からＨＩＬＳ３０とそれ以降の工程への数々のデータ移行が、何の変換もなしに可能となる。
【００４６】
図７は図６（ｂ）、（ｃ）に示したＨＩＬＳ３０及びＳＩＬＳ２０に共通の内部処理の手順を示すフローチャートであり、点線で示す境界の左側がパーソナルコンピュータ（ＰＣ）、右側が（仮想）計測シミュレータを表している。ＨＩＬＳの場合はこの境界が物理的境界となり、ＨＩＬＳではこの境界を通してイーサネット（登録商標）等の通信が行われ、ＳＩＬＳでは関数呼出が行われる。具体的に説明すると、パーソナルコンピュータ２５，３５では、計測制御（ステップ７０１）、計測データの画面表示（ステップ７０２）、及びその他の処理（ステップ７０３）が所定周期で繰り返し実行される。そして、計測ステップ７０１ではパーソナルコンピュータ２５，３５と、計測シミュレータ３４と仮想計測シミュレータ２４との間で、データ通信が行われる。即ち、パーソナルコンピュータ２５，３５側からデータの送信要求が計測シミュレータ３４と仮想計測シミュレータ２４側に出力されると、計測シミュレータ３４と仮想計測シミュレータ２４側ではデータ要求割り込み処理が行われ、ステップ７０４でデータ送信が行われる。
【００４７】
ステップ７０４のデータ送信において送信されるデータは、計測シミュレータ３４と仮想計測シミュレータ２４のＩ／Ｏ処理部における、図８に示すＩ／Ｏ処理のメインルーチンによって得られる。Ｉ／Ｏ処理のメインルーチンでは、アナログデータ計測（ステップ８０１）、アナログデータ出力（ステップ８０２）、パルスデータ計測（ステップ８０３）、及びその他の処理（ステップ８０４）が所定周期で繰り返し行われる。
【００４８】
図９（ａ）は計測対象の入出力チャンネル情報を計測値として表示する場合の現実の構成を示すブロック図であり、（ｂ）は（ａ）の構成を仮想手段で構成した場合の従来の構成を示すブロック図であり、（ｃ）は（ａ）の構成を仮想手段で構成した場合の本発明の構成を示すブロック図である。ここでは、入出力チャンネル情報を共通にする機能について、前述の現実の構成、従来の仮想手段（仮想手段１）の構成、及び本発明の仮想手段(仮想手段２）の各場合について説明する。
【００４９】
ここで、入出力チャンネル情報とは、例えばアナログ入力の１チャンネル目に電源電圧である＋Ｂが入力されており、この電源電圧をＡ／Ｄ変換して得られた電圧（デジタル値）から、実際の電圧値への変換値や物理量の単位等のことを言う。また、変換式などは、Ｉ／Ｆのハードウエア情報によって異なり、信号ごとに変換式も異なるものとする。
【００５０】
図９（ａ）に示す現実の場合、計測対象５１からチャンネルとしてのレンジは電圧が０−２０（Ｖ）の信号線から、電圧１２（Ｖ）の電源がＩ／Ｆボード５２に入力されているものとする。このＩ／Ｆボード５２では、通常のＡ／Ｄコンバータ５３の入力レンジである０−５（Ｖ）に合わせて、抵抗分圧などのハードウエア手段によって電源電圧を１／４の３（Ｖ）に落としている。ここで、Ａ／Ｄコンバータ５３の精度が１０ビットであるとすると、１２（Ｖ）で入力された信号は、以下の式から２６６（ＨＥＸ）となる。
３（Ｖ）×１０２４／５＝６１４．４（ＤＥＣ）＝２６６（ＨＥＸ）
【００５１】
この信号は、Ｉ／Ｏ処理部ＲＡＭ５４とコントローラ５５を経て計測地画面表示部５６に入力され、計測地画面表示部５６はこの信号から、２６６（ＨＥＸ）×５／１０２４×４＝１１．９９（Ｖ）と計算して表示する。
【００５２】
一方、図６（ｂ）に示す仮想手段１の場合、計測対象モデル６１からの物理量である電圧１２（Ｖ）の電源をそのまま画面表示するために、コントローラ６５を経て計測値画面表示部６６に入力される。この場合は、別の計測値画面表示部６６を新たに用意する必要がある。更に、仮想手段１の場合、計算式が必要でないため、現実のものとチャンネル情報が異なり、仮想環境で使用した情報がそのまま現実に移行できないことになる。
【００５３】
これに対して、図６（ｃ）に示す仮想手段２の場合は、計測対象７１から電圧１２（Ｖ）に相当するデジタル値がＩ／Ｆボードモデル７２に入力され、ここでＡ／Ｄコンバータ５３の精度の１０ビットに合わせて２６６（ＨＥＸ）の信号が作られる。この信号は、Ｉ／Ｏ処理部ＲＡＭ７４とコントローラ７５を経て計測地画面表示部７６に入力され、計測地画面表示部７６はこの信号から、２６６（ＨＥＸ）×５／１０２４×４＝１１．９９（Ｖ）と計算して表示する。Ｉ／Ｏ処理部ＲＡＭ７４、コントローラ７５、及び計測地画面表示部７６は、現実のシステムにおけるＩ／Ｏ処理部ＲＡＭ５４、コントローラ５５、及び計測地画面表示部５６と同じものを使用することが出来る。
【００５４】
このように、現実のＩ／Ｆボード５２をＩ／Ｆボードモデル７２としてモデル化することにより、図６（ｄ）に示すように、このチャンネル情報を現実のものと全く同じものとして扱うことができる。また、計測対象７１もＩ／Ｆボードモデル７２も仮想的に実現しているため、図６（ｅ）の左側のテーブルに示すようなチャンネル、ラベル、及び計算式（ピンアサイン）が、現実には右のようになっていたとしても、簡単に変更することができる。この部分は現実ではワイヤハーネスに相当する部分であり、仮想から現実への移行を容易にするものである。
【００５５】
次に、計測対象の信号波形を表示する本発明の機能について説明する。図１０（ａ）は現実の制御対象（エンジン）８１と制御コンピュータ（ＥＣＵなど）８２との間の信号波形を計測する場合の計測方法を説明するものである。制御対象８１からエンジン回転数を示すマグネットピックアップからのパルス信号が出力されている場合、現実の環境では、制御対象８１から制御コンピュータ８２に入力される信号ラインに計測プローブ８３を取り付けてパルス信号を取り出し、取り出したパルス信号をオシロスコープのような計測器８４に入力すればパルス波形が観測でき、観測波形から簡単にエンジン回転数を計測することができる。
【００５６】
ところが、本発明のように、全て仮想となった環境では、実際に波形で信号が流れているところが無いため、波形を観測することができない。そこで、本発明では、図１０（ｂ）に示す実施例のように、プラントモデル（制御対象モデル）８５から出力される物理量からオシロスコープ機能部８６において計算によって仮想的な波形を求め、これをオシロスコープ機能部８６で表示することができるようにしている。この例では、オシロスコープ機能部８６も物理量からの演算部を持つため、冗長ではあるが、キャプチャ時刻などの仮想レジスタを持つＩ／Ｏ処理部８７とは独立になるため、ソフトウエアとしての独立性が高い設計が可能である。
【００５７】
これに対して、図１０（ｃ）に示す実施例では、プラントモデル８５からの信号が入力される、仮想レジスタを持つＩ／Ｏ処理部８７が既に求めたキャプチャ時刻がオシロスコープ機能部８６に入力され、オシロスコープ機能部８６はこの信号から計算で求めた仮想的な波形を表示している。この実施例のオシロスコープ機能部８６は、Ｉ／Ｏ処理部８７の計算結果を使用するのでＩ／Ｏ処理部８７とは密な関係になり、Ｉ／Ｏ処理部８７と同じ演算部を持たなくて済むので、その構成が簡単になる。また、物理量から時刻への演算式を持たなくて良いので、保守性が向上する。
【００５８】
図１０（ｄ）はプラントモデルで算出されたエンジンの回転数を、画面表示タイミングで読み取る際の読取タイミングを示すものであり、図１０（ｅ）は（ｄ）のタイミングで読み取ったエンジンの回転数を、波形で表した場合の表示器に示される波形である。パルス波形はオンオフ信号であるので、画面表示タイミングで回転数が判明すれば、パルス信号は容易に形成することができる。
【００５９】
なお、本発明が適用できる開発対象システムとして、制御装置（ＥＣＵ）と被制御装置（エンジン等）とを接続して制御を行うシステムを明細書に記載しているが、本発明の適用対象はこれに限られるものではなく、複数の制御装置が通信（例えばＣＡＮ通信等）を行いながら所定の制御を行うシステム等、様々なシステムに適用することが可能である。特に、本発明は、複数の装置を信号線を介して接続するシステムの開発に有効である。
【００６０】
なお、以上説明した実施例において、各ブロック図における枠で囲まれた機能単位や、各フローチャートにおいて１つの流れで記載している機能単位は、「モジュール」と呼ばれることがある。
【図面の簡単な説明】
【００６１】
【図１】製品開発における企画から製品化までの各工程の、従来の設計事項の検証方法を示す説明図である。
【図２】製品開発における企画から製品化までの各工程の、設計事項の検証にシミュレーションシステムを使用した場合の従来の検証手順を示す説明図である。
【図３】製品開発における企画から製品化までの各工程の、設計事項の検証にシミュレーションシステムを使用した場合の本発明の検証手順を示す説明図である。
【図４】製品開発における企画から製品化までの各工程の、設計事項の検証にシミュレーションシステムを使用した場合の本発明の検証手順の内容を示す説明図である。
【図５】図４のマイコンレベルのＳＩＬＳの内部構成の一例を示すブロック図である。
【図６】（ａ）は制御対象のシミュレーションを行う場合のシミュレーションシステムのシステム構成を示すブロック図、（ｂ）は（ａ）のシミュレーションシステムをＨＩＬＳで構成した場合の物理構成を示すブロック図、（ｃ）は（ａ）のシミュレーションシステムをＳＩＬＳで構成した場合の物理構成を示すブロック図である。
【図７】図６のコントローラのメインルーチンを示すフローチャートである。
【図８】図６のＩ／Ｏ処理部のメインルーチンを示すフローチャートである。
【図９】（ａ）は計測対象の入出力チャンネル情報を計測値として表示する場合の現実の構成を示すブロック図、（ｂ）は（ａ）の構成を仮想手段で構成した場合の従来の構成を示すブロック図、（ｃ）は（ａ）の構成を仮想手段で構成した場合の本発明の構成を示すブロック図、（ｄ）は（ａ）から（ｃ）の構成におけるチャンネル、ラベル、計算式、及び単位を示すテーブル、（ｅ）は本発明におけるピンアサインの変更を示すテーブルである。
【図１０】（ａ）は現実の制御対象と制御コンピュータとの間の信号波形を計測する場合の計測方法を説明する図、（ｂ）は制御対象を制御対象モデルとして仮想化した場合の、制御対象から出力される物理量から仮想的な信号波形を表示する場合の計測構成を説明する図、（ｃ）は制御対象を制御対象モデルとして仮想化した図５に示す本発明の構成における、制御対象から出力される信号波形を表示する場合の計測構成を説明する図、（ｄ）はプラントモデルで算出したエンジンの回転数を、画面表示タイミングで読み取る際の読取タイミングを示す図、（ｅ）は（ｄ）のタイミングで読み取ったエンジンの回転数を、波形で表した場合の表示器に示される波形である。
【符号の説明】
【００６２】
７    制御対象
８    制御コンピュータ
１０    ＳＩＬＳ
２０    ＳＩＬＳ
２１、３１    制御対象モデル（仮想制御対象）
２２、３２    ＥＣＵアプリケーション
２３    仮想ＥＣＵ
２４    仮想計測シミュレータ
２５、３５    パーソナルコンピュータ
２６    仮想計測システム
３０    ＨＩＬＳ
３３    実ＥＣＵ
３４    計測シミュレータ
４０    実機環境
【図１】
2008269022.tif 000003
【図２】
2008269022.tif 000004
【図３】
2008269022.tif 000005
【図４】
2008269022.tif 000006
【図５】
2008269022.tif 000007
【図６】
2008269022.tif 000008
【図７】
2008269022.tif 000009
【図８】
2008269022.tif 000010
【図９】
2008269022.tif 000011
【図１０】
2008269022.tif 000012