JP2022056500A - Simulation method and simulation program - Google Patents
Simulation method and simulation program Download PDFInfo
- Publication number
- JP2022056500A JP2022056500A JP2020164291A JP2020164291A JP2022056500A JP 2022056500 A JP2022056500 A JP 2022056500A JP 2020164291 A JP2020164291 A JP 2020164291A JP 2020164291 A JP2020164291 A JP 2020164291A JP 2022056500 A JP2022056500 A JP 2022056500A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- software
- address
- variable name
- calibration
- 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.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims description 65
- 238000005259 measurement Methods 0.000 claims abstract description 67
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000003920 environmental process Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、シミュレーション対象のシミュレーションを実行するシミュレーション方法およびシミュレーションプログラムに関する。 The present invention relates to a simulation method and a simulation program for executing a simulation of a simulation target.
特許文献1は、制御ユニットを動作させるために必要なソースファイルのキャリブレーションを行うシステムを開示する。このキャリブレーションを行うシステムは、ソースファイルのデータファイルに、データのバイト数,ビットレート,単位,設定範囲などの諸元情報を直接記述し、該データの諸元情報を用いて、ソースファイルをキャリブレーション用ファイル(ASAPファイル)に変換する。また、前記キャリブレーション用ファイルに基づくキャリブレーション結果を、新規データファイル及びリンクファイルに逆変換する。
また、特許文献2は、シミュレーションで使用するテストデータを実機のテストに使用するECU評価装置を開示する。このECU評価装置は、評価対象ECUの機能を定義したECU仕様モデルを検証するための所定の検証入力データを含む検証データを取得する取得手段(ホストPC)と、取得手段で取得した検証入力データに基づいてECUへの入力データを生成する入力データ生成手段(入力信号制御部)と、ECU仕様モデルの出力の期待値データ、及び入力データに基づいてECUが出力する出力データが一致するか否かを判定する判定手段(判定部)とを備え、判定手段の判定結果に基づいてECUの動作を評価する。 Further, Patent Document 2 discloses an ECU evaluation device that uses test data used in simulation for testing an actual machine. This ECU evaluation device has an acquisition means (host PC) for acquiring verification data including predetermined verification input data for verifying an ECU specification model that defines the function of the evaluation target ECU, and verification input data acquired by the acquisition means. Whether or not the input data generation means (input signal control unit) that generates input data to the ECU based on the above, the expected value data of the output of the ECU specification model, and the output data output by the ECU based on the input data match. It is provided with a determination means (determination unit) for determining whether or not, and evaluates the operation of the ECU based on the determination result of the determination means.
一般的に、測定ツールやキャリブレションツールは、PDB(Program Database)のようなマップファイルを基に測定デバイスやキャリブレーションデバイスで使用するデータベースファイルを生成する。そのため、対象ソフトウェアの更新を行うことでマップファイルの変更があった場合は、その都度データベースファイルを手動、または外部ツールによって更新する必要があり、データベースファイルの更新漏れ等によるデータ測定の手戻り作業が発生する。また、テストシナリオ、設定ファイルやデータベースファイル等は独立しているため、試験実施において複数のファイル管理を行う手間がある。 Generally, a measurement tool or a calibration tool generates a database file to be used in a measurement device or a calibration device based on a map file such as PDB (Program Data Bank). Therefore, if the map file is changed by updating the target software, it is necessary to update the database file manually or by an external tool each time, and it is necessary to rework the data measurement due to omission of update of the database file. Occurs. Moreover, since the test scenario, the setting file, the database file, etc. are independent, it is troublesome to manage a plurality of files in the test execution.
また、キャリブレーションを行う場合は、何かしらのイベントを基にキャリブレーション対象となる変数に値を設定するようなスクリプトを作成する必要がある。そのためキャリブレーションを行うような試験についても、テストシナリオとは別にスクリプトファイルを管理する必要がある。 In addition, when performing calibration, it is necessary to create a script that sets the value to the variable to be calibrated based on some event. Therefore, it is necessary to manage the script file separately from the test scenario even for tests that perform calibration.
本発明は、シミュレーションの効率化を図ることを目的とする。 An object of the present invention is to improve the efficiency of simulation.
本願において開示される発明の一側面となるシミュレーション方法は、制御対象モデルを制御するソフトウェアをシミュレーションするシミュレーション装置が実行するシミュレーション方法であって、前記シミュレーション装置は、前記ソフトウェアと、前記ソフトウェアに関するマップファイルと、前記ソフトウェアに関する測定変数名を含む測定情報と、前記ソフトウェアに関するキャリブレーション変数名と開始時間と書込み値とを含むキャリブレーション情報と、にアクセス可能であり、前記シミュレーション装置は、前記シミュレーションの開始前に、前記キャリブレーション変数名に対応する第1アドレスおよび第1データ型種別と、前記測定変数名に対応する第2アドレスおよび第2データ型種別とを、前記マップファイルから取得する第1取得処理と、前記シミュレーションの開始後、前記開始時間が経過した場合に、前記第1取得処理によって取得された第1データ型種別に基づいて前記書込み値を変換し、前記ソフトウェア内において前記キャリブレーション変数名が存在する前記第1アドレスに、変換後の書込み値を設定する設定処理と、前記設定処理によって設定された前記変換後の書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから測定値を取得する第2取得処理と、前記第2取得処理によって取得された測定値を出力する出力処理と、を実行することを特徴とする。 A simulation method that is one aspect of the invention disclosed in the present application is a simulation method executed by a simulation device that simulates software that controls a controlled object model, wherein the simulation device is a map file relating to the software and the software. And the measurement information including the measurement variable name related to the software, and the calibration information including the calibration variable name, the start time, and the write value related to the software, and the simulation apparatus starts the simulation. First, first acquisition of the first address and the first data type type corresponding to the calibration variable name and the second address and the second data type type corresponding to the measurement variable name from the map file. When the start time elapses after the start of the process and the simulation, the write value is converted based on the first data type type acquired by the first acquisition process, and the calibration variable is converted in the software. As a result of executing the simulation of the software with the setting process for setting the write value after conversion to the first address where the name exists and the write value after conversion set by the setting process, the first acquisition Based on the second data type type acquired by the process, the second acquisition process of acquiring the measured value from the second address in which the measurement variable name exists in the software, and the second acquisition process acquired by the second acquisition process. It is characterized by executing output processing that outputs measured values.
本発明の代表的な実施の形態によれば、シミュレーションの効率化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to a typical embodiment of the present invention, the efficiency of simulation can be improved. Issues, configurations and effects other than those described above will be clarified by the description of the following examples.
<シミュレーション装置のハードウェア構成>
図1は、シミュレーション装置のハードウェア構成例を示すブロック図である。シミュレーション装置100は、プロセッサ101と、メモリ102と、入力デバイス103と、出力デバイス104と、通信インターフェース(通信IF)105と、を有する。プロセッサ101、メモリ102、入力デバイス103、出力デバイス104、および通信IF105は、バス106により接続される。プロセッサ101は、シミュレーション装置を制御する。メモリ102は、プロセッサ101の作業エリアとなる。また、メモリ102は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。メモリ102としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス103は、データを入力する。入力デバイス103としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス104は、データを出力する。出力デバイス104としては、たとえば、ディスプレイ、プリンタがある。通信IF105は、ネットワークと接続し、データを送受信する。
<Hardware configuration of simulation device>
FIG. 1 is a block diagram showing a hardware configuration example of a simulation device. The
<SILS(Software In the Loop Simulation)環境プロセス例>
図2は、SILS環境プロセスの一例を示す説明図である。SILS環境プロセス200は、SILS環境でシミュレーションが実行されるプロセスである。SILS環境とは、モデルからオートで生成したC言語などのソースコードからオブジェクトコードを生成し動作させるシミュレーション環境である。SILS環境プロセス200は、メモリ102に記憶され、プロセッサ101により起動されることで、メモリ102に構築される。
<Example of SILS (Software In the Loop Simulation) environment process>
FIG. 2 is an explanatory diagram showing an example of a SILS environmental process. The
SILS環境プロセス200は、シミュレーション用BSW(Basic Software)201と、車両モデル202と、GUI(Graphical User Interface)203と、を有する。
The
シミュレーション用BSW201は、シミュレーション対象であるECU(Electronic Control Unit)アプリケーション220をシミュレーションするための仮想的なハードウェア構成である。基盤ソフトウェアとも呼ばれる。
The simulation BSW201 is a virtual hardware configuration for simulating an ECU (Electronic Control Unit)
シミュレーション用BSW201は、プロセッサモデル211と、メモリモデル212と、IFモデル213と、バスモデル214と、を有する。プロセッサモデル211は、ECUアプリケーション220を実行して、車両モデル202を制御する。メモリモデル212は、プロセッサモデル211の作業エリアとなる。また、メモリモデル212は、ECUアプリケーション220と、マップファイル解析モジュール221と、キャリブレーション実行モジュール222と、測定データ出力モジュール223と、を記憶する。
The simulation BSW 201 has a
ECUアプリケーション220は、シミュレーション対象となるソフトウェアの実行ファイルの一例である。ECUアプリケーション220は、たとえば、カメラからの動画データに基づいて物体認識するアプリケーションである。シミュレーション対象となるアプリケーションは、ECUアプリケーション220に限られず、制御対象となるモデルに応じて決定される。
The
マップファイル解析モジュール221は、プロセッサモデル211にマップファイル231の解析を実行させるソフトウェアモジュールである。キャリブレーション実行モジュール222は、プロセッサモデル211にキャリブレーションを実行させるプログラムモジュールである。測定データ出力モジュール223は、プロセッサモデル211に測定データの出力を実行させるソフトウェアモジュールである。
The map
IFモデル213は、車両モデル202と接続し、プロセッサモデル211と車両モデル202との間でデータを送受信する。バスモデル214は、プロセッサモデル211、メモリモデル212、およびIFモデル213を通信可能に接続する。
The IF
車両モデル202は、アクセルやブレーキ、エンジン、イグニッションスイッチ、空調、ライト、ワイパーといった電気的に動作制御可能な車両内の機構をモデル化したデータである。車両とは、乗用車、バス、トラックなどの自動車、バイク、電動自転車、電動車いす、工作機械など、地面を走行可能な移動体である。なお、車両モデル202は、制御対象の一例であり、冷蔵庫や炊飯器、電子レンジなどの家電製品のような、車両以外の他のモデルでもよい。
The
GUI203は、テストシナリオファイル233の入力を受け付けたり、車両モデル202からの出力結果を出力デバイス104に表示したりする。
The
また、シミュレーション装置100のプロセッサ101は、SILS環境プロセス200外において、メモリ102に記憶されたECUアプリソースコード230を用いて実行ファイルとなるECUアプリケーション220をビルドする。ECUアプリソースコード230は、ECUアプリケーション220のソースコードである。ECUアプリソースコード230のビルドにおいて、実行ファイルとなるECUアプリケーション220が生成され、メモリモデル212に格納される。また、ECUアプリソースコード230のビルドにより、マップファイル231が生成される。マップファイル231は、指定されたフォルダに格納される。マップファイル231は、上書き保存により最新状態が保持されてもよく、プロセッサモデル211が最新のタイムスタンプのマップファイル231を読み込むこととしてもよい。いずれにしても、プロセッサモデル211は、最新のマップファイル231にアクセスすることになる。なお、ビルドは、シミュレーション装置100ではなく、不図示のECUが実行してもよい。
Further, the
<マップファイル>
図3は、マップファイルの一例を示す説明図である。マップファイル231は、プログラムのキャリブレーション対象を特定するファイルであり、マップファイル解析モジュールで読み込まれる。マップファイル231は、たとえば、オブジェクト情報301、関数情報302、および変数情報303を含む。オブジェクト情報301は、キャリブレーション対象となるオブジェクトファイルの格納位置311と、オブジェクトファイルがECUアプリソースコード230に記述されている行番号312と、を含む。たとえば、格納位置311が「C:¥Application¥Obj¥main.obj」であれば、行番号312は「0001」である。
<Map file>
FIG. 3 is an explanatory diagram showing an example of a map file. The
関数情報302は、キャリブレーション対象や測定対象となる関数名321と、そのアドレス322とを含む。たとえば、関数名321が「calculateVehicleSpeed」であれば、アドレス322は「[0x00100010]」である。
The
変数情報303は、キャリブレーション対象や測定対象となる変数名331と、そのアドレス332と、データ型種別333(ビットフィールド情報でもよい)と、を含む。たとえば、変数名331が「vehicle_speed」であれば、アドレス332は「[0x00200000]」であり、データ型種別333は、「unsigned short」である。データ型種別333がわかれば、その変数名331のデータのサイズが一意に特定される。
The
<測定・キャリブレーション情報ファイル>
図4は、測定・キャリブレーション情報ファイル232の一例を示す説明図である。測定・キャリブレーション情報ファイル232は、あらかじめ用意されたファイルであり、マップファイル解析モジュール221で読み込まれる。測定・キャリブレーション情報ファイル232は、測定情報401と、キャリブレーション情報402と、を含む。測定情報401は、測定対象データ(capturedata)として、たとえば、variableタグで挟まれた測定変数名410を規定する。図4では、測定変数名410として、「vehicle_speed」(車速)と「engine_revolution」(エンジン回転数)とが規定されている。
<Measurement / calibration information file>
FIG. 4 is an explanatory diagram showing an example of the measurement /
キャリブレーション情報402は、キャリブレーション対象データ(calibdata)として、variableタグで挟まれたキャリブレーション変数名421と、timeタグで挟まれた開始時間422と、valueタグで挟まれた書込み値423と、の組み合わせ(dataset)を規定する。図4では、たとえば、キャリブレーション変数名421が「test_mode」、開始時間422が「10.00」、および書込み値423が「0」の組み合わせと、キャリブレーション変数名421が「fail_trigger」、開始時間422が「12.05」、および書込み値423が「1」の組み合わせと、を規定する。
The
<テストシナリオファイル>
図5は、テストシナリオファイル233の一例を示す説明図である。テストシナリオファイル233は、車両モデル202をテストするためのシナリオを記述したファイルである。テストシナリオファイル233は、連続するシーケンスの集合であり、たとえば、フィールドとして、シーケンス番号501と、遅延時間502と、操作計器ID503と、値504と、を有する。各フィールド501~504の値の組み合わせが、シミュレーションの1シーケンスを示すエントリとなる。
<Test scenario file>
FIG. 5 is an explanatory diagram showing an example of the
シーケンス番号501は、シーケンスの順序を規定する。遅延時間502は、前のシーケンスからそのシーケンスが実行されるまでの時間を規定する。シーケンス番号が「1」のシーケンスについては、シミュレーション開始時(0秒)からの時間を規定する。
操作計器ID503は、車両モデルにおいて操作される計器を一意に特定する識別情報である。たとえば、「IGN_BUTTON」はイグニッションボタン、「ACCEL_SLIDER」はアクセルスライダ、「BRAKE_SLIDER」はブレーキスライダを示す。
The
値504は、操作計器ID503を操作することにより得られるデータである。たとえば、操作計器ID503が「IGN_BUTTON」の場合、値504が「1」であれば、イグニッションボタンがONであることを意味し、値504が「0」であれば、イグニッションボタンがOFFであることを意味する。また、操作計器ID503が「ACCEL_SLIDER」または「BRAKE_SLIDER」の場合、値504は、アクセルスライダまたはブレーキスライダのスライド量を示す。
The
図5のテストシナリオファイル233では、開始から0.55秒後にイグニッションボタンがONになり(シーケンス番号501が「1」)、その0.05秒後にイグニッションボタンがOFFになり(シーケンス番号501が「2」)、その1秒後にアクセルスライダのスライド量が「40」になり(シーケンス番号501が「3」)、その5秒後にアクセルスライダのスライド量が「0」になり(シーケンス番号501が「4」)、その3秒後にブレーキスライダのスライド量が「2.5」になり(シーケンス番号501が「5」)、その10秒後にブレーキスライダのスライド量が「0」になった(シーケンス番号501が「6」)ことを示す。
In the test scenario file 233 of FIG. 5, the ignition button is turned on 0.55 seconds after the start (
<測定時系列データファイル>
図6は、測定時系列データファイルの一例を示す説明図である。測定時系列データファイル234は、測定した変数の測定値をシミュレーションの時系列にしたファイルである。測定時系列データファイル234は、フィールドとしてシミュレーション時間600と、第1測定変数601と、第2測定変数602と、…を有する。本例では、第1測定変数601を「vehicle_speed」(車速)とし、第2測定変数602を「engine_revolution」(エンジン回転数)とする。
<Measurement time series data file>
FIG. 6 is an explanatory diagram showing an example of a measurement time series data file. The measurement time series data file 234 is a file in which the measured values of the measured variables are made into a time series of simulation. The measurement time series data file 234 has a
<シミュレーション処理>
図7は、シミュレーション装置100によるシミュレーション処理手順例を示すフローチャートである。このシミュレーション処理は、SILS環境プロセス200において、シミュレーション用BSW201により実行される。
<Simulation processing>
FIG. 7 is a flowchart showing an example of a simulation processing procedure by the
まず、シミュレーション装置100は、測定・キャリブレーション情報ファイル232を解析する(ステップS701)。具体的には、たとえば、シミュレーション装置100は、測定・キャリブレーション情報ファイル232から、測定変数名410、キャリブレーション変数名421、開始時間422および書込み値423を取得する。
First, the
具体的には、たとえば、シミュレーション装置100は、測定変数名410として、「vehicle_speed」(車速)と「engine_revolution」(エンジン回転数)とを取得する。
Specifically, for example, the
また、シミュレーション装置100は、キャリブレーション変数名421が「test_mode」、開始時間422が「10.00」、および書込み値423が「0」の組み合わせを取得する。また、シミュレーション装置100は、キャリブレーション変数名421が「fail_trigger」、開始時間422が「12.05」、および書込み値423が「1」の組み合わせを取得する。
Further, the
つぎに、シミュレーション装置100は、ステップS701の解析結果に基づいてマップファイル231を解析する(ステップS702)。具体的には、たとえば、シミュレーション装置100は、測定変数名410と一致する変数名331のアドレス332およびデータ型種別333を変数情報303から取得する。たとえば、測定変数名410が「vehicle_speed」(車速)の場合、一致する変数名331のアドレス332として、「[0x00200000]」が取得され、一致する変数名331のデータ型種別333として、「unsigned short」が取得される。
Next, the
また、シミュレーション装置100は、キャリブレーション変数名421についても測定変数名410と同様、キャリブレーション変数名421と一致する変数名331のアドレス332およびデータ型種別333を変数情報303から取得する。具体的には、たとえば、キャリブレーション変数名421が「test_mode」の場合、一致する変数名331のアドレス332が取得され、一致する変数名331のデータ型種別333が取得される。
Further, as for the calibration
つぎに、シミュレーション装置100は、テストシナリオファイル233を読み込んだ車両モデル202のシミュレーションを開始し、当該シミュレーションが停止したか否かを判断する(ステップS703)。シミュレーションが停止していない場合(ステップS703:No)、シミュレーション装置100は、現シミュレーション時間が開始時間422以上であるか否かを判断する(ステップS704)。現シミュレーション時間は、ステップS706においてECUアプリケーション220の1ステップ分の実行時間分加算される。シミュレーション開始時では、現シミュレーション時間は0秒であり、この場合、ステップS704:Noとなり、ステップS706に移行する。現シミュレーション時間が開始時間422以上になると(ステップS704:Yes)、ステップS705に移行する。
Next, the
ステップS705では、シミュレーション装置100は、キャリブレーション変数名421に対応するデータ型種別333を基に書込み値423を変換し、対象変数のアドレス332に値を設定し(ステップS705)、ステップS706に移行する。対象変数とは、ECUアプリケーション220におけるキャリブレーション変数名421に対応するキャリブレーション変数である。
In step S705, the
具体的には、たとえば、シミュレーション装置100は、現シミュレーション時間が開始時間422以上になった場合のキャリブレーション変数名421と一致する変数名331のデータ型種別333に合うように書込み値423を変換する。
Specifically, for example, the
たとえば、現シミュレーション時間が開始時間422である「10.00」以上になったとする。開始時間422である「10.00」に対応するキャリブレーション変数名421は、「test_mode」である。シミュレーション装置100は、キャリブレーション変数名421である「test_mode」と一致する変数名331のデータ型種別333に合うように書込み値423を変換する。そして、シミュレーション装置100は、対象変数であるECUアプリケーション220内のキャリブレーション変数が存在するアドレス332に変換後の書込み値423を設定する。
For example, it is assumed that the current simulation time is "10.00" or more, which is the
ステップS706では、シミュレーション装置100は、ECUアプリケーション220をシミュレーション1ステップ分実行する。1ステップ分の実行時間(たとえば、10msec)はあらかじめ設定されている。これにより、現シミュレーション時間に、実行した1ステップの実行時間が加算される。また、ステップS706では、ステップS705で変換後の書込み値423がECUアプリケーション220に設定されていれば、ECUアプリケーション220は、変換後の書込み値423で1ステップ分の処理を実行し、ステップS705が実行されていなければ、ECUアプリケーション220は、ステップS705で変換されていない書込み値423で1ステップ分の処理を実行する。
In step S706, the
そして、シミュレーション装置100は、測定変数に対応するデータ型種別333からサイズを取得し、対象変数のアドレスから値を取得する(ステップS707)。対象変数とは、ECUアプリケーション220における測定変数名410に対応する測定変数である。
Then, the
具体的には、たとえば、シミュレーション装置100は、測定変数名410と一致する変数名331のデータ型種別333からサイズを特定する。ECUアプリケーション220内の変数名331が存在するアドレス332には、ステップS706の実行結果となる値が格納される。特に、ステップS705が実行された場合は、変換後の書込み値423に基づいて、ステップS706が実行され、その実行結果がECUアプリケーション220内の変数名331があるアドレス332に格納される。そして、シミュレーション装置100は、測定変数名410と一致するECUアプリケーション220内の変数名331が存在するアドレス332から、特定したサイズ分の値を測定値として取得する。
Specifically, for example, the
つぎに、シミュレーション装置100は、ステップS707でECUアプリケーション220から取得した測定値を、測定時系列データファイル234に出力して(ステップS708)、ステップS703に戻る。具体的には、たとえば、シミュレーション装置100は、ステップS707で取得した測定値の変数名331が「vehicle_speed」であれば第1測定変数601に、「engine_revolution」(エンジン回転数)であれば第2測定変数602に書き込むとともに、現シミュレーション時間をシミュレーション時間600に書き込む。
Next, the
ステップS703において、シミュレーション装置100は、シミュレーションの開始から一定時間経過したり、ECUアプリケーション220の実行が終了したり、テストシナリオファイル233の最終シーケンスの実行が終了したりした場合に、シミュレーションが停止したと判断する(ステップS703:Yes)。シミュレーションが停止したと判断された場合(ステップS703:Yes)、一連の処理を終了する。
In step S703, the
このように、本実施例によれば、シミュレーション装置100は、マップファイル解析モジュール221およびキャリブレーション実行モジュール222を、シミュレーション用BSW201内に埋め込む。具体的には、シミュレーション装置100は、ECUアプリケーション220のビルドによって生成されるマップファイル231をシミュレーション実行での初期段階で解析して取得しておき、入力ファイルである測定・キャリブレーション情報ファイル232の測定変数名410およびキャリブレーション変数名421を用いて、アドレス332やデータ型種別333を取得する。これにより、ECUアプリケーション220内からシミュレーション実行時の測定変数が取得される。
As described above, according to the present embodiment, the
このように、測定およびキャリブレーションが必要なテストにおいて必要となるファイル群は、測定・キャリブレーション情報ファイル232とテストシナリオファイル233のみとなるため、管理対象が削減される。具体的には、ECUアプリケーション220のビルドによって最新のマップファイル231が特定可能な状態で保持されるため、マップファイル231が最新であるか否かを管理する必要がない。
As described above, the files required for the test requiring measurement and calibration are only the measurement / calibration information file 232 and the test scenario file 233, so that the management target is reduced. Specifically, since the
すなわち、ECUアプリケーション220の更新によりマップファイル231の変更があった場合は、従来のように、その都度データベースファイルを手動、もしくは外部ツールによって更新する必要がなく、データベースファイルの更新漏れ等によるデータ測定の手戻り作業の発生を抑制することができる。
That is, when the
また、シミュレーション装置100は、測定・キャリブレーション情報ファイル232から開始時間422および書込み値423を取得し、キャリブレーション実行モジュール222によるキャリブレーション実行処理で、ECUアプリケーション220の時間経過後に、ECUアプリケーション220内の対応するキャリブレーション変数のアドレス332に、データ型種別333で変換された書込み値423を書き込む。これにより、キャリブレーションが実行される。したがって、何かしらのイベントを基に対象となるキャリブレーション変数に値を設定するようなスクリプトファイルの作成や管理が不要となる。
Further, the
また、測定・キャリブレーション情報ファイル232は変数名410,421、時間422、書込み値423のみで構成されており、容易に追加または削除が可能であるため、ECUアプリケーション220の変更時に更新する必要がない。
Further, the measurement / calibration information file 232 is composed only of the
このように、ECUアプリケーション220のビルド時に自動生成されたマップファイル231をシミュレーション実行時にそのまま取り込むといった、自己完結した循環処理を実現することで、ユーザがマップファイル231の更新やマップファイル231の指定を意識することが不要となる。したがって、シミュレーションの効率化を図ることができる。
In this way, by realizing a self-contained cyclic process such as importing the
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 It should be noted that the present invention is not limited to the above-mentioned examples, but includes various modifications and equivalent configurations within the scope of the attached claims. For example, the above-mentioned examples have been described in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to those having all the described configurations. Further, a part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Further, the configuration of another embodiment may be added to the configuration of one embodiment. In addition, other configurations may be added, deleted, or replaced with respect to a part of the configurations of each embodiment.
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 Further, each configuration, function, processing unit, processing means, etc. described above may be realized by hardware by designing a part or all of them by, for example, an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function is recorded in a memory, a hard disk, a storage device such as an SSD (Solid State Drive), or an IC (Integrated Circuit) card, an SD card, or a DVD (Digital Versail Disc). It can be stored in a medium.
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 Further, the control lines and information lines show what is considered necessary for explanation, and do not necessarily show all the control lines and information lines necessary for mounting. In practice, it can be considered that almost all configurations are interconnected.
100 シミュレーション装置
101 プロセッサ
202 車両モデル
211 プロセッサモデル
212 メモリモデル
213 IFモデル
214 バスモデル
220 ECUアプリケーション
221 マップファイル解析モジュール
222 キャリブレーション実行モジュール
223 測定データ出力モジュール
230 アプリソースコード
231 マップファイル
232 測定・キャリブレーション情報ファイル
233 テストシナリオファイル
234 測定時系列データファイル
100
Claims (6)
前記シミュレーション装置は、前記ソフトウェアと、前記ソフトウェアに関するマップファイルと、前記ソフトウェアに関する測定変数名を含む測定情報と、前記ソフトウェアに関するキャリブレーション変数名と開始時間と書込み値とを含むキャリブレーション情報と、にアクセス可能であり、
前記シミュレーション装置は、
前記シミュレーションの開始前に、前記キャリブレーション変数名に対応する第1アドレスおよび第1データ型種別と、前記測定変数名に対応する第2アドレスおよび第2データ型種別とを、前記マップファイルから取得する第1取得処理と、
前記シミュレーションの開始後、前記開始時間が経過した場合に、前記第1取得処理によって取得された第1データ型種別に基づいて前記書込み値を変換し、前記ソフトウェア内において前記キャリブレーション変数名が存在する前記第1アドレスに、変換後の書込み値を設定する設定処理と、
前記設定処理によって設定された前記変換後の書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから測定値を取得する第2取得処理と、
前記第2取得処理によって取得された測定値を出力する出力処理と、
を実行することを特徴とするシミュレーション方法。 It is a simulation method executed by a simulation device that simulates software that controls a controlled model.
The simulation device includes the software, a map file related to the software, measurement information including a measurement variable name related to the software, and calibration information including a calibration variable name, a start time, and a write value related to the software. It is accessible and
The simulation device is
Prior to the start of the simulation, the first address and the first data type type corresponding to the calibration variable name and the second address and the second data type type corresponding to the measurement variable name are acquired from the map file. The first acquisition process to be performed and
When the start time elapses after the start of the simulation, the write value is converted based on the first data type type acquired by the first acquisition process, and the calibration variable name exists in the software. Setting process to set the write value after conversion to the first address to be performed,
As a result of executing the simulation of the software with the converted write value set by the setting process, the measurement variable name in the software is based on the second data type type acquired by the first acquisition process. The second acquisition process of acquiring the measured value from the second address where
An output process that outputs the measured value acquired by the second acquisition process, and an output process.
A simulation method characterized by running.
前記第2取得処理では、前記シミュレーション装置は、前記開始時間が経過していない場合に、前記書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから前記測定値を取得する、
ことを特徴とするシミュレーション方法。 The simulation method according to claim 1.
In the second acquisition process, the simulation device is a second data type acquired by the first acquisition process as a result of executing the simulation of the software with the write value when the start time has not elapsed. Based on the type, the measured value is acquired from the second address in which the measured variable name exists in the software.
A simulation method characterized by that.
前記シミュレーション装置は、前記ソフトウェアのソースコードをビルドすることにより、前記ソフトウェアおよび前記マップファイルを生成する生成処理を実行し、
前記第1取得処理では、前記シミュレーション装置は、前記生成処理によって生成されたソフトウェアの前記シミュレーションの開始前に、前記第1アドレスおよび前記第1データ型種別と、前記第2アドレスおよび前記第2データ型種別と、前記生成処理によって生成されたマップファイルから取得する、
ことを特徴とするシミュレーション方法。 The simulation method according to claim 1.
The simulation device executes a generation process for generating the software and the map file by building the source code of the software.
In the first acquisition process, the simulation apparatus performs the first address, the first data type type, the second address, and the second data before the start of the simulation of the software generated by the generation process. Obtained from the type type and the map file generated by the generation process.
A simulation method characterized by that.
前記プロセッサは、前記ソフトウェアと、前記ソフトウェアに関するマップファイルと、前記ソフトウェアに関する測定変数名を含む測定情報と、前記ソフトウェアに関するキャリブレーション変数名と開始時間と書込み値とを含むキャリブレーション情報と、にアクセス可能であり、
前記プロセッサに、
前記シミュレーションの開始前に、前記キャリブレーション変数名に対応する第1アドレスおよび第1データ型種別と、前記測定変数名に対応する第2アドレスおよび第2データ型種別とを、前記マップファイルから取得する第1取得処理と、
前記シミュレーションの開始後、前記開始時間が経過した場合に、前記第1取得処理によって取得された第1データ型種別に基づいて前記書込み値を変換し、前記ソフトウェア内において前記キャリブレーション変数名が存在する前記第1アドレスに、変換後の書込み値を設定する設定処理と、
前記設定処理によって設定された前記変換後の書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから測定値を取得する第2取得処理と、
前記第2取得処理によって取得された測定値を出力する出力処理と、
を実行させることを特徴とするシミュレーションプログラム。 A simulation program that causes a processor to execute a simulation of software that controls a controlled model.
The processor accesses the software, a map file for the software, measurement information including measurement variable names for the software, and calibration information including calibration variable names, start times, and write values for the software. It is possible and
To the processor
Prior to the start of the simulation, the first address and the first data type type corresponding to the calibration variable name and the second address and the second data type type corresponding to the measurement variable name are acquired from the map file. The first acquisition process to be performed and
When the start time elapses after the start of the simulation, the write value is converted based on the first data type type acquired by the first acquisition process, and the calibration variable name exists in the software. Setting process to set the write value after conversion to the first address to be performed,
As a result of executing the simulation of the software with the converted write value set by the setting process, the measurement variable name in the software is based on the second data type type acquired by the first acquisition process. The second acquisition process of acquiring the measured value from the second address where
An output process that outputs the measured value acquired by the second acquisition process, and an output process.
A simulation program characterized by executing.
前記第2取得処理では、前記プロセッサに、前記開始時間が経過していない場合に、前記書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから前記測定値を取得させる、
ことを特徴とするシミュレーションプログラム。 The simulation program according to claim 4.
In the second acquisition process, when the start time has not elapsed in the processor, the software simulation is executed with the write value, and as a result, the second data type acquired by the first acquisition process. Based on, the measured value is acquired from the second address in which the measured variable name exists in the software.
A simulation program featuring that.
前記プロセッサに、
前記ソフトウェアのソースコードをビルドすることにより、前記ソフトウェアおよび前記マップファイルを生成する生成処理を実行させ、
前記第1取得処理では、前記プロセッサに、前記生成処理によって生成されたソフトウェアの前記シミュレーションの開始前に、前記第1アドレスおよび前記第1データ型種別と、前記第2アドレスおよび前記第2データ型種別と、前記生成処理によって生成されたマップファイルから取得させる、
ことを特徴とするシミュレーションプログラム。 The simulation program according to claim 4.
To the processor
By building the source code of the software, the generation process for generating the software and the map file is executed.
In the first acquisition process, the processor has the first address and the first data type type, and the second address and the second data type before the start of the simulation of the software generated by the generation process. Obtained from the type and the map file generated by the generation process.
A simulation program featuring that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020164291A JP7410004B2 (en) | 2020-09-30 | 2020-09-30 | Simulation method and simulation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020164291A JP7410004B2 (en) | 2020-09-30 | 2020-09-30 | Simulation method and simulation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022056500A true JP2022056500A (en) | 2022-04-11 |
JP7410004B2 JP7410004B2 (en) | 2024-01-09 |
Family
ID=81110800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020164291A Active JP7410004B2 (en) | 2020-09-30 | 2020-09-30 | Simulation method and simulation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7410004B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020349A (en) | 1998-07-06 | 2000-01-21 | Toshiba Corp | Device and method for supporting program development and medium recording program for program development support |
JP2018026067A (en) | 2016-08-12 | 2018-02-15 | 富士電機株式会社 | Simulation device and method of generating connection information in simulation device |
US10482003B1 (en) | 2018-11-09 | 2019-11-19 | Aimotive Kft. | Method and system for modifying a control unit of an autonomous car |
JP7211135B2 (en) | 2019-02-12 | 2023-01-24 | 富士電機株式会社 | Information processing device, information processing method, and information processing system |
-
2020
- 2020-09-30 JP JP2020164291A patent/JP7410004B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7410004B2 (en) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064403B (en) | A kind of ECU hardware-in-loop simulation automated testing method and system | |
US10699049B2 (en) | System design using accurate performance models | |
US11922741B2 (en) | Secure installation of approved parts using blockchain | |
JP2014203314A (en) | ECU simulation device | |
US10997344B2 (en) | ECU simulation device | |
US11989535B2 (en) | Simulation method and recording medium | |
CN114662427B (en) | Debugging method and device for logic system design | |
CN115437336A (en) | Test method and device for test case, electronic equipment and storage medium | |
CN112181752A (en) | Vehicle bus test method and device, electronic equipment and readable storage medium | |
US8239850B2 (en) | Computer-implemented method of releasing battery state estimation software | |
CN111538628B (en) | Information processing method, device, equipment and medium | |
JP2020099141A (en) | Control apparatus test device, control method thereof, and control apparatus test system | |
US11593076B2 (en) | Method for merging architecture data | |
KR101282417B1 (en) | Apparatus and method for making CAN data file for test | |
JP2022056500A (en) | Simulation method and simulation program | |
JP2007507765A (en) | System and method for testing a control process for a vehicle | |
JP7211135B2 (en) | Information processing device, information processing method, and information processing system | |
US10223077B2 (en) | Determination of signals for readback from FPGA | |
Lauber et al. | Virtual test method for complex and variant-rich automotive systems | |
JP3214459B2 (en) | Simulation method and apparatus | |
US11520954B2 (en) | Simulation management method, simulation system, and program | |
CN113312080B (en) | System, device and method for updating chip software and hardware configuration in chip EDA simulation | |
Naithani et al. | Development of an Automobile Hardware-inthe-Loop Test System with CAN Communication | |
JP2006277084A (en) | Simulation device, parameter control method, and computer program | |
US20230367561A1 (en) | Method for generating source code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231108 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7410004 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |