JP2012208843A - Development support device - Google Patents
Development support device Download PDFInfo
- Publication number
- JP2012208843A JP2012208843A JP2011075300A JP2011075300A JP2012208843A JP 2012208843 A JP2012208843 A JP 2012208843A JP 2011075300 A JP2011075300 A JP 2011075300A JP 2011075300 A JP2011075300 A JP 2011075300A JP 2012208843 A JP2012208843 A JP 2012208843A
- Authority
- JP
- Japan
- Prior art keywords
- model
- point arithmetic
- type
- floating
- block
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、開発支援装置に関する。 The present invention relates to a development support apparatus.
従来、ECU(Electric Control Unit)の制御プログラムの開発手法として、シミュレータプログラムが実装された開発用コンピュータ上で、制御モデル(制御ロジックをブロック線図等によってグラフィカルに表現したもの)の作成、及び制御仕様に対する制御モデル(つまり制御ロジック)の適合性の検証を行い、検証した制御モデルから制御プログラムのソースコードを自動生成するモデルベース開発が知られている。 Conventionally, as a control program development method for ECU (Electric Control Unit), creation and control of control models (graphical representation of control logic using block diagrams, etc.) on a development computer equipped with a simulator program Model-based development is known in which the compatibility of a control model (that is, control logic) with specifications is verified, and the source code of a control program is automatically generated from the verified control model.
新規制御の試作段階では頻繁に設計変更を繰り返すことがある為、この段階で量産向け制御プログラムの実装設計を行うのは非効率である。そこで、近年では、ラピッドプロトタイプコントローラと呼ばれる高性能コントローラ(以下RPTコントローラと称す)を新規制御の試作段階で用いることがある。ラピッドプロトタイプコントローラでは、ECU全ての制御プログラムをRPTコントローラ上で開発する方法(フルパス方式のラピッドプロトタイピング)とラピッドプロトタイプコントローラを開発用コンピュータ及び既存ECUにバイパス接続し、既存ECU上で実行される既存制御ロジックと、RPTコントローラ上で実行される新規制御ロジックとで実機が制御されるように両装置を協調動作させながら実機試験を行うことで、新規制御ロジックの検証を効率的に行う開発手法(所謂、バイパス方式のラピッドプロトタイピング)があり、一部の制御のみを新規開発する場合、後者が採用されている。 Since design changes are frequently repeated at the prototype stage of new control, it is inefficient to design and implement a control program for mass production at this stage. Therefore, in recent years, a high-performance controller called a rapid prototype controller (hereinafter referred to as an RPT controller) is sometimes used in a prototype stage of new control. In the rapid prototype controller, a method for developing all ECU control programs on the RPT controller (full-pass rapid prototyping), and the rapid prototype controller is bypassed to the development computer and the existing ECU and executed on the existing ECU. Development method for efficiently verifying new control logic by conducting actual machine tests while operating both devices in a coordinated manner so that the actual machine is controlled by the control logic and the new control logic executed on the RPT controller ( There is so-called bypass rapid prototyping), and the latter is adopted when only a part of the control is newly developed.
従来では、バイパス方式のラピッドプロトタイピングを行う場合、RPTコントローラを利用するという都合上、以下のような問題点があった。
(1)RPTコントローラは、開発用コンピュータから送られる開発対象の制御プログラムに従って動作するが、この制御プログラムは、浮動小数点演算型の制御モデルを基に生成されたソースコードをPRTコントローラ専用のコンパイラによって機械語に変換したものである。つまり、RPTコントローラは、浮動小数点演算を実行可能な高性能CPU(Central Processing Unit)を備えているため、比較的高価である。
(2)既存ECU側にRPTコントローラとの通信を可能とする専用の通信インターフェースプログラムを組み込む必要があるため、開発工数が増大する。
Conventionally, when bypass rapid prototyping is performed, there are the following problems due to the use of an RPT controller.
(1) The RPT controller operates in accordance with a development target control program sent from a development computer. This control program uses a compiler dedicated to the PRT controller to generate source code based on a floating-point arithmetic control model. It is converted to machine language. That is, the RPT controller is relatively expensive because it includes a high-performance CPU (Central Processing Unit) capable of executing floating-point arithmetic.
(2) Since it is necessary to incorporate a dedicated communication interface program that enables communication with the RPT controller on the existing ECU side, the number of development steps increases.
本発明は、上述した事情に鑑みてなされたものであり、制御プログラムのモデルベース開発において、RPTコントローラのような高性能コントローラを用いずにラピッドプロトタイピングを実施可能な開発支援装置を提供することを目的とする。 The present invention has been made in view of the above-described circumstances, and provides a development support apparatus capable of performing rapid prototyping without using a high-performance controller such as an RPT controller in model-based development of a control program. With the goal.
上記目的を達成するために、本発明では、開発支援装置に係る第1の解決手段として、入力装置と、前記入力装置から得られる操作入力信号に応じて車載ECUに実装すべき制御プログラムのモデルベース開発を支援する開発支援装置であって、浮動小数点演算モデルとして予め作成された制御モデルを固定小数点演算モデルに変換するモデル変換手段を備えることを特徴とする。 In order to achieve the above object, in the present invention, as a first solving means related to a development support apparatus, a model of a control program to be installed in an in-vehicle ECU according to an operation input signal obtained from the input apparatus and the input apparatus A development support apparatus for supporting base development, characterized by comprising model conversion means for converting a control model created in advance as a floating-point arithmetic model into a fixed-point arithmetic model.
また、本発明では、開発支援装置に係る第2の解決手段として、上記第1の解決手段において、前記モデル変換手段は、前記浮動小数点演算モデルとして予め作成された制御モデルの構成要素の内、浮動小数点演算型の構成要素を固定小数点演算型に自動設定することを特徴とする。 Further, in the present invention, as the second solving means relating to the development support apparatus, in the first solving means, the model converting means includes a control model component created in advance as the floating-point arithmetic model, A floating-point arithmetic type component is automatically set to a fixed-point arithmetic type.
また、本発明では、開発支援装置に係る第3の解決手段として、上記第2の解決手段として、前記モデル変換手段は、共通する前記浮動小数点演算型の構成要素を固定小数点演算型に自動設定すると共に、一括的に前記固定小数点演算型の取り得るデータ範囲及び必要精度を自動設定することを特徴とする。 In the present invention, as the third solving means relating to the development support apparatus, as the second solving means, the model converting means automatically sets the common floating-point arithmetic type components to the fixed-point arithmetic type. In addition, the data range and required accuracy that can be taken by the fixed-point arithmetic type are automatically set collectively.
また、本発明では、開発支援装置に係る第4の解決手段として、上記第2の解決手段において、前記モデル変換手段は、共通する前記浮動小数点演算型の構成要素を固定小数点演算型に自動設定すると共に、個別的に前記固定小数点演算型の取り得るデータ範囲及び必要精度を自動設定することを特徴とする。 In the present invention, as a fourth solving means related to the development support apparatus, in the second solving means, the model converting means automatically sets the common floating-point arithmetic type component to a fixed-point arithmetic type. In addition, the data range and required accuracy that can be taken by the fixed-point arithmetic type are automatically set individually.
また、本発明では、開発支援装置に係る第5の解決手段として、上記第3または第4の解決手段として、前記モデル変換手段は、前記自動設定後の各構成要素と、演算型、該演算型の取り得るデータ範囲及び必要精度とを対応付けたテーブルデータを新たに作成することを特徴とする。 In the present invention, as the fifth solving means relating to the development support apparatus, as the third or fourth solving means, the model converting means includes each component after the automatic setting, an operation type, and the calculation Table data in which the data range that can be taken by the mold and the necessary accuracy are associated is newly created.
シミュレータ上で制御モデルは浮動小数点演算モデルとして作成される一方、ECUには固定小数点演算しか実行できない安価なマイコンが内蔵されている。つまり、RPTコントローラのような浮動小数点演算が可能な高性能コントローラを用いずにラピッドプロトタイピングを実施するためには、開発支援装置側に浮動小数点演算モデルとして予め作成された制御モデルを固定小数点演算モデルに変換する機能を設ける必要がある。
従って、本発明に係る開発支援装置によれば、制御プログラムのモデルベース開発において、RPTコントローラのような高性能コントローラを用いずにラピッドプロトタイピングを実施可能であり、開発コスト及び開発工数の増大を防止できる。
While the control model is created as a floating-point arithmetic model on the simulator, the ECU incorporates an inexpensive microcomputer that can execute only fixed-point arithmetic. In other words, in order to perform rapid prototyping without using a high-performance controller capable of floating-point arithmetic such as an RPT controller, a control model created in advance as a floating-point arithmetic model on the development support side is used as a fixed-point arithmetic. It is necessary to provide a function to convert to a model.
Therefore, according to the development support apparatus according to the present invention, rapid prototyping can be performed without using a high-performance controller such as an RPT controller in model-based development of a control program, which increases development costs and development man-hours. Can be prevented.
以下、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係る開発支援装置1の機能ブロック構成図である。本開発支援装置1は、車載ECU2に実装すべき制御プログラムのモデルベース開発を支援する装置(例えばパーソナルコンピュータ)であり、入力装置11、表示装置12、記憶装置13及び処理装置14を備えている。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a functional block configuration diagram of a
入力装置11は、例えばキーボードやマウス等から構成されており、ユーザによる操作入力に応じた信号(以下、操作入力信号と称す)を処理装置14に出力するものである。表示装置12は、例えば液晶ディスプレイ等であり、処理装置14から入力される画像信号に応じた画像を表示するものである。これら入力装置11及び表示装置12は、本開発支援装置1のグラフィカルユーザインターフェース(GUI)に相当する。
The
記憶装置13は、本開発支援装置1に各種機能を実現させるための各種ソフトウェアを予め記憶している、例えばHDD(Hard Disk Drive)等の不揮発性記憶装置であり、処理装置14からの書込み要求に応じてデータの書込み(記憶)を行う一方、処理装置14からの読出し要求に応じて記憶しているデータを読み出して処理装置14へ出力する機能を備えている。
The
処理装置14は、CPUやメモリ、通信コントローラ、入出力インターフェース等が一体的に組み込まれたコンピュータモジュール(CPUボード)であり、入力装置11から入力される操作入力信号と記憶装置13に記憶されている各種ソフトウェアに基づいて、本開発支援装置1の全体動作を統括制御するものである。なお、この処理装置14は、CAN(Controller Area Network)或いはLIN(Local Interconnect Network)等の通信プロトコルに従って車載ECU2と通信を行うことができる。
The
記憶装置13には、本開発支援装置1に各種機能を実現させるためのソフトウェアとして、OS(Operating System)13aの他、モデルベース開発に用いられるシミュレータ14aとしての機能を本開発支援装置1(正確には処理装置14)に実現させるためのシミュレータプログラム13b、例えばMathworks社が提供しているMATLAB/Simulink(登録商標)が記憶されている。なお、シミュレータプログラム13bには、実行プログラムの他、制御モデルの作成に利用できる汎用的なブロック(制御モデルの構成要素)が多数収容されたブロックライブラリが含まれている。
In the
また、記憶装置13には、シミュレータ14aによって浮動小数点演算モデルとして作成された制御モデルを固定小数点演算モデルに変換するモデル変換ツール14bとしての機能を処理装置14に実現させるためのモデル変換プログラム13cが記憶されている。また、記憶装置13には、モデル変換ツール14bによって固定小数点演算モデルに変換された制御モデルからCコード(C言語で記述されたソースコード)を自動生成するCコード自動生成ツール14cとしての機能を処理装置14に実現させるためのCコード自動生成プログラム13dが記憶されている。
The
また、記憶装置13には、Cコード自動生成ツール14cによって生成されたCコードを、車載ECU2に内蔵されたマイコン(図示省略)が実行可能な制御プログラム(機械語で記述されたプログラム)に変換し、レガシーコード13h(既存の制御プログラム)とのリンクを行うコンパイラ14dとしての機能を処理装置14に実現させるためのコンパイラプログラム13eが記憶されている。
The
また、記憶装置13には、コンパイラ14dによってコンパイル及びリンクが行われた制御プログラムからROM(Read Only Memory)データを作成して車載ECU2に転送するECUモニタツール14eとしての機能を処理装置14に実現させるためのモニタプログラム13fが記憶されている。ここで、ROMデータとは、車載ECU2に内蔵されたROM(図示省略)における制御プログラムの書込み先アドレスと、その書込み先アドレスに書込むべき制御プログラムの構成データとの対応関係を表すデータである。
In addition, the
なお、記憶装置13には、モデル変換ツール14bによって制御モデルを浮動小数点演算モデルから固定小数点演算モデルに変換する際に利用されるデータディクショナリ13gと、前述のレガシーコード13hが記憶されている。詳細は後述するが、データディクショナリ13gとは、制御モデルを構成する各ブロックの名称と、その変数の車載ECU2内での格納先を表すクラス(Class)と、演算型(Type)、分解能(LSB)及びオフセット量(OFFSET)等のスケーリング情報との対応関係を表すテーブルデータである。
The
次に、上記のように構成された本開発支援装置1と既存の車載ECU2を利用したラピッドプロトタイピングによって、新規制御プログラムのモデルベース開発を行う手法について説明する。
Next, a method for model-based development of a new control program by rapid prototyping using the
図2は、開発対象の新規制御プログラム(制御ロジック)をブロック線図によって表現した制御モデルの一例である。ユーザは、シミュレータ14aの起動後、GUIを使用してブロックライブラリから所望のブロックを選択し、モデリングウインドウ上で各ブロックを結線することで図2に示すような制御モデルを容易に作成することができる。
FIG. 2 is an example of a control model in which a new control program (control logic) to be developed is represented by a block diagram. The user can easily create a control model as shown in FIG. 2 by selecting a desired block from the block library using the GUI after connecting the
図2に示すように、開発対象の制御モデルは、10個のブロックB1〜B10から構成されている。図3(a)は、図2に示す制御モデルの全体をテキスト表現したものである。この図3(a)において、「Block Type」はブロックの種類を表し、「Name」はブロックの名称を表し、「Type」はブロックの演算型を表し、「Value」はブロックのパラメータ値を表している。また、「System」とは、サブシステム化されたブロック(以下、サブシステムブロックと称す)を表している。 As shown in FIG. 2, the control model to be developed is composed of ten blocks B1 to B10. FIG. 3A is a text representation of the entire control model shown in FIG. In FIG. 3A, “Block Type” represents the type of block, “Name” represents the name of the block, “Type” represents the operation type of the block, and “Value” represents the parameter value of the block. ing. In addition, “System” represents a subsystemized block (hereinafter referred to as a subsystem block).
つまり、ブロックB1は、種類が入力ポート(Inport)、名称が“Sat_G”、演算型が浮動小数点演算型(Double)である。ブロックB2は、種類が入力ポート(Inport)、名称が“Main_G”、演算型が浮動小数点演算型(Double)である。ブロックB3は、種類が出力ポート(Outport)、名称が“FireFlag”、演算型が論理演算型(Bool)である。ブロックB4は、名称が“Satellite LPF”のサブシステムブロックである。なお、このブロックB4の内容については省略する。 That is, the block B1 has the input port (Inport) type, the name “Sat_G”, and the operation type floating-point operation type (Double). In the block B2, the type is an input port (Inport), the name is “Main_G”, and the operation type is a floating-point operation type (Double). In the block B3, the type is an output port (Outport), the name is “FireFlag”, and the operation type is a logical operation type (Bool). The block B4 is a subsystem block whose name is “Satellite LPF”. The contents of this block B4 are omitted.
ブロックB5は、名称が“Main LPF”のサブシステムブロックである。図2に示すように、このブロックB5は、3個のブロックB5a、B5b及びB5cから構成されている。図3(b)は、ブロックB5の内容をテキスト表示したものである。この図に示すように、ブロックB5aは、種類が入力ポート(Inport)、名称が“Main_G”、演算型が浮動小数点演算型(Double)である。また、ブロックB5bは、種類が出力ポート(Outport)、名称が“MainLPF_G”、演算型が浮動小数点演算型(Double)である。また、ブロックB5cは、種類がローパスフィルタ(Discrete Filter)、名称が”Discrete Filter”、 演算型が浮動小数点演算型(Double)である。 The block B5 is a subsystem block whose name is “Main LPF”. As shown in FIG. 2, the block B5 includes three blocks B5a, B5b, and B5c. FIG. 3B is a text display of the contents of block B5. As shown in this figure, the type of the block B5a is an input port (Inport), the name is “Main_G”, and the operation type is a floating point operation type (Double). The block B5b has a type of output port (Outport), a name of "MainLPF_G", and an arithmetic type of floating point arithmetic type (Double). The block B5c is of a low-pass filter type (Discrete Filter), a name of “Discrete Filter”, and an arithmetic type of a floating point arithmetic type (Double).
図3(a)に示すように、ブロックB6は、名称が“Low Speed Detection”のサブシステムブロックである。図2に示すように、このブロックB6は、5個のブロックB6a、B6b、B6c、B6d及びB6eから構成されている。図3(c)は、ブロックB6の内容をテキスト表示したものである。この図に示すように、ブロックB6aは、種類が入力ポート(Inport)、名称が“MainLPF_G”、演算型が浮動小数点演算型(Double)である。ブロックB6bは、種類が出力ポート(Outport)、名称が“LowFlag”、演算型が論理演算型(Bool)である。 As shown in FIG. 3A, the block B6 is a subsystem block whose name is “Low Speed Detection”. As shown in FIG. 2, this block B6 is composed of five blocks B6a, B6b, B6c, B6d and B6e. FIG. 3C is a text display of the contents of the block B6. As shown in this figure, the type of the block B6a is an input port (Inport), the name is "MainLPF_G", and the operation type is a floating point operation type (Double). In the block B6b, the type is an output port (Outport), the name is “LowFlag”, and the operation type is a logical operation type (Bool).
ブロックB6cは、種類が時間積分器(Discrete Time Integrator)、名称が”Discrete-Time Integrator”、 演算型が浮動小数点演算型(Double)である。ブロックB6dは、種類が関係演算子(Relational Operator)、名称が”Relational Operator”、 演算型が論理演算型(Bool)である。ブロックB6eは、種類が定数(Constant)、名称が”Constant1”、 演算型が浮動小数点演算型(Double)、パラメータ値が“LowSpeedThreshold”である。 In the block B6c, the type is a time integrator (Discrete Time Integrator), the name is "Discrete-Time Integrator", and the operation type is a floating point operation type (Double). In the block B6d, the type is a relational operator, the name is “Relational Operator”, and the operation type is a logical operation type (Bool). In the block B6e, the type is a constant (Constant), the name is “Constant1”, the operation type is a floating point operation type (Double), and the parameter value is “LowSpeedThreshold”.
なお、図2において、ブロックB7は、名称が“Mid Speed Detection”のサブシステムブロックであり、ブロックB8は、名称が“Safing Detection”のサブシステムブロックであるが、図3(a)では省略している。図3(a)に示すように、ブロックB9は、種類が論理和演算子(Logic_OR)、名称が"Logical Operator"、演算型が論理演算型(Bool)である。ブロックB10は、種類が論理積演算子(Logic_AND)、名称が"Logical Operator1"、演算型が論理演算型(Bool)である。 In FIG. 2, block B7 is a subsystem block with the name “Mid Speed Detection”, and block B8 is a subsystem block with the name “Safing Detection”, but is omitted in FIG. ing. As shown in FIG. 3A, the type of the block B9 is a logical OR operator (Logic_OR), the name is "Logical Operator", and the operation type is a logical operation type (Bool). In the block B10, the type is a logical product operator (Logic_AND), the name is “Logical Operator1,” and the operation type is a logical operation type (Bool).
以上のように、開発対象の制御モデルは、当初、シミュレータ14aによって浮動小数点演算モデルとして作成される。図3(d)は、記憶装置13に当初記憶されている制御モデルのデータディクショナリ13gを表している。この図に示すように、当初のデータディクショナリ13gには、制御モデルの入出力ポートであるブロックB1、B2、B3のそれぞれに対応するクラス(Class)、演算型(Type)、分解能(LSB)及びオフセット量(OFFSET)が格納されている。
As described above, the control model to be developed is initially created as a floating point arithmetic model by the
さて、上記のように、シミュレータ14aによって開発対象の制御モデルが浮動小数点演算モデルとして作成された後、モデル変換ツール14bは、図1(b)に示すフローチャートのステップS1〜S6の処理を実行することで、浮動小数点演算モデルとして作成された制御モデルを固定小数点演算モデルに変換する。
As described above, after the control model to be developed is created as a floating-point arithmetic model by the
この図1(b)に示すように、モデル変換ツール14bは、まず、シミュレータ14aによって浮動小数点演算モデルとして作成された制御モデルを読み込み(ステップS1)、入出力信号のスケーリングの自動設定を行う(ステップS2)。具体的には、モデル変換ツール14bは、当初のデータディクショナリ13g(図3(d)参照)から制御モデルの入出力ポート名と一致する変数、つまり"Sat_G"、"Main_G"、"FireFlag"の情報を読出し、これら入出力ポートのスケーリング情報(演算型(Type)、分解能(LSB)及びオフセット量(OFFSET))を自動設定する。
As shown in FIG. 1B, the
図4(a)に示すように、入出力ポートのスケーリング情報の自動設定により、ブロックB1(“Sat_G”)及びブロックB2(“Main_G”)の演算型が固定小数点演算型(int16)に設定され、分解能(LSB)が「2^-8」に設定され、オフセット量が「0」に設定される。なお、論理演算型(Bool)のブロックB3(“FireFlag”)については変更はない。このように、モデル変換ツール14bは、浮動小数点演算型のブロックを固定小数点演算型に自動設定すると共に、固定小数点演算型の取り得るデータ範囲及び必要精度を自動設定する。
As shown in FIG. 4A, the calculation type of the block B1 (“Sat_G”) and the block B2 (“Main_G”) is set to the fixed-point calculation type (int16) by automatically setting the scaling information of the input / output ports. The resolution (LSB) is set to “2 ^ −8”, and the offset amount is set to “0”. The logical operation type (Bool) block B3 ("FireFlag") is not changed. As described above, the
続いて、モデル変換ツール14bは、GUIに設定された共通スケーリング情報の自動設定を行う(ステップS3)。具体的には、共通スケーリング情報として、演算型(Type)が「int32」、分解能(LSB)が「2^-15」、オフセット量(OFFSET)が「0」に設定されていると仮定すると、図4(c)に示すように、共通スケーリング情報の自動設定によって共通のブロックについて、演算型(Type)が「int32」、分解能(LSB)が「2^-15」、オフセット量(OFFSET)が「0」に一括して自動設定される。なお、論理演算型(Bool)のブロックB6b、B6dについては変更はない。また、ブロックB6c(時間積分器)のように、演算を行うブロックについては、オーバーフロー発生時のリミット処理を「有効(Limits On)」とする。
Subsequently, the
続いて、モデル変換ツール14bは、GUIの設定にサブシステム単位でのスケーリング情報の設定が有る場合、そのサブシステム単位でのスケーリング情報の設定に応じてサブシステムブロックのスケーリング情報の自動設定を行う(ステップS4)。具体的には、サブシステム単位でのスケーリング情報の設定として、ローパスフィルタのような高精度の演算を必要とするサブシステム("Satellite LPF"、"Main LPF")について、演算型(Type)を「int32」、分解能(LSB)を「2^-24」、オフセット量(OFFSET)を「0」に設定するよう指定されていたと仮定すると、図4(b)に示すように、サブシステムブロックであるブロックB5("Main LPF")を構成する全てのブロックB5a、B5b、B5cの演算型(Type)が「int32」、分解能(LSB)が「2^-24」、オフセット量(OFFSET)が「0」に設定される。
Subsequently, when the GUI setting includes setting of scaling information for each subsystem, the
続いて、モデル変換ツール14bは、スケーリングチェックを行う(ステップS5)。具体的には、このステップS5において、モデル変換ツール14bは、ブロック前後の演算スケーリング範囲を比較し、制御モデルにスケーリング範囲が大きい信号から小さい信号に変換されている箇所があれば計算値が異常となる可能性があるため、警告メッセージを出力する。
Subsequently, the
続いて、モデル変換ツール14bは、図4(d)に示すように、上記ステップS2、S3及びS4にて自動設定したスケーリング情報(演算型(Type)、分解能(LSB)及びオフセット量(OFFSET))と、クラス(Class)とを、ブロックの名称と対応付けてデータディクショナリ13gに自動追加する(ステップS6)。
以上のようなモデル変換ツール14bの機能によって、浮動小数点演算モデルとして作成された開発対象の制御モデルが固定小数点演算モデルに変換されることになる。
Subsequently, as shown in FIG. 4D, the
With the function of the
続いて、Cコード自動生成ツール14cは、モデル変換ツール14bによって固定小数点演算モデルに変換された制御モデルからCコードを自動生成する(ステップS7)。
続いて、コンパイラ14dは、Cコード自動生成ツール14cによって生成されたCコードを、車載ECU2に内蔵されたマイコンが実行可能な制御プログラムに変換し(コンパイルし)、レガシーコード13hとのリンクを行う(ステップS8)。
そして、ECUモニタツール14eは、コンパイラ14dによってコンパイル及びリンクが行われた制御プログラムからROMデータを作成し(ステップS9)、当該作成したROMデータを車載ECU2に転送する(ステップS10)。
Subsequently, the C code
Subsequently, the
Then, the
上記のようにシミュレータ14a上で制御モデルは浮動小数点演算モデルとして作成される一方、車載ECU2には固定小数点演算しか実行できない安価なマイコンが内蔵されている。従来では、ラピッドプロトタイピングを実施するためにRPTコントローラのような浮動小数点演算が可能な高性能コントローラを用いる必要があったが、本開発支援装置1には浮動小数点演算モデルとして作成された制御モデルを固定小数点演算モデルに変換する機能(モデル変換ツール14b)が設けられている。
As described above, the control model is created as a floating-point arithmetic model on the
つまり、本開発支援装置1によれば、新規制御プログラムのモデルベース開発において、RPTコントローラのような高性能コントローラを用いずにラピッドプロトタイピングを実施可能である。従って、高価なRPTコントローラが不要となるため開発コストの増大を防止できると共に、既存の車載ECU2側にRPTコントローラとの通信を可能とする専用の通信インターフェースプログラムを組み込む必要がないため開発工数の増大を防止できる。
That is, according to the
以上、本発明の一実施形態について説明したが、この実施形態はあくまで一例であって本発明の趣旨を逸脱しない範囲において実施形態の細部を種々変更可能であることは勿論である。 Although one embodiment of the present invention has been described above, this embodiment is merely an example, and it is needless to say that various details of the embodiment can be changed without departing from the spirit of the present invention.
1…開発支援装置、2…車載ECU、11…入力装置、12…表示装置、13…記憶装置、14…処理装置、14b…モデル変換ツール(モデル変換手段)、
DESCRIPTION OF
Claims (5)
浮動小数点演算モデルとして予め作成された制御モデルを固定小数点演算モデルに変換するモデル変換手段を備えることを特徴とする開発支援装置。 A development support device that supports model-based development of a control program to be installed in an in-vehicle ECU according to an input device and an operation input signal obtained from the input device,
A development support apparatus comprising model conversion means for converting a control model created in advance as a floating-point arithmetic model into a fixed-point arithmetic model.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011075300A JP2012208843A (en) | 2011-03-30 | 2011-03-30 | Development support device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011075300A JP2012208843A (en) | 2011-03-30 | 2011-03-30 | Development support device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012208843A true JP2012208843A (en) | 2012-10-25 |
Family
ID=47188487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011075300A Withdrawn JP2012208843A (en) | 2011-03-30 | 2011-03-30 | Development support device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012208843A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150004275A (en) * | 2013-07-02 | 2015-01-12 | 로베르트 보쉬 게엠베하 | Model calculation unit and control unit for calculation of databased function-model with data in various number formats |
KR20150064673A (en) * | 2013-12-03 | 2015-06-11 | 로베르트 보쉬 게엠베하 | Method and device for determining a gradient of a data-based function model |
JP2015195401A (en) * | 2015-07-14 | 2015-11-05 | 株式会社東芝 | Optical coupling device |
WO2017038104A1 (en) * | 2015-09-03 | 2017-03-09 | 株式会社Preferred Networks | Installation device and installation method |
JP2020518074A (en) * | 2017-04-28 | 2020-06-18 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | Adapters for connecting embedded systems to control computers and adapter matching methods |
JP2022011264A (en) * | 2020-06-30 | 2022-01-17 | 日立Astemo株式会社 | Software development support device and software development support method |
US11521070B2 (en) | 2015-10-29 | 2022-12-06 | Preferred Networks, Inc. | Information processing device and information processing method |
US11593625B2 (en) | 2017-10-19 | 2023-02-28 | Samsung Electronics Co., Ltd. | Method and apparatus with neural network parameter quantization |
-
2011
- 2011-03-30 JP JP2011075300A patent/JP2012208843A/en not_active Withdrawn
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102228995B1 (en) | 2013-07-02 | 2021-03-17 | 로베르트 보쉬 게엠베하 | Model calculation unit and control unit for calculation of databased function-model with data in various number formats |
KR20150004275A (en) * | 2013-07-02 | 2015-01-12 | 로베르트 보쉬 게엠베하 | Model calculation unit and control unit for calculation of databased function-model with data in various number formats |
KR20150064673A (en) * | 2013-12-03 | 2015-06-11 | 로베르트 보쉬 게엠베하 | Method and device for determining a gradient of a data-based function model |
KR102257530B1 (en) | 2013-12-03 | 2021-05-31 | 로베르트 보쉬 게엠베하 | Method and device for determining a gradient of a data-based function model |
JP2015195401A (en) * | 2015-07-14 | 2015-11-05 | 株式会社東芝 | Optical coupling device |
WO2017038104A1 (en) * | 2015-09-03 | 2017-03-09 | 株式会社Preferred Networks | Installation device and installation method |
US11915146B2 (en) | 2015-10-29 | 2024-02-27 | Preferred Networks, Inc. | Information processing device and information processing method |
US12079729B2 (en) | 2015-10-29 | 2024-09-03 | Preferred Networks, Inc. | Information processing device and information processing method |
US12026620B2 (en) | 2015-10-29 | 2024-07-02 | Preferred Networks, Inc. | Information processing device and information processing method |
US11521070B2 (en) | 2015-10-29 | 2022-12-06 | Preferred Networks, Inc. | Information processing device and information processing method |
US11442421B2 (en) | 2017-04-28 | 2022-09-13 | Dspace Gmbh | Adapter for connecting an embedded system to a control computer, and method for adapting an adapter |
JP7239487B2 (en) | 2017-04-28 | 2023-03-14 | ディスペース ゲー・エム・ベー・ハー | Adapters and how to match them for connecting embedded systems to control computers |
JP2020518074A (en) * | 2017-04-28 | 2020-06-18 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | Adapters for connecting embedded systems to control computers and adapter matching methods |
US11593625B2 (en) | 2017-10-19 | 2023-02-28 | Samsung Electronics Co., Ltd. | Method and apparatus with neural network parameter quantization |
JP7385536B2 (en) | 2020-06-30 | 2023-11-22 | 日立Astemo株式会社 | Software development support device and software development support method |
JP2022011264A (en) * | 2020-06-30 | 2022-01-17 | 日立Astemo株式会社 | Software development support device and software development support method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012208843A (en) | Development support device | |
CN107341294B (en) | Modelica language-based spacecraft information system modeling simulation method | |
US20190258460A1 (en) | Method and system for generating a software component | |
JP2008084121A (en) | Simulation system and simulation method | |
US20190294421A1 (en) | Method and system for editing a block diagram model | |
EP3173955A1 (en) | Design space exploration with quantitative pruning and ranking system and method | |
EP2883137B1 (en) | A mechanism for replacing an array creation routine within code | |
Benner et al. | MORLAB—the model order reduction LABoratory | |
US11126408B2 (en) | Incremental code generation method | |
US10387584B1 (en) | Streaming on hardware-software platforms in model based designs | |
KR20240047468A (en) | ECU upgrade method and device, and readable storage medium | |
JP2008269022A (en) | Simulation device, simulation method, and development support method | |
US20170372237A1 (en) | System and method for producing models for asset management from requirements | |
US10311166B2 (en) | System and method for solving and enforcing associative constraints | |
US8762120B1 (en) | Model-based variable alignment in a simulated environment | |
Wozniak et al. | A guidance framework for the generation of implementation models in the automotive domain | |
Zuo et al. | A new design method of automotive electronic real-time control system | |
US20160085519A1 (en) | Determination of signals for readback from fpga | |
JP2008077464A (en) | Modeling device | |
US20230237249A1 (en) | Method and system for generating an automation engineering project in a technical installation using multidisciplinary approach | |
Geng et al. | Automated code generation for development of electric vehicle controller | |
JP2015138356A (en) | Software structure visualization device | |
US10678537B1 (en) | Method and system for documenting a control program | |
US20240354062A1 (en) | Method and system for generating automation domain objects using knowledge from another automation domain object | |
Geng et al. | Embedded C code generation platform for electric vehicle controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140603 |