(57)【要約】【課題】モデル演算の実時間性を保証しながらも解析のための十分な演算データをサンプリングできるシミュレーションシステム及びシミュレーション方法を提供する。【解決手段】操作手段２から出力される操作信号に基づいて所定のモデル演算処理を実行して演算データを生成するモデル演算手段１００と、前記演算データをサンプリングして記憶するデータサンプリング手段１１０、２２０と、記憶された演算データを解析するデータ解析手段２３０を備えたシミュレーションシステムであって、前記操作信号を記憶する操作履歴記憶手段２４０と、前記記憶された操作信号に基づいて前記モデル演算手段１００を再度実行させる演算制御手段１２０を備え、前記データサンプリング手段１１０、２２０は前記演算制御手段１２０により前記モデル演算手段１００が再実行される時に前記演算データの少なくとも一部をサンプリングする。【選択図】図１
2008165544.tif 000002
【特許請求の範囲】
【請求項１】
入力手段から入力される入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを表示処理するとともに記憶処理する第一シミュレーション手段と、前記第一シミュレーション手段によるシミュレーション演算が行なわれている際の、前記入力データを記憶する入力データ履歴記憶手段と、前記入力データ履歴記憶手段によって記憶された入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを記憶処理する第二シミュレーション手段とを備えるシミュレーションシステム。
【請求項２】
前記第一シミュレーション手段によるシミュレーション演算の実行時に演算負荷に基づいて前記記憶処理の対象となる演算データを軽減してサンプリングする第一データサンプリング手段と、前記第二シミュレーション手段によるシミュレーション演算の実行時に演算負荷に拘らず前記記憶処理の対象となる演算データをサンプリングする第二データサンプリング手段を備えている請求項１記載のシミュレーションシステム。
【請求項３】
前記第一シミュレーション手段によるシミュレーション演算の実行時に演算負荷に基づいて前記記憶処理の対象となる演算データを軽減してサンプリングする第一データサンプリング手段と、前記第二シミュレーション手段によるシミュレーション演算の実行時に第一データサンプリング手段によりサンプリングされなかった演算データをサンプリングする第二データサンプリング手段を備えている
請求項１記載のシミュレーションシステム。
【請求項４】
前記第一データサンプリング手段は第一シミュレーション手段によるシミュレーション演算の演算周期が所定の演算周期を超えないようにサンプリング負荷を軽減して前記演算データをサンプリングする請求項２または３記載のシミュレーションシステム。
【請求項５】
前記第二シミュレーション手段は前記入力データ履歴記憶手段により記憶された入力データに基づいて前記シミュレーション演算を複数回実行するように構成し、前記第二データサンプリング手段は前記シミュレーション演算の演算周期が所定の演算周期を超えないようにサンプリング負荷を軽減して前記演算データをサンプリングする請求項３記載のシミュレーションシステム。
【請求項６】
前記第一または第二データサンプリング手段は、前記記憶処理の対象となる演算データのサンプリング周期またはデータ項目の何れかまたは双方を可変することによりサンプリング負荷を軽減してサンプリングする請求項２から５の何れかに記載のシミュレーションシステム。
【請求項７】
入力手段から入力される入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを表示処理するとともに記憶処理する第一シミュレーション手段と、前記第一シミュレーション手段によるシミュレーション演算が行なわれている際の、前記入力データを記憶する入力データ履歴記憶手段と、前記第一シミュレーション手段によるシミュレーション演算の処理負荷が所定値以上であると判断した場合に、前記第一シミュレーション手段における演算データの記憶処理を簡易化する処理負荷軽減手段と、前記処理負荷軽減手段によって演算データの記憶処理が簡易化された場合に、前記入力データ履歴記憶手段によって記憶された入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを記憶処理する第二シミュレーション手段とを備えるシミュレーションシステム。
【請求項８】
入力手段から入力される入力データに基づいてリアルタイムでシミュレーション演算を行ない、シミュレーション演算の演算データを記憶処理する第一シミュレーション手段と、前記第一シミュレーション手段によるシミュレーション演算が行なわれている際の、前記入力データを記憶する入力データ履歴記憶手段と、前記第一シミュレーション手段によるシミュレーション演算がリアルタイムで行なえないと判断した場合に、前記第一シミュレーション手段における演算データの記憶処理を簡易化する処理負荷軽減手段と、前記処理負荷軽減手段によって演算データの記憶処理が簡易化された場合に、前記入力データ履歴記憶手段によって記憶された入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを記憶処理する第二シミュレーション手段とを備えるシミュレーションシステム。
【請求項９】
入力データに基づいてシミュレーション演算を行ない、前記シミュレーション演算の演算データを表示処理する第一シミュレーションステップと、前記第一シミュレーションステップにおける入力データ履歴に基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを記憶処理する第二シミュレーションステップとを備えるシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作手段と、操作手段から出力される操作信号に基づいて所定のモデル演算処理を実行するモデル演算手段と、前記モデル演算手段による演算データをサンプリングして記憶するデータサンプリング手段と、記憶された演算データを解析するデータ解析手段を備えたシミュレーションシステム及びシミュレーション方法に関する。
【背景技術】
【０００２】
近年、様々な分野において製品等の開発に要する期間やコストを削減するとともに製品等の安全性を事前検証し、或いは実際のプラントに対する運転の模擬訓練を行なうことを目的として、実際の装置やプラントにおけるメカニズムや電気的信号等の果たす役割を数式化したモデルをコンピュータに演算させて、その結果に基づいて製品等の特性を確認し、起こり得る問題を事前に解決、或いは訓練するシミュレーションシステムが利用されている。
【０００３】
このようなシミュレーションシステムとして、特許文献１には、少ない容量でもシミュレータの実時間性を損なわずに過去の任意の時点の模擬結果を確実に再現することを目的として、操作スイッチの操作による運転操作信号を運転操作信号保存装置に保存するとともにプラントモデル部で生成されたプラントモデル再現データを周期的にプラントモデル再現データ保存装置に保存して、インストラクタコンソールからセットバック時間が指定されたときに、セットバック時間の直前に保存されたプラントモデル再現データ及びこのプラントモデル再現データが保存された時間以降に保存された操作信号を順次取り込み、これらの内容を基にプラントの挙動を模擬し、セットバック時間の模擬結果を再現するシミュレータが提案されている。
【０００４】
また、特許文献２には、原子炉の制御装置の制御周期に対して実時間性を確保するとともに、制御装置とシミュレータとの間で授受している信号を実時間で表示処理し、検証作業の効率を向上させることを目的として、制御装置と信号を授受するインタフェース手段と、シミュレーションの初期設定を行うシミュレーション設定手段と、原子炉の動特性を模擬する原子炉模擬プログラム及びシミュレーション結果を表示する表示プログラムと、両プログラムを実行する演算手段と、シミュレーションの実時間性を実現すると共に、両プログラムの実行時間を制御装置の制御周期よりも短く起動設定するプログラム起動調整手段と、シミュレーション結果を表示する表示手段を備え、制御装置との間で授受している信号を実時間で表示処理することによって、原子炉の制御装置の検証を行うオンライン炉心シミュレータが提案されている。
【特許文献１】特開平０９−２４４５２１号公報
【特許文献２】特開平０９−３４３４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１に記載された発明は、プラントモデル再現データ保存装置に保存されるプラントモデル再現データの容量を制限しながらも、シミュレータの実時間性を損なわずに過去の任意の時点任意のタイミングからセットバック可能にするものであり、少なくとも実時間性を損なうことなくセットバックするのに必要なデータを収集するものに過ぎず、解析のために必要なデータを全て収集するような技術思想が開示されるものではなかった。
【０００６】
また、特許文献２に記載された発明は、原子炉模擬プログラム及びシミュレーション結果を表示する表示プログラムの実行時間を制御装置の制御周期よりも短く起動設定するプログラム起動調整手段を備えることにより、シミュレーションの実時間性を確保するものに過ぎず、同様に解析のために必要なデータを全て収集するような技術思想が開示されるものではなかった。
【０００７】
従って、モデル演算手段による演算データをサンプリングして、その演算データに基づいてシミュレーション結果を解析評価する場合に、解析に必要な演算データの容量が増加すると、サンプリングのための負荷が増加して本来のモデル演算の実時間性が保証されなくなるという問題が解決されるものではなかった。
【０００８】
つまり、モデル演算の実時間性を保証するためには、単にサンプリングされたデータを記憶するメモリの容量を増加するだけでは対処できず、サンプリングデータ数そのものを制限せざるを得ないため、解析精度が著しく低下するという問題があった。
【０００９】
本発明の目的は、上述した従来の問題点に鑑み、モデル演算の実時間性を保証しながらも解析のための十分な演算データをサンプリングできるシミュレーションシステム及びシミュレーション方法を提供する点にある。
【課題を解決するための手段】
【００１０】
上述の目的を達成するため、本発明によるシミュレーションシステムの特徴構成は、入力手段から入力される入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを表示処理するとともに記憶処理する第一シミュレーション手段と、前記第一シミュレーション手段によるシミュレーション演算が行なわれている際の、前記入力データを記憶する入力データ履歴記憶手段と、前記入力データ履歴記憶手段によって記憶された入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを記憶処理する第二シミュレーション手段とを備える点にある。
【００１１】
上述の構成によれば、入力手段から入力される入力データに基づいて第一シミュレーション手段によりシミュレーション演算が行なわれ、次に入力データ履歴記憶手段に記憶された入力データに基づいて第二シミュレーション手段によりシミュレーション演算が再度行なわれる。そして、第二シミュレーション手段によりシミュレーション演算が再度実行されるときに記憶処理の対象となる演算データの少なくとも一部がサンプリングされるため、第一シミュレーション手段によりシミュレーション演算が実行されるときには、演算データのサンプリング負荷が低減され、実時間性が確保されるようになる。
【発明の効果】
【００１２】
以上説明した通り、本発明によれば、モデル演算の実時間性を保証しながらも解析のための十分な演算データをサンプリングできるシミュレーションシステム及びシミュレーション方法を提供することができるようになった。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明によるシミュレーションシステム及びシミュレーション方法を説明する。
【００１４】
図１に示すように、車両評価用のシミュレーションシステムは、単一または複数のコンピュータで実現される操作手段２及びシミュレーション手段１で構成されている。
【００１５】
前記シミュレーション手段１は、所定のモデル演算式に基づいて模擬演算を実行するモデル演算手段１００と、モデル演算手段１００により演算処理された演算データを計測データとして収集するデータ収集手段１１０と、操作手段２に対する入出力インタフェースとして機能し、操作手段２から入力される入出力設定情報及び操作信号に基づいてモデル演算手段１００及びデータ収集手段１１０が所定周期で繰り返して実行されるように制御するとともに、データ収集手段１１０により収集された計測データを操作手段２に出力する演算制御手段１２０を備えて構成されている。
【００１６】
前記操作手段２は、オペレータに対する操作インタフェースとなるＧＵＩ方式の表示デバイス及びキーボードやマウスを備えたデータ入力手段２００と、シミュレーション手段１から出力された計測データに基づいて所定の情報をグラフィック表示する表示デバイスを備えたデータ表示手段２１０と、当該計測データを記憶するバッファメモリ２２１とハードディスク２２２を備えたデータ記憶手段２２０と、記憶された計測データを解析するデータ解析手段２３０と、操作信号を記憶する入力データ履歴記憶手段としての操作履歴記憶手段２４０と、それらを統括制御するとともに、シミュレーション手段１に対する入出力インタフェースとして機能する操作制御手段２５０を備えて構成されている。
【００１７】
前記操作制御手段２５０は、入出力設定情報をシミュレーション手段１に出力してシミュレーションを起動し、データ入力手段２００を介して入力された操作入力に基づいて生成した操作信号をシミュレーション手段１に出力するとともに、再実行に備えて当該操作信号を操作時間情報とともに操作履歴記憶手段２４０に記憶する。
【００１８】
前記操作制御手段２５０は、入出力設定情報に基づいてシミュレーション手段１から出力された計測データを受け取り、それらに基づいてデータ表示手段２１０を介して必要な情報を表示するとともに、受け取った計測データをバッファメモリ２２１に一時蓄積しながらハードディスク２２２に格納する。さらに、モデル演算の終了後にハードディスク２２２に格納された計測データを読み出してデータ解析手段２３０に引き渡し、データ解析手段２３０での解析結果をデータ表示手段２１０を介して表示するように制御する。
【００１９】
入出力設定情報とは、操作手段２とシミュレーション手段１との間で遣り取りされるデータの定義情報であり、モデル演算手段１００で生成されて収集された計測データのうちで、シミュレーション結果を操作画面に表示する必要のある計測データ及び解析に必要な計測データの項目及びサンプリング周期を規定する情報が含まれる。
【００２０】
前記データ収集手段１１０は、モデル演算手段１００により生成される演算データから入出力設定情報に基づいて要求される項目の計測データを、要求されるサンプリング周期で収集し、収集された計測データは演算制御手段１２０を介して操作手段２に出力され、データ記憶手段２２０に記録される。
【００２１】
ここで、計測データの容量が少ないときには、図２（ａ）に示すように、シミュレーション手段１における所定の演算周期の範囲内でモデル演算処理、データ収集処理、及びデータ記憶処理が終了し、時間的余裕が確保された状態で演算処理が繰り返されるが、計測データの容量が大きいとき、例えば、図２（ｂ）に示すように、モデル演算手段１００による演算処理時間及び処理データ収集手段１１０によるサンプリング時間の合計時間が演算周期内であってもデータ記憶手段２２０における記憶処理時間が長くなるときには、操作手段２から出力されるべき操作信号が遅延して出力されるため、実時間性が確保できなくなり、図２（ｃ）に示すように、モデル演算手段１００による演算処理時間及び処理データ収集手段１１０によるサンプリング時間の合計時間が演算周期を上回るときには、シミュレーション手段１が本質的に実時間性を持って演算処理することができず、さらには、操作手段２から出力されるべき操作信号が遅延して出力されるため、共にオペレータに違和感を与えることになる。
【００２２】
そこで、シミュレーションの実時間性が確保できなくなると予測される場合には、操作制御手段２５０は入出力設定情報に含まれる計測データの項目を減少させ、及び／または、サンプリング周期を長くした入出力設定情報に変更してシミュレーション手段１に出力することにより、シミュレーションの実時間性を確保するように制御する。
【００２３】
しかし、このように入出力設定情報を変更すると、計測データ項目または計測データ数が不足するため、後の解析に不都合が生じる虞がある。そのため、操作制御手段２５０は実時間性を確保したモデル演算処理の終了後に、操作履歴記憶手段２４０に記憶された操作信号及び操作時間情報を読み出して、再度シミュレーション手段１に出力し、モデル演算処理を再実行させるように制御する。
【００２４】
即ち、操作制御手段２５０により最初に実行制御されるシミュレーション手段が、入力手段であるデータ入力手段２００から入力される入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを表示処理するとともに記憶処理する第一シミュレーション手段として構成され、操作制御手段２５０により愛度実行制御されるシミュレーション手段が、入力データ履歴記憶手段によって記憶された入力データに基づいてシミュレーション演算を行ない、シミュレーション演算の演算データを記憶処理する第二シミュレーション手段として構成される。
【００２５】
モデル演算処理が再実行されるときの入出力設定情報は、少なくとも最初のモデル演算処理で収集されなかったデータ項目及びサンプリング周期のデータが獲得されるように設定される必要があり、これにより、解析に必要なデータが確保されるようになる。再実行されるモデル演算処理はオペレータが操作するものではないため、特に実時間性が要求されるものではない。
【００２６】
具体的には、設定された入出力設定情報に基づいて動作するモデル演算手段１００及びデータ収集手段１１０の演算時間が夫々予め設定されている演算周期に収まるか否かが演算制御手段１２０によりモニタされ、その結果が操作制御手段２５０に出力される。演算制御手段１２０により起動されたモデル演算手段１００及びデータ収集手段１１０が自身の演算処理を終了したときに、それらに設けられた管理手段が終了情報を出力するように構成し、管理手段から終了情報を入力した演算制御手段１２０が自身の内部タイマにより起動から終了までを計時することによりモニタされるのである。モニタ時期はモデル演算手段１００のアイドリング時または操作信号による演算処理時の何れであってもよい。
【００２７】
演算制御手段１２０からモニタ情報が入力された操作制御手段２５０は、さらに自身が設定した入出力設定情報に基づいてデータ記憶手段２２０の動作時間をモニタして、実時間性が確保できる図２（ａ）の状態に収まるか、実時間性が保証されない図２（ｂ）、（ｃ）の状態になるかを判断し、前者の場合には初期設定した入出力設定情報を維持してシミュレーションを実行または継続制御し、後者の場合には初期設定した入出力設定情報から計測データの項目を減少させ、及び／または、サンプリング周期を長くした新たな入出力設定情報に変更設定してシミュレーションを実行または継続制御するのである。
【００２８】
従って、前記データ収集手段１１０は、入出力設定情報に基づいて、モデル演算手段１００による最初のモデル演算処理時にはモデル演算処理の実時間性を確保できる程度の演算データを収集する第一データ収集手段と、モデル演算手段１００による再度のモデル演算処理時には必要な演算データを収集する第二データ収集手段を備えており、データ収集手段１１０とデータ記憶手段２２０により、モデル演算手段１００による演算データをサンプリングして記憶するデータサンプリング手段が構成され、第一データ収集手段とデータ記憶手段２２０により第一データサンプリング手段、第二データ収集手段とデータ記憶手段２２０により第二データサンプリング手段が夫々構成されている。
【００２９】
つまり、本発明によるシミュレーションシステムは、操作手段２と、操作手段２から出力される操作信号に基づいて所定のモデル演算処理を実行するモデル演算手段１００と、モデル演算手段１００による演算データをサンプリングして記憶するデータサンプリング手段１１０、２２０と、記憶された演算データを解析するデータ解析手段２３０と、操作信号を記憶する操作履歴記憶手段２４０と、操作履歴記憶手段２４０により記憶された操作信号に基づいてモデル演算手段１００を再度実行させる演算制御手段１２０を備え、データサンプリング手段１１０、２２０は演算制御手段１２０によりモデル演算手段１００が再実行される時に演算データの少なくとも一部をサンプリングするように構成されている。
【００３０】
以下にシミュレーションシステムの動作について、図１及び図３から図６を参照しながら詳述する。シミュレーション手段１に備えたモデル演算手段１００は、図１に示すように、例えば車両のエンジンを駆動制御する制御プログラムを実行する制御系モデル１０１と、制御系モデル１０１により制御され車両のエンジンを模擬する複数のモデル式を備えた車両モデル１０２で構成され、前記操作手段２のデータ入力手段２００及びデータ表示手段２１０を構成する表示デバイスの画面には、モデル演算手段１００に対する演算条件となる操作信号を生成するための操作入力スイッチ及びモデル演算手段による演算結果を表示する各種の操作画面が表示されるように構成されている。
【００３１】
図６に示すように、システムに電源が投入されると、操作手段２の表示デバイスに初期画面が表示され、オペレータにより入出力設定情報設定スイッチが操作されると入出力定義画面が表示され、シミュレーションに必要な入力データと計測データ及びそのサンプリング周期が設定される（Ｓ１）。
【００３２】
入出力定義画面を介して設定されたデータに基づいて入出力設定情報が生成され（Ｓ２）、操作制御手段２５０から演算制御手段１２０に入出力設定情報が出力され、シミュレーション環境が整えられる（Ｓ３）。
【００３３】
図３に示すように、この状態で、操作画面３にはエンジンを始動させるスタータスイッチ３０、アクセル開度を操作するアクセル操作スイッチ３１、シフトレバーを操作するシフトレバー操作スイッチ３２、ブレーキを操作するブレーキ操作スイッチ３３、空燃比を設定するＡ／Ｆスイッチ３４、水温を設定する水温設定スイッチ３５、吸気温を設定する吸気温設定スイッチ３６等の操作スイッチが配列表示され、データ表示手段２１０により実行される表示処理プログラム及びモデル演算手段１００による演算データ（計測データ）に基づいて、エンジンの回転数を表示する回転数計３７、車速を表示する速度計３８、バッテリ出力を表示する電圧計３９等がグラフィック表示される。
【００３４】
操作画面３に対してオペレータがマウスを操作して何らかの操作スイッチを操作すると（Ｓ４）、対応する操作信号が操作制御手段２５０により生成され（Ｓ５）、生成された操作信号が操作時間情報とともに操作履歴記憶手段２４０に記憶された後に（Ｓ６）、演算制御手段１２０を介してモデル演算手段１００に出力される（Ｓ７）。ステップＳ４で操作スイッチが操作されなかったときには、前回までの操作信号に基づいてステップＳ８以降の処理が実行される。
【００３５】
モデル演算手段１００では、制御系モデル１０１から車両モデル１０２に対応する制御信号が出力されて対応する模擬演算が実行される（Ｓ８）。モデル演算手段１００で演算処理された演算データがデータ収集手段１１０により収集され、演算制御手段１２０を介して操作制御手段２５０に入力されて（Ｓ９）、データ表示手段２１０により対応するデータが表示されるとともに（Ｓ１０）、データ記憶手段２２０に格納される（Ｓ１１）。
【００３６】
例えば、操作画面３に対してオペレータがマウスを操作してスタータスイッチ３０をオン操作すると、対応する操作信号が演算制御手段１２０を介してモデル演算手段１００に出力され、制御系モデル１０１から車両モデル１０２にエンジン始動信号が出力されてエンジン始動の模擬演算が実行される。モデル演算手段１００で演算処理されたエンジン回転数データがデータ収集手段１１０を介して操作制御手段２５０に入力され、データ表示手段２１０により対応する回転数が回転数計３７に表示される。
【００３７】
同様にして、シフトレバー３２をニュートラル位置からＤレンジである「３」に切替操作すると、速度計３８に車速が表示される。さらに、Ａ／Ｆスイッチ３４や水温設定スイッチ３５を設定操作すると、設定された条件に基づいて模擬演算が実行され、その結果が操作画面３に表示される。
【００３８】
モデル演算手段１００で処理された演算データ、例えば上述した回転数、速度の他、スロットルバルブ開度、クランクパルス、燃料噴射量、燃料噴射タイミング、各種の模擬センサの出力データがデータ収集手段１１０により収集されて計測データとしてデータ記憶手段２２０に格納される。
【００３９】
ステップＳ４からステップＳ１１に到る一連の処理に基づいてモデル演算手段１００、データ収集手段１１０、データ記憶手段２２０の処理時間が計測された結果に基づいて設定される実時間性確保フラグの値に基づいて、操作制御手段２５０により実時間性が確保できると判断されると（Ｓ１２）、入出力設定情報が維持されたままステップＳ１４に移行して、シミュレーションが終了するまで同様の処理が繰り返され、入出力設定情報が初期のまま維持された状態でシミュレーションが終了すると（Ｓ１５）、ステップＳ２４のデータ解析処理が行なわれて（Ｓ２４）、その結果が表示デバイスに表示される（Ｓ２５）。
【００４０】
ステップＳ１２で、操作制御手段２５０により実時間性が確保できないと判断されると、実時間性が確保されるように入出力設定情報が変更されて（Ｓ１３）、シミュレーションが終了するまで同様の処理が繰り返され、入出力設定情報が変更された状態でシミュレーションが終了すると（Ｓ１５）、操作制御手段２５０により入出力設定情報が再度変更、つまり、初期値に戻された後に（Ｓ１６）、操作履歴記憶手段２４０から操作信号が読み出されて（Ｓ１７）、再度のモデル演算処理が実行制御される。つまり、最初のモデル演算処理時にオペレータにより操作された手順で操作信号が演算制御手段１２０に出力されて（Ｓ１８）、モデル演算が進められる（Ｓ１９）。
【００４１】
このときには、実時間性が確保されずにデータ収集手段１１０により計測データが収集され（Ｓ２０）、データ表示手段２１０により対応するデータが表示されるとともに（Ｓ２１）、データ記憶手段２２０に格納される（Ｓ２２）。
【００４２】
再度のモデル演算が終了すると（Ｓ２３）、操作制御手段２５０の制御の下でデータ記憶手段２２０に格納された計測データが読み出されてデータ解析手段２３０により解析され（Ｓ２４）、図４に示すように、解析結果が表示デバイスに表示される（Ｓ２５）。尚、上述のステップＳ１６からＳ２３までの処理は、シミュレーションが終了した直後に行なう場合に限らず、処理負荷が軽い状態にあると判断した場合等、シミュレーションの終了後であればどのようなタイミングで行なうものであってもよい。
【００４３】
ステップＳ１２の実時間性の判断について詳述すると、図７に示すように、演算制御手段１２０は、入出力設定情報に基づいて処理を開始したモデル演算手段１００が演算処理を終了したときに出力した終了情報に基づいて模擬演算時間を計測し（Ｓ３０）、続いて入出力設定情報に基づいて処理を開始したデータ収集手段１１０が計測データ収集処理を終了したときに出力した終了情報に基づいて計測データ収集時間を計測し（Ｓ３１）、モニタ結果として、模擬演算時間と計測データ収集時間との合計時間である演算負荷情報を操作制御手段２５０に出力する（Ｓ３２）。
【００４４】
操作制御手段２５０は、自らが設定した入出力設定情報に基づいてモデル記憶手段２２０がデータ計測データ書込に要する時間を計測し（Ｓ３３）、演算制御手段１２０から出力された演算負荷情報と計測データ書込時間との合計時間と入出力設定情報に基づいて要求されるサンプリング周期とから演算負荷を評価し（Ｓ３４）、演算負荷が大きいと判断すると（Ｓ３５）、実時間性確保フラグをオフして（Ｓ３６）、初期値から変更した入出力設定情報、つまり演算データの項目を低減し、及び／またはサンプリング周期を長くした入出力設定情報を演算制御手段１２０に送信し（Ｓ１３）、演算負荷が適正であると判断すると（Ｓ３５）、実時間性確保フラグをオンする（Ｓ３７）。
【００４５】
ステップＳ３０からＳ３７までの処理は、シミュレーションの開始時に一度だけ行なうものに限らず、必要に応じてシミュレーションの実行中に複数回、例えば、シミュレーションの一周期の処理の度に行なう等、適宜実行するように構成することができる。
【００４６】
シミュレーションの実行中に入出力設定情報が変更される場合には、ステップＳ１７からＳ２２の再度の計測処理は入出力設定情報が変更された区間のみ行なうようにしてもよい。
【００４７】
このようにして、操作画面３を介してオペレータにより操作された条件に従ってシミュレーションが実行され、その際の計測データに基づいてその結果がエンジンの種々の動作状態として操作画面３に表示され、ほぼリアルタイムで臨場感が伴ったシミュレーションが実行される。シミュレーションの終了後に例えばトレンドグラフとして表示される計測結果に基づいて、制御系モデル１０１に組み込まれたエンジン制御プログラムが正常に動作しているか否かがオペレータにより目視評価される。また、データ解析手段により、データ記憶手段に格納された所定の計測データが予め設定された条件を満たしているか否か、例えば、点火パルスが所定のクランク角度の範囲で出力されているか否か、燃料噴射パルスが所定のクランク角度で所定のパルス幅で出力されているか否か等の解析が行なわれ、表示された解析結果に基づいてエンジン制御プログラムが正常に動作しているか否かが評価される。
【００４８】
上述したフローチャートでは、演算制御手段１２０が、モデル演算手段１００による最初の演算実行時に入出力設定情報に基づいて演算データを収集するデータ収集手段１１０及びモデル演算手段１００の演算負荷をモニタして得られた演算負荷情報を操作制御手段２５０に送信する場合を説明したが、モデル演算手段１００が停止しているアイドリング時に入出力設定情報に基づいて演算データを収集するデータ収集手段１１０の負荷をモニタするものであってもよい。この場合には、モデル演算手段１００の負荷が予め想定される場合に有用である。
【００４９】
変更された入出力設定情報に基づいて最初のモデル演算が実行されることによりデータ収集手段１１０の負荷が低減され、実時間性が確保されたシミュレーションが実現される。このとき、演算データは第一データサンプリング手段によりサンプリングされる。つまり、第一データサンプリング手段はモデル演算手段１００による演算周期が所定の演算周期を超えないようにサンプリング負荷を軽減して演算データをサンプリングするのである。
【００５０】
第一データサンプリング手段により収集される演算データは、少なくとも上述した操作画面３に表示すべきデータが生成できるように、つまり、少なくとも操作信号に応答して操作手段２に出力されるべき演算データが含まれるように入出力設定情報が設定される必要があり、これにより、操作画面３を操作するオペレータにとって次になすべき操作が判断できるようになる。
【００５１】
上述のフローチャートでは、最初のモデル演算が終了すると、操作制御手段２５０は、必要な全ての演算データが揃うように入出力設定情報を初期値に戻して演算制御手段１２０に出力するとともに、操作履歴記憶手段２４０に記憶された操作時間情報に基づいて操作信号を演算制御手段１２０に出力し、演算制御手段１２０は、設定された入出力設定情報及び操作信号に基づいて、再度モデル演算手段１００による演算処理を実行制御するものを説明している。このとき、オペレータによる操作は既に終了しているため、モデル演算の実時間性の確保は必ずしも要求されるものではない。再度の演算処理における演算データは第二データサンプリング手段によりサンプリングされる。
【００５２】
しかし、第二データサンプリング手段は、第一データサンプリング手段によりサンプリングされなかった演算データをモデル演算手段１００の再実行時にサンプリングするものであればよく、このときの入出力設定情報は、第一データサンプリング手段により既にサンプリングされたデータを除いてサンプリングするように設定することも可能である。第一データサンプリング手段によるデータ収集負荷を低減させるためには、収集するデータ項目を少なくする他に収集するデータのサンプリング周期を長くすることで対応できる。
【００５３】
図５（ａ）は、第一データサンプリング手段によりサンプリングされた演算データのトレンドグラフを示し、バッテリ電圧、スタータ信号、アクセル開度等の演算データが第一データサンプリング手段によりサンプリングされることが示される。また、図５（ｂ）は、第一データサンプリング手段によりサンプリングされた演算データに第二サンプリング手段によりサンプリングされた演算データを付加したトレンドグラフを示し、噴射量、点火進角等の演算データが第二データサンプリング手段によりサンプリングされることが示される。
【００５４】
さらに、モデル演算手段１００による演算処理の再実行時にもリアルタイム性を確保する必要がある場合には、操作制御手段２５０がモデル演算手段１００による再度の演算処理を複数回繰り返すように設定するとともに、複数回の演算処理でデータ収集手段１１０の負荷が均等に分散されるように入出力設定情報を設定して、第二データサンプリング手段により必要な演算データが複数回の演算処理で揃うように制御することも可能である。
【００５５】
つまり、演算制御手段１２０は操作履歴記憶手段２４０により記憶された操作信号に基づいてモデル演算手段１００を複数回実行させるように構成し、第一及び第二データサンプリング手段はモデル演算手段１００による演算周期が所定の演算周期を超えないようにサンプリング負荷を軽減して必要な演算データをサンプリングするものである。
【００５６】
以下に、モデル演算手段１００の具体例を説明する。第一の具体例は、図８に示すように、シミュレーション手段１に、制御系モデル１０１として車両に搭載される電子制御装置ＥＣＵと、車両モデル１０２として電子制御装置ＥＣＵと接続され車両の動作を模擬する車両シミュレータＳＭとで構成されるモデル演算手段１００を備え、リアルタイムで動作するように構成された所謂ＨＩＬＳ（Ｈａｒｄｗａｒｅ  Ｉｎ  ｔｈｅ  Ｌｏｏｐ  Ｓｉｍｕｌａｔｉｏｎ）と称されるシミュレーションシステムである。
【００５７】
当該ＨＩＬＳシステムでは、エンジンの動作を模擬演算する車両シミュレータＳＭと電子制御装置ＥＵＣとが実際のハーネスを介して接続され、操作手段２とネットワーク接続されている。
【００５８】
車両シミュレータＳＭには、モデルプログラムを実行するモデル演算処理ユニット４１０と、制御装置ＥＣＵとハーネスを介して接続されるＩ／Ｆユニット４３０と、モデル演算処理ユニット４１０とＩ／Ｆユニット４３０との間で入出力されるデータを論理レベルと物理レベルの間で変換するＩ／Ｏユニット４２０と、オペレーティングシステムがインストールされ、車両シミュレータＳＭを統括するＣＰＵボード４００を備え、夫々がバスを介して接続されている。
【００５９】
ＣＰＵボード４００は、操作手段２に表示される入出力定義画面に対してオペレータにより入力設定されたデータに基づき生成されて送信された入出力設定情報に基づいてシミュレーション環境を整え、管理装置ＰＣで表示される操作画面に対してオペレータによる操作により出力される操作信号に基づきモデル演算処理ユニット４１０に模擬演算を実行させると共に、モデル演算処理ユニット４１０または電子制御装置ＥＣＵにより生成された演算データからサンプリング収集した計測データを操作手段２に出力する。
【００６０】
つまり、ＣＰＵボード４００によりデータ収集手段１１０及び演算制御手段１２０が構成されている。
【００６１】
Ｉ／Ｏユニット４２０に設けられた共有メモリボード４２１は、モデル演算処理ユニット４１０及び電子制御装置ＥＣＵとの間で遣り取りされる各種の制御データが格納され、操作手段２にブレーキやミッションを模擬する他の車両シミュレータＳＭが接続され、複数の車両シミュレータＳＭにより協働してシミュレーションする際には、互いに遣り取りする制御データの格納領域としても利用される。各共有メモリボード４２１は数十Ｇｂｐｓから数Ｇｂｐｓの通信速度を実現するスターファブリック等による超高速バスを介して接続可能に構成されている。
【００６２】
例えば、実車両の電子制御装置ＥＣＵ間を結ぶネットワークであるＣＡＮバスは、Ｉ／Ｆユニット４３０に設けられたＣＡＮボード４３１と共有メモリボード４２１を介して他のシミュレータＳＭを制御する制御装置ＥＣＵと接続される。
【００６３】
車両シミュレータＳＭは、図９に示すように、演算制御手段１２０による管理の下で、電子制御装置ＥＣＵからデータを入力するデータ入力ステップ（Ｓ４０）と、モデル演算手段１００により実行されるモデル演算ステップ（Ｓ４１）と、モデル演算ステップでの演算結果を電子制御装置ＥＣＵへ出力するデータ出力ステップ（Ｓ４２）と、データ収集手段１１０が入出力設定情報に基づいて予め設定された演算データを共有メモリからサンプリングして計測データとして操作手段２に出力するサンプリングステップ（Ｓ４３）と、同期確認ステップ（Ｓ４４）とから構成される単位模擬演算処理を所定周期で繰り返す。
【００６４】
操作手段２は、モデル演算ステップの実行時にモデル演算手段１００から演算制御手段１２０を介して出力される演算処理時間及びデータ収集手段１１０から演算制御手段１２０を介して出力されるサンプリング時間を受信して演算負荷の程度を判断するとともに、データ記憶手段２２０の動作時間をモニタして、シミュレーションの実時間性が確保できないと判断されるときには、車両シミュレータＳＭに対して入出力設定情報を変更送信する。即ち、単位模擬演算処理の時間周期、換言すると上述の説明におけるサンプリング周期に対して、演算負荷が大きいと判断したとき、入出力設定情報を変更設定してシミュレーションを実行させる。
【００６５】
ＨＩＬＳシステムを用いてシミュレーション手段１を構成する場合には、モデル演算手段１００による演算処理の再実行時にもリアルタイム性を確保する必要があるため、操作制御手段２５０がモデル演算手段１００による再度の演算処理を複数回繰り返すように設定するとともに、複数回の演算処理でデータ収集手段１１０の負荷が均等に分散されるように入出力設定情報を設定して、第二データサンプリング手段により必要な演算データが複数回の演算処理で揃うように制御する。
【００６６】
第二の具体例は、図１０に示すように、シミュレーション手段１に、制御系モデル１０１として車両に搭載される電子制御装置ＥＣＵのハードウェアをソフトウェアで模擬した制御系モデル５１と、車両モデル１０２としてエンジンの動作をソフトウェアで模擬する被制御系モデル５２とで構成されるモデル演算手段１００とを備え、データ収集手段１１０及び演算制御手段１２０として機能するシステム管理手段５５により制御系モデル５１及び被制御系モデル５２の夫々に対して必要な演算処理が割込みイベントとして生成され、割込みイベントに応じて夫々が必要な演算処理をステップ的に実行されるイベントドリブン方式で構成された、所謂ＳＩＬＳ（Ｓｏｆｔｗａｒｅ  Ｉｎ  ｔｈｅ  Ｌｏｏｐ  Ｓｉｍｕｌａｔｉｏｎ）と称されるシミュレーションシステムである。
【００６７】
ＳＩＬＳシステムでは、所定のオペレーティングシステム（ＯＳ）上で動作する一台のコンピュータのＣＰＵボード５０上に、制御系モデル５１と、被制御系モデル５２と、それらを管理するシステム管理手段５５が構築され、共有メモリ５３を介して制御系モデル５１と被制御系モデル５２間で入出力データ（ＩＯデータ）が遣り取りされるように構成され、システム管理手段５５に操作手段２が接続されている。
【００６８】
システム管理手段５５は、制御系モデル５１または被制御系モデル５２に関連して発生し、制御系モデル５１または被制御系モデル５２の対応モジュールを起動するイベントと、システムタイマ５４に基づいて当該イベントの起動時刻を設定管理し、制御系モデル５１または被制御系モデル５２を実行制御するシステム管理手段５５を備えて構成されている。
【００６９】
システム管理手段５５は、共有メモリ５３を介して制御系モデル５１と被制御系モデル５２との間の入出力データの受け渡しを行う。入出力データには、制御系モデル５１とシステム管理手段５５の間に図示する“起動（イベント時刻付）”や、“ＩＯデータ（時刻付）”や、“ＩＯデータ”が含まれる。またその入出力データには、システム管理手段５５及び被制御系モデル５２の間においても図示する通り、“起動（時刻付）”や、“ＩＯデータ（時刻付）”や、“ＩＯデータ”が含まれる。
【００７０】
システムタイマ５４はシステムの基準時刻を規定するもので、システム管理手段５５により起動制御される制御系モデル５１及び被制御系モデル５２の所定のモジュールはシステムタイマ５４に基づいて動作する。つまり、制御系モデル５１と被制御系モデル５２の夫々はシステムタイマ５４に基づいて同一の仮想時間上で動作する。
【００７１】
制御系モデル５１と被制御系モデル５２には、共有メモリ５３との間で、各イベントに関する時刻付のＩＯデータを書き込みまたは読み出す制御系モデル側ＩＯドライバ５２０及び被制御系モデル側ＩＯドライバ５２１を備えている。
【００７２】
ＩＯドライバ５２０、５２１から共有メモリ５３に書き込まれたタイミング依存のＩＯデータはシステムタイマ５４の時刻と関連付けられて管理され（図中点線枠５６）、タイミング非依存のＩＯデータはシステムタイマ２１の時刻と関連付けられることなく管理される（図中点線枠５７）。
【００７３】
つまり、システム管理手段５５は、制御系モデル５１または被制御系モデル５２から共有メモリ５３に書き込まれたＩＯデータに基づいてイベントの要求を検出すると、それらのイベント要求を集約してシステムタイマ５４により更新される時刻を各イベントに設定して共有メモリ５３に蓄積する。
【００７４】
共有メモリ３２にイベントが蓄積され、蓄積されたイベントに基づいて時系列的に制御系モデル１１または被制御系モデル１３が起動されることにより、シミュレーションが進められる。
【００７５】
ここで、システムタイマ２１で規定される制御系モデル５１または被制御系モデル５２における処理中の時間は計時されず、イベントの発生の無い区間は処理をスキップしながら、時系列で順番にイベントが実行され、イベントに設定された時刻により時間がステップ状に進むように構成されているが、各イベントに対応してモジュールが起動される制御系モデル５１または被制御系モデル５２では内部のＣＰＵタイマによりイベントの実処理時間が計時される。
【００７６】
システム管理手段５５は、操作手段２で表示される入出力定義画面に対してオペレータにより入力設定されたデータに基づき生成されて送信された入出力設定情報に基づいてシミュレーション環境を整え、操作手段２で表示される操作画面に対してオペレータによる操作により出力される操作信号に基づいて、または、制御系モデル５１または非制御系モデル５２のＩＯドライバ５２０、５２１から書き込まれた共有メモリ５３上のＩＯデータに基づいて、制御系モデル５１または非制御系モデル５２を動作させるイベントを発生させ、システムタイマ５４で管理される時間情報に基づいて時系列的に発生するイベントを共有メモリ５３に書き込み、共有メモリ５３に書き込まれたイベントに基づいて制御系モデル５１または非制御系モデル５２に模擬演算を実行させる。
【００７７】
例えば、システム管理手段５５は、操作手段２からエンジンを始動させる指令が入力されると、制御系モデル５１に対して定時処理のイベントを発生させて必要な処理を実行させる。制御系モデル５１から共有メモリ５３にスタータ信号が出力されると、被制御系モデル５２に対して対応するイベントを発生させて被制御系モデル５２の必要な処理を実行させる。被制御系モデル５２から共有メモリ５３にクランクパルスのエッジデータと周波数データが出力されると、制御系モデル５１にクランクパルスを処理するためのイベントを発生させて制御系モデル５１の必要な処理を実行させるのである。
【００７８】
また、システム管理手段５５は、制御系モデル５１または被制御系モデル５２から共有メモリ５３に書き込まれた制御データや、図示しない制御系モデル５１または被制御系モデル５２が使用するローカルなメモリに書き込まれた制御データをシステム時刻とともにサンプリングして計測データとして操作手段２に出力する。即ち、システム管理手段５５は本発明におけるデータ収集手段１１０及び演算制御手段１２０として構成され、制御系モデル５１と被制御系モデル５２により本発明におけるモデル演算手段１００が構成される。
【００７９】
図１１に示すように、システム管理手段５５は、自らが管理する制御系モデル５１または被制御系モデル５２の定時処理を起動するイベントや共有メモリ５３に書き込まれた制御データに基づいて生成すべきイベントを管理するイベント管理情報から直近のイベントを選択し（Ｓ５１）、選択したイベントの時刻にシステムタイマの値を更新し（Ｓ５２）、当該システムタイマ時刻で更新されるＩＯデータをセットして（Ｓ５３）、発生するイベント情報（割込みフラグ等）を設定することにより（Ｓ５４）対応する制御系モデル５１または被制御モデル５２のモジュールを起動する（Ｓ５５）。
【００８０】
制御系モデル５１または被制御モデル５２のモジュールは所定の演算処理を実行して、システム管理手段５５に対してＩＯ情報の更新、イベント管理情報の更新を要求する（Ｓ５６）。システム管理手段５５は、共有メモリ５３やローカルメモリから必要な計測データをシステム時刻と共にサンプリングして操作手段２に送信し（Ｓ５７）、その後、処理が実行されたイベントをイベント管理情報から削除して（Ｓ５７）ステップＳ５１に戻る。
【００８１】
システム管理手段５５は、発生するイベントに対するモデルを起動後、制御系モデル５１または被制御モデル５２からのＩＯ情報やイベント管理情報の更新要求までの時間を計時して操作手段２に送信する。
【００８２】
操作手段２は、受信したイベント管理情報等の更新要求までの時間と計測データのサンプリング時刻、さらにデータ記憶手段２２０の動作時間をモニタして、演算負荷が大きいと判断したとき、入出力設定情報を変更設定する。
【００８３】
ＳＩＬＳシステムの場合には、本質的に実時間処理が要求されないが、オペレータが操作する最初のシミュレーション時には実時間性を確保するため、演算負荷が軽くなるように入出力設定情報を変更設定するが、再度のシミュレーション時には実時間性を確保することなく、必要な全ての計測データをサンプリングするように、入出力設定情報を初期値に戻す。
【００８４】
上述した実施形態では車両評価用のシミュレーションシステムについて説明したが、本発明によるシミュレーションシステムは車両評価用のシミュレーションシステムに限るものではなく、任意の機器やプラントのシミュレーションシステムに適用できるものである。
【００８５】
また、実施形態に示したシミュレーションシステムの各部の構成は一例に過ぎず、各部の具体的な構成は本発明の作用効果を奏する限りにおいて適宜変更設計することが可能である。
【図面の簡単な説明】
【００８６】
【図１】本発明による車両評価用のシミュレーションシステムのブロック構成図
【図２】（ａ）演算周期に対する実時間性確保の説明図（実時間性確保可）、（ｂ）演算周期に対する実時間性確保の説明図（実時間性確保不可）、（ｃ）演算周期に対する実時間性確保の説明図（実時間性確保不可）
【図３】操作画面の説明図
【図４】データ解析手段による解析結果を表示したトレンドグラフ
【図５】（ａ）は第一データサンプリング手段によりサンプリングされた演算データのトレンドグラフ、（ｂ）は第一データサンプリング手段によりサンプリングされた演算データに第二サンプリング手段によりサンプリングされた演算データを付加したトレンドグラフ
【図６】シミュレーションシステムの動作を説明するフローチャート
【図７】実時間性の判断を説明するフローチャート
【図８】ＨＩＬＳシステムの構成図
【図９】シミュレーションシステムの動作を説明するフローチャート
【図１０】ＳＩＬＳシステムの構成図
【図１１】シミュレーションシステムの動作を説明するフローチャート
【符号の説明】
【００８７】
１：シミュレーション手段
２：操作手段
１００：モデル演算手段
１０１：制御系モデル
１０２：車両モデル
１１０：データ収集手段
１１１：第一データ収集手段
１１２：第二データ収集手段
１１３：メモリ
１２０：演算制御手段
２００：データ入力手段
２１０：データ表示手段
２２０：データ記憶手段
２３０：データ解析手段
２４０：操作履歴記憶手段
２５０：操作制御手段
【図１】
2008165544.tif 000003
【図２】
2008165544.tif 000004
【図３】
2008165544.tif 000005
【図４】
2008165544.tif 000006
【図５】
2008165544.tif 000007
【図６】
2008165544.tif 000008
【図７】
2008165544.tif 000009
【図９】
2008165544.tif 000010
【図１１】
2008165544.tif 000011
【図８】
2008165544.tif 000012
【図１０】
2008165544.tif 000013