JP2008269022A - シミュレーション装置、シミュレーション方法、及び開発支援方法 - Google Patents
シミュレーション装置、シミュレーション方法、及び開発支援方法 Download PDFInfo
- Publication number
- JP2008269022A JP2008269022A JP2007107411A JP2007107411A JP2008269022A JP 2008269022 A JP2008269022 A JP 2008269022A JP 2007107411 A JP2007107411 A JP 2007107411A JP 2007107411 A JP2007107411 A JP 2007107411A JP 2008269022 A JP2008269022 A JP 2008269022A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- simulation
- input
- actual
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】製品開発における設計、検証、訂正の各工程にシミュレーション装置を適用する場合の各装置の操作感を同じにし、前の工程の検証データを次の工程に移行可能とする。
【解決手段】ソフトウエア・シミュレーション装置20とハードウエア・シミュレーション装置30を備えたシミュレーション装置において、ハードウエア・シミュレーション装置30に備えられた、モデル化された制御対象モデル31、制御対象モデル31を制御する実制御ユニット33と、制御アプリケーション32と、実計測シミュレータ34、及びコントローラ35のうち、少なくとも実制御ユニット33と実計測シミュレータ34を、ソフトウエア・シミュレーション装置20において仮想的にソフトウエアで構成し、ソフトウエア・シミュレーション装置30におけるデータがそのままハードウエア・シミュレーション装置で使用できるようにしたシミュレーション装置である。
【選択図】図3
【解決手段】ソフトウエア・シミュレーション装置20とハードウエア・シミュレーション装置30を備えたシミュレーション装置において、ハードウエア・シミュレーション装置30に備えられた、モデル化された制御対象モデル31、制御対象モデル31を制御する実制御ユニット33と、制御アプリケーション32と、実計測シミュレータ34、及びコントローラ35のうち、少なくとも実制御ユニット33と実計測シミュレータ34を、ソフトウエア・シミュレーション装置20において仮想的にソフトウエアで構成し、ソフトウエア・シミュレーション装置30におけるデータがそのままハードウエア・シミュレーション装置で使用できるようにしたシミュレーション装置である。
【選択図】図3
Description
本発明はシミュレーション装置、シミュレーション方法、及び開発支援方法に関し、特に、製品開発における各段階において、それぞれ独立に使用されていた、ソフトウエアシミュレーション装置とハードウエアシミュレーション装置のデータを統合して共通化したシミュレーション装置、シミュレーション方法、及び開発支援方法に関する。
一般に、電子機器の製品開発においては、製品の企画から製品化まで、段階的な工程、例えば、要求仕様書の作成工程、外部仕様書の作成工程、設計書の作成工程、及びソース・プログラム(ソース・コード)の作成工程、を踏んで具体化していくことが行われている。この理由は、もし工程内で誤りが発見された場合に、前工程に戻ってやり直すことによるコストアップを極力少なくするためである。即ち、各工程を小さくすることによって検証を容易にし、誤りが発生してもこれが前の工程や後の工程に影響しないようにするためである。
前述のような製品開発の各工程においては、検証を行う手法として、シミュレーション装置を用いた検証が行われている。シミュレーション装置を用いた検証では、完全なソフトウエアシミュレーション(SILS:Software In the Loop Simulationであり、以後SILSと記載する)による検証から、一挙に現実システム(ハードウエア)を用いたシミュレーション(HILS:Hardware In the Loop Simulationであり、以後HILSと記載する)による検証に移行するという手順ではなく、システムの一部ずつを徐々に現実化して検証することが行われており、前工程に戻るリスクを小さくしている。
このように、システムの一部ずつを徐々に現実化して検証する手法では、検証に多人数の要員が必要であり、この手法は規模の大きなプロジェクトを実行する際に有効である。即ち、図1に示すように、前述の要求仕様書1の作成工程、外部仕様書2の作成工程、設計書3の作成工程、及びソース・コード4の作成工程がある場合には、各工程で小さな設計、検証、訂正のループを、特に設計段階の早い段階(上流側)で回し、小ループによる検証を繰り返して実施し、その結果を下流は引き継いで行くことにより、下流での工数を削減してリスクを最小にすることができるからである。
一方、このような要求に答えるべく、設計用の支援ソフトウエアの開発会社が様々なレベルでシミュレーションシステムを開発している。このシミュレーションシステムには、擬似信号作成方法や計測信号表示方法などが含まれている。図2は、要求仕様書1の作成工程、外部仕様書2の作成工程、設計書3の作成工程、ソース・コード4の作成工程、部品検査結果5の検証工程、及び製品検査結果6の検証工程がある場合に、SILS(ソフトウエア・シミュレーション)10とHILS(ハードウエア・シミュレーション)30による設計や検証が、どの工程に使用されるかを示すものである。図2における設計、検証、訂正を示す楕円の大きさが、その作業の工数を表している。
前述のように、設計、検証、訂正の各工程にシミュレーションシステムを適用する場合には、本来はシステムの一部ずつを現実化することにより、各工程を短く設定することが望ましいが、各工程でシミュレーションレベルを変更すると、例えば以下のような問題点が生じるため、本来必要とされる細かさまで各工程を短くすることができないという問題点があった。
(1)ユーザインタフェースが各シミュレーションレベルによって異なるので、シミュレーションシステムの操作感が異なる。(2)前の工程で使用した検証データが次の工程に移行できない。(3)入出力チャンネルの位置、精度等の設定が前の工程から次の工程に移行できない。
そこで、本発明は、製品開発における設計、検証、訂正の各工程にシミュレーション装置を適用し、各工程の一部をそれぞれ現実化した場合でも、シミュレーション装置の各シミュレーションレベルでユーザインタフェースを同じにすることができ、シミュレーション装置の操作感を同じにすると共に、前の工程で使用した検証データ、入出力チャンネルの位置、及び精度等の設定を次の工程に移行することができ、各工程を短く設定することができるシミュレーション装置、シミュレーション方法、及び開発支援方法を提供することを目的としている。
前記目的を達成する本発明のシミュレーション装置は、制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置において、ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、制御対象モデルを制御する実制御ユニット、制御アプリケーション、実計測シミュレータ、及びコントローラのうち、少なくとも実制御ユニットと実計測シミュレータとを、ソフトウエア・シミュレーション装置においてそれぞれ仮想的にソフトウエアで構成し、ソフトウエア・シミュレーション装置におけるデータがそのままハードウエア・シミュレーション装置で使用できるようにしたことを特徴としている。
このシミュレーション装置において、ハードウエア・シミュレーション装置における、モデル化された制御対象モデル、制御対象モデルを制御する実制御ユニット、制御アプリケーションと、実計測シミュレータ、及びコントローラが、ソフトウエア・シミュレーション装置ではそれぞれ、ソフトウエアで構成された仮想制御対象モデル、仮想制御対象モデルを制御する仮想制御ユニット、制御アプリケーション、仮想計測シミュレータ、及びコントローラで構成されており、仮想計測シミュレータへの仮想入出力が、実計測シミュレータインタフェースへの入出力と同じであり、仮想計測シミュレータにおけるデータがそのまま実計測シミュレータで使用できるようになっていることが可能である。
また、実計測シミュレータが、書き換え可能なメモリを備えた入出力処理部、入力ボードを備えた信号計測部、及び出力ボードを備えた擬似信号発生部を備えていても良い。更に、入力ボードから入力されたデータが、入出力処理部の前記メモリに格納され、格納されたデータはワイヤハーネスを介してコントローラへ伝達され、コントローラで設定された出力値は、ワイヤハーネスを介して入出力処理部のメモリに格納され、出力ボードを介して実制御ユニットに出力され、制御対象モデルを計測シミュレータ上で、或いは実制御ユニットによって動作させることにより、制御アプリケーションの検証が可能となっていても良い。
更に又、仮想計測シミュレータが、入出力処理部を仮想的にシミュレートした仮想入出力処理部、入力ボードを備えた信号計測部を仮想的にシミュレートした仮想入力ボードを備えた仮想信号計測部、及び出力ボードを備えた擬似信号発生部を仮想的にシミュレートした仮想出力ボードを備えた仮想擬似信号発生部を備えていても良く、仮想入力ボードから入力されたデータは仮想入出力処理部のメモリに格納され、格納されたデータは仮想ワイヤハーネスを介して前記コントローラへ伝達され、コントローラで設定された出力値は、仮想ワイヤハーネスを介して仮想入出力処理部のメモリに格納され、仮想出力ボードを介して仮想制御ユニットに出力され、制御対象モデルを仮想前記計測シミュレータ上で、或いは仮想制御ユニットによって動作させることにより、制御アプリケーションの検証が可能となっていても良い。
前述のシミュレーション装置において、入力ボードと出力ボードが制御対象モデルに対して遣り取りする入出力チャンネル情報と全く同じ入出力チャンネル情報を、仮想入力ボードと仮想出力ボードが、制御対象モデルに対して遣り取りすることができる。
更に、これらのシミュレーション装置において、ハードウエア・シミュレーション装置の制御対象モデルから実制御ユニットに送られる実データ信号に対応して、ソフトウエア・シミュレーション装置の制御対象モデルから想制御ユニットに送られる仮想データ信号を入力信号とし、実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることができる。また、これらのシミュレーション装置において、ハードウエア・シミュレーション装置の制御対象モデルから実制御ユニットに送られる実データ信号に基づいて、実制御ユニットがキャプチャ時刻を生成する場合に、ソフトウエア・シミュレーション装置の制御対象モデルから想制御ユニットに送られる仮想データ信号に基づいて、仮想制御ユニットにキャプチャ時刻を生成させ、このキャプチャ時刻信号から前記実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることができる。
前記目的を達成する本発明のシミュレーション方法は、制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置におけるシミュレーション方法であって、ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、制御対象モデルを制御する実制御ユニットと、制御アプリケーションと、実計測シミュレータ、及びコントローラに対して、ソフトウエア・シミュレーション装置において、少なくとも実制御ユニットを仮想制御対象モデルを制御する仮想制御ユニットでシミュレートすると共に、実計測シミュレータを仮想計測シミュレータでシミュレートして、仮想計測シミュレータへの仮想入出力を実計測シミュレータインタフェースへの入出力と同じにして、仮想計測シミュレータにおけるデータがそのまま実計測シミュレータで使用できるようにしたことを特徴としている。
なお、前記目的を達成する本発明のシミュレーション装置は、第1の装置と第2の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムのシミュレーションをソフトウエアで行うシミュレーション装置において、模擬システムを少なくとも信号線が介在する箇所で分割した模擬システムの機能ブロック毎に、ソフトウエアによるシミュレーションを実行するシミュレーション手段を備え、シミュレーション手段は、機能ブロック間の信号の遣り取りを、信号線を介して伝達される際のデータ形式に変換した上で行うことを特徴とするシミュレーション装置とすることができる。
また、前記目的を達成する本発明の開発支援方法は、所定の制御システムに用いられるプログラムの開発を支援する開発支援方法であって、制御システムのシミュレーションをソフトウエアで行って、プログラムの検証を行う第1検証ステップと、第1検証ステップの後に、制御システムのシミュレーションをハードウエアで行って、プログラムの検証を行う第2検証ステップとを備え、第2検証ステップにおけるハードウエアでのシミュレーションは、複数の装置を信号線で接続して行うものであり、第1検証ステップにおけるソフトウエアでのシミュレーションは、第2検証ステップにおけるハードウエアでのシミュレーションで分割して構成されている複数の装置を、それぞれ異なるモジュールで構成してシミュレーションを行うものであることを特長とする開発支援方法である。
この場合、第1検証ステップのモジュール間におけるデータの遣り取りのうち、第2検証ステップの複数の装置間における信号の遣り取りに該当するものは、第2検証ステップにおける複数の装置間で信号を遣り取りする際と同じデータ形式にデータを変換するデータ変換モジュールを介して行うことができる。
本発明のシミュレーション装置、シミュレーション方法、及び開発支援方法によれば、製品開発における設計、検証、訂正の各工程にシミュレーション装置を適用し、各工程の一部をそれぞれ現実化した場合でも、シミュレーション装置の各シミュレーションレベルでユーザインタフェースを同じにすることができ、シミュレーション装置の操作感を同じにすると共に、前の工程で使用した検証データ、入出力チャンネルの位置、及び精度等の設定を次の工程に移行することができ、各工程を短く設定することができるという効果がある。
以下、添付図面を用いて本発明の実施の形態を具体的な実施例に基づいて詳細に説明する。なお、以下の実施例では、開発される製品として、電子制御機器である電子制御式内燃機関(内燃機関は以下エンジンと記す)の例を説明する。電子制御式エンジンは、例えば、マイクロコンピュータを内蔵したECU(電子制御ユニット)によって制御されるものである。
図3は、製品開発における企画から製品化までの各工程の、設計事項の検証にシミュレーションシステムを使用した場合の本発明の検証手順を示す説明図である。本発明のシミュレーションシステムにも、要求仕様書1の作成工程、外部仕様書2の作成工程、設計書3の作成工程、ソース・コード4の作成工程、部品検査結果5の検証工程、及び製品検査結果6の検証工程がある。そして、要求仕様書1の作成工程からソース・コード4の作成工程までがSILS(ソフトウエア・シミュレーション)20で行われ、ソース・コード4の作成工程と部品検査結果5の検証工程がHILS(ハードウエア・シミュレーション)30によって行われて製品検査結果6が得られる。
図3では、SILS20とHILS30を示す楕円が、検証方法として使用される範囲を示している。また、ソースコード4ができてからの検証手段としてHILS30が使用されるが、実ECU33ができていなければHILS30はできない。その場合は、SILS20で検証が行われる。
要求仕様書1の作成工程から製品検査結果6の検証工程の各工程の右側に示してあるのは、SILS20の内容、HILS30の内容、及び実機環境40の内容を示すものである。製品開発における企画から製品化までの間には、SILS20による検証、HILS30による検証、及び実機環境40による検証が行われるので、これを実機環境40による検証、HILS30による検証、及びSILS20の順に説明する。
製品検査結果6の検証工程では実機環境40が使用される。実機環境40には、実車(電子制御式エンジン)41、実車41を制御するECUアプリケーション(ECUアプリ)42を備えた実ECU43と、実車41の計測システム44、及びパーソナルコンピュータ(PC)45が備えられている。実機環境40では、実ECU43によって制御される実車42のデータが計測システム44で計測され、パーソナルコンピュータ45で検証される。
この実機環境40は、HILS30によって検証することが可能である。HILS30には、実車41に相当する制御対象モデル31、制御対象モデル31を制御するECUアプリケーション32を備えた実ECU33と、制御対象モデル31の計測シミュレータ34、及びパーソナルコンピュータ35が備えられている。HILS30では、実ECU33によって制御される制御対象モデル31のデータが計測シミュレータ34で計測され、パーソナルコンピュータ35で検証される。
HILS30は更に、SILS20によって検証することが可能である。SILS20には、制御対象モデル31に対応する制御対象モデル21、制御対象モデル21を制御するECUアプリケーション22を備えた仮想ECU23と、制御対象モデル21を仮想的にシミュレートする仮想計測シミュレータ24、及びパーソナルコンピュータ25が備えられている。SILS20では、仮想ECU23によって制御される制御対象モデル21のデータが仮想計測シミュレータ24で計測され、パーソナルコンピュータ25で検証される。
図4は、製品開発における企画から製品化までの開発ステップの、設計事項の検証にシミュレーションシステムを使用した場合の本発明の検証手順の内容を、更に詳しく示すものである。この検証手順では、図3で説明したSILS20の前段に、更にもう1つのSILS10が設けられている。SILS10は完全な仮想ソフトウエアによる仕様レベルのシミュレータであり、アプリケーション11、仮想制御対象12.及びパソコン上で動作するシミュレータ13がある。アプリケーション11はC言語レベルであり、仮想ハードウエアまでは実現しておらず、仮想制御対象12はエンジンである。SILS10における検証データは、SILS20において使用できなくても良い。
SILS10の後段にあるSILS20は、図3で説明したSILS20と同じであり、アプリケーション22、仮想制御対象21、仮想ECU22、及び仮想計測システム26を備えている。仮想計測システム26は図3で説明した仮想計測シミュレータ24とパーソナルコンピュータ25をまとめたものである。アプリケーション22には仮想ハードウエアが加わり、仮想計測システム26は、計測システムを仮想化したものである。
SILS20の後段にあるHILS30は、図3で説明したHILS30と同じであり、アプリケーション32、仮想制御対象31、実ECU32、及びシミュレーションシステム36を備えている。シミュレーション36は図3で説明した計測シミュレータ34とパーソナルコンピュータ35をまとめたものである。シミュレーションシステム36は仮想的なものではなく、実際のハードウエアからなるシステムである。HILS30は、マイコンレベルのシミュレータと呼ばれる。
HILS30の後段にある実機40は、図3で説明した実機40と同じであり、アプリケーション42、制御対象である実車41、実ECU43、及び計測システム46を備えている。計測システム46は図3で説明した計測システム44とパーソナルコンピュータ45をまとめたものである。シミュレーションシステム36は仮想的なものではなく、実際のハードウエアからなるシステムである。
本発明のシミュレーション装置は、SILS10の構成、HILS30の構成、及び実機環境40は、従来のシミュレーション装置におけるこれらの構成と大差なく、SILS20の構成がこれまでと異なる。
図5は図4のマイコンレベルのSILS20の内部構成の一例を示すものである。仮想制御対象21は制御対象モデル実行部21Aとして示されており、ここにはバスで接続されたプラントモデル21Bとモデルコントロール部21Cとがある。プラントモデル21Bは制御対象となる外部機構等をシミュレートするものであり、モデルコントロール部21Cはプラントモデル21Bを制御するものである。
仮想ECU23には、仮想マイコンコア部23Aと仮想マイコンリソース部23Bとがある。仮想マイコンコア部23Aは、電子機器(この場合はエンジン)を制御するマイクロコンピュータであり、バスで接続されたコントロールソフトウエア23aと、実機環境と同一のインタフェースを持つI/Oドライバ(I/Oは図ではIOと記載)23bとを備える。また、仮想マイコンリソース部23Bにはリソース23cがある。
図5に示すリソース23cには、フリーランタイマ(図には単にタイマと記載)、通信を行う通信部及びパルス入力を扱うキャプチャ、及びコンペアが示してあるが、リソース23cにはこの他にも、入力系のリソースとして、例えば、デジタル信号を扱う入力ポートやラッチポート、アナログ入力を扱うA/Dコンバータがあり、出力系のリソースとしては、デジタル出力を出力する出力ポート、パルス出力を出力するPWM(パルス幅変調器)とアナログ出力を出力するシリアル、及び通信を行う通信回路等がある。更に、仮想マイコンコア部23Aと仮想マイコンリソース部23Bの中には図示しない仮想レジスタがあり、両者はデータの交換を行うことができる。
仮想計測システム26は、図5には仮想計測シミュレータ部24のみが示されている。仮想計測シミュレータ部24にはバスで接続されたI/Fボードモデル24Aと仮想I/O処理部24Bがある。I/Fボードモデル24AはI/Fボード機能をシミュレートするものであり、制御対象モデル実行部21Aのモデルコントロール部21Cと、仮想ECU23の仮想マイコンリソース部23Bとがバスで接続されている。仮想I/O処理部26Cは、I/Oドライバ23bで得られた入出力情報を、仮想マイコンリソース部23Bのリソース23cに伝える動作を行うことができる。
図5に示すコントローラ27は、図4に示したSILS20の仮想計測システム26の一部を示すものであり、このコントローラ27には表示器28が接続される。コントローラ27は、計測値の画面表示、入出力チャンネル情報、及び検査用入出力設定情報を扱うことができる。また、コントローラ27はバスで仮想計測シミュレータ部24と接続されている。
図6(a)は、制御対象7のシミュレーションを行う場合の、シミュレーションシステム50のシステム構成を示すものである。このシステムには、ブロックで示す制御対象7、制御コンピュータ8、計測シミュレータ14、及びコントローラ27があり、それぞれハーネス18で接続されている。計測シミュレータ14は、RAMを備えたI/O処理部17に接続する擬似信号発生部(出力ボード)15と信号計測部16(入力ボード)を備えている。また、各ブロックの間に示した矢印は、各要素間のデータフローを意味している。
シミュレーションシステム50では、I/O処理部17により、入力ボード16からのデータがI/O処理部17のRAMに集約され、LANなどのワイヤハーネス18を介してコントローラ27に渡される。また、コントローラ27で設定された出力値はI/O処理部17のRAMに集約され、出力ボード15を使用して制御コンピュータ8に出力される。制御対象はモデル化されたものを、計測シミュレータ14上、或いはコントローラ27上で動かすことにより、制御コンピュータ8のソフトウエアである制御アプリケーションが机上で検証可能になっている。
図6(b)は(a)のシミュレーションシステム50をHILS30で構成した場合の物理構成の一例を示すブロック図である。HILS30では、図6(a)の制御コンピュータ8が図3で説明したECUアプリケーション32と実ECU33に対応し、計測シミュレータ14が計測シミュレータ34に対応し、制御対象7が制御対象モデル31に対応し、コントローラ27がパーソナルコンピュータ35に対応する。計測シミュレータ34は、I/O処理部、出力ボード及び入力ボードを含む。HILS30でも、実ECU33と計測シミュレータ34、及び計測シミュレータ34とパーソナルコンピュータ35はハーネス37で接続される。
HILS30では、前述のシミュレーションシステム50の動作と同様に、制御シミュレータ34のI/O処理部により、入力ボードからのデータがI/O処理部のRAMに集約され、ハーネス37を介してコントローラであるパーソナルコンピュータ35に渡される。また、パーソナルコンピュータ35で設定された出力値はI/O処理部のRAMに集約され、出力ボードを使用して制御コンピュータである実ECU33に出力される。制御対象がモデル化された制御対象モデル31は、計測シミュレータ34上、或いはPC35上で動かすことにより、パーソナルコンピュータ35のソフトウエアである制御アプリケーションが机上で検証可能になっている。
これに対して、図6(c)は(b)のHILS30をSILS20で構成した場合の論理構成の一例を示すブロック図を示すものである。本発明のSILS20では、HILS30の制御対象モデル31とパーソナルコンピュータ35は、同様の制御対象モデル21とパーソナルコンピュータ25で構成されているが、ECUアプリケーション32を備えた実ECU33が、ECUアプリケーション22を備えた仮想ECU23に置き換えられ、計測シミュレータ34が仮想計測シミュレータ24で置き換えられている。SILS30では、仮想ECU23と仮想計測シミュレータ24とは仮想ハーネス29で接続されるが、仮想計測シミュレータ24はパーソナルコンピュータ25上にあるので、データの遣り取りに仮想ハーネスは必要なく、コンピュータ内の単なる関数コール、即ちプログラムの呼び出し(図には呼出38と記載)で行うことができる。
SILS20の場合、HILS30のI/O処理部を仮想化して仮想計測シミュレータ24とし、制御コンピュータ8のハードウエアに相当するHILS30の実ECU33を仮想ECUとして実現している。即ち、I/O処理部のRAM構成や、ECUと出力・計測ボードのI/Fを仮想的にシミュレートすることにより、I/O処理部やECUを実物にした環境であるHILS30に対して、検証用入力データ、信号モニタ箇所、検証一致確認用データをそのまま移行することができる。
このように、ある機能実現ブロックを仮想化し、そのI/Fはどの実現レベルでも同じにすることにより、ソフトウエアシミュレーションから現実のシステム検証まで、一貫した検証環境のシミュレーションシステムを提供できる。
即ち、SILS30では、前述のHILS30の動作と同様に、仮想制御シミュレータ24のI/O処理部により、入力ボードからのデータがI/O処理部のRAMに集約されて、呼び出し処理でパーソナルコンピュータ25に渡される。また、パーソナルコンピュータ25で設定された出力値はI/O処理部のRAMに集約され、出力ボードを使用して仮想ハーネス29から仮想ECU23に出力される。制御対象がモデル化された制御対象モデル21は、計測シミュレータ24上、或いはパーソナルコンピュータ25上でHILS30と動揺に動かすことにより、パーソナルコンピュータ25のソフトウエアである制御アプリケーションが机上で検証可能になっている。
このように、本発明においては、パーソナルコンピュータ用の市販の物理シミュレータを使用する場合でも、HILS30やそれ以降の工程で使用する計測シミュレータ34を仮想的に実現した、仮想シミュレータ24上で動作させることにより、SILS20からHILS30とそれ以降の工程への数々のデータ移行が、何の変換もなしに可能となる。
図7は図6(b)、(c)に示したHILS30及びSILS20に共通の内部処理の手順を示すフローチャートであり、点線で示す境界の左側がパーソナルコンピュータ(PC)、右側が(仮想)計測シミュレータを表している。HILSの場合はこの境界が物理的境界となり、HILSではこの境界を通してイーサネット(登録商標)等の通信が行われ、SILSでは関数呼出が行われる。具体的に説明すると、パーソナルコンピュータ25,35では、計測制御(ステップ701)、計測データの画面表示(ステップ702)、及びその他の処理(ステップ703)が所定周期で繰り返し実行される。そして、計測ステップ701ではパーソナルコンピュータ25,35と、計測シミュレータ34と仮想計測シミュレータ24との間で、データ通信が行われる。即ち、パーソナルコンピュータ25,35側からデータの送信要求が計測シミュレータ34と仮想計測シミュレータ24側に出力されると、計測シミュレータ34と仮想計測シミュレータ24側ではデータ要求割り込み処理が行われ、ステップ704でデータ送信が行われる。
ステップ704のデータ送信において送信されるデータは、計測シミュレータ34と仮想計測シミュレータ24のI/O処理部における、図8に示すI/O処理のメインルーチンによって得られる。I/O処理のメインルーチンでは、アナログデータ計測(ステップ801)、アナログデータ出力(ステップ802)、パルスデータ計測(ステップ803)、及びその他の処理(ステップ804)が所定周期で繰り返し行われる。
図9(a)は計測対象の入出力チャンネル情報を計測値として表示する場合の現実の構成を示すブロック図であり、(b)は(a)の構成を仮想手段で構成した場合の従来の構成を示すブロック図であり、(c)は(a)の構成を仮想手段で構成した場合の本発明の構成を示すブロック図である。ここでは、入出力チャンネル情報を共通にする機能について、前述の現実の構成、従来の仮想手段(仮想手段1)の構成、及び本発明の仮想手段(仮想手段2)の各場合について説明する。
ここで、入出力チャンネル情報とは、例えばアナログ入力の1チャンネル目に電源電圧である+Bが入力されており、この電源電圧をA/D変換して得られた電圧(デジタル値)から、実際の電圧値への変換値や物理量の単位等のことを言う。また、変換式などは、I/Fのハードウエア情報によって異なり、信号ごとに変換式も異なるものとする。
図9(a)に示す現実の場合、計測対象51からチャンネルとしてのレンジは電圧が0−20(V)の信号線から、電圧12(V)の電源がI/Fボード52に入力されているものとする。このI/Fボード52では、通常のA/Dコンバータ53の入力レンジである0−5(V)に合わせて、抵抗分圧などのハードウエア手段によって電源電圧を1/4の3(V)に落としている。ここで、A/Dコンバータ53の精度が10ビットであるとすると、12(V)で入力された信号は、以下の式から266(HEX)となる。
3(V)×1024/5=614.4(DEC)=266(HEX)
3(V)×1024/5=614.4(DEC)=266(HEX)
この信号は、I/O処理部RAM54とコントローラ55を経て計測地画面表示部56に入力され、計測地画面表示部56はこの信号から、266(HEX)×5/1024×4=11.99(V)と計算して表示する。
一方、図6(b)に示す仮想手段1の場合、計測対象モデル61からの物理量である電圧12(V)の電源をそのまま画面表示するために、コントローラ65を経て計測値画面表示部66に入力される。この場合は、別の計測値画面表示部66を新たに用意する必要がある。更に、仮想手段1の場合、計算式が必要でないため、現実のものとチャンネル情報が異なり、仮想環境で使用した情報がそのまま現実に移行できないことになる。
これに対して、図6(c)に示す仮想手段2の場合は、計測対象71から電圧12(V)に相当するデジタル値がI/Fボードモデル72に入力され、ここでA/Dコンバータ53の精度の10ビットに合わせて266(HEX)の信号が作られる。この信号は、I/O処理部RAM74とコントローラ75を経て計測地画面表示部76に入力され、計測地画面表示部76はこの信号から、266(HEX)×5/1024×4=11.99(V)と計算して表示する。I/O処理部RAM74、コントローラ75、及び計測地画面表示部76は、現実のシステムにおけるI/O処理部RAM54、コントローラ55、及び計測地画面表示部56と同じものを使用することが出来る。
このように、現実のI/Fボード52をI/Fボードモデル72としてモデル化することにより、図6(d)に示すように、このチャンネル情報を現実のものと全く同じものとして扱うことができる。また、計測対象71もI/Fボードモデル72も仮想的に実現しているため、図6(e)の左側のテーブルに示すようなチャンネル、ラベル、及び計算式(ピンアサイン)が、現実には右のようになっていたとしても、簡単に変更することができる。この部分は現実ではワイヤハーネスに相当する部分であり、仮想から現実への移行を容易にするものである。
次に、計測対象の信号波形を表示する本発明の機能について説明する。図10(a)は現実の制御対象(エンジン)81と制御コンピュータ(ECUなど)82との間の信号波形を計測する場合の計測方法を説明するものである。制御対象81からエンジン回転数を示すマグネットピックアップからのパルス信号が出力されている場合、現実の環境では、制御対象81から制御コンピュータ82に入力される信号ラインに計測プローブ83を取り付けてパルス信号を取り出し、取り出したパルス信号をオシロスコープのような計測器84に入力すればパルス波形が観測でき、観測波形から簡単にエンジン回転数を計測することができる。
ところが、本発明のように、全て仮想となった環境では、実際に波形で信号が流れているところが無いため、波形を観測することができない。そこで、本発明では、図10(b)に示す実施例のように、プラントモデル(制御対象モデル)85から出力される物理量からオシロスコープ機能部86において計算によって仮想的な波形を求め、これをオシロスコープ機能部86で表示することができるようにしている。この例では、オシロスコープ機能部86も物理量からの演算部を持つため、冗長ではあるが、キャプチャ時刻などの仮想レジスタを持つI/O処理部87とは独立になるため、ソフトウエアとしての独立性が高い設計が可能である。
これに対して、図10(c)に示す実施例では、プラントモデル85からの信号が入力される、仮想レジスタを持つI/O処理部87が既に求めたキャプチャ時刻がオシロスコープ機能部86に入力され、オシロスコープ機能部86はこの信号から計算で求めた仮想的な波形を表示している。この実施例のオシロスコープ機能部86は、I/O処理部87の計算結果を使用するのでI/O処理部87とは密な関係になり、I/O処理部87と同じ演算部を持たなくて済むので、その構成が簡単になる。また、物理量から時刻への演算式を持たなくて良いので、保守性が向上する。
図10(d)はプラントモデルで算出されたエンジンの回転数を、画面表示タイミングで読み取る際の読取タイミングを示すものであり、図10(e)は(d)のタイミングで読み取ったエンジンの回転数を、波形で表した場合の表示器に示される波形である。パルス波形はオンオフ信号であるので、画面表示タイミングで回転数が判明すれば、パルス信号は容易に形成することができる。
なお、本発明が適用できる開発対象システムとして、制御装置(ECU)と被制御装置(エンジン等)とを接続して制御を行うシステムを明細書に記載しているが、本発明の適用対象はこれに限られるものではなく、複数の制御装置が通信(例えばCAN通信等)を行いながら所定の制御を行うシステム等、様々なシステムに適用することが可能である。特に、本発明は、複数の装置を信号線を介して接続するシステムの開発に有効である。
なお、以上説明した実施例において、各ブロック図における枠で囲まれた機能単位や、各フローチャートにおいて1つの流れで記載している機能単位は、「モジュール」と呼ばれることがある。
7 制御対象
8 制御コンピュータ
10 SILS
20 SILS
21、31 制御対象モデル(仮想制御対象)
22、32 ECUアプリケーション
23 仮想ECU
24 仮想計測シミュレータ
25、35 パーソナルコンピュータ
26 仮想計測システム
30 HILS
33 実ECU
34 計測シミュレータ
40 実機環境
8 制御コンピュータ
10 SILS
20 SILS
21、31 制御対象モデル(仮想制御対象)
22、32 ECUアプリケーション
23 仮想ECU
24 仮想計測シミュレータ
25、35 パーソナルコンピュータ
26 仮想計測システム
30 HILS
33 実ECU
34 計測シミュレータ
40 実機環境
Claims (13)
- 制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置において、
前記ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、前記制御対象モデルを制御する実制御ユニット、制御アプリケーション、実計測シミュレータ、及びコントローラのうち、少なくとも前記実制御ユニットと前記実計測シミュレータとを、前記ソフトウエア・シミュレーション装置においてそれぞれ仮想的にソフトウエアで構成し、前記ソフトウエア・シミュレーション装置におけるデータがそのまま前記ハードウエア・シミュレーション装置で使用できるようにしたことを特徴とするシミュレーション装置。 - 請求項1に記載のシミュレーション装置であって、
前記ハードウエア・シミュレーション装置における、モデル化された制御対象モデル、前記制御対象モデルを制御する実制御ユニット、制御アプリケーションと、実計測シミュレータ、及びコントローラが、前記ソフトウエア・シミュレーション装置ではそれぞれ、ソフトウエアで構成された仮想制御対象モデル、前記仮想制御対象モデルを制御する仮想制御ユニット、制御アプリケーション、仮想計測シミュレータ、及びコントローラで構成されており、
前記仮想計測シミュレータへの仮想入出力が、前記実計測シミュレータインタフェースへの入出力と同じであり、前記仮想計測シミュレータにおけるデータがそのまま前記実計測シミュレータで使用できるようになっていることを特徴とするシミュレーション装置。 - 請求項2に記載のシミュレーション装置であって、
前記実計測シミュレータが、書き換え可能なメモリを備えた入出力処理部、入力ボードを備えた信号計測部、及び出力ボードを備えた擬似信号発生部を備えていることを特徴とするシミュレーション装置。 - 請求項3に記載のシミュレーション装置であって、
前記入力ボードから入力されたデータは前記入出力処理部の前記メモリに格納され、格納されたデータはワイヤハーネスを介して前記コントローラへ伝達され、
前記コントローラで設定された出力値は、前記ワイヤハーネスを介して前記入出力処理部のメモリに格納され、前記出力ボードを介して前記実制御ユニットに出力され、
前記制御対象モデルを前記計測シミュレータ上で、或いは前記実制御ユニットによって動作させることにより、前記制御アプリケーションの検証が可能となっていることを特徴とするシミュレーション装置。 - 請求項3に記載のシミュレーション装置であって、
前記仮想計測シミュレータが、前記入出力処理部を仮想的にシミュレートした仮想入出力処理部、前記入力ボードを備えた前記信号計測部を仮想的にシミュレートした仮想入力ボードを備えた仮想信号計測部、及び前記出力ボードを備えた前記擬似信号発生部を仮想的にシミュレートした仮想出力ボードを備えた仮想擬似信号発生部を備えていることを特徴とするシミュレーション装置。 - 請求項5に記載のシミュレーション装置であって、
前記仮想入力ボードから入力されたデータは前記仮想入出力処理部の前記メモリに格納され、格納されたデータは仮想ワイヤハーネスを介して前記コントローラへ伝達され、
前記コントローラで設定された出力値は、前記仮想ワイヤハーネスを介して前記仮想入出力処理部のメモリに格納され、前記仮想出力ボードを介して前記仮想制御ユニットに出力され、
前記制御対象モデルを仮想前記計測シミュレータ上で、或いは前記仮想制御ユニットによって動作させることにより、前記制御アプリケーションの検証が可能となっていることを特徴とするシミュレーション装置。 - 請求項5又は6に記載のシミュレーション装置であって、
前記入力ボードと出力ボードが前記制御対象モデルに対して遣り取りする入出力チャンネル情報と全く同じ入出力チャンネル情報を、前記仮想入力ボードと仮想出力ボードが、前記制御対象モデルに対して遣り取りすることを特徴とするシミュレーション装置。 - 請求項1から7の何れか1項に記載のシミュレーション装置であって、
前記ハードウエア・シミュレーション装置の前記制御対象モデルから前記実制御ユニットに送られる実データ信号に対応して、前記ソフトウエア・シミュレーション装置の前記制御対象モデルから前仮想制御ユニットに送られる仮想データ信号を入力信号とし、前記実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることを特徴とするシミュレーション装置。 - 請求項1から7の何れか1項に記載のシミュレーション装置であって、
前記ハードウエア・シミュレーション装置の前記制御対象モデルから前記実制御ユニットに送られる実データ信号に基づいて、前記実制御ユニットがキャプチャ時刻を生成する場合に、
前記ソフトウエア・シミュレーション装置の前記制御対象モデルから前仮想制御ユニットに送られる仮想データ信号に基づいて、前記仮想制御ユニットにキャプチャ時刻を生成させ、このキャプチャ時刻信号から前記実データ信号と同等の擬似実データ信号をこの仮想データ信号から計算によって生成し、生成した擬似実データ信号を出力可能な擬似実データ信号生成部を備えることを特徴とするシミュレーション装置。 - 制御対象の制御を行う制御装置を、ソフトウエアで構成して検証を行うことができるソフトウエア・シミュレーション装置と、ハードウエアで構成して検証を行うことができるハードウエア・シミュレーション装置とを備えたシミュレーション装置におけるシミュレーション方法であって、
前記ハードウエア・シミュレーション装置に備えられた、モデル化された制御対象モデル、前記制御対象モデルを制御する実制御ユニットと、制御アプリケーションと、実計測シミュレータ、及びコントローラに対して、
前記ソフトウエア・シミュレーション装置において、少なくとも前記実制御ユニットを前記仮想制御対象モデルを制御する仮想制御ユニットでシミュレートすると共に、前記実計測シミュレータを仮想計測シミュレータでシミュレートして、
前記仮想計測シミュレータへの仮想入出力を前記実計測シミュレータインタフェースへの入出力と同じにして、前記仮想計測シミュレータにおけるデータがそのまま前記実計測シミュレータで使用できるようにしたことを特徴とするシミュレーション方法。 - 第1の装置と第2の装置とが信号線を介して信号の遣り取りを行いながら所定の動作を行う被模擬システムのシミュレーションをソフトウエアで行うシミュレーション装置であって、
前記模擬システムを少なくとも前記信号線が介在する箇所で分割した前記模擬システムの機能ブロック毎に、ソフトウエアによるシミュレーションを実行するシミュレーション手段を備え、
前記シミュレーション手段は、前記機能ブロック間の信号の遣り取りを、前記信号線を介して伝達される際のデータ形式に変換した上で行うことを特徴とするシミュレーション装置。 - 所定の制御システムに用いられるプログラムの開発を支援する開発支援方法であって、
前記制御システムのシミュレーションをソフトウエアで行って、前記プログラムの検証を行う第1検証ステップと、
前記第1検証ステップの後に、前記制御システムのシミュレーションをハードウエアで行って、前記プログラムの検証を行う第2検証ステップとを備え、
前記第2検証ステップにおけるハードウエアでのシミュレーションは、複数の装置を信号線で接続して行うものであり、
前記第1検証ステップにおけるソフトウエアでのシミュレーションは、前記第2検証ステップにおけるハードウエアでのシミュレーションで分割して構成されている複数の装置を、それぞれ異なるモジュールで構成してシミュレーションを行うものであることを特徴とする開発支援方法。 - 前記第1検証ステップのモジュール間におけるデータの遣り取りのうち、前記第2検証ステップの複数の装置間における信号の遣り取りに該当するものは、前記第2検証ステップにおける複数の装置間で信号を遣り取りする際と同じデータ形式にデータを変換するデータ変換モジュールを介して行うことを特徴とする請求項12に記載の開発支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007107411A JP2008269022A (ja) | 2007-04-16 | 2007-04-16 | シミュレーション装置、シミュレーション方法、及び開発支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007107411A JP2008269022A (ja) | 2007-04-16 | 2007-04-16 | シミュレーション装置、シミュレーション方法、及び開発支援方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008269022A true JP2008269022A (ja) | 2008-11-06 |
Family
ID=40048479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007107411A Pending JP2008269022A (ja) | 2007-04-16 | 2007-04-16 | シミュレーション装置、シミュレーション方法、及び開発支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008269022A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014219982A (ja) * | 2013-05-06 | 2014-11-20 | ディスペースデジタル シグナル プロセッシング アンド コントロールエンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | 仮想制御装置をテストするためのテスト装置 |
JP2018194512A (ja) * | 2017-05-22 | 2018-12-06 | 日立オートモティブシステムズ株式会社 | 電子制御装置の検査方法 |
JP2020087311A (ja) * | 2018-11-30 | 2020-06-04 | 三菱重工業株式会社 | シミュレーションシステム及びシミュレート方法 |
-
2007
- 2007-04-16 JP JP2007107411A patent/JP2008269022A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014219982A (ja) * | 2013-05-06 | 2014-11-20 | ディスペースデジタル シグナル プロセッシング アンド コントロールエンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | 仮想制御装置をテストするためのテスト装置 |
JP2014219981A (ja) * | 2013-05-06 | 2014-11-20 | ディスペースデジタル シグナル プロセッシング アンド コントロールエンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | 仮想制御装置をテストするためのテスト装置 |
US9766607B2 (en) | 2013-05-06 | 2017-09-19 | Dspace Digital Signal Processing And Control Engineering Gmbh | Test device for testing a virtual electronic control unit |
US9864355B2 (en) | 2013-05-06 | 2018-01-09 | Dspace Digital Signal Processing And Control Engineering Gmbh | Test device for testing a virtual electronic control unit |
JP2018194512A (ja) * | 2017-05-22 | 2018-12-06 | 日立オートモティブシステムズ株式会社 | 電子制御装置の検査方法 |
JP2020087311A (ja) * | 2018-11-30 | 2020-06-04 | 三菱重工業株式会社 | シミュレーションシステム及びシミュレート方法 |
JP7228374B2 (ja) | 2018-11-30 | 2023-02-24 | 三菱重工業株式会社 | シミュレーションシステム及びシミュレート方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Travis | LabVIEW for everyone | |
CN103777526B (zh) | 卫星综合电子系统的仿真测试系统 | |
Jerome | Virtual instrumentation using LabVIEW | |
US7315791B2 (en) | Application programming interface for synchronizing multiple instrumentation devices | |
US20100017185A1 (en) | Method And System for Virtual Prototyping | |
JP2008170998A (ja) | タービン制御シミュレーションのためのシステム及び方法 | |
CN102722107A (zh) | 一种高压变频器的智能综合开发测试系统及其建立方法 | |
JP2009265668A (ja) | 工学プロジェクトの訓練シミュレータ | |
JP2008084121A (ja) | シミュレーションシステム及びシミュレーション方法 | |
Fernández-Álvarez et al. | HW/SW co-simulation system for enhancing hardware-in-the-loop of power converter digital controllers | |
WO2015030095A1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
JP2000259683A (ja) | 論理シミュレーション方法及びそのシステム | |
JP2008269022A (ja) | シミュレーション装置、シミュレーション方法、及び開発支援方法 | |
JP5056511B2 (ja) | 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法 | |
CN116340150A (zh) | 一种基于uvm的可重用的寄存器性能交互验证系统及其应用 | |
Muli et al. | Virtual validation-a new paradigm in controls engineering | |
CN111191336B (zh) | 航空发动机控制原型闭环仿真方法和系统、存储介质 | |
Paiz et al. | FPGA-in-the-loop-simulations for dynamically reconfigurable applications | |
Schneider et al. | Functional digital mock-up–more insight to complex multi-physical systems | |
JP2000057188A (ja) | ハードウェア・ソフトウェア協調評価装置 | |
US20230267253A1 (en) | Automated synthesis of virtual system-on-chip environments | |
Birsan et al. | Embedded systems platform-based design from teaching to industry or vice-versa | |
Mendoza et al. | Framework for dynamic verification of multi-domain virtual platforms in industrial automation | |
Plesker et al. | „Configuration of a Web-Based Digital Twin using a Modular and Flexible Simulation Chain “ | |
JP2011081560A (ja) | システムレベルシミュレーション方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Effective date: 20090514 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Effective date: 20090526 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091006 |