JP2012208843A - Development support device - Google Patents

Development support device Download PDF

Info

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
Application number
JP2011075300A
Other languages
Japanese (ja)
Inventor
Koichi Kobayashi
弘一 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keihin Corp
Original Assignee
Keihin Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Keihin Corp filed Critical Keihin Corp
Priority to JP2011075300A priority Critical patent/JP2012208843A/en
Publication of JP2012208843A publication Critical patent/JP2012208843A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a development support device capable of performing a rapid prototyping without using a high-performance controller such as a RPT (rapid prototype) controller in a model base development of a control program.SOLUTION: A development support device, that includes an input device and supports a model base development of a control program which should be mounted on an in-vehicle ECU(Electric Control Unit) in response to an operation input signal obtained by the input device, comprises model conversion means for converting a control model prepared in advance as a floating point calculation model into a fixed point calculation model.

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.

特許第4520466号公報Japanese Patent No. 4520466

従来では、バイパス方式のラピッドプロトタイピングを行う場合、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のブロック構成図(a)と、モデル変換ツール14bによるモデル変換処理を表すフローチャート(b)である。It is the block block diagram (a) of the development assistance apparatus 1 which concerns on this embodiment, and the flowchart (b) showing the model conversion process by the model conversion tool 14b. 開発対象の新規制御プログラム(制御ロジック)をブロック線図によって表現した制御モデルの一例である。It is an example of the control model which expressed the new control program (control logic) of development object with the block diagram. 図2に示す当初の制御モデル(浮動小数点演算モデル)をテキスト表現したもの(a)〜(c)と、当初、記憶装置13に記憶されているデータディクショナリ13g(d)である。A text representation (a) to (c) of the original control model (floating point arithmetic model) shown in FIG. 2 and a data dictionary 13 g (d) initially stored in the storage device 13. 固定小数点演算モデルに変換された後の制御モデルをテキスト表現したもの(a)〜(c)と、モデル変換後に記憶装置13に記憶されるデータディクショナリ13g(d)である。These are a text representation (a) to (c) of the control model after conversion to the fixed-point arithmetic model, and a data dictionary 13g (d) stored in the storage device 13 after the model conversion.

以下、本発明の一実施形態について、図面を参照しながら説明する。
図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 development support apparatus 1 according to the present embodiment. The development support apparatus 1 is an apparatus (for example, a personal computer) that supports model-based development of a control program to be installed in the in-vehicle ECU 2 and includes an input device 11, a display device 12, a storage device 13, and a processing device 14. .

入力装置11は、例えばキーボードやマウス等から構成されており、ユーザによる操作入力に応じた信号(以下、操作入力信号と称す)を処理装置14に出力するものである。表示装置12は、例えば液晶ディスプレイ等であり、処理装置14から入力される画像信号に応じた画像を表示するものである。これら入力装置11及び表示装置12は、本開発支援装置1のグラフィカルユーザインターフェース(GUI)に相当する。   The input device 11 includes, for example, a keyboard and a mouse, and outputs a signal corresponding to an operation input by the user (hereinafter referred to as an operation input signal) to the processing device 14. The display device 12 is a liquid crystal display, for example, and displays an image corresponding to an image signal input from the processing device 14. The input device 11 and the display device 12 correspond to a graphical user interface (GUI) of the development support device 1.

記憶装置13は、本開発支援装置1に各種機能を実現させるための各種ソフトウェアを予め記憶している、例えばHDD(Hard Disk Drive)等の不揮発性記憶装置であり、処理装置14からの書込み要求に応じてデータの書込み(記憶)を行う一方、処理装置14からの読出し要求に応じて記憶しているデータを読み出して処理装置14へ出力する機能を備えている。   The storage device 13 is a non-volatile storage device such as an HDD (Hard Disk Drive) that stores various software for causing the development support device 1 to realize various functions in advance, and a write request from the processing device 14. The data is written (stored) in response to the request, and the data stored in response to the read request from the processing device 14 is read out and output to the processing device 14.

処理装置14は、CPUやメモリ、通信コントローラ、入出力インターフェース等が一体的に組み込まれたコンピュータモジュール(CPUボード)であり、入力装置11から入力される操作入力信号と記憶装置13に記憶されている各種ソフトウェアに基づいて、本開発支援装置1の全体動作を統括制御するものである。なお、この処理装置14は、CAN(Controller Area Network)或いはLIN(Local Interconnect Network)等の通信プロトコルに従って車載ECU2と通信を行うことができる。   The processing device 14 is a computer module (CPU board) in which a CPU, a memory, a communication controller, an input / output interface, and the like are integrated, and is stored in the storage device 13 with an operation input signal input from the input device 11. The overall operation of the development support apparatus 1 is comprehensively controlled based on various types of software. The processing device 14 can communicate with the in-vehicle ECU 2 in accordance with a communication protocol such as CAN (Controller Area Network) or LIN (Local Interconnect Network).

記憶装置13には、本開発支援装置1に各種機能を実現させるためのソフトウェアとして、OS(Operating System)13aの他、モデルベース開発に用いられるシミュレータ14aとしての機能を本開発支援装置1(正確には処理装置14)に実現させるためのシミュレータプログラム13b、例えばMathworks社が提供しているMATLAB/Simulink(登録商標)が記憶されている。なお、シミュレータプログラム13bには、実行プログラムの他、制御モデルの作成に利用できる汎用的なブロック(制御モデルの構成要素)が多数収容されたブロックライブラリが含まれている。   In the storage device 13, as the software for realizing various functions in the development support device 1, the function as the simulator 14 a used for model-based development in addition to the OS (Operating System) 13 a is provided. Is stored with a simulator program 13b to be realized by the processing device 14), for example, MATLAB / Simulink (registered trademark) provided by Mathworks. In addition to the execution program, the simulator program 13b includes a block library that contains a large number of general-purpose blocks (components of the control model) that can be used to create a control model.

また、記憶装置13には、シミュレータ14aによって浮動小数点演算モデルとして作成された制御モデルを固定小数点演算モデルに変換するモデル変換ツール14bとしての機能を処理装置14に実現させるためのモデル変換プログラム13cが記憶されている。また、記憶装置13には、モデル変換ツール14bによって固定小数点演算モデルに変換された制御モデルからCコード(C言語で記述されたソースコード)を自動生成するCコード自動生成ツール14cとしての機能を処理装置14に実現させるためのCコード自動生成プログラム13dが記憶されている。   The storage device 13 also has a model conversion program 13c for causing the processing device 14 to realize a function as a model conversion tool 14b for converting a control model created by the simulator 14a as a floating-point arithmetic model into a fixed-point arithmetic model. It is remembered. The storage device 13 also has a function as an automatic C code generation tool 14c that automatically generates C code (source code written in C language) from a control model converted into a fixed-point arithmetic model by the model conversion tool 14b. An automatic C code generation program 13d to be realized by the processing device 14 is stored.

また、記憶装置13には、Cコード自動生成ツール14cによって生成されたCコードを、車載ECU2に内蔵されたマイコン(図示省略)が実行可能な制御プログラム(機械語で記述されたプログラム)に変換し、レガシーコード13h(既存の制御プログラム)とのリンクを行うコンパイラ14dとしての機能を処理装置14に実現させるためのコンパイラプログラム13eが記憶されている。   The storage device 13 converts the C code generated by the C code automatic generation tool 14c into a control program (program written in machine language) that can be executed by a microcomputer (not shown) built in the in-vehicle ECU 2. A compiler program 13e for causing the processing device 14 to realize a function as the compiler 14d for linking with the legacy code 13h (existing control program) is stored.

また、記憶装置13には、コンパイラ14dによってコンパイル及びリンクが行われた制御プログラムからROM(Read Only Memory)データを作成して車載ECU2に転送するECUモニタツール14eとしての機能を処理装置14に実現させるためのモニタプログラム13fが記憶されている。ここで、ROMデータとは、車載ECU2に内蔵されたROM(図示省略)における制御プログラムの書込み先アドレスと、その書込み先アドレスに書込むべき制御プログラムの構成データとの対応関係を表すデータである。   In addition, the storage device 13 has a function as an ECU monitor tool 14e that creates ROM (Read Only Memory) data from a control program compiled and linked by the compiler 14d and transfers the data to the in-vehicle ECU 2. A monitor program 13f is stored. Here, the ROM data is data representing the correspondence between the write destination address of the control program in the ROM (not shown) built in the in-vehicle ECU 2 and the configuration data of the control program to be written at the write destination address. .

なお、記憶装置13には、モデル変換ツール14bによって制御モデルを浮動小数点演算モデルから固定小数点演算モデルに変換する際に利用されるデータディクショナリ13gと、前述のレガシーコード13hが記憶されている。詳細は後述するが、データディクショナリ13gとは、制御モデルを構成する各ブロックの名称と、その変数の車載ECU2内での格納先を表すクラス(Class)と、演算型(Type)、分解能(LSB)及びオフセット量(OFFSET)等のスケーリング情報との対応関係を表すテーブルデータである。   The storage device 13 stores a data dictionary 13g used when the control model is converted from the floating point arithmetic model to the fixed point arithmetic model by the model conversion tool 14b, and the legacy code 13h described above. Although details will be described later, the data dictionary 13g is the name of each block constituting the control model, the class (Class) representing the storage location of the variable in the in-vehicle ECU 2, the calculation type (Type), the resolution (LSB) ) And offset information (OFFSET) and other table data representing the correspondence relationship.

次に、上記のように構成された本開発支援装置1と既存の車載ECU2を利用したラピッドプロトタイピングによって、新規制御プログラムのモデルベース開発を行う手法について説明する。   Next, a method for model-based development of a new control program by rapid prototyping using the development support apparatus 1 configured as described above and an existing in-vehicle ECU 2 will be described.

図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 simulator 14a and connecting each block on the modeling window. it can.

図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 simulator 14a. FIG. 3D shows a data dictionary 13 g of a control model that is initially stored in the storage device 13. As shown in this figure, the initial data dictionary 13g has a class (Class), an operation type (Type), a resolution (LSB), and a block corresponding to each of the blocks B1, B2, and B3 that are input / output ports of the control model. Stores the offset amount (OFFSET).

さて、上記のように、シミュレータ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 simulator 14a, the model conversion tool 14b executes steps S1 to S6 of the flowchart shown in FIG. Thus, the control model created as a floating-point arithmetic model is converted into a fixed-point arithmetic model.

この図1(b)に示すように、モデル変換ツール14bは、まず、シミュレータ14aによって浮動小数点演算モデルとして作成された制御モデルを読み込み(ステップS1)、入出力信号のスケーリングの自動設定を行う(ステップS2)。具体的には、モデル変換ツール14bは、当初のデータディクショナリ13g(図3(d)参照)から制御モデルの入出力ポート名と一致する変数、つまり"Sat_G"、"Main_G"、"FireFlag"の情報を読出し、これら入出力ポートのスケーリング情報(演算型(Type)、分解能(LSB)及びオフセット量(OFFSET))を自動設定する。   As shown in FIG. 1B, the model conversion tool 14b first reads a control model created as a floating-point arithmetic model by the simulator 14a (step S1), and automatically sets input / output signal scaling (step S1). Step S2). Specifically, the model conversion tool 14b reads the variables matching the input / output port names of the control model from the initial data dictionary 13g (see FIG. 3D), that is, “Sat_G”, “Main_G”, “FireFlag”. Reads the information and automatically sets the scaling information (operation type (Type), resolution (LSB) and offset amount (OFFSET)) of these input / output ports.

図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 model conversion tool 14b automatically sets the floating-point arithmetic block to the fixed-point arithmetic type, and automatically sets the data range and required accuracy that the fixed-point arithmetic type can take.

続いて、モデル変換ツール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 model conversion tool 14b automatically sets the common scaling information set in the GUI (Step S3). Specifically, assuming that the common scaling information is set to “int32” as the operation type (Type), “2 ^ -15” as the resolution (LSB), and “0” as the offset amount (OFFSET), As shown in Fig. 4 (c), the operation type (Type) is "int32", the resolution (LSB) is "2 ^ -15", and the offset amount (OFFSET) is set for the common block by automatic setting of common scaling information. Automatically set to “0” at once. Note that there is no change in the logical operation type (Bool) blocks B6b and B6d. In addition, for a block that performs an operation like the block B6c (time integrator), the limit processing at the time of occurrence of overflow is set to “valid (Limits On)”.

続いて、モデル変換ツール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 model conversion tool 14b automatically sets the scaling information for the subsystem block according to the setting of the scaling information for each subsystem. (Step S4). Specifically, as the setting of the scaling information for each subsystem, the operation type (Type) is set for subsystems that require high-precision calculations such as low-pass filters ("Satellite LPF", "Main LPF"). Assuming that “int32”, resolution (LSB) is set to “2 ^ -24”, and offset amount (OFFSET) is set to “0”, as shown in FIG. All blocks B5a, B5b, and B5c that make up a block B5 ("Main LPF") have an operation type (Type) of "int32", a resolution (LSB) of "2 ^ -24", and an offset amount (OFFSET) of " 0 "is set.

続いて、モデル変換ツール14bは、スケーリングチェックを行う(ステップS5)。具体的には、このステップS5において、モデル変換ツール14bは、ブロック前後の演算スケーリング範囲を比較し、制御モデルにスケーリング範囲が大きい信号から小さい信号に変換されている箇所があれば計算値が異常となる可能性があるため、警告メッセージを出力する。   Subsequently, the model conversion tool 14b performs a scaling check (step S5). Specifically, in this step S5, the model conversion tool 14b compares the operation scaling ranges before and after the block, and if the control model has a portion converted from a signal with a large scaling range to a small signal, the calculated value is abnormal. Warning message is output.

続いて、モデル変換ツール14bは、図4(d)に示すように、上記ステップS2、S3及びS4にて自動設定したスケーリング情報(演算型(Type)、分解能(LSB)及びオフセット量(OFFSET))と、クラス(Class)とを、ブロックの名称と対応付けてデータディクショナリ13gに自動追加する(ステップS6)。
以上のようなモデル変換ツール14bの機能によって、浮動小数点演算モデルとして作成された開発対象の制御モデルが固定小数点演算モデルに変換されることになる。
Subsequently, as shown in FIG. 4D, the model conversion tool 14b performs scaling information (calculation type (Type), resolution (LSB), and offset amount (OFFSET) automatically set in steps S2, S3, and S4. ) And the class (Class) are automatically added to the data dictionary 13g in association with the block name (step S6).
With the function of the model conversion tool 14b as described above, the control model to be developed created as the floating-point arithmetic model is converted into the fixed-point arithmetic model.

続いて、Cコード自動生成ツール14cは、モデル変換ツール14bによって固定小数点演算モデルに変換された制御モデルからCコードを自動生成する(ステップS7)。
続いて、コンパイラ14dは、Cコード自動生成ツール14cによって生成されたCコードを、車載ECU2に内蔵されたマイコンが実行可能な制御プログラムに変換し(コンパイルし)、レガシーコード13hとのリンクを行う(ステップS8)。
そして、ECUモニタツール14eは、コンパイラ14dによってコンパイル及びリンクが行われた制御プログラムからROMデータを作成し(ステップS9)、当該作成したROMデータを車載ECU2に転送する(ステップS10)。
Subsequently, the C code automatic generation tool 14c automatically generates a C code from the control model converted into the fixed-point arithmetic model by the model conversion tool 14b (step S7).
Subsequently, the compiler 14d converts (compiles) the C code generated by the C code automatic generation tool 14c into a control program that can be executed by the microcomputer built in the in-vehicle ECU 2, and links with the legacy code 13h. (Step S8).
Then, the ECU monitor tool 14e creates ROM data from the control program compiled and linked by the compiler 14d (step S9), and transfers the created ROM data to the in-vehicle ECU 2 (step S10).

上記のようにシミュレータ14a上で制御モデルは浮動小数点演算モデルとして作成される一方、車載ECU2には固定小数点演算しか実行できない安価なマイコンが内蔵されている。従来では、ラピッドプロトタイピングを実施するためにRPTコントローラのような浮動小数点演算が可能な高性能コントローラを用いる必要があったが、本開発支援装置1には浮動小数点演算モデルとして作成された制御モデルを固定小数点演算モデルに変換する機能(モデル変換ツール14b)が設けられている。   As described above, the control model is created as a floating-point arithmetic model on the simulator 14a, while the in-vehicle ECU 2 incorporates an inexpensive microcomputer that can execute only fixed-point arithmetic. Conventionally, it has been necessary to use a high-performance controller capable of floating-point arithmetic such as an RPT controller in order to perform rapid prototyping. However, the development support apparatus 1 has a control model created as a floating-point arithmetic model. Is converted to a fixed-point arithmetic model (model conversion tool 14b).

つまり、本開発支援装置1によれば、新規制御プログラムのモデルベース開発において、RPTコントローラのような高性能コントローラを用いずにラピッドプロトタイピングを実施可能である。従って、高価なRPTコントローラが不要となるため開発コストの増大を防止できると共に、既存の車載ECU2側にRPTコントローラとの通信を可能とする専用の通信インターフェースプログラムを組み込む必要がないため開発工数の増大を防止できる。   That is, according to the development support apparatus 1, rapid prototyping can be performed without using a high-performance controller such as an RPT controller in model-based development of a new control program. Therefore, since an expensive RPT controller is not required, it is possible to prevent an increase in development cost, and it is not necessary to incorporate a dedicated communication interface program that enables communication with the RPT controller on the existing in-vehicle ECU 2 side, thereby increasing the development man-hours. Can be prevented.

以上、本発明の一実施形態について説明したが、この実施形態はあくまで一例であって本発明の趣旨を逸脱しない範囲において実施形態の細部を種々変更可能であることは勿論である。  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 SYMBOLS 1 ... Development support apparatus, 2 ... In-vehicle ECU, 11 ... Input device, 12 ... Display apparatus, 13 ... Memory | storage device, 14 ... Processing apparatus, 14b ... Model conversion tool (model conversion means),

Claims (5)

入力装置と、前記入力装置から得られる操作入力信号に応じて車載ECUに実装すべき制御プログラムのモデルベース開発を支援する開発支援装置であって、
浮動小数点演算モデルとして予め作成された制御モデルを固定小数点演算モデルに変換するモデル変換手段を備えることを特徴とする開発支援装置。
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.
前記モデル変換手段は、前記浮動小数点演算モデルとして予め作成された制御モデルの構成要素の内、浮動小数点演算型の構成要素を固定小数点演算型に自動設定することを特徴とする請求項1に記載の開発支援装置。   The model conversion means automatically sets a floating-point arithmetic type component to a fixed-point arithmetic type among control model components created in advance as the floating-point arithmetic model. Development support equipment. 前記モデル変換手段は、共通する前記浮動小数点演算型の構成要素を固定小数点演算型に自動設定すると共に、一括的に前記固定小数点演算型の取り得るデータ範囲及び必要精度を自動設定することを特徴とする請求項2に記載の開発支援装置。   The model conversion means automatically sets the common components of the floating-point arithmetic type to the fixed-point arithmetic type, and automatically sets the data range and required accuracy that the fixed-point arithmetic type can take at once. The development support apparatus according to claim 2. 前記モデル変換手段は、共通する前記浮動小数点演算型の構成要素を固定小数点演算型に自動設定すると共に、個別的に前記固定小数点演算型の取り得るデータ範囲及び必要精度を自動設定することを特徴とする請求項2に記載の開発支援装置。   The model conversion means automatically sets the common components of the floating-point arithmetic type to a fixed-point arithmetic type and automatically sets the data range and required accuracy that the fixed-point arithmetic type can individually take The development support apparatus according to claim 2. 前記モデル変換手段は、前記自動設定後の各構成要素と、演算型、該演算型の取り得るデータ範囲及び必要精度とを対応付けたテーブルデータを新たに作成することを特徴とする請求項3または4に記載の開発支援装置。   4. The model conversion unit newly creates table data in which each component after the automatic setting is associated with an operation type, a data range that the operation type can take, and required accuracy. Or the development support apparatus according to 4.
JP2011075300A 2011-03-30 2011-03-30 Development support device Withdrawn JP2012208843A (en)

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)

* Cited by examiner, † Cited by third party
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
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
JP7385536B2 (en) 2020-06-30 2023-11-22 日立Astemo株式会社 Software development support device and software development support method

Cited By (13)

* Cited by examiner, † Cited by third party
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
US11521070B2 (en) 2015-10-29 2022-12-06 Preferred Networks, Inc. Information processing device and information processing method
US11915146B2 (en) 2015-10-29 2024-02-27 Preferred Networks, Inc. Information processing device and information processing 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
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
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

Similar Documents

Publication Publication Date Title
JP2012208843A (en) Development support device
CN107341294B (en) Modelica language-based spacecraft information system modeling 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
WO2023103712A1 (en) Ecu upgrade method and device, and readable storage medium
Kleijn 20-sim 4.3 Reference Manual
US10387584B1 (en) Streaming on hardware-software platforms in model based designs
Benner et al. MORLAB—the model order reduction LABoratory
EP2883137B1 (en) A mechanism for replacing an array creation routine within code
US20210096830A1 (en) Incremental code generation method
US11030362B2 (en) Modeling and cooperative simulation of systems with interdependent discrete and continuous elements
CN103942380A (en) Graphical control system design and simulation tool
US20170372237A1 (en) System and method for producing models for asset management from requirements
CN103049602A (en) Method for transforming AADL (Architecture Analysis and Design Language) component to interface automata model based on model driven engineering
US10311166B2 (en) System and method for solving and enforcing associative constraints
US8762120B1 (en) Model-based variable alignment in a simulated environment
Patankar et al. MATLAB and Simulink In-Depth: Model-based Design with Simulink and Stateflow, User Interface, Scripting, Simulation, Visualization and Debugging (English Edition)
Zuo et al. A new design method of automotive electronic real-time control system
JP2016071883A (en) Determining signals for readback from fpga
JP2008269022A (en) Simulation device, simulation method, and development support method
JP2008077464A (en) Modeling device
JP2015138356A (en) Software structure visualization 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
JP5011221B2 (en) Controller development tool and equipment with motor drive system developed using it

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