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

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

Info

Publication number
JP5011221B2
JP5011221B2 JP2008169764A JP2008169764A JP5011221B2 JP 5011221 B2 JP5011221 B2 JP 5011221B2 JP 2008169764 A JP2008169764 A JP 2008169764A JP 2008169764 A JP2008169764 A JP 2008169764A JP 5011221 B2 JP5011221 B2 JP 5011221B2
Authority
JP
Japan
Prior art keywords
model
development tool
source code
controller development
scaling
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.)
Active
Application number
JP2008169764A
Other languages
English (en)
Other versions
JP2010009435A (ja
Inventor
幸雄 川端
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 JP2008169764A priority Critical patent/JP5011221B2/ja
Priority to EP09164092.0A priority patent/EP2148274B1/en
Priority to EP15202793.4A priority patent/EP3037959A1/en
Publication of JP2010009435A publication Critical patent/JP2010009435A/ja
Application granted granted Critical
Publication of JP5011221B2 publication Critical patent/JP5011221B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器に関する。
従来より、例えば特許文献1には、車両のエンジンECUのためのプログラムにはおいては、開発者が直接プログラムのソースコードを記述せず、目的とするプログラムの機能を作成が簡易で視認性の良い「モデル」という形態で記述する場合が開示されている。ここで、開発者は、このモデルに対応したプログラム開発環境がインストールされたパーソナルコンピュータ等を用いて、モデルから自動的にソースコードを生成する。モデルからソースコードを生成する機能を実現するためのプログラムは、コード生成ツールと呼ばれる。コード生成ツールは、モデル開発環境に組み込まれている場合が多い。モデルからソースコードを生成するようなプログラム開発は、モデルベース開発と呼ばれる。また、モデルから自動的に生成されたソースコードをオートコードと呼ばれ、モデルからソースコードを自動生成することはオートコーディングと呼ばれる。
モデルベース開発に対応したプログラム開発環境としては、例えば、MathWorks(登録商標)社のMATLAB(登録商標)がある。MATLAB(登録商標)においては、ユーザ(開発者)はMATLAB(登録商標)の一機能であるSimulink(登録商標)を用いて目的とするプログラムのモデルを記述する。モデルは、ブロックと呼ばれる機能単位および機能単位間の入出力関係を示す結線の組み合わせとして記述される。すなわち、複数のブロックが結線によってつなぎ合わされた集合体がモデルである。
モデルベース開発で必須のオートコードは、モデルからソフトウエアを自動的に生成するものであり、1)モデルを作る際の制御設計、2)モデルからソフトウエアを生成するソフト設計、3)オートコードを実現するプログラム開発環境の活用、の3つで高いスキルが必要である。
しかしながら、3つの高いスキルを習得するためには反対に非常に多くの時間を要する。
特開2005−332333号公報
標準ブロックを用いて制御設計すれば自由度は高いが、ソフト設計とソフト実装の際に手直しが多くなり、ソフト設計とソフト実装を考慮した規定ブロックを用いると、制御設計時の自由度が低くなる問題がある。
本発明は、上記課題を解決し、制御ソフトの生産性を向上させることを目的とする。
また、制御設計あるいはソフト設計とソフト実装のどちらかに偏った利便性の場合、それぞれの設計プロセスによる属人性が影響して品質低下の危険性が増す。
本発明は、上記課題を解決し、制御ソフトの品質低下を抑制することを目的とする。
本発明は、制御設計における自由度と、ソフト設計とソフト実装におけるスケーリングやパッケージングの制約を両立する設定変更可能なライブラリモデルとそれを管理するスケーリング管理と、からオートソースコードを生成し、パッケージング情報を用いて、オートソースコードから実装するソースコードを生成するパッケージングを行うインターフェイス手段を設けることにより、上記目的を達成する。
本発明のソフトウエア開発環境は、制御ソフトの生産性を向上させ、制御ソフトの品質低下を抑制することができる。
以下、本発明の特徴について説明する。
本発明のコントローラ開発ツールは、モデルによって表現される処理を実現するソースコードが生成されるコントローラ開発ツールであって、モデルをソースコード生成可能なブロックを組み合わせたライブラリモデルとして記述し、ソースコードをコントローラ用にスケーリング管理して生成し、複数の関数と合わせてソースファイルにするインターフェイス手段を有することを特徴とする。
また、モデルの操作ウインドウにシミュレーションとソースコードの生成に必要な情報を分けて配置することを特徴とし、出力信号の符号有り・無しを選択する機能を有することを特徴とする。
さらに、モデルの操作ウインドウに、出力信号のスケーリング名称を設定する機能,出力信号のスケーリングに対して桁上げする量を設定する機能,出力信号のスケーリングをプルダウンで選択する機能,選択した出力信号のスケーリングのスケール値を表示する機能を有することを特徴とする。
また、モデルに設定するスケーリング名称と、符号有り・無しと、ビット長と、スケーリング値と、を設定する機能を有し、モデルに設定された数値名称と、数値と、スケール名称と、スケール値と、説明情報と、ストレージクラスと、モデルパスの情報と、を取り出す機能を有することを特徴とする。
また、本発明は、モデルとスケーリング管理情報と条件毎における初期値情報とを基に、ソースコードを生成し、ソースコードに対してパッケージング処理した後、実装するためのソースファイルを出力する機能を有し、モデルが、ソースコードを生成可能なブロックを組み合わせたライブラリモデルによって構成されることを特徴とする。
次に、本発明は、ディスプレイと、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を生成し、パッケージング情報160に合わせて、パッケージング処理1604を行い、実装するソースファイル1605を生成する。
これにより、制御モデルと制御モデルの初期値情報は変更することなく、スケーリング管理情報を変更することで、コード生成する条件を変えてコード生成した後、パッケージング情報処理を変更することなく、パッケージング情報を変更することで、パッケージング条件を変えて実装するソースファイルを作ることができる。
図17は、パッケージング動作概念の別の一例を示す。ユーザ(開発者)が作成したオートソースコード1701に対して、スケーリング管理情報1702と条件毎における初期値情報1703とパッケージング情報1704に合わせて、パッケージング処理1705を行い、実装するソースファイル1706を生成する。
これにより、制御モデルがなくても、パッケージングの際の初期値とパッケージング情報を変更することで、パッケージング条件を変えて実装するソースファイルを作ることができる。
これにより、モータドライブシステムにおけるコントローラの電源投入初期化や、モータ停止時の初期化や、インバータ停止時の初期化等の動作に合わせた初期化処理を追加した上で実装ソースファイルを生成することができる。
なお、前記モデル作成プログラム31,前記モデル動作プログラム32,前記ソースコード生成プログラム33,前記ライブラリモデル34,前記スケーリング管理35,前記パッケージング36は、記憶装置25に対して読み出し/書き込みを行うことができる。
また、本組み込みコントローラ開発ツールを用いて機器の開発を行えば、物理現象の再現や組み込みコントローラの動作を再現することができるため、信頼性の高い機器を製作することができる。
また、本組み込みコントローラ開発ツールを用いてモータドライブシステムの開発を行えば、モータの複雑な挙動に対するコントローラの反応を再現することができるため、より良好なコントローラの開発が可能になり、信頼性の高いモータドライブシステムを開発することができる。
なお、モータドライブシステムには、モータを使って冷媒を循環するルームエアコンやパッケージエアコンや冷蔵庫やクリーナーやポンプ,電気自動車,燃料電池自動車ハイブリッド自動車などがある。
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字型開発の流れと開発プロセスを示す説明図である。
符号の説明
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 パッケージング

Claims (10)

  1. モデルを作成するモデル作成プログラムと、作成したモデルを動作させるモデル動作プログラムと、作成したモデルによって表現される処理を実現するソースコードを生成するソースコード生成プログラムと、を有するコントローラ開発ツールであって、
    前記ソースコード生成プログラムは、コンピュータに、
    前記モデル動作プログラムおよび前記ソースコード生成プログラムに対応したモデルで構成されるライブラリモデルと、
    前記モデル動作プログラムでモデルを動作させる際および前記ソースコード生成プログラムでソースコードを生成する際に、固定小数点あるいは浮動小数点でソースコードを生成するスケーリング情報と
    記モデルに設定され、生成される前記ソースコードが実行されたときに、どのような初期化処理が行われるのかを規定した初期値情報と、
    を用いて、
    間のソースコードであるオートソースコードを生成させ
    前記モデルのパス情報、前記初期値情報および前記ライブラリモデルのストレージクラス情報を含むパッケージング情報を用いて、前記オートソースコードから実装するソースファイルを生成するパッケージングを行わせる
    ことによって実装するソースファイルを生成させることを特徴とするコントローラ開発ツール。
  2. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルの操作ウインドウに、出力信号の符号有り・無しを選択する機能を有することを特徴とするコントローラ開発ツール。
  3. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルの操作ウインドウに、出力信号のスケーリング名称を設定する機能を有することを特徴とするコントローラ開発ツール。
  4. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルの操作ウインドウに、出力信号のスケーリングを、出力信号のスケーリング名称に対して、桁上げする量を設定する機能を有することを特徴とするコントローラ開発ツール。
  5. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルの操作ウインドウに、出力信号のスケーリング名称をプルダウンで選択する機能を有することを特徴とするコントローラ開発ツール。
  6. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルの操作ウインドウに、選択した出力信号のスケーリング名称のスケール値を表示する機能を有することを特徴とするコントローラ開発ツール。
  7. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルに設定するスケーリング名称と、符号有り・無しと、ビット長と、スケーリング値と、を設定する機能を有することを特徴とするコントローラ開発ツール。
  8. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルに設定された数値名称と、数値と、スケール名称と、スケール値と、説明情報と、ストレージクラスと、モデルパスの情報と、を取り出す機能を有することを特徴とするコントローラ開発ツール。
  9. 請求項1に記載のコントローラ開発ツールにおいて、
    前記モデルが、前記ソースコードを生成可能なブロックを組み合わせたライブラリモデルによって構成されることを特徴とするコントローラ開発ツール。
  10. 前記モデルは、モータドライブシステムのモデルであり、
    請求項1に記載のコントローラ開発ツールを用いて開発されることを特徴とするモータドライブシステムを有する機器。
JP2008169764A 2008-06-30 2008-06-30 コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器 Active JP5011221B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008169764A JP5011221B2 (ja) 2008-06-30 2008-06-30 コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器
EP09164092.0A EP2148274B1 (en) 2008-06-30 2009-06-30 Controller development tool and motor drive system developed by the tool
EP15202793.4A EP3037959A1 (en) 2008-06-30 2009-06-30 Controller development tool and motor drive system developed by the tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008169764A JP5011221B2 (ja) 2008-06-30 2008-06-30 コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器

Related Child 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
JP2010009435A JP2010009435A (ja) 2010-01-14
JP5011221B2 true JP5011221B2 (ja) 2012-08-29

Family

ID=41404191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008169764A Active JP5011221B2 (ja) 2008-06-30 2008-06-30 コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器

Country Status (2)

Country Link
EP (2) EP2148274B1 (ja)
JP (1) JP5011221B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5745942B2 (ja) * 2011-06-03 2015-07-08 株式会社ミツバ 制御プログラム生成装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020291A (ja) * 1998-07-06 2000-01-21 Toyota Motor Corp 車両用プログラム開発支援方法および装置
US6282699B1 (en) * 1999-02-23 2001-08-28 National Instruments Corporation Code node for a graphical programming system which invokes execution of textual code
JP2001265573A (ja) * 2000-03-15 2001-09-28 Daikin Ind Ltd 制御プログラム作成方法、その装置および記憶媒体
US7024631B1 (en) * 2000-05-12 2006-04-04 National Instruments Corporation System and method for enabling graphical program polymorphism
JP2003173256A (ja) * 2001-12-06 2003-06-20 Denso Corp プログラムコード生成装置及びプログラム
JP4728563B2 (ja) * 2003-01-27 2011-07-20 株式会社デンソー コード生成装置、コード生成プログラム、機能実行装置、機能実行プログラム、モデル生成装置、およびモデル生成プログラム
JP2005332333A (ja) 2004-05-21 2005-12-02 Denso Corp グループ化プログラムおよびソースコード生成装置
JP4476766B2 (ja) * 2004-09-30 2010-06-09 株式会社東芝 プラントモデル作成システム
US8789016B2 (en) * 2005-12-29 2014-07-22 Panasonic Corporation Systems and methods for providing user configurable software libraries
US7900188B2 (en) * 2006-09-01 2011-03-01 The Mathworks, Inc. Specifying implementations of code for code generation from a model
US7698668B2 (en) * 2006-10-10 2010-04-13 Honeywell International Inc. Automatic translation of simulink models into the input language of a model checker

Also Published As

Publication number Publication date
EP2148274A1 (en) 2010-01-27
EP3037959A1 (en) 2016-06-29
EP2148274B1 (en) 2016-03-16
JP2010009435A (ja) 2010-01-14

Similar Documents

Publication Publication Date Title
US20090326892A1 (en) System and method for constructing virtual nc controllers for machine tool simulation
US20130204602A1 (en) Simulation apparatus and method for verifying hybrid system
US20190294421A1 (en) Method and system for editing a block diagram model
CN106462405B (zh) 使用活动场所的互动学习工具
JP2000020291A (ja) 車両用プログラム開発支援方法および装置
JP2005078243A (ja) マイコンリソース消費見積もりプログラム、マイコンリソース消費見積もり装置、およびプログラム生成方法
JP2012208843A (ja) 開発支援装置
JP2009294846A (ja) テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法
JP5589919B2 (ja) 設計支援装置、設計支援プログラム
JP5011221B2 (ja) コントローラ開発ツールとそれを利用して開発したモータドライブシステムを有する機器
US10922463B1 (en) User dialog-based automated system design for programmable integrated circuits
JP2009075965A (ja) ソフトウェア開発方法及びソフトウェア開発装置
US9122473B2 (en) Program generating device, program generating program, and program generating method
JP5530417B2 (ja) コントローラ開発ツール
JP6085264B2 (ja) コントローラ開発ツール
CN110516333A (zh) 一种pcb中的器件布局方法、装置、设备及可读存储介质
CN116578293A (zh) 业务数据方法、装置、设备及存储介质
US8850386B2 (en) Method for estimating resource consumption in the generation of a control device program code
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
TW201327211A (zh) 代碼智慧生成系統及方法
US10061686B2 (en) Method, electronic apparatus, system, and storage medium for automated testing of application user interface
US20160085519A1 (en) Determination of signals for readback from fpga
JP2020144509A (ja) 自動コード生成方法、及び自動コード生成プログラム
US20070206010A1 (en) Computer readable recording medium recorded with graphics editing program, and graphics editing apparatus
US9710582B1 (en) Delivering circuit designs for programmable integrated circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110823

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111122

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120514

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120604

R150 Certificate of patent or registration of utility model

Ref document number: 5011221

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3