(57)【要約】【課題】制御装置で実行されるタスクの実行周期がモデル演算周期よりも短い場合であっても、シミュレーションの精度を向上させ、適切な信号値を制御装置に出力できるシミュレーション装置を提供する。【解決手段】制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰返すモデル演算部２と、前記モデル演算部２で算出された状態値を信号値に変換して制御装置７に出力する信号出力部４を備えているシミュレーション装置１であって、前記モデル演算部２により状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正部５１ｃを備え、前記信号出力部４は、前記状態値補正部５１ｃにより算出された補正状態値を信号値に変換して前記制御装置７に出力するシミュレーション装置１。【選択図】図４
2010218328.tif 000002
【特許請求の範囲】
【請求項１】
制御装置によって制御される制御対象を模擬するシミュレーション装置であって、
制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰り返し実行するモデル演算部と、
前記モデル演算部で算出された状態値に基づく信号値を制御装置に出力する信号出力部と、
前記モデル演算部により状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正部を備え、
前記信号出力部は、前記状態値補正部により算出された補正状態値に基づく信号値を前記制御装置に出力するシミュレーション装置。
【請求項２】
前記状態値補正部は、前記モデル演算周期より短い周期で、繰返し状態値を補正する請求項１記載のシミュレーション装置。
【請求項３】
前記状態値補正部は、前記制御装置からの要求に基づいて状態値を補正して出力する請求項１記載のシミュレーション装置。
【請求項４】
前記状態値補正部により補正される状態値は、前記モデル演算周期と非同期で前記制御装置に取り込まれる信号に対応する状態値である請求項１記載のシミュレーション装置。
【請求項５】
前記状態値補正部により補正される状態値は、前記制御装置において時間と非同期で実行される処理で用いられる信号に対応する状態値である請求項１記載のシミュレーション装置。
【請求項６】
前記状態値補正部は、過去の状態値を記憶する記憶部と、前記記憶部に記憶された過去の状態値に基づいて補正状態値を算出する演算回路を備えたハードウェア回路で構成されている請求項１から５の何れかいに記載のシミュレーション装置。
【請求項７】
前記信号出力部は、前記モデル演算部で算出された複数の状態値の一部に対して、前記状態値補正部を介して得られる補正状態値に基づく信号値を前記制御装置に出力し、他に対して、前記状態値補正部を介さずにその状態値に基づく信号値を前記制御装置に出力する請求項１から６の何れかに記載のシミュレーション装置。
【請求項８】
前記信号出力部に、前記モデル演算部で算出された状態値に基づく信号値を前記制御装置に出力するか、前記状態値補正部により補正された補正状態値に基づく信号値を前記制御装置に出力するかを切り替える出力切替部を備えている請求項１から６の何れかに記載のシミュレーション装置。
【請求項９】
制御装置によって制御される制御対象を模擬するシミュレーション装置であって、
制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰り返し実行するモデル演算部と、
前記モデル演算部で算出された状態値に基づく信号値を出力する信号出力部と、
前記モデル演算部により状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正部を備え、
前記信号出力部は、前記状態値補正部により算出された補正状態値に基づく信号値を出力するシミュレーション装置。
【請求項１０】
制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰返すモデル演算ステップと、
前記モデル演算ステップで算出された状態値を信号値に変換して制御装置に出力する信号出力ステップを備えているシミュレーション方法であって、
前記モデル演算ステップにより状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正ステップを備え、
前記信号出力ステップは、前記状態値補正ステップにより算出された補正状態値を信号値に変換して前記制御装置に出力するシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置及びシミュレーション方法に関する。
【背景技術】
【０００２】
車両や航空機さらには様々な化学プラント等を制御するために、マイクロコンピュータを組み込んだ様々な制御装置が用いられている。そのようなマイクロコンピュータで実行されるプログラムを効率的に開発し、開発されたプログラムを効率的に検証するために、制御対象を模擬するシミュレーション装置が用いられている。
【０００３】
特許文献１には、エンジン等の制御装置を実車両に装着した仮想環境を作り出し、エンジン制御装置の動作確認及び性能評価を行うためのシミュレーション装置が提案されている。
【０００４】
このようなシミュレーション装置は、エンジン等の制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰返すモデル演算部と、モデル演算部で算出された状態値を信号値に変換して制御装置に出力する信号出力部を備えている。
【０００５】
モデル演算部は、制御装置から制御信号を入力する入力処理と、入力された制御信号に基づいて所定のモデル演算を実行するモデル演算処理と、モデル演算処理で算出された制御対象の状態値を出力する出力処理と、入力された制御信号やモデル演算処理で算出された制御対象の状態値を計測データとして取り込むデータサンプリング処理を、所定の演算周期で繰り返すように構成されている。
【０００６】
信号出力部は、モデル演算部で算出された状態値つまり論理値を、電気信号つまり物理値に変換して制御装置に出力する。
【０００７】
例えば、モデル演算部で算出された状態値がクロック信号の周期であれば、当該周期に対応したクロック信号を生成して制御装置に出力し、モデル演算部で算出された状態値が温度であれば、当該温度をアナログ信号に変換して制御装置に出力する。
【０００８】
制御装置には、信号出力部から出力された信号値を取り込む信号入力タスクや、当該信号値に対して制御演算を実行する信号処理タスクや、信号処理タスクで生成された制御信号をシミュレーション装置に出力する信号出力タスクの集合体である制御プログラムが移植され、当該制御プログラムを実行するマイクロコンピュータが組み込まれている。
【０００９】
データサンプリング処理で取り込まれた計測データは、シミュレーション装置に接続されたホストコンピュータに送信され、ホストコンピュータの表示部に波形データやタイミングチャートとして表示される。
【００１０】
例えば、表示部に表示された波形データやタイミングチャートがオペレータによって目視され、制御装置が適正に動作しているか否かが判断される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−２７２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、モデル演算部で実行されるモデル演算の実行周期つまりモデル演算周期が、制御装置で実行される信号入力タスクや信号処理タスクの実行周期よりも短い場合には、適正に制御装置が作動するが、制御装置で実行されるタスクの実行周期がモデル演算周期よりも短くなると、シミュレーション装置から出力される信号値が変化しない状態が発生するため、制御装置の動作に異常を来たし、或いは適正な制御動作が実行されなくなる虞があった。
【００１３】
通常、モデル演算部は、高速の汎用ＣＰＵを備えたＣＰＵボードで構築されるため、モデル演算部の実行周期をそれ以上に短くするには限界があり、適切な対策が望まれていた。
【００１４】
本発明の目的は、上述した従来の問題点に鑑み、制御装置で実行されるタスクの実行周期がモデル演算周期よりも短い場合であっても、シミュレーションの精度を向上させ、適切な信号値を制御装置に出力できるシミュレーション装置及びシミュレーション方法を提供する点にある。
【課題を解決するための手段】
【００１５】
上述の目的を達成するため、本発明によるシミュレーション装置の特徴構成は、制御装置によって制御される制御対象を模擬するシミュレーション装置であって、
制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰り返し実行するモデル演算部と、前記モデル演算部で算出された状態値に基づく信号値を制御装置に出力する信号出力部と、前記モデル演算部により状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正部を備え、前記信号出力部は、前記状態値補正部により算出された補正状態値に基づく信号値を前記制御装置に出力する点にある。
【００１６】
モデル演算部から所定のモデル演算周期で状態値が更新出力され、信号出力部では当該状態値に対応した信号値に変換された信号が制御装置に出力される。そして、モデル演算部により状態値が更新されるまでの間には、状態値補正部で過去の状態値に基づいて補正された状態値が算出され、信号出力部で当該補正状態値に対応した信号値が制御装置に出力される。
【００１７】
従って、モデル演算周期よりも制御装置により信号値が取り込まれる周期が短い場合であっても、常に最新の信号値が制御部に取り込まれるようになる。
【発明の効果】
【００１８】
以上説明した通り、本発明によれば、出力した信号値を用いて処理が行なわれる所定処理の実行周期がモデル演算周期よりも短い場合であっても、シミュレーションの精度を向上させ、適切な信号値を出力できるシミュレーション装置を提供することができるようになった。
【図面の簡単な説明】
【００１９】
【図１】シミュレーション装置のハードウェア構成図
【図２】シミュレーション装置の詳細構成図
【図３】エンジンの気筒内圧力及びクランクパルス信号の関係を示す説明図
【図４】信号出力部を構成する入出力変換ボードのブロック構成図
【図５】（ａ）は状態値と補正状態値とモデル演算周期の関係を示し、（ｂ）はモデル演算周期がクランクパルス周期よりも短い場合を示し、（ｃ）はモデル演算周期がクランクパルス周期よりも長い場合を示す、信号出力部から出力される信号値の説明図
【図６】（ａ）はＤＡ変換ボードから信号が出力される動作を示し、（ｂ）はパルス信号生成ボードから信号が出力される動作を示す、信号出力部の動作を示すフローチャート
【図７】シミュレーション装置の動作を示すフローチャート
【図８】二次元の近似演算式に基づいて状態値を補正する状態値補正部の構成図
【発明を実施するための形態】
【００２０】
以下に、本発明によるシミュレーション装置について説明する。
【００２１】
図１及び図２に示すように、シミュレーションシステム１は、車両に搭載される制御装置７を評価するための装置で、モデル演算部２と信号計測部３と信号出力部４を備えたシミュレーション装置５と、ホストコンピュータ６を備えて構成されている。
【００２２】
モデル演算部２は、制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰返すブロックである。
【００２３】
信号計測部３は、モデル演算部２や制御装置７から出力される制御信号を計測して当該制御信号を計測データとして収集し、収集した計測データを所定時期にホストコンピュータ６に出力するブロックである。
【００２４】
信号出力部４は、モデル演算部２で算出された状態値をモデル演算部２から受け取り、当該状態値に基づく信号値を制御装置に出力する、つまり状態値を信号値に変換して制御装置７に出力し、制御装置７から入力される制御信号を状態値に変換してモデル演算部２と信号計測部３に出力するブロックである。
【００２５】
ホストコンピュータ６は、オペレータの操作に基づいてモデル演算部２及び信号計測部３の動作を制御するとともに、信号計測部３から入力される計測データに基づいて当該制御信号をモニタ表示するブロックである。
【００２６】
制御装置７は、車両に搭載され、エンジンや変速装置やブレーキ等の車両の何れかの機能ブロックを制御する電子制御装置で、制御基板上に、ＣＰＵと、ＣＰＵにより実行される制御用プログラムが格納されたＲＯＭや、ワーキング領域として利用されるＲＡＭ等のメモリが組み込まれたマイクロコンピュータと、マイクロコンピュータと機能ブロックとの間で遣り取りされる各種の制御信号の入出力回路等がマウントされている。
【００２７】
シミュレーション装置５は、ＣＰＵとＲＯＭ，ＲＡＭ等のメモリを備え、所定のＯＳがインストールされたＣＰＵボード５ａと、ＣＰＵボード５ａとＰＣＩバスで接続された複数枚の入出力変換ボード５ｂと、入出力変換ボード５ｂと制御装置７との間で遣り取りされる入出力信号線を中継する複数枚の信号中継ボード５ｃとがラックに収容されて構成されている。
【００２８】
尚、ＣＰＵボード５ａには、汎用のパーソナルコンピュータに用いられる高速且つ高機能なＣＰＵが搭載されている。
【００２９】
ＣＰＵボード５ａと入出力変換ボード５ｂがＰＣＩバスで接続され、入出力変換ボード５ｂと信号中継ボード５ｃが複数のローカルの信号線で接続されている。
【００３０】
上述したモデル演算部２及び信号計測部３が、ＣＰＵボード５ａにより具現化され、信号出力部４が入出力変換ボード５ｂと信号中継ボード５ｃにより具現化される。
【００３１】
ホストコンピュータ６は、ＣＰＵやメモリを備えたＣＰＵボードと、モニタやキーボード及びマウス等のオペレータの操作及び表示用の入出力機器と、ハードディスク等の記憶媒体を備えたパーソナルコンピュータ等の汎用コンピュータで構成され、記憶媒体には所定のＯＳがインストールされている。
【００３２】
シミュレーション装置５と制御装置７が信号中継ボード５ｃを介してハーネス９ａで接続され、各種の制御信号が交信可能に構成され、シミュレーション装置５とホストコンピュータ６がＣＰＵボード５ａを介してＬＡＮ９ｂで接続され、シミュレーションに関する信号が交信可能に構成されている。
【００３３】
ホストコンピュータ６には、ＯＳの下で動作する環境設定プログラムと計測信号表示プログラムと実行管理プログラムがインストールされ、さらに、制御対象を模擬して制御対象の状態値を算出するモデル演算を実行する複数のモデルプログラムがハードディスク等の記憶媒体に格納されている。
【００３４】
ホストコンピュータ６は、環境設定プログラムに基づいて、オペレータにより、目的に合ったモデルプログラムがキーボード及びマウスを介して選択されると、当該モデルプログラムをシミュレーション装置５のＣＰＵボード５ａに転送し、ＣＰＵボード５ａのＲＡＭに移植する。
【００３５】
ホストコンピュータ６は、さらに環境設定プログラムに基づいて、ＣＰＵボード５ａのＲＡＭに移植されたモデルプログラムに対応して、制御装置７とモデルプログラムとホストコンピュータ６の間で入出力される制御信号の信号形態及び信号経路の定義情報や、制御装置７とモデルプログラムとの間で入出力される制御信号のうち、計測データとして収集すべき制御信号や、各制御信号の計測条件等、シミュレーションの環境条件をオペレータの操作に基づいて設定するように構成されている。
【００３６】
信号形態とは、例えばアナログ信号、デジタル信号、或いはパルス信号等の制御信号の形態をいい、信号経路とは、シミュレーション対象として選択される制御装置７とモデルプログラムと、当該選択された制御装置７及びモデルプログラム間の中継経路をいう。
【００３７】
計測条件とはモデル演算部２や制御装置７から出力される制御信号のうち、計測対照となる制御信号の特定情報、計測期間、計測タイミング等をいう。
【００３８】
ホストコンピュータ６は、実行管理プログラムに基づいて、シミュレーション装置５で実行されるモデルプログラムの起動、停止、演算条件の変更設定のための信号をシミュレーション装置５に送信する。
【００３９】
詳述すると、実行管理プログラムが起動されると、ＯＳのＧＵＩプログラムを介してホストコンピュータ６のモニタ画面に、シミュレーションの操作画面が表示される。例えば、操作画面には、シミュレーションの起動スイッチや停止スイッチ、モデルプログラムがエンジンモデルプログラムであれば、イグニッションスイッチ、アクセルペダル等の操作スイッチや、エンジン回転数計や速度計等の計測表示器がグラフィック表示される。
【００４０】
オペレータにより操作画面が操作されると、対応する信号がシミュレーション装置５に送信される。
【００４１】
ホストコンピュータ６は、計測信号表示プログラムに基づいて、シミュレーション装置５から送信される計測データに基づいて、エンジン回転数計や速度計等の計測表示器にその時点の回転数や速度を反映して表示する。
【００４２】
さらに、ホストコンピュータ６は、計測信号表示プログラムに基づいて、シミュレーション装置５から入力され、メモリに格納された計測データに基づいてモニタ画面に計測データの時系列的な変動グラフ等を表示する。
【００４３】
以上の構成により、例えば、オペレータが、モニタに表示された変動グラフ等に基づいて制御装置７が適正に動作しているか否か等の評価を行なうことができるようにシミュレーションシステム１が構成されている。
【００４４】
シミュレーション装置５について詳述する。ＣＰＵボード５ａには、ＣＰＵとメモリと、ＰＣＩバスを介して入出力変換ボード５ｂと通信するＰＣＩ−Ｉ／Ｆ回路が備えられている。
【００４５】
ホストコンピュータ６からＬＡＮ９ｂを介してシミュレーションの起動指令を受信すると、ＣＰＵボード５ａでは、モデルプログラムが実行され、所定のモデル演算周期でモデル演算、信号計測処理等が実行され、モデル演算で生成された論理値である状態値、具体的にはパルス信号であれば信号周期や振幅、アナログ信号であれば信号レベル、デジタル信号であれば論理レベル等を示す状態値が生成され、入出力変換ボード５ｂに出力される。
【００４６】
生成された状態値は、環境条件として設定された信号経路の制御情報（以下、「経路情報」と記す。）に基づいて、ＰＣＩバスを介して、所定の入出力変換ボード５ｂに出力され、入出力変換ボード５ｂで論理値から物理値、つまりパルス信号やアナログ信号やデジタル信号に変換され、変換されたパルス信号やアナログ信号やデジタル信号が信号中継ボード５ｃを介して制御装置７に出力される。
【００４７】
また、制御装置７から出力されたパルス信号やアナログ信号やデジタル信号等の物理値である制御信号が、信号中継ボード５ｃを介して所定の入出力変換ボード５ｂに入力され、入出力変換ボード５ｂで物理値に変換された後に、ＰＣＩバスを介してＣＰＵボード５ａに出力される。
【００４８】
つまり、入出力変換ボード５ｂは、制御装置７に対する入出力信号の信号形態に対応すべく、ＤＡ変換ボード５１や、パルス信号生成ボード５２等の各種の入出力変換回路が組み込まれた専用ボードで構成されている。
【００４９】
また、信号中継ボード５ｃには、入出力変換ボード５ｂと制御装置７との間で入出力される信号の電気的レベルやインピーダンスを整合するレベル変換回路やインピーダンス変換回路が組み込まれている。
【００５０】
図４に示すように、例えば、ＤＡ変換ボード５１には、ＣＰＵボード５ａから入力された状態値をアナログ信号に変換して信号中継ボード５ｃに出力するＤＡコンバータ５１ｇ及び周辺回路が搭載され、パルス信号生成ボード５２には、ＣＰＵボード５ａから入力された状態値をパルス信号に変換して信号中継ボード５ｃに出力するパルスジェネレータ５２ｇ及び周辺回路が搭載されている。
【００５１】
周辺回路には、ＰＣＩ−Ｉ／Ｆ回路５１ａ，５２ａや、ＰＣＩ−Ｉ／Ｆ回路５１ａ，５２ａを介して入力された状態値を格納するレジスタ等を備えた信号処理ブロックや、信号処理ブロックを駆動するための基準クロック発生回路５１ｈ、５２ｈ等が含まれる。
【００５２】
このような周辺回路、ＤＡコンバータ５１ｇ、パルスジェネレータ５２ｇ等の回路ブロックは、プログラマブルな論理回路であるＦＰＧＡで構築され、或いは、安価なマイクロコンピュータとそのインタフェース回路等で構築されている。
【００５３】
また、制御装置７から入力された信号である物理値を論理値である状態値に変換してＣＰＵボード５ａに出力する入出力変換ボード５ｂも同様に構成されている。例えば、制御装置７から入力されたパルス信号を、その信号周期や振幅に変換してＣＰＵボード５ａに出力する回路ブロックを備えたパルス変換ボードや、制御装置７から入力されたアナログ信号を、その信号レベルを論理値に変換してＣＰＵボード５ａに出力するＡＤコンバータを備えたＡＤ変換ボード等である。
【００５４】
上述したように、モデル演算部から出力される状態値は所定のモデル演算周期で更新されるが、当該モデル演算周期より短い周期で制御装置７に信号を出力する必要がある場合に備えて、いくつかの入出力変換ボード５ｂには、モデル演算周期より短い周期で、繰返し状態値を補正する状態値補正部５１Ａを備えている。
【００５５】
例えば、図４に示すＤＡ変換ボード５１には、モデル演算部により状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正部５１Ａを備えている。
【００５６】
状態値補正部５１Ａは、過去の状態値を記憶する記憶部と、記憶部に記憶された過去の状態値に基づいて補正状態値を算出する演算回路を備えたハードウェア回路で構成されている。
【００５７】
詳述すると、状態値補正部５１Ａは、直近に入力された状態値を記憶する入力レジスタ５１ｂと、直近に制御装置７に出力する補正状態値を記憶する補正状態値レジスタ５１ｄと、入力レジスタ５１ｂまたは補正状態値レジスタ５１ｄｂに記憶された状態値に基づいて新たな状態値を生成する状態値補正回路５１ｃと、入力レジスタ５１ｂまたは補正状態値レジスタ５１ｄの何れに記憶された状態値を出力するかを切り替えるスイッチ５１ｅを備えている。
【００５８】
つまり、入力レジスタ５１ｂまたは補正状態値レジスタ５１ｄが記憶部となり、状態値補正回路５１ｃが演算回路となる。
【００５９】
信号出力部は、モデル演算部で算出された複数の状態値の一部に対して、状態値補正部を介して得られる補正状態値に基づく信号値を制御装置に出力し、他に対して、状態値補正部を介さずにその状態値に基づく信号値を制御装置に出力するように構成されている。
【００６０】
具体的には、スイッチ５１ｅが、モデル演算部２で算出された状態値を信号値に変換して制御装置７に出力するか、状態値補正部５１Ａにより補正された補正状態値を信号値に変換して制御装置７に出力するかを切り替える出力切替部となる。
【００６１】
状態値補正回路５１ｃは、論理値として与えられた初期値及び勾配に基づいて所定時間経過後の論理値を推定するルンゲ＝クッタ法による推定演算を行なう論理演算回路で構成されている。
【００６２】
ルンゲ＝クッタ法とは、所定時間経過後の値を、現在の値に時間と推定勾配の積を加えた値として導出する計算手法で、ここでは、４次の近似式を実現する論理回路として構築されている。
【００６３】
所定時間経過後とは、モデル演算周期より短い時間の経過後をいい、状態値補正部５１Ａにより補正される状態値は、モデル演算周期より短い周期で制御部７に取り込まれる信号に対応する状態値である。
【００６４】
状態値補正回路５１ｃの構成はこのようなものに限定されるものではなく、対象となる状態値の物理特性を模擬する回路、例えば伝達関数に基づいて所定時間経過後の値を予測演算可能な回路（例えばラプラス変換処理を実行する演算回路等）で適宜構成することができる。
【００６５】
図８には、状態値が一次遅れ特性を示す場合の回路例が示されている。状態値補正回路５１ｃは、過去の状態値を記憶する記憶部としてのシフトレジスタ５１ｃ１と、シフトレジスタ５１ｃ１に記憶された過去の状態値に基づいて補正状態値を算出する積分回路５１ｃ２を備えている。
【００６６】
積分回路５１ｃ２は、〔数１〕に基づいて、シフトレジスタ５１ｃ１に記憶された直近の過去２回の状態値のそれぞれに所定の係数を乗算した結果の加算値を、補正された状態値として出力するとともに、補正状態値レジスタ５１ｄに記憶するように構成されている。
〔数１〕
Ｙ（ｎ）＝αＹ（ｎ−１）＋βＹ（ｎ−２）
【００６７】
ここで、Ｙ（ｎ）は、補正状態値を示し、Ｙ（ｎ−１）は、前回の補正状態値を示す。尚、α、βは、補正状態値を算出する近似演算式に応じて決定される所定の係数で、環境設定により予め設定される。
【００６８】
このように、状態値補正部５１Ａは、ハードウェア回路で安価、且つ、高速に補正状態値が算出されるよう構成されているが、上述した演算回路と同様の処理を行なう状態値の補正処理プログラムを実行して、モデル演算周期より短い周期で状態値を補正する安価なマイクロコンピュータを用いて構成することも可能である。
【００６９】
状態値補正部５１Ａは、ＤＡ変換ボード５１に構築されるものに限らず、パルス信号生成ボード５２等の他の入出力変換ボード５ｂに構築されることも可能である。
【００７０】
例えば、パルス信号生成ボード５２に構築される場合には、モデル演算部から入力された状態値であるパルス周波数の初期値と勾配に基づいて、モデル演算周期よりも短い時間間隔でパルス周波数を補正する状態値補正部を備え、状態値補正部で補正されたパルス周波数をパルス信号に変換して信号中継ボード５ｃに出力するパルスジェネレータを備えればよい。
【００７１】
上述の例では、入出力変換ボード５ｂに一系統の信号処理回路が構築される場合を説明したが、各入出力変換ボード５ｂに複数系統の信号処理回路が構築されるものであってもよい。
【００７２】
例えば、パルス信号生成ボード５２に、クランク信号、車速信号等の複数系統のパルス信号を生成するための信号処理回路が設けられていてもよい。また、ＤＡ変換ボード５１に、エンジンの気筒数に対応して複数系統の信号処理回路が設けられていてもよい。図４には、エンジンの水温等のアナログ信号を出力する信号処理回路５１´ｇ（破線で示す）が設けられた場合が示されている。
【００７３】
ＣＰＵボード５ａに移植され、モデル演算部２により実行されるモデルプログラムは、上述したように、制御対象を模擬して制御対象の状態値を算出するモデルプログラムである。
【００７４】
例えば、エンジンを模擬するモデルプログラムが実行されると、モデル演算部２からクランクパルス信号、スロットルバルブ開度信号、Ａ／Ｆセンサ信号、筒内圧力信号（以下、「ＣＰＳ（Cylinder Pressure Sensor）信号」と記す。）等、エンジンの駆動状態を模擬する各種の信号に対応した状態値が生成され、このような模擬信号が制御装置７に入力されると、制御装置７からスロットルバルブ制御信号、燃料噴射パルス信号、点火信号等のエンジンを適正に制御するための制御信号が出力される。
【００７５】
このようなエンジンモデルプログラムは、例えば、所定形状のシリンダに吸気される燃料ガスの流れやシリンダから排気される燃焼ガスの流れを流体力学に基づいて模擬する流体計算プログラムや、エンジンの圧縮行程や膨張行程における燃焼室の容積変化を模擬する容積計算プログラムや、燃焼室におけるガス成分の燃焼反応を模擬する燃焼計算プログラム等を組み合わせることにより実現される。
【００７６】
エンジンモデルプログラムを実行することにより、例えば、ピストンからクランクシャフトへ伝達されるトルクが算出され、当該トルクに基づいてクランクシャフトの回転数が算出され、クランクパルス信号の状態値であるパルス周波数が算出される。
【００７７】
また、燃焼室の容積変化と燃焼反応等に基づく熱力学演算により気筒内の圧力変動が算出され、当該圧力変動に基づいてＣＰＳ信号の状態値が算出される。
【００７８】
尚、このようなエンジンモデルプログラムは、高精度の数値計算プログラムによって構成される場合のみならず、ＣＰＵボード５ａの演算速度を考慮して、それぞれを簡略化した数値計算プログラムによって構成される場合もあり、本発明では特に限定されるものではない。
【００７９】
さらに、エンジンモデルプログラムは、数値計算プログラムを用いることなく、制御装置７から出力されるスロットルバルブ制御信号、燃料噴射パルス信号、点火信号等の制御信号に対応して、エンジンから出力されるクランクパルス信号、スロットルバルブ開度信号、Ａ／Ｆセンサ信号、ＣＰＳ信号等のデータを、予め実車で計測した実車の制御データでなる信号データベースを作成し、当該信号データベースと、制御装置７から入力される制御信号に対応してエンジンから出力される信号を信号データベースから検索した値を状態値として出力する模擬信号生成プログラムで構成することも可能である。
【００８０】
モデル演算部２は、制御装置７から出力された制御信号、及び、必要に応じてホストコンピュータ６から送信されたアクセルペダル等の操作情報等の演算条件を入力する信号入力処理と、信号入力処理で入力された制御信号や操作信号に基づいて上述のモデルプログラムを実行するモデル演算処理と、モデル演算処理で生成された状態値を入出力変換ボード５ｂに出力する信号出力処理と、環境設定で設定された計測データをサンプリングするデータ計測処理の各処理を所定のモデル演算周期で繰返し実行する。
【００８１】
信号入力処理とは、主に入出力変換ボード５ｂからＰＣＩバスを介して制御装置７から出力された信号を取り込む処理である。信号出力処理とは、ＲＡＭに格納した状態値を入出力変換ボード５ｂに送信するため、ＰＣＩバスによる送信を起動する処理である。データ計測処理でサンプリングされた計測データはＲＡＭに格納され、モデル演算周期とは非同期の所定の時期に、信号計測部３によりＬＡＮを介してホストコンピュータ６に送信される。
【００８２】
尚、本実施形態では、信号計測部３で実行されるデータ計測処理がモデル演算部２により代替される構成を例示しているが、モデル演算処理の過程で、信号計測部３がデータ計測処理を実行するように構成してもよい。
【００８３】
モデル演算周期は、環境設定により適宜設定可能で、例えば、１００μｓｅｃ．に設定される場合には、上述の各処理が１００μｓｅｃ．で繰り返されて状態値が更新される。例えば、クランクパルス信号の周期や筒内圧力等の状態値がモデル演算部２から１００μｓｅｃ．で更新出力され、信号出力部を介してエンジンＥＣＵに出力される。
【００８４】
図３に示すように、４サイクルエンジンを例にすると、筒内圧力は、吸気行程・圧縮行程・膨張行程・排気行程の各行程で変化し、吸気行程から圧縮行程にかけて次第に上昇し、ピストンが圧縮上死点（ＴＤＣ）に達する前後の所定時期に、エンジン制御装置７から点火信号が出力されると、爆発燃焼により急激に上昇し、膨張行程及び排気行程で次第に低下する。
【００８５】
モデル演算部２では、１００μｓｅｃ．のインタバルで筒内圧力が算出され、対応するＣＰＳ信号が信号出力部から１００μｓｅｃ．のインタバルで制御装置７に出力される。
【００８６】
シミュレーション装置５と接続される制御装置７、ここではエンジン制御装置（以下、「エンジンＥＣＵ」と記す。）は、信号出力部４を介してモデル演算部２から出力されるクランクパルス信号、スロットルバルブ開度信号、Ａ／Ｆセンサ信号、ＣＰＳ信号等の模擬信号を入力して、スロットルバルブ制御信号、燃料噴射パルス信号、点火信号等をシミュレーション装置５に出力する。
【００８７】
エンジンＥＣＵでは、例えば、クランクパルス信号に同期してＣＰＳ信号を取り込み、当該ＣＰＳ信号に基づいてノッキングの状態等を検知して、適切なタイミングで点火信号を出力するような制御プログラムが実行される。
【００８８】
信号の入力処理を具体的に説明する。エンジンＥＣＵでは、クランクパルス信号が入力されると、外部信号割込み処理が起動され、当該外部信号割込み処理の起動間隔が内部タイマの値に基づいて算出されてクランクパルスの周期、つまりエンジンの回転速度が演算される。さらに当該外部信号割込み処理で、ＣＰＳ信号が入力されるＡＤ変換部が起動され、ＡＤ変換の終了により発生するＡＤ変換割込み処理でＣＰＳ信号が取り込まれる。
【００８９】
そして、ＣＰＳ信号等に基づいて適切な点火時期が演算され、その結果、クランクパルス信号等の信号に基づいて把握される気筒毎に適切なクランク角度で点火信号が出力される。
【００９０】
クランクパルス信号が５°ＣＡ間隔で出力される場合で、エンジンの回転数が２０００ｒｐｍのときには、（６０／２０００）×（５／３６０）＝４１６μｓｅｃ．間隔でクランクパルス信号が出力されるので、図５（ｂ）に示すように、モデル演算周期１００μｓｅｃ．より十分に長い間隔でＣＰＳ信号がエンジンＥＣＵにより取り込まれる。
【００９１】
一方、エンジンの回転数が１００００ｒｐｍのときには、（６０／１００００）×（５／３６０）＝８３．３μｓｅｃ．間隔でクランクパルス信号が出力されるので、図５（ｃ）に示すように、モデル演算周期１００μｓｅｃ．より短い周期でＣＰＳ信号がエンジンＥＣＵにより取り込まれる。
【００９２】
後者の場合のように、クランクパルス信号の周期がモデル演算周期より短くなると、モデル演算部２で過去に更新されたＣＰＳ信号の値と同じ値が連続してエンジンＥＣＵにより取り込まれることになり、エンジンＥＣＵの動作が適切であるか否かを正確に判断できなくなる虞がある。
【００９３】
このような場合であっても、上述の状態値補正部５１ＡをＤＡ変換ボード５１に設けていれば、モデル演算部２により状態値が更新されるまでの間、状態値補正部５１Ａにより過去の状態値に基づいて状態値が補正されてエンジンＥＣＵに出力される。
【００９４】
つまり、図５（ａ）に示すように、ＣＰＳ信号がＤＡ変換ボード５１の基準クロック信号の周期で離散的に変動するアナログ信号（図中、直線で示す）となり、現実のエンジンから出力されるＣＰＳ信号に近似する模擬信号（図中、点線に示す）として出力されるようになり、適正に補正されたＣＰＳ信号に基づいてエンジンＥＣＵが適正に動作しているか否かを正確に判断できるようになる。
【００９５】
ＤＡ変換ボード５１の動作を詳述する。図６（ａ）に示すように、ＤＡ変換ボード５１では、予め、環境設定によりスイッチ制御レジスタ５１ｆにスイッチの切替状態を規定する設定値が保存されている。ＰＣＩバスを介して入力レジスタ５１ｂに、筒内圧力値及び筒内圧力値の微分値が記憶されると（ＳＤ１）、基準クロック発生回路５１ｈから出力されるクロック信号に基づいて、モデル演算周期よりも短い所定の状態値更新周期がカウントされ、状態値更新周期に達するまでの間（ＳＤ２；Ｎ）、状態値補正回路５１ｃにより補正状態値が算出され（ＳＤ３）、算出された補正状態値が補正状態値レジスタ５１ｄに格納される処理が実行される（ＳＤ４）。
【００９６】
一方、ステップＳＤ２で、状態値更新周期になると（ＳＤ２；Ｙ）、スイッチ制御レジスタ５１ｆに記憶された設定値に基づいて、スイッチ５１ｅが接点Ｓ２側に接続されている場合は、補正状態値レジスタ５１ｄに格納された補正状態値がＤＡコンバータ５１ｇによりアナログ信号に変換されて出力され（ＳＤ５，ＳＤ６）、スイッチ制御レジスタ５１ｆに記憶された設定値に基づいて、スイッチ５１ｅが接点Ｓ１側に接続されている場合は、入力レジスタ５１ｂに格納された筒内圧力値を示す状態値がＤＡコンバータ５１ｇによりアナログ信号に変換されて出力される（ＳＤ８，ＳＤ９）。
【００９７】
尚、状態値更新周期は、モデル演算周期よりも短く設定される必要があり、制御装置７の最短入力周期以下の値に設定されることが好ましい。また、状態値更新周期は、入力レジスタ５１ｂに筒内圧力値及び筒内圧力値の微分値が記憶されるタイミングでリセットされ、当該タイミングでは入力レジスタ５１ｂに記憶された筒内圧力値が状態値補正回路５１ｃから出力されるように構成されている。
【００９８】
以上説明したように、状態値補正部５１Ａにより補正される状態値は、モデル演算周期と非同期で制御装置に取り込まれる信号に対応する状態値であり、制御装置において時間と非同期で実行される処理で用いられる信号に対応する状態値である。
【００９９】
図６（ｂ）に示すように、パルス信号生成ボード５２では、上述の構成に基づいて、ＰＣＩバスを介して入力レジスタ５２ｂに、クランクパルス信号の状態値である周期が保存されると（ＳＥ１）、基準クロック発生回路５２ｈから出力されるクロック信号に基づいて駆動されるパルスジェネレータ５２ｇにより、入力レジスタ５２ｂに記憶された周期に対応するクランクパルス信号が出力される（ＳＥ２，ＳＥ３）。
【０１００】
スイッチ制御レジスタ５１ｆに記憶されるスイッチの切替状態を規定する設定値が、ホストコンピュータ６から初期の環境設定時に送信される場合、当該状態値に関連する他の状態値に基づいて自動切替されるような設定値であってもよい。
【０１０１】
例えば、上述の場合であれば、クランクパルス周期が１００μｓｅｃ．より長いときにスイッチ５１ｅの接点をＳ１側に接続し、クランクパルス周期が１００μｓｅｃ．以下になるとスイッチ５１ｅの接点をＳ２側に接続するように設定してもよい。この場合、スイッチ制御レジスタ５１ｆにクランクパルス周期が入力され、その値によりスイッチ５１ｅを切り替える制御回路を設ければよい。
【０１０２】
また、モデル演算部２から状態値とスイッチ５１ｅに対する設定値がモデル演算周期で入出力変換ボード５ｂに出力されるように構成してもよい。この場合には、環境設定でモデル演算部２にスイッチ５１ｅに対する設定値の切替条件が送信されるように構成すればよい。
【０１０３】
上述した構成に基づいて、エンジンを模擬するモデルプログラムとエンジンＥＣＵ７とをシミュレーション動作する手順を以下に説明する。
【０１０４】
図７に示すように、シミュレーションシステム１に電源が投入されると、ＯＳが起動して初期設定が行なわれ、環境設定プログラムが起動される（ＳＡ１，ＳＢ１，ＳＣ１）。続いて、環境設定プログラムにより、ホストコンピュータ６のモニタに環境設定用の操作画面が表示され（ＳＡ２）、オペレータによりシミュレーションの環境条件が設定操作される。
【０１０５】
設定操作が完了すると（ＳＡ３）、モデルプログラム及びモデルプログラムに対応する環境条件がＬＡＮ９ｂを介してシミュレーション装置５のＣＰＵボード５ａに移植され（ＳＡ４）、モデル演算部２ではモデルプログラムの演算条件に基づいて環境が設定され、信号計測部３では移植された計測条件に基づいて環境が設定され（ＳＢ２）、信号出力部４では、移植された信号形態の定義情報及び経路情報に基づいて環境が設定される（ＳＣ２）。
【０１０６】
オペレータによりシミュレーションの開始操作がなされると（ＳＡ５）、実行管理プログラムによりホストコンピュータ６からモデル演算部２及び信号計測部３にシミュレーションの開始指令が送信される（ＳＡ６）。
【０１０７】
モデル演算部２では、制御装置７から出力された制御信号、及び、必要に応じてホストコンピュータ６から送信された演算条件を入力する信号入力処理と（ＳＢ３）、信号入力処理で入力された制御信号や操作信号に基づいてモデルプログラムを実行するモデル演算処理と（ＳＢ４）、モデル演算処理で生成された状態値を出力する信号出力処理と（ＳＢ５）、環境設定で設定された計測データをサンプリングするデータ計測処理（ＳＢ６）の各処理が所定のモデル演算周期で繰返し実行される（ＳＢ７）。
【０１０８】
信号出力部４から出力された状態値は、環境条件として設定された信号形態の定義情報や経路情報に基づいて、信号出力部４を介して所定の信号形態に変換され、所定の制御装置７或いはモデルプログラムに出力される（ＳＣ３）。
【０１０９】
信号計測部３では、環境条件として設定された計測条件に基づいて、制御装置７から出力される制御信号が計測データとして収集され、ホストコンピュータ６に出力される（ＳＢ８）。
【０１１０】
ホストコンピュータ６では、オペレータによりシミュレーションの終了操作がされるまで（ＳＡ９）、実行管理プログラムにより、計測データがメモリに格納され（ＳＡ７）、計測信号表示プログラムにより、過去の計測データとともにトレンドグラフとしてモニタに表示される（ＳＡ８）。
【０１１１】
オペレータにより終了操作がなされると、実行管理プログラムによりモデル演算部２と信号計測部３と信号出力部４に終了指令が送信され（ＳＡ１０）、当該終了指令を受信したモデル演算部２と信号計測部３と信号出力部４は処理を終了する（ＳＢ９、ＳＣ４）。
【０１１２】
即ち、ステップＳＢ３からステップＳＢ７により、制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰返すモデル演算ステップが構成され、ステップＳＣ３により、モデル演算ステップで算出された状態値を信号値に変換して制御装置７に出力する信号出力ステップが構成されている。
【０１１３】
また、図６（ａ）に示すように、ステップＳＤ３とステップＳＤ４により、上述のモデル演算ステップにより状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正ステップが構成され、信号出力ステップは、ステップＳＤ５とステップＳＤ６により、状態値補正ステップにより算出された補正状態値を信号値に変換して制御装置７に出力するように構成されている。
【０１１４】
以下、別実施形態を説明する。上述した実施形態では、ホストコンピュータからの環境設定で状態値補正部に組み込まれたスイッチ回路５１ｅの切替条件を設定する構成を説明したが、制御装置７からの要求に基づいて状態値を補正するように構成してもよい。
【０１１５】
例えば、上述の構成で、制御装置（エンジンＥＣＵ）７から出力される点火パルス信号をＤＡ変換ボード５１に入力可能に構成し、ＤＡ変換ボード５１に点火パルス信号の周期を計測する計測部を備え、計測部により当該点火パルス信号が入力されたことが計測されると状態値を補正し、計測部により当該点火パルス信号が入力されていないことが計測されると状態値を補正することなく、状態値を信号値に変換して制御装置７に出力するように構成すればよい。
【０１１６】
また、計測部により、当該点火パルス信号の周期が所定周期より長いと検知されたときに、入力レジスタ５１ｂの状態値が制御装置７に出力され、当該点火パルス信号の周期が所定周期（例えば、モデル演算周期等、環境設定により設定される周期）より短くなったと検知されたときに、状態値補正回路５１ｃで補正された状態値が制御装置７に出力されるように、計測部の判定結果に基づいて制御レジスタ５１ｆによりスイッチ回路５１ｅが切り替えられるように構成してもよい。
【０１１７】
つまり、制御装置７から出力される制御信号をモニタ信号として入力し、モニタ信号の有無または周期に基づいて状態値を補正するか否かを切り替えるのである。
【０１１８】
上述の実施形態では、状態値補正部５１Ａで実行される補正処理の周期が固定されている構成を説明したが、状態値補正部５１Ａで実行される補正処理の周期が可変設定されるように構成してもよい。
【０１１９】
例えば、環境設定で補正周期を可変設定する情報を記憶するレジスタを備え、当該レジスタの設定値により基準クロック発生回路５１ｈから状態値補正回路５１ｃに出力されるクロックの分周比が可変設定されるように構成すればよい。
【０１２０】
例えば、スイッチ制御レジスタ５１ｆに記憶されるスイッチの切替状態を規定する設定値が、当該状態値に関連する他の状態値に基づいて自動切替されるような設定値である場合に、他の状態値に基づいて基準クロック発生回路５１ｈから状態値補正回路５１ｃに出力されるクロックの分周比が可変設定されるような分周比切替回路を備えてもよい。具体的に、クランクパルスの周期が他の状態値として入力される場合、分周比切替回路により、クランクパルスの周期に応じて段階的に分周比が切り替えられるように構成し、クランクパルスの周期が短くなれば分周比が小さくなるように構成すればよい。
【０１２１】
例えば、制御装置７から出力される制御信号をモニタ信号として入力し、モニタ信号の周期に基づいて状態値を補正する場合、分周比切替回路により、当該モニタ信号の周期に応じて段階的に分周比が切り替えられるように構成し、当該モニタ信号の周期が短くなれば分周比が小さくなるように構成すればよい。
【０１２２】
また、上述の実施形態では、補正状態値の算出対象となる状態値が、エンジンから出力される筒内圧力値である場合を説明したが、補正状態値の算出対象となる状態値はこれに限るものではないことはいうまでもない。
【０１２３】
例えば、ハイブリッド車には、インバータで駆動するＵ相、Ｖ相及びＷ相の三相のコイルを備えた同期モータと、当該モータのトルク制御を行うモータＥＣＵが備えられている。
【０１２４】
モータＥＣＵでは、アクセル開度、ブレーキ量、車速等の状態値に応じて、各相のコイルに流入する磁束方向及びこれに直交する方向の電流ベクトル量を制御すべくインバータ回路に制御信号を出力し、さらに、当該電流ベクトル量をコイル電流値に基づいてフィードバック制御して、モータに所定のトルクを発生させる電流ベクトル制御が実行される。
【０１２５】
このような場合、モータの回転数が所定値より上昇したときに、モデル演算部２からモータＥＣＵに出力されるコイル電流値に対する状態値を上述した状態値補正部で補正することも可能である。
【０１２６】
また、筒内圧力と同様、モデル演算部２でシリンダに備えたイオン電流センサの値を模擬する場合には、当該イオン電流センサの出力を示す状態値を上述した状態値補正部で補正することも可能である。
【０１２７】
上述した実施形態では、信号出力部が、状態値補正部により算出された補正状態値に基づく信号値を制御装置に出力するシミュレーション装置を説明したが、信号出力部により、状態値補正部により算出された補正状態値に基づく信号値を出力する対象は制御装置に限るものではない。
【０１２８】
例えば、大規模な制御対象を複数のシミュレーション装置を用いて模擬する場合等では、制御対象を分割して各シミュレーション装置によりそれぞれ異なるモデル演算を分散して実行する分散型のシミュレーションシステムが構築され、一つのシミュレーション装置から出力される信号が他のシミュレーション装置に入力されてモデル演算が実行される。
【０１２９】
そのような場合に、一つのシミュレーション装置の信号出力部が、状態値補正部により算出された補正状態値に基づく信号値を他のシミュレーション装置に出力することも可能となる。
【０１３０】
つまり、制御装置によって制御される制御対象を模擬するシミュレーション装置であって、制御対象を模擬して制御対象の状態値を算出するモデル演算を所定のモデル演算周期で繰り返し実行するモデル演算部と、モデル演算部で算出された状態値に基づく信号値を出力する信号出力部と、モデル演算部により状態値が更新されるまでの間、過去の状態値に基づいて状態値を補正する状態値補正部を備え、信号出力部は、状態値補正部により算出された補正状態値に基づく信号値を出力するようにシミュレーション装置が構築される。
【０１３１】
本発明によるシミュレーションシステム１は、車両システムを構成する任意の制御装置に適用でき、さらには、航空機、空調システム、又は化学プラント等の様々な制御装置にも適用することができる。
【０１３２】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、適宜変更設計することが可能である。
【符号の説明】
【０１３３】
１：シミュレーションシステム
２：モデル演算部
４：信号出力部
５：シミュレーション装置
６：ホストコンピュータ
７：制御装置（ＥＣＵ）
５ａ：ＣＰＵボード
５ｂ：入出力変換ボード（信号出力部）
５ｃ：信号中継ボード（信号出力部）
５１：ＤＡ変換ボード
５１Ａ：状態値補正部
５１ｃ：状態値補正回路
５１ｃ１：シフトレジスタ（記憶部）
５１ｃ２：積分回路
５１ｄ：補正状態値レジスタ
５１ｅ：スイッチ回路
５１ｆ：スイッチ制御レジスタ
５１ｇ：ＤＡコンバータ
５１ｈ：基準クロック発生回路
５２：パルス信号生成ボード
５２ｇ：パルスジェネレータ
５２ｈ：基準クロック発生回路
【図３】
2010218328.tif 000003
【図４】
2010218328.tif 000004
【図５】
2010218328.tif 000005
【図６】
2010218328.tif 000006
【図７】
2010218328.tif 000007
【図８】
2010218328.tif 000008
【図１】
2010218328.tif 000009
【図２】
2010218328.tif 000010