JP2014130627A - コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器 - Google Patents

コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器 Download PDF

Info

Publication number
JP2014130627A
JP2014130627A JP2014035387A JP2014035387A JP2014130627A JP 2014130627 A JP2014130627 A JP 2014130627A JP 2014035387 A JP2014035387 A JP 2014035387A JP 2014035387 A JP2014035387 A JP 2014035387A JP 2014130627 A JP2014130627 A JP 2014130627A
Authority
JP
Japan
Prior art keywords
model
information
scaling
development tool
program
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
Application number
JP2014035387A
Other languages
English (en)
Other versions
JP6085264B2 (ja
Inventor
Yukio Kawabata
幸雄 川端
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014035387A priority Critical patent/JP6085264B2/ja
Publication of JP2014130627A publication Critical patent/JP2014130627A/ja
Application granted granted Critical
Publication of JP6085264B2 publication Critical patent/JP6085264B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】モデルベース開発を実現するオートコーディングの利便性と、生産性とを向上する。
【解決手段】モデルによって表現される処理を実現するソースコードが生成されるコントローラ開発ツールであって、モデルをソースコード生成可能なブロックを組み合わせたライブラリモデル8Aとして記述し、このライブラリモデル8Aや、オートソースコードなどから実装ソースファイル4を生成するインターフェイス手段を有する。
【選択図】図1

Description

本発明は、コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器に関する。
従来より、例えば特許文献1には、車両のエンジンECUのためのプログラムにおいては、開発者が直接プログラムのソースコードを記述せず、目的とするプログラムの機能を作成が簡易で視認性の良い「モデル」という形態で記述する場合が開示されている。ここで、開発者は、このモデルに対応したプログラム開発環境がインストールされたパーソナルコンピュータ等を用いて、モデルから自動的にソースコードを生成する。モデルからソースコードを生成する機能を実現するためのプログラムは、コード生成ツールと呼ばれる。コード生成ツールは、モデル開発環境に組み込まれている場合が多い。モデルからソースコードを生成するようなプログラム開発は、モデルベース開発と呼ばれる。また、モデルから自動的に生成されたソースコードをオートコードと呼ばれ、モデルからソースコードを自動生成することはオートコーディングと呼ばれる。
モデルベース開発に対応したプログラム開発環境としては、例えば、MathWorks(登録商標)社のMATLAB(登録商標)がある。MATLAB(登録商標)においては、ユーザ(開発者)はMATLAB(登録商標)の一機能であるSimulink(登録商標)を用いて目的とするプログラムのモデルを記述する。モデルは、ブロックと呼ばれる機能単位および機能単位間の入出力関係を示す結線の組み合わせとして記述される。すなわち、複数のブロックが結線によってつなぎ合わされた集合体がモデルである。
モデルベース開発で必須のオートコードは、モデルからソフトウエアを自動的に生成するものであり、1)モデルを作る際の制御設計、2)モデルからソフトウエアを生成するソフト設計、3)オートコードを実現するプログラム開発環境の活用、の3つで高いスキルが必要である。
しかしながら、3つの高いスキルを習得するためには反対に非常に多くの時間を要する。
特開2005−332333号公報
標準ブロックを用いて制御設計すれば自由度は高いが、ソフト設計とソフト実装の際に手直しが多くなり、ソフト設計とソフト実装を考慮した規定ブロックを用いると、制御設計時の自由度が低くなる問題がある。
本発明は、上記課題を解決し、制御ソフトの生産性を向上させることを目的とする。
また、制御設計あるいはソフト設計とソフト実装のどちらかに偏った利便性の場合、それぞれの設計プロセスによる属人性が影響して品質低下の危険性が増す。
本発明は、上記課題を解決し、制御ソフトの品質低下を抑制することを目的とする。
本発明の一の手段は、ライブラリモデルや、それを管理するスケーリング管理などから
制御モデルを生成し、その制御モデルからオートソースコードを生成すると、パッケージ
ング情報をオートソースコードに付加することで、オートソースコードから実装するソー
スファイルを生成するパッケージングを行うことにより、上記目的を達成する。
また、本発明の他の手段は、予め作成されているオートソースコードと、ライブラリモ
デルとを用い、さらにパッケージング情報を前記オートソースコードに付加することで、
オートソースコードから実装するソースファイルを生成するパッケージングを行うことに
より、上記目的を達成する。
本発明のソフトウエア開発環境は、制御ソフトの生産性を向上させ、制御ソフトの品質低下を抑制することができる。
V字型開発の流れとそれに対応する本発明の位置付けを示した説明図である。(実施例1) パーソナルコンピュータの構成を示す説明図である。(実施例1) パーソナルコンピュータ21のCPU23が実行するプログラムの構成を示す説明図である。(実施例1) ライブラリモデル34の設定画面41の一例を示す説明図である。(実施例1) ライブラリモデル外観51とその内部モデル52と設定画面53を示す説明図である。(実施例1) ライブラリモデルを用いて作成した制御モデルの一例を示す説明図である。(実施例1) スケーリング管理ツールの設定画面の一例を示す説明図である。(実施例1) パッケージング動作概念の一例を示す説明図である。(実施例1) 実装するソースファイルの一例を示す説明図である。(実施例1) ライブラリモデルおよびブロックから抽出する情報とパッケージング情報の一例を示す説明図である。(実施例1) ライブラリモデルおよびブロックから抽出した情報の一覧の一例を示す説明図である。(実施例1) パッケージング動作概念の別の一例を示す説明図である。(実施例1) パッケージング動作概念の別の一例を示す説明図である。(実施例1) パッケージング動作概念の別の一例を示す説明図である。(実施例1) パッケージング動作概念の別の一例を示す説明図である。(実施例1) パッケージング動作概念の別の一例を示す説明図である。(実施例1) パッケージング動作概念の別の一例を示す説明図である。(実施例1) 従来からあるV字型開発の流れと開発プロセスを示す説明図である。
以下、本発明の特徴について説明する。
本発明のコントローラ開発ツールは、モデルによって表現される処理を実現するソースコードが生成されるコントローラ開発ツールであって、モデルをソースコード生成可能なブロックを組み合わせたライブラリモデルとして記述し、ソースコードをコントローラ用にスケーリング管理して生成し、複数の関数と合わせてソースファイルにするインターフェイス手段を有することを特徴とする。
また、モデルの操作ウインドウにシミュレーションとソースコードの生成に必要な情報を分けて配置することを特徴とし、出力信号の符号有り・無しを選択する機能を有することを特徴とする。
さらに、モデルの操作ウインドウに、出力信号のスケーリング名称を設定する機能,出力信号のスケーリングに対して桁上げする量を設定する機能,出力信号のスケーリングをプルダウンで選択する機能,選択した出力信号のスケーリングのスケール値を表示する機能を有することを特徴とする。
また、モデルに設定するスケーリング名称と、符号有り・無しと、ビット長と、スケーリング値と、を設定する機能を有し、モデルに設定された数値名称と、数値と、スケール名称と、スケール値と、説明情報と、ストレージクラスと、モデルパスの情報と、を取り出す機能を有することを特徴とする。
また、本発明は、モデルとスケーリング管理情報と条件毎における初期値情報とを基に、ソースコードを生成し、ソースコードに対してパッケージング処理した後、実装するためのソースファイルを出力する機能を有し、モデルが、ソースコードを生成可能なブロックを組み合わせたライブラリモデルによって構成されることを特徴とする。
次に、本発明は、ディスプレイと、CPUと、入力装置と、記憶装置と、を有する電子計算機を用いて、モデル作成プログラムと、モデル動作プログラムと、ソースコード生成プログラムと、ライブラリモデルと、スケーリング管理と、パッケージングと、を実行するものであって、モデルによって表現される処理を実現するソースコードが生成されるコントローラ開発ツールであって、モデルの操作ウインドウに、シミュレーションと、ソースコード生成に必要な情報を分けて配置することを特徴とする。
さらに、本発明は、前述のコントローラ開発ツールを用いて開発する機器、具体的にはモータドライブシステムであることを特徴とする。
以下、本発明の詳細を図面を用いて詳細に説明する。なお、本実施例では、組み込みコントローラの一例としてモータドライブコントローラを実施例として扱う。
図1は、本実施形態に係わるソフトウエア開発プロセスを示す。本発明のソフトウエア開発プロセスは、制御設計1した後、制御ソフト開発環境8のひとつであるライブラリモデル8Aを用いて、制御シミュレーションモデル構築2する。その後、制御ソフト開発環境8のひとつであるスケーリング管理8Bを用いて固定小数点演算に必要なスケーリングを行う。その後、オートコーディング3により自動生成したオートコードに対して、制御ソフト開発環境8のひとつであるパッケージング8Cを施して実装ソースファイル4を作成する。
図2は、これらの処理を実行するパーソナルコンピュータ21の構成を示す。このパーソナルコンピュータ21は、ディスプレイ22,CPU23,入力装置24,記憶装置25,RAM26,ROM27等から構成される。
ディスプレイ22は、CPU23の出力情報をユーザ(開発者)に対して映像で表示する。
CPU23は、パーソナルコンピュータ21に電源が投入されることによって起動すると、ROM27から所定のブートプログラムを読み出して実行し、このブートプログラムに規定されるオペレーティングシステム(以下OSと記す)その他のプログラムを記憶装置25から読み出して実行することにより、起動処理を行う。起動処理以後、電源が遮断されるまで、CPU23は、入力装置24からの信号、OSによって定められたスケジュール等に基づいて記憶装置25に記録されている各種プログラムを当該OS上のプロセスとして実行する。また、上記起動処理におけるプロセスにおいて、CPU23は必要に応じて入力装置24からの信号入力を受け付け、またディスプレイ22に映像を出力し、またRAM26,記憶装置25に対してデータの読み出し/書き出しの制御を行う。
入力装置24は、キーボード,マウス,音声入力等から構成され、ユーザ(開発者)が操作することによって、その操作に応じた信号をCPU23に出力する。
記憶装置25は、読み出し,書き込み可能な不揮発性メモリであり、当該各種プログラムが記憶されており、後述するモデルや制御ソフト開発環境が記憶されている。
RAM26は、読み出し,書き込み可能な揮発性メモリであり、ROM27は読み出し専用の不揮発性メモリである。
RAM26は、CPU23がROM27,記憶装置25に記憶されたプログラムを実行する際にそのプログラムや演算結果を一時的に保存する記憶領域、および作業用のデータを一時的に保存するための記憶領域として用いられる。
ROM27は、CPU23が読み出して実行するプログラム等があらかじめ記憶されている。
図3は、パーソナルコンピュータ21のCPU23が実行するプログラムの構成を示す。CPU23はモデル作成プログラム31,モデル動作プログラム32,ソースコード生成プログラム33,ライブラリモデル34,スケーリング管理35,パッケージング36等を実行する。
なお、以降は、プログラムを実行することによるCPU23の動作をその実行されるプログラム自体の動作であるとして説明する。
モデル作成プログラム31は、記憶装置25に記憶されているプログラムを読み出し、ユーザ(開発者)によるモデル作成を可能にする。
モデルは、所定の規則に基づいて信号を出力することを表現するブロックおよびそれらブロック間の信号の入出力の繋がりを表現する結線等からなり、モデル作成プログラム31に予め設けられているブロックと、後述するライブラリモデル34に記憶されているモデルとから作成する。そして、このモデルは、記憶装置25に記憶されるようになっている。
なお、モデル作成プログラム31としては、例えばMATLAB(登録商標)上で動作するSimulink(登録商標)と呼ばれるプログラムがある。
モデル動作プログラム32は、上記作成したモデルを動作させるプログラムである。
なお、モデル動作プログラム32としては、例えばMATLAB(登録商標)上で動作するSimulink(登録商標)と呼ばれるプログラムがある。
ソースコード生成プログラム33は、前記作成したモデルによって表現される信号処理を実現するソースコードを生成する。
ライブラリモデル34は、あらかじめ、モデル動作プログラム32およびソースコード生成プログラム33とスケーリング管理35に対応したモデルで構成されたモデルの集まりである。
図4は、ライブラリモデル34の設定画面41の一例を示す。設定画面41では、モデル動作プログラム32でユーザ(開発者)が設定変更する最低限必要な項目に絞った設定条件と、ソースコード生成プログラム33でユーザ(開発者)が設定変更する最低限必要な項目に絞った項目にすることで、属人性による人為的にミスを抑制することができる。
設定画面41は、定数出力を実現するライブラリモデル(Constan)の例で、定数を設定する設定欄のほか、コード生成に関連して、定数タイプとして、“定数(ROM)”や“変数(RAM)”への設定する機能を設けてある。(これは、MATLAB用語でいうところのSimulinkParameterやSimulinkSignalへの設定機能)また、出力データタイプとして、“逆伝搬による継承”のほか、“ダイアログにより指定”で、出力スケーリング名称を設定する機能も設けてある。そのほか、出力スケーリング名称が示す出力スケーリングに対して、精度良く出力(高い分解能で出力)するために、“出力スケーリングに対する桁上げシフト量”として2のべき乗(シフト量)の単位で設定する機能を設けている。(これは、MATLAB用語でいうところのNumericTypeへの設定機能)また、“出力スケーリング名称”は、新たな名称を登録することに加えて、既にNumericTypeとして出力スケーリング名称が既に登録されている場合は、その登録してある出力スケーリング名称をプルダウン表示して、その中から選択できる機能を設けている。
これにより、1)シミュレーションに必要な情報とコード生成に必要な情報を分けて明示、2)シミュレーションに必要な情報の設定機能、3)コード生成に必要なROM・RAM情報、4)コード生成に必要なスケーリング情報、を属人性による人為的ミスを抑制して効率的に設定,確認することができる。
また、設定画面42は、加算を実現するライブラリモデル(Add)の例で、“整数オーバーフローで飽和”では、加算時の演算オーバーフローに対する対処法を設定する機能で、“出力信号は入力信号に合わせて符号を付与”では、加算するどれかの入力スケールが(数値として正・負を取り得る)符号付きの場合、その出力のスケールには、符号を付与する機能を設けてある。また、出力範囲が入力範囲により限定される場合や、処理の都合上、符号無しで処理したい場合を考慮して、出力のスケールには、強制的に符号無しとする機能も設けてある。
これにより、どちらかの入力信号が負の値を取り得る時、加算した値は負の値を取り得るため、ユーザが特別に設定を変更しない場合には入力信号のどちらかが符号付きの場合には、演算結果を考慮して出力信号を自動的に符号付きにする。また、どちらかの入力信号が負の値を取り得る時でも、加算した値が必ず正の値しか取らないことが確定している場合には、モデルを変更することなくユーザ(開発者)の設定により強制的に符号なしで演算結果を出力信号として出力することができる。
さらに、設定画面43は、乗算を実現するライブラリモデル(Product)の例で、“整数オーバーフローで飽和”では、乗算時の演算オーバーフローに対する対処法を設定する機能で、“出力スケーリング名称”では、設定したスケーリング名称で定義したスケーリングを指定する機能で、“出力スケーリングに対する桁上げシフト量”では、前記、“出力スケーリング名称”で定義したスケーリングに対して分解能を調整するスケーリングのシフト量を設定できる機能で、“出力信号は入力信号に合わせて符号を付与”では、乗算するどれかの入力スケールが(数値として正・負を取り得る)符号付きの場合、その出力のスケールには、符号を付与する機能を設けてある。また、出力範囲が入力範囲により限定される場合や、処理の都合上、符号無しで処理したい場合を考慮して、出力のスケールには、強制的に符号無しとする機能も設けてある。また、“出力スケーリング名称”は、新たな名称を登録することに加えて、既にNumericTypeとして出力スケーリング名称が既に登録されている場合は、その登録してある出力スケーリング名称をプルダウン表示して、その中から選択できる機能を設けている。また、図面中では表示を省略しているが、登録しているスケーリング名称を選択した場合、符号の有無やビット長や分解能など、選択したスケーリング名称で設定されているスケール値を表示する機能も設けている。また、選択したスケーリング名称の設定を設定画面上で変更することができる機能も設けている。
これにより、異なるスケーリングの入力を乗算した場合の出力スケーリングを指定することができる。また、出力スケーリング名称に対して、相対的に演算精度を高めた状態で出力スケーリングを調整できるため、乗算時の出力スケーリングの自由度が広がるとともに、後の演算に対して演算精度良く信号を出力することができる。さらに、どちらかの入力信号が負の値を取り得る時、乗算した値は負の値を取り得るため、ユーザ(開発者)が特別に設定を変更しない場合には入力信号のどちらかが符号付きの場合には、演算結果を考慮して出力信号を自動的に符号付きにする。また、どちらかの入力信号が負の値を取り得る時でも、乗算した値が必ず正の値しか取らないことが確定している場合には、モデルを変更することなくユーザ(開発者)の設定により強制的に符号なしで演算結果を出力信号として出力することができる。また、スケーリング名称のプルダウンから選択することができるため、スケーリング名称のスペル間違いなど、人為的なミスが少なく操作性,生産性を向上できる。また、スケーリング名称で設定されているスケール値を設定画面上で確認できるため、視認性,生産性が向上する。また、スケーリング名称で設定されているスケール値を設定画面上で変更できるため、操作性,生産性が向上する。
図5は、一次遅れを実現するライブラリモデル(Filter)の例で、ライブラリモデル外観51とその内部モデル52と設定画面53を示す。ライブラリモデル外観51は、設定画面53で設定した情報が表示される機能を付与している。
これにより、設定画面53を開くことなくライブラリモデル外観51からその時点での設定情報を知ることができ、ユーザ(開発者)の視認性・作業性を向上することができる。
内部モデル52は、複数のブロックあるいはモデルで構成されており、ソースコード生成を考慮して、ブロックあるいはモデルの1つ以上の箇所にスケーリング情報を設定するブロックが存在する。
また、内部モデル52を構成している複数のブロックには、設定画面で設定した情報が、NumericTypeやSimulinkParameterやSimulinkSignal情報として設定されるようにMATLAB言語によるプログラムを用いた仕掛けが施されている。(本実施例ではMATLAB言語を用いたが、設定画面で設定した情報が複数のブロックに設定するために他のプログラム言語や情報伝達手段を用いても良い)。
これにより、内部モデルを構成する複数のブロックに設定する情報を設定画面に纏めることができるため、内部モデルにおける各ブロックをそれぞれ開いて設定する作業(手間)が不要となる。また、内部モデルの各ブロックに設定する情報をライブラリモデルの設定画面に纏めることで、ユーザ(開発者)は集中した情報管理ができるため、制御モデルの可読性(視認性),保守性,作業性,生産性が向上する。
これにより、モデル動作プログラム32およびソースコード生成プログラム33とスケーリング管理35に対応した上で、ユーザ(開発者)の視認性,ユーザ(開発者)の視認性・作業性を向上することができる。
つまり、これらにより、モデル作成プログラム31におけるモデル作成を迅速かつ、比較的容易に行うことができる。また、ソースコード生成プログラム33に対応していることからソースコード生成が確実にかつ効率よくコード生成できる。さらに、スケーリング管理35に対応していることで、モデル変更することなくスケーリングを変更することができる。
図6は、前記ライブラリモデルを用いて作成したモータドライブシステムを実現する制御モデルの一例である。
制御モデル61は、出力電圧Sig.61dを算出するモデルで、乗算モデル61aを用いて電流値と抵抗値から算出した電圧Sig.61aと、乗算モデル61bと乗算モデル61cを用いて角速度値とインダクタンス値と電流値から算出した電圧Sig.61cとから、加算モデル61dを用いて電圧Sig.61dを出力電圧として出力する。
ここで、物理的に異なる単位の演算を行う、乗算モデル61a,61b,61cで、その出力する物理単位に合わせてスケール情報(スケール名称含む)を設定する。また、加算モデル61dの入力にあたる乗算モデル61aと乗算モデル61cの出力は、スケール値(スケール名称)に対する桁上げする設定にしている。これにより、コード生成した場合の加算モデル61dで演算する際に演算精度を向上した状態で、演算結果を出力することができる。なお、各モデルの下部にはそれぞれ、スケール情報(スケール名称)が表示しており、設定画面を開くことなく、情報を確認することができる。これにより、視認性,作業性,生産性を向上できる。
制御モデル62は、所定の値を前回の値に加算して出力するモデルで、所定の値が設定された定数モデル62aと前回値モデル62cを加算モデル62bで加算して出力するモデルである。
ここで、定数モデル62aでは所定の値を設定した設定値情報が設定されている。また、前回値モデル62cでは初期値情報とコード生成した場合の変数名情報が設定されている。これにより、コード生成した場合の設定値情報に対応する数値や定数名称の他、初期値情報に対応する数値や定数名称、変数名情報に対応する変数名を指定することができる。なお、各モデルの下部にはそれぞれ、スケール情報(スケール名称)が表示しており、設定画面を開くことなく、情報を確認することができる。これにより、視認性,作業性,生産性を向上できる。
これらのように、予めコード生成を考慮して作成したライブラリモデルを利用して制御モデルを構成することで、演算精度良くかつ、設定する情報の増加を防ぎ、可読性,保守性,作業性,生産性を向上できる。
スケーリング管理35は、モデル動作プログラム32でモデル動作させる際およびソースコード生成プログラム33でソースコードを生成する際に、固定小数点あるいは浮動小数点でコード生成するスケーリング情報を提供管理する。
図7は、スケーリング管理35の設定画面71の一例を示す。設定画面71では、モータドライブに必要な物理量(物理単位)である電流,電圧,周波数,抵抗等々に対して、固定小数点・浮動小数点を示す設定や固定小数点演算時における、そのビット長や符号の有無等、1bitあたりの物理単位量を表す分解能、いわゆるスケーリング値を設定・管理する。
なお、図面上記載を省略しているが、本実施例では、1ボタンですべてのスケーリングを浮動小数点(double)型に切り替える機能も設けた。
これにより、モデル動作プログラム32に必要となる情報やソースコード生成プログラム33に必要となる情報を管理することができる。また、これらの情報を管理することで、ユーザ(開発者)の視認性・作業性を向上することができる。さらに、モデルを変更することなく、包括的にスケーリングを変更することができるため、ユーザ(開発者)の作業性が大幅に向上する。
また、本スケーリング管理ツールで設定した情報をスクリプトmファイルとしてファイル出力して、そのmファイルを実行することで、MATLAB/Simulink上のモデルやブロックにNumericTypeなどのスケール情報を受け渡すことができる機能を設けた。
これにより、MATLAB/Simulink上でモデルやブロックを開いてスケール値を設定することや、MATLAB/Simulink上のスケール設定画面を操作することなく、スケール値の包括的に管理を行うことができ、ユーザ(開発者)の視認性,操作性,作業性,生産性を大幅に向上することができる。
つまり、これらにより、作成した前記モデルを変更することなく、スケーリングを変更して製品毎に組み込みシステムに適したソースコードを生成することができ、モデルの再利用性,操作性,作業性,生産性を大幅に向上することができる。
パッケージング36は、ソースコード生成プログラム33から生成されたソースコードの他に、前記モデルに含まれる初期値の情報を初期化処理として追加したり、製品毎に初期化処理を生成したり、製品毎に合わせて出力値毎に初期化処理を作成する。
モータドライブシステムでは、制御モデルに設定されている初期値を電源投入時に反映させるべき場合や、インバータ停止あるいはモータ停止時に反映させるべき場合など、製品毎、制御内容毎に異なる。そのため、MATLAB/Simulinkで生成されるオートソースコードの初期化関数だけでは、最適に実装するソースファイルを得ることができない。そのため、本実施例では、MATLAB/Simulinkで生成されるオートソースコードに対して、電源投入時の初期化関数や、インバータ停止あるいはモータ停止時の初期化関数を生成して、実装するソースファイルを得る処理として、パッケージング処理を施した。
図8は、パッケージング動作概念の一例を示す。ユーザ(開発者)が作成した制御モデル82と、スケーリング管理情報83と、条件毎における初期値情報84等から、パッケージング処理81を行い、実装するソースファイル85を生成する。
図9は、パッケージング処理を施した後の実装するソースファイルの概要である。制御モデルの動作を示す処理関数91と、電源投入時に実行する初期化関数92と、インバータ停止時に実行する初期化関数93とモータ停止時に実行する初期化関数94である。
これにより、実装するソースファイルの1つのモジュールとし、それぞれの関数を適切なタイミングで関数呼び出しすることで、ソフトウエア管理の利便性,作業性,生産性が向上する。
図10は、初期化関数を作成する際に、モデルおよびブロックから抽出する情報とそのモデルとブロックの一例である。各モデルやブロックからは、モデルパス情報をはじめ、ライブラリモデルに設定したストレージクラス情報までを抽出して、その情報を基に、初期化関数で処理する内容をパッケージング処理によって実行し、実装するソースファイル中の初期化関数として生成した。
図11は、抽出した各情報をパッケージング情報としてファイル出力した一例である。本情報をパッケージング処理時に利用して実装するソースファイルを生成する。
また、実装するソースファイルの生成は、制御モデルと各種情報を基に以下に示す数種類のプロセスで実施した。
図12は、パッケージング動作概念の別の一例を示す。ユーザ(開発者)が作成した制御モデルと制御モデルの初期値情報1202と、スケーリング管理情報1203等から、パッケージング処理1201を行い、実装するソースファイル1204を生成する。
図13は、パッケージング動作概念の別の一例を示す。ユーザ(開発者)が作成したスケーリング管理情報1301と条件毎における初期値情報1302を制御モデル1303へ反映させて、その後、制御モデルからオートソースコード1304を生成して、パッケージング処理1305を施して、実装するソースファイル1306を生成する。
これにより、制御モデルを変更することなく、コード生成する条件を変えてコード生成した後、パッケージング処理を施して実装するソースファイルを作ることができる。
図14は、パッケージング動作概念の別の一例を示す。ユーザ(開発者)が作成した制御モデルと制御モデルの初期値情報1401と、スケーリング管理情報1402から、オートソースコード1403を生成し、パッケージング処理1404を施して、実装するソースファイル1405を生成する。
これにより、制御モデルと制御モデルの初期値情報は変更することなく、スケーリング管理情報を変更することで、コード生成する条件を変えてコード生成した後、パッケージング処理を施して実装するソースファイルを作ることができる。
図15は、パッケージング動作概念の別の一例を示す。ユーザ(開発者)が作成したスケーリング管理情報1501と条件毎における初期値情報1502を制御モデル1503へ反映し、オートソースコード1504を生成し、パッケージング情報1505に合わせて、パッケージング処理1506を行い、実装するソースファイル1507を生成する。
これにより、制御モデルを変更することなく、スケーリング管理情報と初期値情報を変更することで、コード生成する条件を変えてコード生成した後、パッケージング情報処理を変更することなく、パッケージング情報を変更することで、パッケージング条件を変えて実装するソースファイルを作ることができる。
図16は、パッケージング動作概念の別の一例を示す。ユーザ(開発者)が作成した制御モデルと制御モデルの初期値情報1601と、スケーリング管理情報1602から、オートソースコード1603を生成し、パッケージング情報1606に合わせて、パッケージング処理1604を行い、実装するソースファイル1605を生成する。
これにより、制御モデルと制御モデルの初期値情報は変更することなく、スケーリング管理情報を変更することで、コード生成する条件を変えてコード生成した後、パッケージング情報処理を変更することなく、パッケージング情報を変更することで、パッケージング条件を変えて実装するソースファイルを作ることができる。
図17は、パッケージング動作概念の別の一例を示す。ユーザ(開発者)が作成したオートソースコード1701に対して、スケーリング管理情報1702と条件毎における初期値情報1703とパッケージング情報1704に合わせて、パッケージング処理1705を行い、実装するソースファイル1706を生成する。
これにより、制御モデルがなくても、パッケージングの際の初期値とパッケージング情報を変更することで、パッケージング条件を変えて実装するソースファイルを作ることができる。
これにより、モータドライブシステムにおけるコントローラの電源投入初期化や、モータ停止時の初期化や、インバータ停止時の初期化等の動作に合わせた初期化処理を追加した上で実装ソースファイルを生成することができる。
なお、前記モデル作成プログラム31,前記モデル動作プログラム32,前記ソースコード生成プログラム33,前記ライブラリモデル34,前記スケーリング管理35,前記パッケージング36は、記憶装置25に対して読み出し/書き込みを行うことができる。
また、本組み込みコントローラ開発ツールを用いて機器の開発を行えば、物理現象の再現や組み込みコントローラの動作を再現することができるため、信頼性の高い機器を製作することができる。
また、本組み込みコントローラ開発ツールを用いてモータドライブシステムの開発を行えば、モータの複雑な挙動に対するコントローラの反応を再現することができるため、より良好なコントローラの開発が可能になり、信頼性の高いモータドライブシステムを開発することができる。
なお、モータドライブシステムには、モータを使って冷媒を循環するルームエアコンやパッケージエアコンや冷蔵庫やクリーナーやポンプ,電気自動車,燃料電池自動車ハイブリッド自動車などがある。
1 制御設計
2 制御シミュレーションモデル構築
3 オートコーディング
4 実装ソースファイル
5 実装
6 ソフト検証
7 制御検証
8 制御ソフト開発環境
8A ライブラリモデル
8B スケーリング管理
8C パッケージング
22 ディスプレイ
23 CPU
24 入力装置
25 記憶装置
26 RAM
27 ROM
31 モデル作成プログラム
32 モデル動作プログラム
33 ソースコード生成プログラム
34 ライブラリモデル
35 スケーリング管理
36 パッケージング
本発明は、ライブラリモデルや、それを管理するスケーリング管理などから制御モデルを生成し、その制御モデルからオートソースコードを生成すると、パッケージング情報をオートソースコードに付加することで、オートソースコードから実装するソースファイルを生成するパッケージングを行い、さらにスケーリング名称をプルダウンメニューで選択することを特徴とする
また、本発明の他の手段は、NumericTypeが登録されていると共に、前記スケーリング情報を定義したスケーリング名称をプルダウンで選択することを特徴とする。

Claims (11)

  1. モデル動作プログラムおよびソースコード生成プログラムに対応したモデルで構成されるライブラリモデルと、
    固定小数点あるいは浮動小数点といったスケーリング情報を管理するためのスケーリング管理情報と、
    前記モデルにおける値を初期化する初期化処理を行うための複数の初期値情報と、
    前記モデルのパス情報、前記初期値情報および前記ライブラリモデルのストレージクラス情報を含むパッケージング情報と、
    を記憶部に有するコンピュータに、
    前記ライブラリモデルと、前記スケーリング管理情報と、前記初期値情報とにおける各情報を、前記モデル間の情報の入出力関係を示す制御モデルに反映させる処理と、
    前記制御モデルを基に、コード生成を行うことによって、中間のソースコードであるオートソースコードを生成させる処理と、
    前記パッケージング情報を前記生成されたオートソースコードに付加することで、前記オートソースコードを有するソースファイルを生成するパッケージングの処理を行わせるためのプログラムであるコントローラ開発ツール。
  2. 予め作成されているオートソースコードと、
    モデル動作プログラムおよびソースコード生成プログラムに対応したモデルで構成されるライブラリモデルと、
    固定小数点あるいは浮動小数点といったスケーリング情報を管理するためのスケーリング管理情報と、
    前記モデルのパス情報、条件毎における初期値情報および前記ライブラリモデルのストレージクラス情報を含むパッケージング情報と、
    を記憶部に有するコンピュータに、
    前記スケーリング管理情報における各情報を前記モデルに反映し、さらに前記パッケージング情報を前記オートソースコードに付加することで、前記オートソースコードを有するソースファイルを生成するパッケージングの処理を行わせるためのプログラムであるコントローラ開発ツール。
  3. 請求項1または請求項2に記載のコントローラ開発ツールにおいて、
    前記コンピュータに、
    入出力部を介して、出力信号の符号有り・無しに関する情報が入力されると、当該出力信号の符号有り・無しに関する情報を前記モデルに反映させる処理を行わせるためのプログラムであるコントローラ開発ツール。
  4. 請求項1または請求項2に記載のコントローラ開発ツールにおいて、
    前記コンピュータに、
    入出力部を介して、出力信号のスケーリング名称が入力されると、当該スケーリング名称に関する情報を前記モデルに設定させるためのプログラムであるコントローラ開発ツール。
  5. 請求項4に記載のコントローラ開発ツールにおいて、
    前記コンピュータに、
    前記入出力部を介して、出力信号のスケーリングに関する情報が設定されると、当該設定されたスケーリングに関する情報と、前記スケーリング名称とを対応付けて前記記憶部に格納させるためのプログラムであるコントローラ開発ツール。
  6. 請求項4に記載のコントローラ開発ツールにおいて
    前記コンピュータに、
    出力信号のスケーリング名称を選択させるためのプルダウンを表示部に表示させるためのプログラムであるコントローラ開発ツール。
  7. 請求項6に記載のコントローラ開発ツールにおいて、
    前記コンピュータに、
    選択されたスケーリング名称に対応している前記スケーリングに関する情報を前記表示部に表示させるためのプログラムであるコントローラ開発ツール。
  8. 請求項1または請求項2に記載のコントローラ開発ツールにおいて、
    前記コンピュータに、
    入出力部を介して設定されたスケーリング名称と、符号有り・無しと、ビット長と、スケーリング値と、に関する情報を前記モデルに設定させるためのプログラムであるコントローラ開発ツール。
  9. 請求項1または請求項2に記載のコントローラ開発ツールにおいて、
    前記コンピュータに、
    前記モデルに設定されている数値名称と、数値と、スケール名称と、スケール値と、説明情報と、ストレージクラスと、モデルパスの情報と、を前記モデルから取り出させるためのプログラムであるコントローラ開発ツール。
  10. 請求項1または請求項2に記載のコントローラ開発ツールにおいて、
    前記ライブラリモデルは、前記ソースコードを生成可能なブロックである前記モデルの集合体であることを特徴とするコントローラ開発ツール。
  11. 前記モデルは、前記モータドライブシステムのモデルであり、
    請求項1または請求項2に記載のコントローラ開発ツールを用いて開発されることを特徴とするモータドライブシステムを有する機器。
JP2014035387A 2014-02-26 2014-02-26 コントローラ開発ツール Active JP6085264B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014035387A JP6085264B2 (ja) 2014-02-26 2014-02-26 コントローラ開発ツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014035387A JP6085264B2 (ja) 2014-02-26 2014-02-26 コントローラ開発ツール

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011255047A Division JP5530417B2 (ja) 2011-11-22 2011-11-22 コントローラ開発ツール

Publications (2)

Publication Number Publication Date
JP2014130627A true JP2014130627A (ja) 2014-07-10
JP6085264B2 JP6085264B2 (ja) 2017-02-22

Family

ID=51408888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014035387A Active JP6085264B2 (ja) 2014-02-26 2014-02-26 コントローラ開発ツール

Country Status (1)

Country Link
JP (1) JP6085264B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086777A (ja) * 1994-06-23 1996-01-12 Hitachi Ltd 情報制御システムの開発システムおよび開発方法
JP2005222221A (ja) * 2004-02-04 2005-08-18 Hitachi Ltd 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP2006318200A (ja) * 2005-05-12 2006-11-24 Dsp Technology Kk ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ
JP2009507309A (ja) * 2005-09-06 2009-02-19 ザ マスワークス, インク モデリング言語における物理計量単位

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086777A (ja) * 1994-06-23 1996-01-12 Hitachi Ltd 情報制御システムの開発システムおよび開発方法
JP2005222221A (ja) * 2004-02-04 2005-08-18 Hitachi Ltd 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP2006318200A (ja) * 2005-05-12 2006-11-24 Dsp Technology Kk ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ
JP2009507309A (ja) * 2005-09-06 2009-02-19 ザ マスワークス, インク モデリング言語における物理計量単位

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNB200800745001; 青山貴伸: 使える! MATLAB/Simulinkプログラミング 初版, 20070601, p.300, 株式会社講談社  野間  佐和子 *
CSND200701177007; 城所 仁: 'MATLAB/Simulinkを利用したVサイクル開発 モデルからプログラム・コードを作る' Interface 第33巻,第10号(通巻364号), 20071001, p.96-104, CQ出版株式会社 *
CSND200800311015; '解析ソフト最前線:株式会社日本総研ソリューションズ モータドライブシステムのモデルベース開発に高精度' 日経エレクトロニクス 第978号, 20080519, p.128, 日経BP社 *
JPN6010047839; 城所 仁: 'MATLAB/Simulinkを利用したVサイクル開発 モデルからプログラム・コードを作る' Interface 第33巻,第10号(通巻364号), 20071001, p.96-104, CQ出版株式会社 *
JPN6013011676; '解析ソフト最前線:株式会社日本総研ソリューションズ モータドライブシステムのモデルベース開発に高精度' 日経エレクトロニクス 第978号, 20080519, p.128, 日経BP社 *
JPN6014050242; 青山貴伸: 使える! MATLAB/Simulinkプログラミング 初版, 20070601, p.300, 株式会社講談社  野間  佐和子 *

Also Published As

Publication number Publication date
JP6085264B2 (ja) 2017-02-22

Similar Documents

Publication Publication Date Title
AU2015315402B2 (en) Parametric inertia and apis
US10860298B2 (en) Method and system for editing a block diagram model
US20130204602A1 (en) Simulation apparatus and method for verifying hybrid system
CN106462405B (zh) 使用活动场所的互动学习工具
US9304838B1 (en) Scheduling and executing model components in response to un-modeled events detected during an execution of the model
JP2005078243A (ja) マイコンリソース消費見積もりプログラム、マイコンリソース消費見積もり装置、およびプログラム生成方法
JP2009294846A (ja) テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法
JP5589919B2 (ja) 設計支援装置、設計支援プログラム
CN111111201A (zh) 一种基于游戏的技能创建方法、装置、服务器及介质
JP5011221B2 (ja) コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器
JP6085264B2 (ja) コントローラ開発ツール
JP2009075965A (ja) ソフトウェア開発方法及びソフトウェア開発装置
JP5530417B2 (ja) コントローラ開発ツール
CN110516333A (zh) 一种pcb中的器件布局方法、装置、设备及可读存储介质
TW201327211A (zh) 代碼智慧生成系統及方法
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
CN110673921A (zh) 信息处理方法、装置及电子设备
US8850386B2 (en) Method for estimating resource consumption in the generation of a control device program code
US8805674B2 (en) Electronic device and method for supporting multiple languages in image measurement programs
EP3425510A1 (en) Automated testing method for application program user interface, electronic device, system, and storage medium
US10223077B2 (en) Determination of signals for readback from FPGA
CN103927207A (zh) 软件加速方法和装置
JP2020144509A (ja) 自動コード生成方法、及び自動コード生成プログラム
JP2011165051A (ja) 開発支援装置及び方法並びにプログラム
CN109716304B (zh) 用于测试混合指令体系结构的方法和系统

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150826

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160129

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160219

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160408

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20160715

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170127

R150 Certificate of patent or registration of utility model

Ref document number: 6085264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150