JP2010097405A - シミュレーションシステム及びシミュレーション方法 - Google Patents
シミュレーションシステム及びシミュレーション方法 Download PDFInfo
- Publication number
- JP2010097405A JP2010097405A JP2008267573A JP2008267573A JP2010097405A JP 2010097405 A JP2010097405 A JP 2010097405A JP 2008267573 A JP2008267573 A JP 2008267573A JP 2008267573 A JP2008267573 A JP 2008267573A JP 2010097405 A JP2010097405 A JP 2010097405A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- unit
- control
- data
- execution
- 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.)
- Withdrawn
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 315
- 238000000034 method Methods 0.000 title claims description 26
- 230000005856 abnormality Effects 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000000605 extraction Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 2
- 239000007858 starting material Substances 0.000 description 50
- 230000000875 corresponding effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000007613 environmental effect Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】異常が発生する前後でシミュレーションを繰り返すことが容易で、制御ソフトウェアのブラッシュアップを容易に行えるシミュレーションシステムを提供する。
【解決手段】制御ソフトウェアを実行する制御系モジュール11と、被制御部を模擬する被制御系モジュール13を同期させて実行するシミュレーション実行部SMと、シミュレーション実行部で実行されるシミュレーションに制御パラメータを入力するとともに、シミュレーションの実行結果を表示するシミュレーション管理部HSTと、制御ソフトウェアに起因する異常を抽出する異常抽出部39と、抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得して記憶部に記憶する再開データ取得部40と、記憶部に記憶された再開データに基づいて、その時点からシミュレーション実行部を起動してシミュレーションを再開する再開処理部52とを備えている。
【選択図】図4
【解決手段】制御ソフトウェアを実行する制御系モジュール11と、被制御部を模擬する被制御系モジュール13を同期させて実行するシミュレーション実行部SMと、シミュレーション実行部で実行されるシミュレーションに制御パラメータを入力するとともに、シミュレーションの実行結果を表示するシミュレーション管理部HSTと、制御ソフトウェアに起因する異常を抽出する異常抽出部39と、抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得して記憶部に記憶する再開データ取得部40と、記憶部に記憶された再開データに基づいて、その時点からシミュレーション実行部を起動してシミュレーションを再開する再開処理部52とを備えている。
【選択図】図4
Description
本発明は、制御ソフトウェアを開発するために用いるシミュレーションシステム及びシミュレーション方法に関する。
機器を制御するためのマイクロコンピュータに組み込まれる制御ソフトウェアを先行開発する場合、実在しない機器をコンピュータで模擬演算するシミュレータを用いて開発中の制御ソフトウェアのロジック評価等が行なわれている。
例えば、車両のエンジンやブレーキ等を制御するマイクロコンピュータが組み込まれたECU(Electronic Control Unit)の制御ソフトウェアを実際の車両に先行して開発する場合、車両の動作をコンピュータで模擬演算する車両シミュレータとECUを接続して開発中の制御ソフトウェアのロジック評価等を行なうシミュレーションシステムが構築されている。
特許文献1には、このようなシミュレーションシステムとして、HILS(Hardware In the Loop Simulation)システムやSILS(Software In the Loop Simulation)システムが開示されている。
HILSシステムは、実ECUと車両シミュレータを接続して開発中の制御ソフトウェアを検証するシステムであり、SILSシステムは、実ECUに替えてECUをコンピュータで模擬するECUシミュレータと車両シミュレータをパーソナルコンピュータ等の汎用コンピュータ上に構築して開発中の制御ソフトウェアを検証するシステムである。
HILSシステムは、図1に示すように、ECUから出力された電気信号をI/Fボードを介して論理信号に変換し、車両動作を模擬するソフトウェアを実行する高性能なCPUにその論理信号を入力して演算処理し、演算結果である論理信号を再びI/Fボードを介して電気信号に変換してECUにフィードバックする一連の動作を所定周期で実行する周期駆動型のシステムで、ECU、I/Fボード、高性能CPU等のハードウェアによるフィードバックループが構築されている。
SILSシステムは、図2に示すように、ECUを構成するマイクロコンピュータや周辺回路の動作を模擬するソフトウェアを高性能なCPUで実行する模擬ECUを構築し、模擬ECUから出力された論理信号を、I/Fボードを模擬するI/Fモデルを介して車両動作を模擬するソフトウェアを実行する高性能なCPUに入力して演算処理し、演算結果である論理信号を再びI/Fモデルを介して模擬ECUにフィードバックする一連の動作を所定周期で実行する周期駆動型のシステムで、ECU、I/Fボード、車両の全てがソフトウェアで実現され、ソフトウェアによるフィードバックループが構築されている。
さらに、SILSシステムでは、ECUのハードウェアや車両モデルのI/Fボードを詳細に模擬するソフトウェアに替えて、制御プログラムを実行するECUに組み込まれたマイクロコンピュータの論理演算部を模擬する制御系モジュールと、車両の動作を模擬する車両モデルでなる被制御系モジュールを構築し、夫々で発生した所定のイベントを時系列的に管理して、イベント毎に模擬ECUと車両モデルをステップ的に動作させるシステム管理モジュールを備えた演算周期が変動するイベントドリブン型のシステムも構築されている。
このようなSILSシステムで構成されるシミュレーション実行部と、前記シミュレーション実行部で実行されるシミュレーションに対して制御パラメータを入力するとともに、シミュレーションの実行結果を表示するシミュレーション管理部とを備えたシミュレーションシステムが実現されている。
シミュレーション管理部には、当該シミュレーション実行部と同期して動作し、シミュレーション実行部にシミュレーション条件である制御パラメータを引き渡すとともに、シミュレーション実行部からシミュレーション結果を受け取る入出力モジュールと、シミュレーション条件を入力する操作画面、またはシミュレーション結果を示す出力画面を生成して表示部に表示するユーザインタフェースモジュールとを備えている。
上述のシミュレーションシステムを用いて制御ソフトウェアを評価する場合、オペレータが、シミュレーション管理部により表示部に表示されるシミュレーション結果を目視して、シミュレーション結果に異常があるか否かを判断していた。
そして、オペレータが異常を確認した場合に、原因となりうる制御ソフトウェアの要部を変更して、再度シミュレーションを実行して不都合が解消されたか否かを検証していた。
特開2007−52580号公報
日経BP社、2008.5.21発行、カー・エレクトロニクスのすべて2008、多様化するHILS(244頁〜249頁)
しかし、原因となりうる制御ソフトウェアの要部を特定できない場合には、シミュレーションを繰り返して、表示部に表示されるシミュレーション結果を精査する必要があり、同じシミュレーションを繰り返す場合には、異常の発生時点まで辿り着くために非常に長い時間を要するばかりでなく、シミュレーションを繰り返す過程で、制御パラメータを同じように変更操作しなければならず、同じ現象を再現させることが極めて困難であるという問題があった。
本発明の目的は、上述した従来の問題点に鑑み、異常が発生する前後でシミュレーションを繰り返すことが容易で、制御ソフトウェアのブラッシュアップを容易に行えるシミュレーションシステム及びシミュレーション方法を提供する点にある。
上述の目的を達成するため、本発明によるシミュレーションシステムの特徴構成は、制御ソフトウェアを実行する制御装置と当該制御装置により制御される被制御装置とを含む制御システムにおける制御動作を模擬し、前記制御ソフトウェアの評価を行うシミュレーションシステムであって、前記制御装置を模擬する制御系模擬部と、前記被制御装置を模擬する被制御系模擬部とを、同期させて実行させるシミュレーション実行制御部と、前記シミュレーション実行制御部で実行が制御されるシミュレーションの制御パラメータを変更することが可能であるとともに、シミュレーションの実行結果を表示するシミュレーション管理部と、
前記シミュレーション実行制御部によるシミュレーションの実行結果に基づいて、前記制御システムの所定の制御動作に対する評価要求があると、評価のためにシミュレーションの再開を行う再開時点についての、シミュレーションの状態データを取得して記憶部に記憶する状態データ取得部と、前記記憶部に記憶された状態データに基づいた前記再開時点からのシミュレーションを、前記シミュレーション管理部による制御パラメータの変更を受け付けながら実行するように、前記シミュレーション実行制御部に制御を行わせる再開処理部と、を備えている点にある。
前記シミュレーション実行制御部によるシミュレーションの実行結果に基づいて、前記制御システムの所定の制御動作に対する評価要求があると、評価のためにシミュレーションの再開を行う再開時点についての、シミュレーションの状態データを取得して記憶部に記憶する状態データ取得部と、前記記憶部に記憶された状態データに基づいた前記再開時点からのシミュレーションを、前記シミュレーション管理部による制御パラメータの変更を受け付けながら実行するように、前記シミュレーション実行制御部に制御を行わせる再開処理部と、を備えている点にある。
上述の構成によれば、制御システムの所定の制御動作に対する評価要求がある、再開データ取得部により評価要求の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データが取得され、再開データに基づいて再開処理部により評価要求の発生時より所定時間前のシミュレーションが再開されるようになる。つまり、評価要求の発生時より所定時間前からのシミュレーションが極めて容易に再開されるようになる。
以上説明した通り、本発明によれば、異常が発生する前後でシミュレーションを繰り返すことが容易で、制御ソフトウェアのブラッシュアップを容易に行えるシミュレーションシステムを提供することができるようになった。
以下に、本発明によるシミュレーションシステム及びシミュレーション方法を説明する。
図3に示すように、制御システムを模擬演算するシミュレーション実行部SMと、シミュレーション実行部SMで実行されるシミュレーションを管理するシミュレーション管理部として機能する操作表示部HSTが、LANで接続されてシミュレーションシステム1が構成されている。
シミュレーション実行部SM、及び、操作表示部HSTは、夫々所定のオペレーティングシステム(以下、「OS」と記す。)の管理下でシミュレーション用のソフトウェアが実行される二台のパーソナルコンピュータPCによって実現されている。
図4に示すように、シミュレーション実行部SMは、評価対象である車両、例えばエンジンに対する制御ソフトウェアを実行する制御系モジュール11と、当該制御ソフトウェアにより制御される車両、例えばエンジンを模擬する被制御系モジュール13と、制御系モジュール11または被制御系モジュール13の何れかで発生するイベントを管理し、時系列的に発生するイベントに基づいて制御系モジュール11または被制御系モジュール13を駆動するシステム管理モジュール12を備えたイベント駆動型のSILSシステムである。
各モジュール11,12,13は、所定のOS37上で動作するパーソナルコンピュータPCのCPUボード30上のメモリに格納されたシミュレーション用のソフトウェア及び制御ソフトウェアと、CPUタイマ38と、CPUタイマ38に従ってそれらソフトウェアを実行する高性能CPUにより具現化される。
システム管理モジュール12は、制御系モジュール11と被制御系モジュール13との間で入出力データ(IOデータ)を遣り取りするための共有メモリ32と、制御系モジュール11または被制御系モジュール13に関連して発生するイベントの起動時刻を設定管理するシステムタイマ21を備え、システムタイマ21の値に基づいて各イベントに対応する制御系モジュール11または被制御系モジュール13の対応ブロックを起動する。
図5に示すように、制御系モジュール11は、制御ソフトウェア2と、制御ソフトウェア2の必要なブロックを実行させる割込みコントローラ22と、制御ソフトウェア2に対するデータの入出力を行なうIOデータ部23を備えている。
さらに、制御系モジュール11は、割込みコントローラ22またはIOデータ部23と外部入出力データ28,29との間で所定のシーケンス制御を実行するキャプチャ機能部24、コンペア機能部25、通信機能部26、ポート機能部27等を備えている。
外部入出力データ28,29とは、被制御系モジュール13から模擬演算結果として共有メモリ32に書き込まれるデータや、制御系モジュール11から演算結果として共有メモリ32に書き込まれるデータである。
パルス入力データ28−1には、エンジン回転数や速度センサ信号等が含まれる。パルス入力データ28−1が入力されたキャプチャ機能部24は、フリーランで動作するシステムタイマ21のタイマ情報をもとに、指定したパルスの有効エッジの時刻を捉え、そのキャプチャ時刻をIOデータ部23に書き込む。
この時点で割込みコントローラ22に割込みを発生させることができる。当該割込みが発生したときに、割込みコントローラ22を介して制御ソフトウェア2の該当割込みルーチンが起動される。
パルス出力データ28−2には、点火信号や燃料噴射信号が含まれる。コンペア機能部25は、例えば現在時刻から1msec.後に所定のパルスをパルス出力データ28−2として送出する必要がある場合に、その1msec.後の時刻に一致したか否かを判定し、一致したときに当該所定のパルスを出力する。このとき割込みコントローラ22へ割込みを発生させることができる。その点火時期や噴射時期は、最新のエンジン回転数に応じて、制御ソフトウェア2により演算され更新される。
通信機能部26は、シリアル通信データ29−1を介して、例えば外部のインテリジェントICと通信を行ない、必要に応じて割込みを発生させる。ポート機能部27は、IOポートデータ29−2が入力データであればデータを読み込み、出力データであればデータを出力する。このIOポートデータ29−2には、例えばIGスイッチ、スタータスイッチやエアコンのマグネットクラッチ等が含まれる。
図4に示すように、制御系モジュール11と被制御系モジュール13との間の入出力情報の受け渡しは、システム管理モジュール12を経由して行なわれる。制御系モジュール11とシステム管理モジュール12との間の入出力情報には、“起動(イベント時刻付)”や、“IOデータ(時刻付)”や、“IOデータ”が含まれる。システム管理モジュール12と被制御系モジュール13の間の入出力情報には、“起動(時刻付)”や、“IOデータ(時刻付)”や、“IOデータ”が含まれる。
システムタイマ21は当該シミュレーション実行部SMの基準時刻を規定するもので、システム管理モジュール12により起動制御される制御系モジュール11及び被制御系モジュール13の所定のブロックは、システムタイマ21に基づいて動作する。つまり、制御系モジュール11と被制御系モジュール13の夫々はシステムタイマ21に基づいて同一の仮想時間上で動作する。
制御系モジュール11と被制御系モジュール13には、共有メモリ32との間で、各イベントに関する時刻付のIOデータを書き込みまたは読み出す制御系モジュール側IOドライバ31及び被制御系モジュール側IOドライバ33を備えている。
IOドライバ31,32から共有メモリ32に書き込まれたタイミング依存のIOデータは、システムタイマ21の時刻と関連付けられて管理され(図中点線枠35)、タイミング非依存のIOデータは、システムタイマ21の時刻と関連付けられることなく管理される(図中点線枠36)。
つまり、システム管理モジュール12は、制御系モジュール11または被制御系モジュール13から共有メモリ32に書き込まれたIOデータに基づいて、イベントの要求を検出すると、それらのイベント要求を集約してシステムタイマ21により更新される時刻を各イベントに設定して共有メモリ32に蓄積する。
例えば、タイミング依存のIOデータとして上述のパルス入力データ28−1やパルス出力データ28−2が管理され、タイミング非依存のIOデータとして上述のシリアル通信データ29−1やIOポートデータ29−2が管理される。
ここで、制御系モジュール11または被制御系モジュール13のIOドライバを介して共有メモリ32に書き込まれるIOデータは、システム管理モジュール12により管理されるイベントに関するデータのみならず、制御系モジュール11と被制御系モジュール13の間で制御演算または模擬演算に必要なIOデータも含まれ、後述する信号モニタに必要なIOデータも含まれる。
つまり、車両を制御するECUと、ECUにより制御される例えばエンジン等の車両側装置により構成される制御システムがシミュレーション実行部SMで模擬される。尚、シミュレーション実行部SMで模擬される制御システムは、エンジンシステムに限るものではなく、ブレーキシステム、変速機システム等の車両を構成する任意の機能ブロックが対象となる。
以下、シミュレーション実行部SMの動作例を、図6に示すタイミングチャートに基づいて説明する。
図6の(a),(b),(c),(d)の上下の各欄は、夫々システム管理モジュール12、制御系モジュール11、被制御系モジュール13、システムタイマ21の動作を示し、横軸は時間軸として、各イベントに対応して時刻t0,t1,・・・,t5が付されている。さらに、各イベントの内容を図7に示す。
システム管理モジュール12は、先ず、内部で1msec.インタバルの割込みを発生させ、システムタイマ21の時刻t0で割込みイベントを共有メモリ32に格納する。割込みイベントを検出した制御系モジュール11及び被制御系モジュール13では対応する定時処理ブロックが起動される。以後、システム管理モジュール12では、後に発生する他のイベントと1msec.インタバルの割込みイベントが時系列的にスケジューリングされる。
具体的には、上述の割込みイベントに応じて制御系モジュール11では1msec.の割込み処理ブロックが起動され、被制御系モジュール13ではメイン処理が起動される。
制御系モジュール11が1msec.の割込み処理ブロックの起動中に、図6のa1のタイミングで、IOドライバ31を介して共有メモリ32に何らかの信号(例えばIOパルス)を出力すると、システム管理モジュール12は共有メモリ32に書き込まれたスケジューリングデータに当該信号に対応するイベントを追加する。被制御系モジュール13でのメイン処理においても、図6のa2のタイミングで、IOドライバ33を介して共有メモリ32に何らかの信号を出力すると、システム管理モジュール12は共有メモリ32に書き込まれたスケジューリングデータに当該信号に対応するイベントを追加する。
時刻t0での被制御系モジュール13によるメイン処理にて、システム管理モジュール12が被制御系モジュール13から「パルス1出力」要求を受けると、これに対応するパルス発生時刻を設定し、例えば時刻t1での「パルス1出力」イベントを発生させる。制御系モジュール11では当該「パルス1出力」イベントに対応して、図6のb1のタイミングでパルス1出力ブロックが起動される。ここで、制御系モジュール11はシステムタイマ21のタイマ値を基に演算を実行する。
システム管理モジュール12が時刻t1での制御系モジュール11によるパルス出力処理により「パルス2出力」要求を受けると、更新したシステムタイマ21のタイマ値(図6のタイミングa3)をパラメータとして、これに対応するパルス発生時刻を設定する。ここに時刻t2にて、制御系モジュール11による「パルス2出力」処理が起動する。
一方、システム管理モジュール12が被制御系モジュール13から「パルス3出力」要求を受けると、これに対するパルス発生時刻を設定する。ここに時刻t3にてパルス3入力が発生し、制御系モジュール11による「パルス3入力」処理が起動する。
次にシステム管理モジュール12が制御系モジュール11から「パルス4出力」要求を受けると、これに対するパルス発生時刻を設定する。ここに時刻t4にて制御系モジュール11による「パルス4出力」処理が起動する。
時刻t5では、通信仕様に応じてシステム管理モジュール12内部で生成した「受信イベント」が発生すると、これに応答して制御系モジュール11は、それに対応した「受信」処理を起動する。
このように共有メモリ32にイベントが蓄積され、蓄積されたイベントに基づいて時系列的に制御系モジュール11または被制御系モジュール13の該当するブロックが起動されることによりシミュレーションが進められる。
ここで、システムタイマ21で規定される制御系モジュール11または被制御系モジュール13における処理中の時間は零であり、例えば、時刻t0のステップでは、時間Tは零となっており、イベントの発生の無い区間は処理をスキップしながら、時系列で順番にイベントが実行され、イベントに設定された時刻により時間がステップ状に進むように構成されているが、各イベントに対応したブロックが起動される制御系モジュール11または被制御系モジュール13ではCPUタイマ38によりイベントの実処理時間が計時される。
図8に示すように、システム管理モジュール12は、イベント管理情報により直近のイベントを選択し(S11)、選択したイベントの時刻にシステムタイマの値を更新し(S12)、当該システムタイマ時刻で更新されるIOデータをセットして(S13)、発生するイベント情報(割込みフラグ等)を設定することにより(S14)対応する制御系モジュール11または被制御モジュール13のブロックを起動する(S15)。
制御系モジュール11または被制御モジュール13のブロックは所定の演算処理を実行して、システム管理モジュール12に対してIO情報の更新、イベント管理情報の更新を要求する(S16)。その後、処理が実行されたイベントをイベント管理情報から削除する(S17)。
操作表示部HSTは、上述したシミュレーション実行部SMに対してシミュレーション条件を出力するとともに、シミュレーション実行部SMからシミュレーション結果を入力して、制御系モジュール11で実行される制御プログラムの評価を行なうための装置である。
詳述すると、図3及び図4に示すように、操作表示部HSTは、シミュレーション実行部SMと同期して動作し、シミュレーション実行部SMにシミュレーション条件である制御パラメータを引き渡すとともに、シミュレーション実行部SMからシミュレーション結果を受け取る入出力モジュール50と、シミュレーション条件を入力する操作画面、またはシミュレーション結果を示す出力画面を生成して表示部である液晶表示装置にGUI表示するユーザインタフェースモジュール51を備えている。
ユーザインタフェースモジュール51は、シミュレーションシステムの起動時に、シミュレーション実行部SMにより実行されるシミュレーションの環境条件をオペレータが設定するための環境操作画面を生成して表示部に表示し、環境操作画面を介して環境条件が設定されると、シミュレーションの起動や停止、さらにはシミュレーション条件を設定する操作画面や、シミュレーション実行部SMにより実行されたシミュレーション結果を示す出力画面を生成して表示部に表示する。
環境操作画面では、シミュレーション実行部SMの環境条件が設定される。例えば、システム管理モジュール12で管理されるイベントの選択、共有メモリ32を介して制御系モジュール11と被制御系モジュール13との間で遣り取りされるIOデータの選択及びメモリマップの定義等である。
環境操作画面で設定された環境条件は、入出力モジュール50を介してシミュレーション実行部SMに送信され、システム管理モジュール12を介して制御系モジュール11、被制御系モジュール13の夫々に配信され、シミュレーション実行部SMの初期条件が設定される。
図3に示すように、操作画面は、シミュレーションの起動スイッチや停止スイッチ、さらにはイグニッションスイッチ、アクセルペダル操作スイッチ、変速レバー操作スイッチ等のエンジンを操作するために必要な操作スイッチや、スピードメータ、タコメータ、水温計、電圧計等のエンジン状態をモニタする計器がグラフィック表示される操作画面である。
操作画面を介してオペレータにより設定された操作情報である制御パラメータは、入出力モジュール50を介してシミュレーション実行部SMに送信され、システム管理モジュール12で対応するイベントが生成されて、対応するイベントが制御系モジュール11または被制御系モジュール13で処理される。
シミュレーション実行部SMにより実行されたシミュレーション結果が、システム管理モジュール12を介して操作表示部HSTの入出力モジュール50に送信され、ユーザインタフェースモジュール51に引き渡される。
図3に示すように、ユーザインタフェースモジュール51は、シミュレーション結果に含まれるIOデータを時系列的にプロットしたトレンドグラフを含む出力画面を表示部に表示する。
上述したように、操作表示部HSTとシミュレーション実行部SMはLANケーブルで接続され、双方に備えた通信インタフェースを介してデータがパケット通信される。
操作表示部HSTでオペレータにより設定された環境情報やシミュレーション条件が操作に同期してシミュレーション実行部SMに送信され、シミュレーション実行部SMで実行されたイベント及びイベントに関するIOデータが、各イベント処理の終了に同期して共有メモリ32から読み取られて、操作表示部HSTに送信される。つまり、操作表示部HSTはシミュレーション実行部SMと同期して動作する。尚、通信インタフェースを介して送受信されるデータは、通信タイミングによるデータの欠落が生じないように、双方に備えたメモリによりバッファリングされている。
尚、本発明によるシミュレーションシステム1は、シミュレーション実行部SM及び操作表示部HSTとして機能するソフトウェアを実行する一台のパーソナルコンピュータPCによって実現することも可能であり、この場合には、LANに替えてCPUボード上のメモリを介して通信データが遣り取りされる。
図9に示すように、電源投入によりシミュレーションシステムが起動されると、操作表示部HSTではユーザインタフェースモジュール51により表示部に環境設定画面が表示され、オペレータにより設定された環境条件が入出力モジュール50を介してシミュレーション実行部SMに送信され(SA1)、シミュレーション実行部SMでは送信された環境条件に基づいてシミュレーションに必要なイベントやIOデータが設定される(SB1)。
次に、操作表示部HSTではユーザインタフェースモジュール51により表示部に操作画面が表示され(SA2)、オペレータによりシミュレーションの起動スイッチが操作されると(SA3)、起動指令が入出力モジュール50を介してシミュレーション実行部SMに送信され(SA4)、シミュレーション実行部SMでシミュレーションが起動される(SB2)。
その後、オペレータによって操作画面が操作されると(SA5)、対応する操作情報が入出力モジュール50を介してシミュレーション実行部SMに送信され(SA6)、シミュレーション実行部SMでは当該操作情報に基づいてシミュレーションが進行する(SB3)。
例えば、操作画面に表示されるイグニッションスイッチがオン操作されると、シミュレーション実行部SMではイグニッションスイッチがオンされた状態のシミュレーションが実行され、操作画面に表示されるスタータスイッチがオンされると、シミュレーション実行部SMではエンジンを始動するシミュレーションが実行される。
さらに、エンジン始動後に、操作画面に表示されるアクセルペダル操作スイッチが操作されると、シミュレーション実行部SMではアクセルペダルの操作量に対応してエンジンの回転数が変動するようにシミュレーションが実行される。
システム管理モジュール12は、シミュレーション実行部SMで処理される各イベントの処理が終了すると、その時点で共有メモリ32に格納されているイベント情報や関連するIOデータを送信用のバッファに書き込んで、通信インタフェースを介してシミュレーション結果として操作表示部HSTに送信する(SB4)。
操作表示部HSTの入出力モジュール50は、シミュレーション結果を受信するとユーザインタフェースモジュール51を起動する(SA7)。ユーザインタフェースモジュール51は、シミュレーション結果に基づいて操作画面及び出力画面を表示する(SA8)。
例えば、イグニッションスイッチのオン操作に対応してシミュレーション実行部SMでイグニッションスイッチのオンに対応するシミュレーションが実行されると、操作画面にイグニッションスイッチのオン表示が行なわれ、アクセルペダル操作スイッチの操作に対応してシミュレーション実行部SMでエンジン回転数の変動シミュレーションが実行されると、シミュレーション結果である車速やエンジン回転数に対応して、操作画面のスピードメータやタコメータのグラフィック表示が更新されるとともに、車速やエンジン回転数のトレンドグラフを示す出力画面が更新される。
操作表示部HSTは、オペレータによる操作に基づいてステップSA5からステップSA8の処理を繰り返し、オペレータによりシミュレーションの停止スイッチが操作されると(SA9)、シミュレーションの停止指令をシミュレーション実行部SMに送信して(SA10)、シミュレーションを終了する。シミュレーション実行部SMは、当該停止指令を受信するまでの間、ステップSB3からステップSB4の処理を繰り返し、当該停止指令を受信すると(SB5)、シミュレーションを終了する。
このようにして、オペレータは、表示部に表示される操作画面を介して制御システムを動作させ、出力画面を目視確認することにより制御系モジュール11で実行される制御プログラムの評価を行なう。
尚、トレンドグラフ等のシミュレーション結果を表示する出力画面は、シミュレーションの実行に伴ってリアルタイムに表示するものでなく、シミュレーションの終了後に表示されるものであってもよい。また、シミュレーション結果を記憶するハードディスク等の記憶部のみ備え、出力画面を表示する機能を備えていなくともよい。この場合、シミュレーション結果を解析する専用のコンピュータにシミュレーション結果が移植され、後に解析される。
システム管理モジュール12には、シミュレーション実行部SMによるシミュレーションの実行結果に基づいて、制御ソフトウェアに起因する異常を抽出する異常抽出部39と、異常抽出部39により抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得して、CPUボード30上のメモリに区画された記憶部に記憶する再開データ取得部40が設けられている。
操作表示部HSTには、当該記憶部に記憶された再開データに基づいて、その時点からシミュレーション実行部を起動してシミュレーションを再開する再開処理部52が設けられている。
制御系モジュール11で実行される制御ソフトウェアには、車両、例えばエンジンの異常を検知する自己診断プログラムが組み込まれている。当該自己診断プログラムは、被制御系モジュール13から出力されるIOデータに基づいて被制御系モジュール13の異常を検知する。
当該自己診断プログラムは、例えば、1msec.のタイマ割込みイベントで実行され、被制御系モジュール13から出力されるIOデータがある条件下で取り得ないような値を示すときに、異常の発生を記憶する異常カウンタの値を更新し、正常な値を示すときにリセットするように動作する。そして、例えば10回のタイマ割込みイベントで連続して異常な値を示し、異常カウンタの値が閾値として設定されている「10」以上になると、当該異常に対応する所定の故障コード(以下、「ダイアグコード」と記す。)を発生させて、共有メモリ32に書き込むように構成されている。
操作表示部HSTで表示される環境設定画面には、シミュレーション実行部SMにより実行されるシミュレーションを強制的に停止させるブレーク条件を設定することが可能に構成されている。
当該ブレーク条件には、シミュレーション実行中に共有メモリ32に書き込まれる所定のダイアグコードやIOデータ、さらには、IOデータが取り得る値の制限値や範囲が含まれる。これらの値は、制御ソフトウェアが正常に動作するか否かを判別するための指標として設定される値である。
図10に示すように、環境設定画面でブレーク条件が設定され(SC1)、シミュレーションが起動されると(SC2)、システムタイマ21の値がシミュレーションの開始時から例えば30秒等の所定時間間隔で(SC3)、再開データ取得部40によりシミュレーションの状態データが取得されてメモリに格納される(SC4)。
シミュレーションの状態データとは、シミュレーションをその時点から再開するために必要なデータをいい、シミュレーション実行部SMとして機能するCPUボード30上のCPUのプログラムカウンタ、各種の演算レジスタ、割り込みスタック、タイマレジスタ等のプログラムの実行状態を特定するためのデータに加えて、CPUボード30上のRAMに記憶されたデータのうちシミュレーションに関連するデータ、例えば共有メモリ32に書き込まれているIOデータやイベントリスト、制御パラメータ等が含まれる。
ステップSC2からSC4が繰り返される過程で、異常抽出部39によりブレーク条件が発生したか否かが監視され(SC5)、ブレーク条件が発生した場合に、再開データ取得部40により異常の発生時より過去の状態データの何れかが再開データとして特定される(SC6)。
再開データ取得部40により再開データとして特定される過去の状態データは、ブレーク条件の発生時の直近の状態データであることが好ましいが、それより一サイクル前の状態データであってよい。何れの状態データを再開データとして特定するか、また、状態データの取得インタバルをどの程度に設定するかを、環境設定画面でブレーク条件が設定されるときに、同時にオペレータにより設定されるように構成してもよい。
再開データ取得部40により再開データが特定されると、システム管理モジュール12によりシミュレーションが中断され(SC7)、操作表示部HSTにブレーク条件の成立によりシミュレーションが中断されたことが送信される(SC8)。
ステップSC7でシミュレーションが中断された場合には、操作表示部HSTに備えた再開処理部52により、ユーザインタフェースモジュール51を介してシミュレーションを再開するか否かの設定画面が表示され(SD1)、オペレータによりシミュレーションが再開されるように設定されると(SD2)、入出力モジュールを介してシミュレーション実行部SMに再開シミュレーションの実行要求が出力される(SD3)。
シミュレーション実行部SMに備えたシステム管理モジュール12は、メモリに記憶されている再開データに基づいて、CPUボード30上のCPUのプログラムカウンタ、各種の演算レジスタ、割り込みスタック、タイマレジスタ等の値及び、共有メモリ32に書き込まれているIOデータやイベントリスト、システムタイマ21の値、制御パラメータ等をセットして(SD4)、その後シミュレーションを再開する(DS5)。
このとき、システム管理モジュール12は、システムタイマ21の値に基づいて、再開時点以降、前回のブレーク条件が成立した時点から環境設定画面で設定された所定時間(例えば30秒)経過までの間、シミュレーションを予め設定された回数だけ繰り返し再開するように構成されている(SD6)。
再開シミュレーションでは、例えば、オペレータが操作表示部HSTの操作画面を操作して、制御パラメータを変更することにより、ブレーク条件が成立するか否かを確認し、制御パラメータとの関連性を評価して、制御ソフトウェアの不都合箇所を特定する。オペレータによる制御パラメータの変更操作に替えて、環境設定画面を介して制御パラメータの変更条件(変動率や変動パターン)を予め設定し、システム管理モジュール12が当該制御パラメータを変更条件に基づいて自動的に変更してもよい。
また、再開シミュレーションでは、環境設定画面を介して設定された所定のIOデータに関するトレンドグラフを表示画面に表示することにより、所定のIOデータとの関連性を評価して、制御ソフトウェアの不都合箇所を特定する。
再開シミュレーションで変更される制御パラメータや表示部にトレンドグラフ表示されるIOデータは、ブレーク条件に関連性が強いデータが選択され、例えば、ブレーク条件がエンジンの回転数異常であるならば、制御パラメータとしてアクセルペダルの開度、IOデータとして制御系モジュール11から出力される噴射パルス信号の出力タイミングやパルス幅、点火パルス信号の出力タイミング等、被制御系モジュール13から出力されるクランクパルス信号の周期等である。
再開シミュレーションが複数回繰り返された後に、出力画面にブレーク条件の発生の有無とともに制御パラメータやIOデータがトレンドグラフとして表示され、異常が発生する前後の制御パラメータやIOデータの状態を示す表示画面を目視確認したオペレータにより、制御ソフトウェアの不都合箇所が特定される。
図11に示すように、時刻t1で異常が発生し、その所定時間前の時刻t0からシミュレーションを再開する場合に、制御パラメータPを変化させると、異常発生時のシミュレーション結果であるIOデータが実線で表示され、再開シミュレーションのシミュレーション結果であるIOデータが破線で表示される。
オペレータは、このような出力画面を目視観察することにより、異常の原因、対策確認を行なうのである。
即ち、シミュレーション管理部である操作表示部HSTは、再開処理部52によりシミュレーションが複数回再開される過程で、シミュレーションに対する制御パラメータを変動させ、制御系モジュール11または被制御系モジュール13により処理されるデータのうち、異常抽出部39により抽出された異常に関連する複数種類のデータ(制御パラメータやIOデータ)をサンプリングして自身の記憶部に記憶し、複数回のシミュレーションの実行結果を対比して表示するように構成されている。
さらに、操作表示部HSTが、自身の記憶部に記憶したサンプリングデータに基づいて、複数回のシミュレーションの実行結果を対比して異常の発生と相関を有するデータを抽出して表示部に表示するように構成してもよい。尚、相関を有するデータとは、どのようなデータがそのような値を取るときに異常が発生する確率が高いか等を統計処理に基づいて特定したデータである。
例えば、再開処理部52によりシミュレーションが複数回再開される過程で、異常抽出部39により抽出された異常の発生タイミングの変動に影響を与える制御パラメータが異常の発生と相関を有するデータとして抽出される。
このようにして抽出された制御パラメータに対してさらに細かく変化させながら再開シミュレーションを繰り返すことにより、その原因を特定することが可能となる。
また、再開処理部52によりシミュレーションが複数回再開される過程で、内部に組み込まれている制御定数を変更したり、一部のアルゴリズムを変更した制御ソフトウェアに対してシミュレーションを再開することも可能である。
例えば、所定のダイアグコードをブレーク条件として設定する場合に、上述した異常カウンタの閾値を変更したり、制御ソフトウェアにPID制御によりIOデータが生成されるプログラムが組み込まれている場合にフィードバック定数の値を変更したり、制御ソフトウェアに学習制御するためのマップデータが組み込まれている場合に当該マップデータの値を変更するのである。
上述した通り、本発明によるシミュレーション方法は、制御ソフトウェアを実行する制御系モジュールと、制御ソフトウェアにより制御される被制御部を模擬する被制御系モジュールを同期させて実行するシミュレーション実行部と、シミュレーション実行部で実行されるシミュレーションに対して制御パラメータを入力するとともに、当該制御パラメータに対するシミュレーションの実行結果を表示するシミュレーション管理部とを備えたシミュレーションシステムを用いて、シミュレーションの実行結果に基づいて前記制御ソフトウェアを評価するシミュレーション方法であって、シミュレーション実行部によるシミュレーションの実行結果に基づいて、制御ソフトウェアに起因する異常を抽出する異常抽出ステップと、異常抽出ステップにより抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得して記憶部に記憶する再開データ取得ステップと、記憶部に記憶された再開データに基づいて、その時点からシミュレーション実行部を起動してシミュレーションを再開する再開処理ステップとを備えている。
以下に別実施形態を説明する。上述した実施形態では、再開データ取得部40が、シミュレーション実行部により実行されたシミュレーションの初期から異常の発生時までの間に、所定時間間隔でシミュレーション実行部の状態データを記憶部に記憶し、異常の発生時の過去の状態データの何れかを再開データとして取得するように構成される場合を説明したが、再開データ取得部が以下のように構成されるものであってもよい。
つまり、再開データ取得部40は、時系列的に変動する制御パラメータを記憶し、ブレーク条件が成立した後に、当該制御パラメータに基づいてシミュレーション実行部により初期状態から異常の発生時の所定時間前までシミュレーションを再度実行させ、その時点におけるシミュレーション実行部の状態データを再開データとして取得するように構成するものであってもよい。
また、再開データ取得部40は、再開処理部52によりシミュレーションが複数回再開される過程で、異常抽出部39により抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得して記憶部に記憶するように構成してもよい。つまり、再開シミュレーションの実行中に新たな再開データを取得することにより、新たな再開シミュレーションが可能になる。この場合、異常抽出部39により抽出される異常の発生時より所定時間前の再開データの取得時期が、最初の抽出時よりも短くなるように設定することにより、再開シミュレーションの開始時期を異常の発生時に近づけることができる。
このような構成を採用すると、複数回の再開シミュレーションで異常の発生に影響を与える可能性が高いと推定される範囲に再開シミュレーションを絞り込むことができ、原因特定のための時間を短縮することができるようになる。
逆に、複数回の再開シミュレーションで、制御パラメータやIOデータに基づいて異常の発生に影響を与える可能性が見出せない場合には、原因特定のための再開シミュレーションの開始時刻を遡らせることにより、何らかの手掛かりを得ることができるようになる。
上述した実施形態では、再開データが、CPUボード30上のCPUのプログラムカウンタ、各種の演算レジスタ、割り込みスタック、タイマレジスタ等のプログラムの実行状態を特定するためのデータと、CPUボード30上のRAMに記憶されたデータのうちシミュレーションに関連するデータ、制御パラメータ等である場合を説明したが、キャッシュメモリが内蔵されているCPUであれば、キャッシュメモリ内に記憶されているデータも再開データに含まれる。
この場合、キャッシュメモリに記憶されているデータをCPUボード上のメモリに戻し、その値を再開データとして確保すればよい。また、キャッシュメモリの内容を読み出すことができれば、その読み出した値を確保することも可能である。
上述した実施形態では、シミュレーション実行部SMがイベント駆動型のSILSシステムで構成される例を説明したが、シミュレーション実行部SMが周期駆動型のSILSシステムで構成される場合にも適用可能である。
図12に示すように、周期駆動型のSILSシステムは、車両の制御ソフトウェアを実行する制御系モジュール61と、制御ソフトウェアにより制御される車両を模擬する被制御系モジュール63とを備え、制御系モジュールまたは被制御系モジュールの何れかで発生する入出力データに連動して車両制御システムの模擬演算が実行されるように両者を管理するシステム管理部62を備えたシステムである。
制御系モジュール61は、制御ソフトウェア61aと、制御ソフトウェア61aを実行するマイクロコンピュータを模擬するマイクロコンピュータモデル61bと、マイクロコンピュータの周辺回路を模擬するECUモデル61cを備え、被制御系モジュール63は、車両を模擬する車両モデル63aと、車両モデル63aからの出力データをアナログの電気信号に変換するデバイスを模擬するデバイスモデル63bと、デバイスとECUを中継するIOボードを模擬するIOボードモデル63cを備え、ECUモデル61cとIOボードモデル63c間で、共有メモリ65を介してIOデータの遣り取りが行なわれる。
この場合、再開データ取得部40により取得される再開データとして、上述したデータに加えて、マイクロコンピュータモデル61bやECUモデル61cで模擬される各種レジスタ値やポートの出力値等も同時に取得されるように構成すればよい。
上述した実施形態では、再開データ取得部40が、異常抽出部39により抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得する例を説明したが、再開データ取得部40は、他の設定条件に基づいて再開データを取得するように構成してもよい。
例えば、スタータが駆動される等、操作画面を介してオペレータにより所定の操作がなされた時点、つまりシミュレーション条件である制御パラメータが特定の値となった時点や、シミュレーション結果である車速やエンジン回転数等の制御データが所定の値となった時点や、それらの制御データの変化量が所定の値になった時点や、制御ソフトウェアが演算に使用する内部定数や各種の制御フラグが所定の値になった時点等、シミュレーションの実行状態に特定の変化が発生した時点を抽出して、発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得するように構成してもよい。
例えば、シミュレーションの実行状態に特定の変化が発生した時点から所定時経過後、または、所定クランク角経過後を再開データ取得条件として設定してもよく、所定時経過後、または、所定クランク角経過後にシミュレーションの実行状態に特定の変化が発生し、あるいは発生しなかった時点を再開データ取得条件として設定してもよい。
具体的に例示すると、エンジン始動操作から10分経過後に、所定の気筒に対して点火パルスが出力され、所定のクランク角経過後に次の気筒に対する点火パルスが出力された時点、あるいは出力されなかった時点を再開データ取得条件として設定するものである。
さらに、上述の各種の条件のAND条件やOR条件を再開データ取得条件として設定してもよい。
このような再開データ取得条件は、環境設定画面を介して設定すればよい。
さらに、例えば、出力画面を目視確認したオペレータが、トレンドグラフ等の波形の異常を認識し、グラフ上の時刻を指定入力した場合に、当該指定時刻を再開データ取得条件として設定するように構成してもよい。
つまり、状態データ取得部は、シミュレーション実行制御部によるシミュレーションの実行結果に基づいて、制御システムの所定の制御動作に対する評価要求があると、評価のためにシミュレーションの再開を行う再開時点についての、シミュレーションの状態データを取得して記憶部に記憶するように構成されていればよい。
そして、再開処理部は、記憶部に記憶された状態データに基づいた再開時点からのシミュレーションを、シミュレーション管理部による制御パラメータの変更を受け付けながら実行するように、シミュレーション実行制御部に制御を行わせるように構成されていればよい。
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
11:制御系モジュール
12:システム管理モジュール
13:被制御系モジュール
21:システムタイマ
32:共有メモリ
39:異常抽出部
40:再開データ取得部
50:入出力モジュール
51:ユーザインタフェースモジュール
52:再開処理部
HST:シミュレーション管理部(操作表示部)
PC:パーソナルコンピュータ
SM:シミュレーション実行部
12:システム管理モジュール
13:被制御系モジュール
21:システムタイマ
32:共有メモリ
39:異常抽出部
40:再開データ取得部
50:入出力モジュール
51:ユーザインタフェースモジュール
52:再開処理部
HST:シミュレーション管理部(操作表示部)
PC:パーソナルコンピュータ
SM:シミュレーション実行部
Claims (8)
- 制御ソフトウェアを実行する制御装置と当該制御装置により制御される被制御装置とを含む制御システムにおける制御動作を模擬し、前記制御ソフトウェアの評価を行うシミュレーションシステムであって、
前記制御装置を模擬する制御系模擬部と、前記被制御装置を模擬する被制御系模擬部とを、同期させて実行させるシミュレーション実行制御部と、
前記シミュレーション実行制御部で実行が制御されるシミュレーションの制御パラメータを変更することが可能であるとともに、シミュレーションの実行結果を表示するシミュレーション管理部と、
前記シミュレーション実行制御部によるシミュレーションの実行結果に基づいて、前記制御システムの所定の制御動作に対する評価要求があると、評価のためにシミュレーションの再開を行う再開時点についての、シミュレーションの状態データを取得して記憶部に記憶する状態データ取得部と、
前記記憶部に記憶された状態データに基づいた前記再開時点からのシミュレーションを、前記シミュレーション管理部による制御パラメータの変更を受け付けながら実行するように、前記シミュレーション実行制御部に制御を行わせる再開処理部と、
を備えていることを特徴とするシミュレーションシステム。 - 前記再開データ取得部は、時系列的に変動する前記制御パラメータを記憶し、前記制御パラメータに基づいて前記シミュレーション実行部により初期状態から前記異常の発生時の前記所定時間前までシミュレーションを再度実行させ、その時点における前記シミュレーション実行部の状態データを前記再開データとして取得することを特徴とする請求項1記載のシミュレーションシステム。
- 前記再開データ取得部は、前記シミュレーション実行部により実行されたシミュレーションの初期から前記異常の発生時までの間に、所定時間間隔で前記シミュレーション実行部の状態データを記憶部に記憶し、前記異常の発生時の過去の状態データの何れかを前記再開データとして取得することを特徴とする請求項1記載のシミュレーションシステム。
- 前記シミュレーション管理部は、前記再開処理部によりシミュレーションが複数回再開される過程で、シミュレーションに対する制御パラメータを変動させ、前記制御系モジュールまたは被制御系モジュールにより処理されるデータのうち、前記異常抽出部により抽出された異常に関連する複数種類のデータをサンプリングして記憶部に記憶し、複数回のシミュレーションの実行結果を対比して表示することを特徴とする請求項1から4の何れかに記載のシミュレーションシステム。
- 前記シミュレーション管理部は、前記再開処理部によりシミュレーションが複数回再開される過程で、シミュレーションに対する制御パラメータを変動させ、前記制御系モジュールまたは被制御系モジュールにより処理されるデータのうち、前記異常抽出部により抽出された異常に関連する複数種類のデータをサンプリングして記憶部に記憶し、複数回のシミュレーションの実行結果を対比して異常の発生と相関を有するデータを抽出して表示することを特徴とする請求項1から4の何れかに記載のシミュレーションシステム。
- 前記再開データ取得部は、前記再開処理部によりシミュレーションが複数回再開される過程で、前記異常抽出部により抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得して記憶部に記憶することを特徴とする請求項1から5の何れかに記載されたシミュレーションシステム。
- 制御ソフトウェアを実行する制御系モジュールと、前記制御ソフトウェアにより制御される被制御部を模擬する被制御系モジュールを同期させて実行するシミュレーション実行部と、前記シミュレーション実行部で実行されるシミュレーションに対して制御パラメータを入力するとともに、当該制御パラメータに対するシミュレーションの実行結果を表示するシミュレーション管理部とを備えたシミュレーションシステムを用いて、シミュレーションの実行結果に基づいて前記制御ソフトウェアを評価するシミュレーション方法であって、
前記シミュレーション実行部によるシミュレーションの実行結果に基づいて、前記制御ソフトウェアに起因する異常を抽出する異常抽出ステップと、
前記異常抽出ステップにより抽出された異常の発生時より所定時間前のシミュレーションの実行状態を再開するための再開データを取得して記憶部に記憶する再開データ取得ステップと、
前記記憶部に記憶された再開データに基づいて、その時点から前記シミュレーション実行部を起動してシミュレーションを再開する再開処理ステップと、
を備えていることを特徴とするシミュレーション方法。 - 制御ソフトウェアを実行する制御装置と当該制御装置により制御される被制御装置とを含む制御システムにおける制御動作を模擬し、前記制御システムの評価を行うシミュレーションシステムであって、
前記制御システムについてのシミュレーションの実行を制御するシミュレーション実行制御部と、
前記シミュレーション実行制御部で実行が制御されるシミュレーションの制御パラメータを変更することが可能であるとともに、シミュレーションの実行結果を出力するシミュレーション管理部と、
前記シミュレーション実行制御部によるシミュレーションの実行結果に基づいて、前記制御システムの所定の制御動作に対する評価要求があると、評価のためにシミュレーションの再開を行う再開時点についての、シミュレーションの状態データを取得して記憶部に記憶する状態データ取得部と、
前記記憶部に記憶された状態データに基づいた前記再開時点からのシミュレーションの実行を前記シミュレーション実行制御部に行わせる再開処理部と、
を備えていることを特徴とするシミュレーションシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008267573A JP2010097405A (ja) | 2008-10-16 | 2008-10-16 | シミュレーションシステム及びシミュレーション方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008267573A JP2010097405A (ja) | 2008-10-16 | 2008-10-16 | シミュレーションシステム及びシミュレーション方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010097405A true JP2010097405A (ja) | 2010-04-30 |
Family
ID=42259041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008267573A Withdrawn JP2010097405A (ja) | 2008-10-16 | 2008-10-16 | シミュレーションシステム及びシミュレーション方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010097405A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011244623A (ja) * | 2010-05-19 | 2011-12-01 | Sumitomo Heavy Ind Ltd | 連成解析システム、解析システム、および連成解析方法 |
CN102354209A (zh) * | 2011-09-07 | 2012-02-15 | 北京和利时系统工程有限公司 | 一种用于列控系统的测试装置及方法 |
JP2013084163A (ja) * | 2011-10-12 | 2013-05-09 | Hitachi Ltd | 協調シミュレーション装置及び協調シミュレーション方法 |
-
2008
- 2008-10-16 JP JP2008267573A patent/JP2010097405A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011244623A (ja) * | 2010-05-19 | 2011-12-01 | Sumitomo Heavy Ind Ltd | 連成解析システム、解析システム、および連成解析方法 |
CN102354209A (zh) * | 2011-09-07 | 2012-02-15 | 北京和利时系统工程有限公司 | 一种用于列控系统的测试装置及方法 |
CN102354209B (zh) * | 2011-09-07 | 2013-07-31 | 北京和利时系统工程有限公司 | 一种用于列控系统的测试装置及方法 |
JP2013084163A (ja) * | 2011-10-12 | 2013-05-09 | Hitachi Ltd | 協調シミュレーション装置及び協調シミュレーション方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8296111B2 (en) | Simulation system and simulation method | |
Larsen et al. | Testing real-time embedded software using UPPAAL-TRON: an industrial case study | |
JP4509602B2 (ja) | オペレータ側システムおよびモードファイルの特定方法 | |
EP2612206A1 (en) | Method for debugging of process or manufacturing plant solutions comprising multiple sub-systems | |
JP2009265668A (ja) | 工学プロジェクトの訓練シミュレータ | |
KR940004450A (ko) | 자기진단 방법 및 그 제어장치 | |
JP2007265415A (ja) | マイクロコンピュータをベースにしたシステムをシミュレーションするための方法及び装置 | |
US10401820B2 (en) | Programmable indicator | |
JP2010097405A (ja) | シミュレーションシステム及びシミュレーション方法 | |
JP4906286B2 (ja) | ソフトウェア開発環境システム | |
JP4476228B2 (ja) | シミュレーション装置 | |
WO2010005724A2 (en) | Systems and methods for automated simulation of a propulsion system and testing of propulsion control systems | |
US20080243283A1 (en) | Process Control Simulator and Process Control Simulating Method | |
JP2008033672A (ja) | Hils装置 | |
JPH10161906A (ja) | ソフトウェア実行装置及びソフトウェア実行方法 | |
JP2008077560A (ja) | 制御装置の試験システム | |
JP2008262318A (ja) | ソフトウェア評価装置及びその信号モニタ方法 | |
JP2008262318A5 (ja) | ||
JPH07219807A (ja) | プログラマブルコントローラシステム | |
JP5980420B2 (ja) | ソフトウェア試験装置、ソフトウェア試験方法、及びプログラム | |
JP2010224758A (ja) | プログラム変更検証装置及びプログラム変更検証方法 | |
JP4905782B2 (ja) | プラント制御システム、プラント制御方法およびプラント制御のためのプログラム | |
JP2010244377A (ja) | シミュレーションプログラム生成装置、シミュレーションプログラム生成方法、及び、シミュレーションシステム | |
JP2006293515A (ja) | Osエミュレータ時間経過制御装置 | |
JPH11219209A (ja) | 汎用plcのオフラインシミュレーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110920 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A073 Effective date: 20130122 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130205 |