JP4727291B2 - ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ - Google Patents

ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ Download PDF

Info

Publication number
JP4727291B2
JP4727291B2 JP2005139954A JP2005139954A JP4727291B2 JP 4727291 B2 JP4727291 B2 JP 4727291B2 JP 2005139954 A JP2005139954 A JP 2005139954A JP 2005139954 A JP2005139954 A JP 2005139954A JP 4727291 B2 JP4727291 B2 JP 4727291B2
Authority
JP
Japan
Prior art keywords
model
simulation
speed processing
motor
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.)
Active
Application number
JP2005139954A
Other languages
English (en)
Other versions
JP2006318200A (ja
Inventor
康夫 藤井
順彦 尾崎
成久 磯部
Original Assignee
ディエスピーテクノロジ株式会社
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 ディエスピーテクノロジ株式会社 filed Critical ディエスピーテクノロジ株式会社
Priority to JP2005139954A priority Critical patent/JP4727291B2/ja
Publication of JP2006318200A publication Critical patent/JP2006318200A/ja
Application granted granted Critical
Publication of JP4727291B2 publication Critical patent/JP4727291B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Landscapes

  • Control Of Ac Motors In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、ブロック線図型シミュレーションモデル作成装置、その作成装置に用いられるライブラリ、及び、ブロック線図型シミュレーションモデルのシミュレーションを実行するリアルタイムシミュレーション実行装置に関する。
近年、様々な分野でモータが使用されるようになってきており、自動車の分野で特にこの傾向が顕著である。そして、モータシステムの開発においては、例えば、モータとそのコントローラの開発が同時に進行するとは限らず、未完成のモータをコントローラに接続してテストしたり、未完成のコントローラをモータに接続してテストしたりする場合がある。かかる場合に、実機の損傷を防止するため、コンピュータ上でシミュレーションを行ってから、実機に接続してテストを行うのが普通である。
かかるシミュレーションモデルを作成し実行するツールとして、The MathWorks Inc.のMATLAB(登録商標)/Simulink(登録商標)が広く知られている。
MATLABは、マトリクス演算を強力に扱えるようにしたコンピュータ言語であり、インタプリタ型である。なお、MATLAB で書かれたプログラムは、MATLABコンパイラによりコンパイルすることも可能である。
Simulinkは、シミュレーションモデルをブロック線図で定義し、シミュレーションを実行するソフトウエアである。Simulinkには、一定値を出力するブロック、サイン信号を出力するブロック、信号を積分するブロック、シミュレーション中に生成される信号をグラフ表示するブロック等、種々のブロックが標準で用意されており、ユーザはそれらのブロックを結線することにより、シミュレーションモデルを作成することができる。また、ユーザは独自のブロックを作成することもできる。
MATLAB及びSimulinkの機能及び使用方法は、例えば下記非特許文献1に記載されている。また、出願人は、数学モデルに関して下記非特許文献2を参考にし、その他下記非特許文献3〜5を参考にした。さらに、出願人の先行技術調査により、下記特許文献1〜6が発見された。
特開2004−236392号公報 特開2003−333876号公報 特開2003−304673号公報 特開2003−30251号公報 特開平11−272307号公報 特開平11−219209号公報 [online]、サイバネットシステム株式会社、[平成17年4月4日検索]、インターネット〈URL:http://www.cybernet.co.jp/matlab/support/technote/index.shtml〉 杉本英彦、小山正人、玉井伸三、「ACサーボシステムの理論と設計の実際」、総合電子出版社、1990年 武田洋次、松井信行、森本茂雄、本田幸夫、「埋込磁石同期モータの設計と制御」、オーム社、2001年 中野孝良、「交流モータのベクトル制御」、日刊工業新聞社、1996年 電気学会交流電動機駆動方式の技術分類・用語整理調査専門委員会編、「交流電動機可変速駆動の基礎と応用」、コロナ社、1998年
ところが、従来のモータモデルは必ずしも実モータに忠実な動きをするものではなかったため、より実モータに近い動きをするモータモデルが要望されており、この要望に応えるツールが必要とされていた。
この発明は、上述した問題を解決するものであり、より実モータに近い動きをするモータモデルを含んだシミュレーションモデルを作成可能なブロック線図型シミュレーションモデル作成装置を提供することを目的とする。
本発明のブロック線図型シミュレーションモデル作成装置(以下、作成装置という。)は、シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたものであって、前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル(以下、部品モデルという。)のプログラムと、当該部品モデルを表す画像であるブロックのデータ及びプログラムとが格納され、前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、パラメータ変更外部端子が設けられたブロックで表され、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル(以下、パラメータ可変モータモデルという。)が含まれ、シミュレーションモデルを作成するための画面であるモデルウィンドウを前記表示部に表示する手段と、前記ライブラリに格納されているブロックのデータ及びプログラムに基づいて、前記ライブラリに格納されているブロックを前記表示部に表示する手段と、ユーザによる、前記表示部に表示された前記パラメータ可変モータモデルを表すブロックを含む複数のブロックの前記モデルウィンドウへのコピー操作と各ブロックに設けられている入出力端子同士の結線操作に応じて、前記表示部上で前記パラメータ可変モータモデルを表すブロックを含む複数のブロックを組み込ん前記ブロック線図を作成するモデル作成手段と、前記モデル作成手段により作成した前記ブロック線図に含まれる各ブロックが表す部品モデルのプログラムを、前記ライブラリから読み出して、前記ブロック線図におけるブロック間の結線によりプログラム間のデータの受け渡しを定めることにより、前記ブロック線図によって定義されたシミュレーションモデルのプログラムを作成し、当該シミュレーションモデルのプログラムに従って、当該シミュレーションモデルのシミュレーションを実行するとともに、シミュレーション実行前に前記パラメータ可変モータモデルのプログラムに対して与えられた前記パラメータを、シミュレーションの周期毎に前記パラメータ変更外部端子に対応するデータ授受領域を介して渡された値を用いて変更することにより、シミュレーション実行中に変化させるシミュレーション実行手段と、を備えたことを特徴とする。
演算に用いるパラメータをシミュレーション実行中に変化させれば、モータモデルは、より実モータに近い動きをする。したがって、かかるパラメータ可変モータモデルが格納されたライブラリを備えて、そのライブラリからパラメータ可変モータモデルを組み込んでブロック線図を作成可能とすれば、より実モータに近い動きをするモータモデルを含んだシミュレーションモデルを作成可能である。
また、本発明のシミュレーションシステムは、シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたブロック線図型シミュレーションモデル作成装置(以下、作成装置という。)と、前記作成装置によって生成されたリアルタイムシミュレーション用プログラムの実行ファイルがダウンロードされて当該リアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置と、を備えたシミュレーションシステムであって、前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル(以下、部品モデルという。)のプログラムと、当該部品モデルを表す画像であるブロックのデータ及びプログラムとが格納され、前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、パラメータ変更外部端子が設けられたブロックで表され、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル(以下、パラメータ可変モータモデルという。)が含まれるとともに、高速処理することが指定されたモデル(以下、高速処理モデルという。)が含まれ、前記高速処理モデルには、前記演算を高速処理することが指定された前記モータモデル(以下、高速処理モータモデルという。)が含まれ、前記高速処理モータモデルには、前記パラメータ可変モータモデルである前記高速処理モータモデル(以下、パラメータ可変高速処理モータモデルという。)が含まれ、前記作成装置は、シミュレーションモデルを作成するための画面であるモデルウィンドウを前記表示部に表示する手段と、前記ライブラリに格納されているブロックのデータ及びプログラムに基づいて、前記ライブラリに格納されているブロックを前記表示部に表示する手段と、ユーザによる、前記表示部に表示された前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックの前記モデルウィンドウへのコピー操作と各ブロックに設けられている入出力端子同士の結線操作に応じて、前記表示部上で前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックを組み込んだ前記ブロック線図を作成するモデル作成手段と、前記モデル作成手段により作成した前記ブロック線図に含まれる各ブロックが表す部品モデルのプログラムを、前記ライブラリから読み出して、前記ブロック線図におけるブロック間の結線によりプログラム間のデータの受け渡しを定めることにより、前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを、前記パラメータ可変高速処理モータモデルを含む前記高速処理モデルの演算処理を行うプログラムは含めずに、生成するプログラム生成手段と、を備え、前記リアルタイムシミュレーション実行装置は、前記シミュレーションモデルに含まれる前記高速処理モデルの演算処理を行うように予めプログラムされたフィールドプログラマブルゲートアレイ(以下、FPGAという。)ボードが装着されて、シミュレーション実行時に、CPUが、前記リアルタイムシミュレーション用プログラムに従って前記シミュレーションモデルの前記高速処理モデル以外の部分の演算処理を行うことにより、前記高速処理モデル中の前記パラメータ可変高速処理モータモデルに渡すパラメータを演算して、当該パラメータをバスライン経由で前記FPGAボードに入力し、前記FPGAボードが、前記CPUから受け取ったパラメータを用いて前記高速処理モデルの演算処理を行って演算結果を出力するように構成されていることを特徴とする。
また、本発明のシミュレーションシステムは、シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたブロック線図型シミュレーションモデル作成装置(以下、作成装置という。)と、
前記作成装置によって生成されたリアルタイムシミュレーション用プログラムの実行ファイルがダウンロードされて当該リアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置と、を備えたシミュレーションシステムであって、前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル(以下、部品モデルという。)のプログラムと、当該部品モデルを表す画像であるブロックのデータ及びプログラムとが格納され、前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、パラメータ変更外部端子が設けられたブロックで表され、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル(以下、パラメータ可変モータモデルという。)が含まれるとともに、高速処理することが指定されたモデル(以下、高速処理モデルという。)が含まれ、前記高速処理モデルには、前記演算を高速処理することが指定された前記モータモデル(以下、高速処理モータモデルという。)が含まれ、前記高速処理モータモデルには、前記パラメータ可変モータモデルである前記高速処理モータモデル(以下、パラメータ可変高速処理モータモデルという。)が含まれ、前記作成装置は、シミュレーションモデルを作成するための画面であるモデルウィンドウを前記表示部に表示する手段と、前記ライブラリに格納されているブロックのデータ及びプログラムに基づいて、前記ライブラリに格納されているブロックを前記表示部に表示する手段と、ユーザによる、前記表示部に表示された前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックの前記モデルウィンドウへのコピー操作と各ブロックに設けられている入出力端子同士の結線操作に応じて、前記表示部上で前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックを組み込んだ前記ブロック線図を作成するモデル作成手段と、前記モデル作成手段により作成した前記ブロック線図に含まれる各ブロックが表す部品モデルのプログラムを、前記ライブラリから読み出して、前記ブロック線図におけるブロック間の結線によりプログラム間のデータの受け渡しを定めることにより、前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを、前記パラメータ可変高速処理モータモデルを含む前記高速処理モデルの演算処理を行うプログラムは含めずに、生成するプログラム生成手段と、を備え、前記リアルタイムシミュレーション実行装置は、前記シミュレーションモデルに含まれる前記高速処理モデルの演算処理を行うように予めプログラムされたフィールドプログラマブルゲートアレイ(以下、FPGAという。)ボードが装着されて、前記FPGAボードには外部入力端子を有するIOボードが設けられ、シミュレーション実行時に、CPUが、前記リアルタイムシミュレーション用プログラムに従って前記FPGAボードにパラメータを入力するとともに、前記IOボードが、前記外部入力端子に接続された外部の装置から受け取ったパラメータを、前記FPGAボードに入力し、前記FPGAボードが、前記CPUから受け取ったパラメータ及び前記IOボードから受け取ったパラメータを用いて前記高速処理モデルの演算処理を行って演算結果を出力するように構成されていることを特徴とする。
これによれば、モータの動きを模擬するための演算がFPGAにより高速に行われるとともに、演算に用いるパラメータをシミュレーション実行中に変化させるので、実モータに近い動作をする仮想モータとして、リアルタイムシミュレーション実行装置が機能する。
以下、本発明の一実施形態を図面に基づいて説明する。
1.全体構成
図1に示すように、シミュレーションモデル作成装置(以下、作成装置と略す。)1とリアルタイムシミュレーション実行装置(以下、実行装置と略す。)3とは、Ethernet(登録商標)等のLAN4により互いに接続されている。
作成装置1はコンピュータにより構成され、MATLAB、Simulink、及び、Real Time Workshop(商標または登録商標)がインストールされており、各種演算処理や構成各部の制御を行う制御部10、キーボード及びマウスから構成される入力部11、CRTまたは液晶ディスプレイ等から構成される表示部12、ハードディスク装置、フレキシブルディスク装置、光磁気ディスク装置等から構成される記憶部13、及び、実行装置3とのインタフェースを取るインタフェース部14とを備えている。
制御部10は、CPU、CPUのワークエリアとして動作するRAM、固定データを格納したROM等から構成され、インストールされたOS(オペレーティングシステム)等の基本ソフトウェア上で動作するシミュレーションモデル作成プログラム等に従って、シミュレーションモデルを作成したり、作成したシミュレーションモデルのシミュレーションを実行したり、作成したシミュレーションモデルからリアルタイムシミュレーション用プログラムを生成したりする。すなわち、制御部10は、モデル作成手段、シミュレーション実行手段、プログラム生成手段として機能する。
記憶部13には、シミュレーションモデル作成プログラム、モータライブラリM、実行ファイル作成プログラム、シミュレーション実行監視プログラム等が記憶されている。
シミュレーションモデル作成プログラムは、Simulinkであり、SimulinkオプションであるReal Time Workshopを備えている。Real Time Workshopはブロック線図からC言語プログラムを自動生成するソフトウェアである。
モータライブラリMは、VSI(Voltage Source Inverter)を使用した永久磁石同期モータ(Permanent Magnet Synchronous Motor)(以下、PMSMという。)システムや誘導モータ(Induction Motor)(以下、IMという。)システムをシミュレーションするためのSimulinkライブラリであり、Real Time Workshopに対応している。
実行ファイル作成プログラムは、C言語プログラムであるリアルタイムシミュレーション用プログラムを、実行装置3に送信してコンパイル等させ、実行ファイルを実行装置3から取得するプログラムである。実行装置3でコンパイル等を行うのは、作成装置1と実行装置3とでOSが異なるからであり、同一OSであれば、作成装置1でコンパイル等して実行ファイルを作成してもよい。
シミュレーション実行監視プログラムは、リアルタイムシミュレーション用プログラムの実行ファイルを実行装置3にダウンロードし、実行装置3におけるシミュレーションの開始・停止を行ったり、実行装置3におけるシミュレーションの監視を行ったりする。すなわち、作成装置1はシミュレーション監視装置として兼用され、制御部10は、シミュレーションの開始・停止手段、シミュレーションの監視手段としても機能する。
実行装置3は、コンピュータにより構成され、各種演算処理や構成各部の制御を行う演算処理部30、記憶部31、及び、作成装置1とのインタフェースを取るインタフェース部32を備えている。演算処理部30は、CPU、CPUのワークエリアとして動作するRAM、固定データを格納したROM等から構成されて、CPUにより演算を行う低速処理部33を備えている。さらに、実行装置3には、必要に応じて、FPGA(Field Programmable Gate Array)を実装したFPGAボードが装着可能であり、FPGAボードが装着されたときには、演算処理部30は、FPGAボードにより構成されて、FPGAにより演算を行う高速処理部34を備えることとなる。
以上の各装置を用い、一般に図2に示すような流れでシミュレーションが行われる。まず実験などから得られたデータを基に解析を行い(ステップS01)、数学的な処理を行い、モデルを想定する。そのモデルを基に、作成装置1でSimulinkのブロック線図によりシミュレーションモデルを作成する(ステップS02)。そして、作成したシミュレーションモデルを、Simulinkの機能を用い、作成装置1において実行する(ステップS03)。このシミュレーションの結果を見て、ある程度よい動きのモデルであれば、実機検証のため、Real Time Workshopを用いて作成装置1においてそのモデルからC言語プログラム(Cソース)を生成し、実行装置3にダウンロードする(ステップS04)。そして、作成装置1から実行指令を入力することにより、実行装置3においてシミュレーションを開始させる。シミュレーション監視装置でもある作成装置1においては、データロギングやパラメータチューニング等を行う(ステップS05)。そして、得られたデータを基に再度モデルを検証する(ステップS01に戻る)。
図2は、実行装置3にモータモデルのプログラムがダウンロードされて、実行装置3が仮想モータとして動作する例であり、実行装置3には、実機であるコントローラが接続されて、コントローラから制御信号が入力され、実行装置3は、コントローラに応答信号を出力する。
2.部品モデルの説明
モータライブラリMには、モータシステムのシミュレーションモデルを構成する部品モデルが格納されている。ここで、部品モデルが格納されているとは、少なくとも、その部品モデルのプログラムと、その部品モデルを表すブロックとが格納されていることをいう。
部品モデルのプログラムとは、その部品モデルの機能を実現するためのプログラムであるが、必ずしもプログラミング言語で記述されたものに限らず、ブロック線図で表されたものも含む。ブロック線図で表されたプログラムは、Simulinkにより解析されて実行される。プログラミング言語で記述されたプログラムと、部品モデルの詳細構成を表すブロック線図の両方が格納されている場合もある。
また、ブロックとは、ユーザが部品モデルを扱う際のインタフェースとなる画像である。すなわち、部品モデルの実体はプログラムであるが、ユーザからはブロックとして認識される。ブロックが格納されているとは、より具体的には、ブロックのデータやプログラムが格納されていることであり、ブロックのデータやプログラムには、ブロックに付随するダイアログ等のデータやプログラムも含まれる。
部品モデルには、少なくとも、モータを模擬するモータモデル、すなわち、入力されたデータに対してモータの動きを模擬する演算を行ってデータを出力するモータモデルが含まれている。
モータライブラリMに格納されているモータモデルには、パラメータが固定のモータモデルと、パラメータが可変なモータモデルとがあり、さらに、パラメータ固定、可変のモータモデルの各々について、高速処理することが指定された高速処理モータモデルと、高速処理することが指定されていない通常モータモデルとがある。
また、モータライブラリMに格納されているモータモデルには、モータの種類に応じて、PMSMモデルとIMモデルとがあり、さらに、PMSMモデルには、信号フローに基づいたd−q変換モデルのPMSM−signalモデル、状態方程式に基づいたd−q変換モデルのPMSM−stateモデル、PMSM−stateモデルのパラメータを可変にしたモデル等、複数のタイプのモデルがある。IMモデルにも、複数のタイプのモデルがある。以下、PMSM−stateモデルを例にとって、パラメータ固定モータモデル、パラメータ可変モータモデル、その他図3、図4のモデル中の主なブロックについて説明する。
まず、PMSMモデル(図5参照)の概要を示す。3相PMSMの電圧方程式は、次式(数1)で表される。
Figure 0004727291
また、各相に誘起する速度起電力は、次式(数2)のように表される。
Figure 0004727291
3相座標系からd-q座標系に変換する行列は、次の(数3)のように表される。
Figure 0004727291
3相PMSM電圧方程式にこの行列を適用することで、次式(数4)に示すd-q座標系に変換した電圧方程式を得る。
Figure 0004727291
次に、極数POLEのPMSMのトルクは、次式(数5)で表せる。
Figure 0004727291
そして、モータを含む機械系は、次式(数6)のように表される。
Figure 0004727291
図6−1のブロックは、PMSMの電流、角度、角速度を状態変数としたPMSM−stateモデルで、パラメータは固定であり、通常モータモデルである。入出力は図6−2の表(a)に示すように定義されている。巻線抵抗Rs、d軸成分インダクタンスLd(Lsdとも表記)、q軸成分インダクタンスLq(Lsqとも表記)、鎖交磁束数Ψs(Fluxとも表記)は固定である。上記PMSMモデルの電圧方程式と運動方程式を、電流に対する状態方程式に書き換えると、図6−2の式(b)〜(e)のようになる。図6−1のブロックに示されるモデルは、入力されたd軸電機子電圧、q軸電機子電圧、負荷トルクに対して、これらの式に基づいて演算を行い、d軸電機子電流、q軸電機子電流、電気角度、電気角速度、モータトルクを出力するものである。パラメータRs、Ld、Lq、Ψsは固定である。このモデルの構成をブロック線図で表すと、図6−3のようになる。
図7−1のブロック(すなわち、図3、図4のブロックB1)は、図6−1のPMSM−stateモデルにパラメータ変更外部端子(図中、extが付いた端子)を追加したパラメータ可変なモデルであり、通常モータモデルである。入出力は図7−2に示すように定義されている。また、このモデルの構成をブロック線図で表すと、図7−3のようになる。パラメータ変更外部端子から入力された値は、シミュレーション実行前に入力したパラメータ(本実施形態では、後述するようにブロックパラメータ指定ダイアログで設定した値)に加算される。すなわち、シミュレーション実行前に入力されたパラメータは、シミュレーション実行中にパラメータ変更外部端子を介して入力された値を用いて変更される。この変更の方法は、加算以外であっても勿論よい。パラメータを変更する部分を除けば、図7−1のモデルが用いる演算式は、図6−1のモデルと同じである。
図3のブロックB2は、三相交流発生器のモデルであり、入出力は図8の表(a)に示すように定義され、図8の式(b)〜(d)で示す式に基づいて演算を行う。
図3のブロックB3は、三角波比較PWM(Pulse Width Modulation)のパルス出力型モジュレータのモデルであり、入出力は図9の表に示すように定義されている。
図3のブロックB4はスイッチモデルであり、入力パルスで供給電圧をスイッチングして出力する。入出力は図10の表(a)に示すように定義され、このモデルの等価回路は図10の(b)に示すようになっている。
図3のブロックB5は、3相座標系からd-q座標系への座標変換を行うブロックであり、入出力は図11の表(a)に示すように定義され、図11の行列(b)によって座標変換を行う。
図3のブロックB6は、d-q座標系から3相座標系への座標変換を行うブロックであり、入出力は図12の表(a)に示すように定義され、図12の行列(b)によって座標変換を行う。
図4のブロックB11は、d-q座標系からa-b座標系への座標変換を行うブロックであり、入出力は図13の表(a)に示すように定義され、図13の行列(b)によって座標変換を行う。
図4のブロックB12は、a-b座標系から3相座標系への座標変換を行うブロックであり、入出力は図14の表(a)に示すように定義され、図14の行列(b)によって座標変換を行う。
図4のブロックB13はPMSM用コントローラであり、入出力は図15の表(a)に示すように定義され、このモデルの構成をブロック線図で表すと図15の(b)のようになる。図15の(b)のisd*とisq*は、磁束とトルク指令値を表している。
図3及び図4のその他のブロックは、Simulinkに予め用意されているブロックであり、例えば、図3のブロックB7は、シミュレーション中に生成される信号をグラフ表示するスコープブロックである。また、図3のブロックB8は、後述するように温度変化を与える温度テーブルであり、図4のブロックB14は、後述するように鎖交磁束数の変化を与える鎖交磁束数テーブルである。
なお、モータライブラリMには、図25に示す高速処理モータモデルも用意されているが、これについては後述する。
3.巻線抵抗を変化させるモデル例
モータモデルのパラメータを可変にすることで、より忠実に実モータを模擬するモデルが得られることについて説明する。適用例として温度によるコイルの巻線抵抗の変化をモデルに与えた場合を示す。
時間に対して温度が図16に示すように変化したとする。コイルは銅でできているので、温度による巻線抵抗Rsは次式(i)で表すことができる。
Rs=R0(1+α(t−t0)) …(i)
ここで、t0は基準温度でt0=80(℃)、R0は基準抵抗値でR0=17.4(Ω)、αは温度係数でα=3.9×10-3(K-1)である。式(i)に図16の温度変化を入れた場合、時間と共に巻線抵抗Rsは図17のように変化する。実モータでは、このように温度変化により巻線抵抗Rsが変化する。
図3は、この巻線抵抗Rsの変化を与えるモデルである。以下、このモデルの作成方法について説明するが、Simulinkのブロック線図の作成方法は周知であるので詳説はしない。
まず、ユーザは、作成装置1においてMATLABを起動し、Simulinkを起動する。ユーザの所定の操作により、作成装置1はモデルを作成する画面(モデルウィンドウ)を表示部12に表示する。そして、ユーザの所定の操作により、作成装置1はブロックライブラリを表示する。このブロックライブラリには、Simulinkに予め用意されているものの他、上述したモータライブラリMが含まれる。ユーザの所定の操作により、作成装置1は、指定されたブロックライブラリを開く(すなわち、そのブロックライブラリに格納されているブロックが表示されたブロックライブラリウィンドウを表示する)。ユーザは、所定の操作により、ブロックライブラリウィンドウから必要なブロックをモデルウィンドウにコピーすることができる。
また、各ブロックには入出力端子が設けられており、ユーザは、ブロックの出力端子と他のブロックの入力端子とを、ドラッグ操作により矢印で結線することができる。これにより、ブロックから他のブロックへのデータの受け渡しが定義される。
これらの操作により、作成装置1は、表示部12上で、ブロックライブラリからブロックを取得して、そのブロックを組み込んだブロック線図を作成することとなる。
さらに、各ブロックは、必要に応じてパラメータを設定することができる。パラメータを設定するには、ブロックをダブルクリックする等、所定の操作を行い、表示されたブロックパラメータ指定ダイアログの数値を変更する。
また、図3のブロックB8は温度テーブルであるが、このテーブルは、時間に対する温度変化のデータをSimulinkに入力し、Simulinkの機能を用いてテーブル化したものである。図3のモデルでは、作成装置1のシミュレーション実行手段は、シミュレーション実行中に、クロック信号に従ってシミュレーションの周期毎に、この温度テーブルから出力される温度をブロックB9に入力して、ブロックB9で式(i)に基づいて巻線抵抗Rsを計算し、その結果をブロックB1の巻線抵抗Rsの端子に入力している。すなわち、ブロックB1に与えられるパラメータ巻線抵抗Rsは、シミュレーション中、時間と共に変化する。
以上のようにして、ユーザが図3に示すモデルをモデルウィンドウ上で作成すると(図2のS02)、作成装置1は、このモデルのプログラムを作成する。詳しくは、作成装置1は、モデルウィンドウ上の各ブロックが表す部品モデルのプログラムをライブラリから読み出して、ブロック間の結線により、プログラム間のデータの受け渡しを定め、モデル全体のプログラムを作成する。
ユーザが必要に応じて、シミュレーション時間やステップサイズ等のシミュレーションパラメータの設定を行い、所定の操作を行うと、作成装置1は、作成したプログラムをSimulinkの機能を用いて実行する(Simulink上でのシミュレーションの実行(図2のS03))。なお、Simulinkモデルのプログラムは、インタプリタ型言語であるMATLABで作成されるので、コンパイルを経ずに実行することができる。この実行の結果を図18−1、18−2に示す。
図18−1、18−2は、モータブロックB1から出力されてブロックB6により座標変換された電流を、スコープブロックB7でグラフ表示したものである。図18−2は、図3に示す巻線抵抗Rsを可変としたモデルにおける電流の変化を示し、図18−1は、図3のモデルにおいてブロック21のスイッチを切り替え、ブロック20から基準温度(20℃)を入力して巻線抵抗Rsを固定としたモデルにおける電流の変化を示す。
図18−2に示すように、巻線抵抗固定モデル(Normal)と比較して、巻線抵抗可変モデル(Proposed)では、温度下降により巻線抵抗Rsが減少して電流が増加し(例えば図18−1、18−2のAの部分参照)、温度上昇により巻線抵抗Rsが増加して電流が減少する(例えば図18−1、18−2のBの部分参照)ことが分かる。このように、温度に対応してパラメータを変化させることで、より実モータの動きに近いモデル(仮想モータ)を実現できることが分かる。図3の例では、巻線抵抗Rsのみに着目したが、他のパラメータにも着目すれば、より実モータに忠実な仮想モータが実現可能と考えられ、また、新しい特性を持つモータの開発に利用できる可能性がある。
4.鎖交磁束数を変化させるモデル例
IPMSM(埋込磁石同期モータ)の鎖交磁束特性を持たせたモータモデルについて、次に説明する。このモデルのブロック線図を、図4に示す。このブロック線図の作成方法は、図3のモデルと同様であるので省略する。図4のモデルは、角速度テーブルであるブロックB15から、時間と共に速度を加速した後一定速度に保つような指令値が、PMSMコントローラであるブロックB13に与えられ、この指定値に基づく電圧値が、ブロックB13からB12、B3、B4、B5を介して、ブロックB1に与えられる例である。
IPMSMの場合、図19に示すように、鎖交磁束数が速度により変化すると考えられている。そこで、時間と共に速度を加速した後一定速度に保つ場合、時間と鎖交磁束数との関係は、図20に示すようになると考えられ、この鎖交磁束数の変化をテーブル化してブロックB14とし、ブロックB14から鎖交磁束数をブロックB1に与えることにより、ブロックB1は、IPMSM特性を持ったモータモデルとして動作すると考えられる。
図21は、図4のモデルのシミュレーションを実行したときにモータブロックB1から出力された角速度、及び、ブロックB15による指令値をスコープブロックB16でグラフ表示したものである。図21の実線(Speed)はブロックB1から出力された角速度を示し、図21の破線(Command)はブロックB15からの指令値を示している。
一方、図22は、図4のモデルにおいてブロックB17のスイッチを切り替え、ブロックB18から固定の鎖交磁束数(0.533)を入力することにより、モータブロックB1を鎖交磁束数固定モデルとし、このモデルから出力された角速度、及び、ブロックB15からの指令値をスコープブロックB16でグラフ表示したものである。
図21、22から分かるように、鎖交磁束数可変モデル(図21)では、指令値どおりに速度が上昇した後一定速度を保っているが、鎖交磁束数固定モデル(図22)では、速度が指令値どおりに制御されていない。
これらのことから、IPMSMを制御するには、鎖交磁束数を制御することが有効と考えられる。実IPMSMは直接鎖交磁束数を制御できないが、コントローラから間接的に制御が可能である。したがって、パラメータ可変モータモデルは、コントローラ設計にも有効な示唆を与えるものである。
5.リアルタイムシミュレーション
次に、実モータと同様な特性を持つ仮想モータを実現するには、パラメータを可変にするのみならず、FPGA等のハードウェアを用いて高速処理をすることが望ましいことを、図3のモデルを例に説明する。
ユーザは作成装置1において図3のようなブロック線図を作成する。なお、ここでは、巻線抵抗Rsは固定とする。作成装置1は、ユーザの操作に応じて、ブロック線図からReal Time WorkshopによりCソースであるリアルタイムシミュレーション用プログラムを生成する。次に、作成装置1は、実行ファイル作成プログラムにより、実行装置3にリアルタイムシミュレーション用プログラムを送信してコンパイルさせ、実行ファイルを実行装置3から受信する。そして、ユーザの操作に応じて、作成装置1は、シミュレーション実行監視プログラムにより、リアルタイムシミュレーション用プログラムの実行ファイルを、実行装置3にダウンロードし、実行させる。図3のブロックB1は通常モータモデルであるので、CPUを用いた低速演算部により演算が実行される。図23の(a)は、CPUにより演算を実行した結果、出力された相電流をグラフ表示したものである(図3のブロックB7における表示に相当)。
一方、図23の(b)は、図3のモデルのニ点鎖線で囲った部分Aの演算を、FPGAを用いて行い、出力された相電流をグラフ表示したものである。
図23(a)(b)の一部をそれぞれ拡大したものが、図24(a)(b)である。このように、波形の一部を拡大して見てみると、図24(b)ではモータを駆動しているスイッチングの影響も明確に捉えられているが、図24(a)では捉えられていないことが分かる。これは、一回のシミュレーションに要する時間が、CPUによる演算では100μsec程度と長いが、FPGAによる演算では5μsec程度と短く、かかる演算速度の違いに起因すると考えられる。
したがって、実モータと同様な特性を持つ仮想モータを実現するには、パラメータを可変にするのみならず、FPGA等のハードウェアを用いて高速処理をすることが望ましい。
かかるFPGAを用いた高速処理に対応するため、モータライブラリMには、図25に示すブロックB100等の高速処理モータモデルが各種用意されている。
ブロックB100は、PMSM−stateのパラメータ可変な高速処理モータモデルであり、その構成は図26のブロック線図に示すようになっており、図3の部分Aの構成を有している。なお、駆動電圧DC/2は、パラメータとして与えられる。入力端子du、dv、dwは、それぞれu相、v相、w相のPWM信号であり、出力端子iu、iv、iwは、それぞれu相、v相、w相の電機子電流である。その他の端子は、ブロックB1と同様である。
一方、実行装置3には、FPGAが実装されたFPGAボードが、各種の高速処理モータモデルに対応して用意されている。PMSM−stateのパラメータ可変な高速処理モータモデルに対応したFPGAボードの内部構成を、図27、28に示す。このFPGAボードは、図3の部分Aに対応した演算を行うようにプログラミングされている。
詳しくは、このFPGAボードは、図27に示すように、デューティ計測+インバータ部104と、デューティ計測+インバータ部104に接続された3相-dq座標変換器105と、3相-dq座標変換器105に接続されたモータモデル部106と、モータモデル部106に接続されたdq-3相座標変換器107とを備えている。
デューティ計測+インバータ部104は、図4のブロックB4に相当する機能を有し、図28に示すように、u、v、wの各相のプラス(up、vp、wp)とマイナス(um、vm、wm)のPWM信号を受け取って、それぞれのデューティを計測するデューティ計測器101と、各相に対応した加算器102と乗算器103とから構成されて、入力された電圧値(DC電圧)とデューティ計測器101から受け取った各デューティとを用いて各相の電圧値を演算して出力するインバータとを備えている。
3相-dq座標変換器105は、図4のブロックB5に相当する機能を有する。モータモデル部106は、PMSM−stateモデルのパラメータ可変モデルであり、図4のブロックB1に相当する機能を有する。dq-3相座標変換器107は、図4のブロックB6に相当する機能を有する。
デューティ計測器101、各加算器102、各乗算器103、3相-dq座標変換器105、モータモデル部106、及び、dq-3相座標変換器107は、それぞれIC(集積回路)化されており、FPGAボード内部で必要に応じて互いに結線されている。
ユーザは、高速処理を行うときは、使用する高速処理モータモデルに対応したFPGAボードを、実行装置3に装着する。これにより、実行装置3はFPGAボードよりなる高速処理部34を備えることとなる。
〈モデル例1〉次に、ブロックB100及びそれに対応するFPGAボードを用いたリアルタイムシミュレーションについて、図29のモデルを例に説明する。
図29のブロックB100は上述したPMSM−stateのパラメータ可変な高速処理モータモデルであり、ブロックB200は、PWM信号を入力するブロックであり、ブロックB300は、DA変換を行うブロックである。ブロックB100、B200、B300は、いずれも高速処理することが指定された高速処理モデルである。また、上述したように、ブロックB8は温度テーブル、ブロックB9は巻線抵抗Rsを計算するブロックである。
ユーザが作成装置1において図29のようなブロック線図を作成し、そのブロック線図からリアルタイムシミュレーション用プログラム(Cソース)を生成させたとき、プログラム生成手段である制御部10は、ブロックB100、B200、B300以外の低速処理部分Lのプログラムは生成するが、ブロックB100、B200、B300に対応する高速処理部分Hのプログラムは生成しない。すなわち、高速処理モデルの部分のCソースは生成されない。
一方、ユーザは、実行装置3において図29のモデルのシミュレーションを行うとき、図29の高速処理部分Hに対応するFPGAボードを、実行装置3に装着する。このFPGAボードは、上述したPMSM−stateのパラメータ可変な高速処理モータモデル(ブロックB100)に対応したFPGAボードと、ブロックB200に対応したボード(回路基板)と、ブロックB300に対応したボードとの組み合わせからなる。各ボードの端子は、図29のブロック線図における結線に対応するように、結線されている。このFPGAボードが装着された実行装置3の概略構成を、図30に示す。
すなわち、高速処理部分Hに対応するFPGAボードは、図30に示すように、PWMパルス入力インタフェース部35(以下、インタフェース部35と略す。)と、インタフェース部35に接続されたPMSM−stateパラメータ可変モデル部36(以下、モデル部36と略す。)と、モデル部36に接続されたモータ相電流出力インタフェース部37(以下、インタフェース部37と略す。)とを備えている。
インタフェース部35は、ブロックB200に対応したボードから構成され、実機であるコントローラ5に接続されて、コントローラ5から入力されたPWM信号をモデル部36に入力する。
モデル部36は、PMSM−stateのパラメータ可変な高速処理モータモデル(ブロックB100)に対応したFPGAボードから構成され、上述したように、図27、28に示すデューティ計測+インバータ部104と、デューティ計測+インバータ部104に接続された3相-dq座標変換器105と、3相-dq座標変換器105に接続されたモータモデル部106と、モータモデル部106に接続されたdq-3相座標変換器107とを備えている。
インタフェース部37は、ブロックB300に対応したボードから構成され、コントローラ5に接続されて、モデル部36から出力された各相の電流を示すデジタル信号をアナログ信号に変換してコントローラ5に出力する。
ユーザが、かかる高速処理部分Hに対応するFPGAボードを実行装置3に装着し、リアルタイムシミュレーション用プログラムの実行ファイルを実行装置3にダウンロードして、作成装置1から実行指令を入力すると、実行装置3は、高速処理部分Hの演算処理は高速処理部34で行い、低速処理部分Lの演算処理は低速処理部33で行い、高速処理部34と低速処理部33との間でデータの授受を行いながら処理を進める。すなわち、高速処理部34は高速処理モデルの演算処理を行うように予めプログラムされており、高速処理部34が高速処理モデルとして動作し、低速処理部33がリアルタイムシミュレーション用プログラムに従って動作する。
図29、30の例では、インタフェース部35は、コントローラ5からPWM信号を受け取ってモデル部36に渡す。モデル部36は、PWM信号と、低速処理部33から受け取った巻線抵抗値とを用いて、FPGAで所定の演算を行い、各相の電流値を算出して、インタフェース部37に出力する。なお、DC電圧の電圧値や、演算に用いる固定パラメータ等は、図29のモデル作成時にブロックB100に対して与えられた値が、実行ファイル中に含まれて記憶部31に格納され、記憶部31からバスライン経由でモデル部36に与えられる。また、低速処理部33は、低速処理部分Lの処理を行うリアルタイムシミュレーション用プログラムに従って、クロック信号に応じ、記憶部31に記憶されている温度テーブルから温度を取得し、巻線抵抗値を演算して、バスライン経由でモデル部36に入力する。すなわち、モデル部36が演算に用いる巻線抵抗値はシミュレーションの周期毎に変化し得る。インタフェース部37では、受け取った電流信号をアナログ信号に変換して、コントローラ5に出力する。
インタフェース部37から出力された電流信号を監視装置1で監視した場合、この電流信号は、図18−2に示すように温度変化に応じて増減するとともに、図24(b)に示すようにスイッチングの影響をも明確に捉えるものとなる。
このようにパラメータを変化させつつFPGAを用いて高速処理を行えば、実行装置3は、実モータの動きにより近い動きをする仮想モータとして機能することとなる。
〈モデル例2〉次に、図31のモデルを例に説明する。図29のモデルでは低速処理部分Lを含んでいたが、図31のモデルでは低速処理部分Lに相当する部分も高速処理部分Hとされている。高速処理モデルには、FPGAボードマークFが付されている。ユーザは、図31のようなブロック線図を作成し、そのブロック線図からCソースを生成させる。Cソースには、DC電圧や固定パラメータを与える部分が含まれるが、高速処理モデルの部分は含まれない。ユーザはそのCソースの実行ファイルを生成させて、実行装置3にダウンロードする。
一方、ユーザは、図31のモデルに対応したFPGAボードを実行装置3に装着する。このFPGAボードには、上述したインタフェース部35、モデル部36、及び、インタフェース部37の他、ブロックB700に対応したクロック発生部と、ブロックB800に対応した温度テーブルと、ブロックB900に対応した巻線抵抗演算部とが設けられている。
ユーザが実行装置3に接続された監視装置1から実行指令を入力すると、実行装置3の高速処理部34は、低速処理部33により記憶部31からDC電圧や固定パラメータ等を受け取って演算処理を開始する。そして、高速処理部34は、演算処理(シミュレーション)の実行中、クロック発生部からの信号に応じてシミュレーションの周期毎に、温度テーブルから温度を取得し、巻線抵抗演算部により巻線抵抗値を算出して、その値をモデル部36に入力し、モデル部36が演算に用いる巻線抵抗値を変化させる。すなわち、モデル部36が演算に用いる巻線抵抗値は、シミュレーション実行中に、高速処理部34自身で発生した値により変化する。
〈モデル例3〉次に、図32のモデルを例に説明する。図32のモデルでは、図29のモデルの低速処理部分Lに相当する部分を、ブロックB400で置き換えている。ブロックB400は、巻線抵抗値を入力するブロックである。ユーザは、実行装置3の外部からパラメータ変更外部端子に値を入力する場合には、部分Lに変えてブロックB400を配置し、Cソースを生成させる。このCソースには、DC電圧や固定パラメータを与える部分が含まれるが、高速処理モデルに相当する部分は含まれない。ユーザは、Cソースから生成された実行ファイルを、実行装置3にダウンロードする。
一方、ユーザは、図32の部分Hに対応したFPGAボードを実行装置3に装着する。このFPGAボードには、上述したインタフェース部35、モデル部36、及び、インタフェース部37の他、パラメータ入力インタフェース部として、ブロックB400に対応するIOボードが設けられている。ブロックB400に対応するIOボードは、外部入力端子を有しており、この外部入力端子に、実行装置3の外部に設けられた装置(以下、外部装置という。)が接続される。
ユーザが実行装置3に接続された監視装置1から実行指令を入力すると、実行装置3の高速処理部34は、低速処理部33により記憶部31からDC電圧や固定パラメータ等を受け取って演算処理を開始する。モデル部36は、シミュレーションの実行中、外部装置からパラメータ入力インタフェース部(ブロックB400に対応するIOボード)を介して、巻線抵抗値を受け取り、演算に用いる巻線抵抗値を変化させる。すなわち、モデル部36が演算に用いる巻線抵抗値は、シミュレーション実行中に、実行装置3の外部から入力された値により変化する。
このように、高速処理部34が演算に用いるパラメータを変化させるための値は、モデル例1のように低速処理部33から入力された値、モデル例2のように高速処理部34で発生した値、モデル例3のように実行装置3の外部から入力された値のいずれであってもよい。また、巻線抵抗値は低速処理部33から入力された値により変更し、鎖交磁束数は高速処理部34で発生した値により変更する等、低速処理部33から入力された値、高速処理部34で発生した値、実行装置3の外部から入力された値、のうちの2つ以上により、パラメータを変化させてもよい。すなわち、高速処理部34は、少なくとも、低速処理部33から入力された値、高速処理部34で発生した値、実行装置3の外部から入力された値、のいずれかを用いて、パラメータを変化させる。
6.その他
上記実施形態では、FPGAを高速処理モデルの演算処理を行うように予めプログラムしておき、リアルタイムシミュレーション用プログラムには高速処理モデルのプログラム(高速処理モデルの演算処理を行うプログラム)を含めないこととしたが、リアルタイムシミュレーション用プログラムに高速処理モデルのプログラムを含めることとし、実行装置3へのダウンロード時等、実行前に高速処理モデルのプログラムに基づいてFPGAを書き換えるように構成してもよい。
かかる形態としては、プログラム生成手段により、高速処理モデルのプログラムもリアルタイムシミュレーション用プログラムに含めて生成し、FPGAボードを装着した実行装置3に、リアルタイムシミュレーション用プログラムの実行ファイルをダウンロードしたときに、高速処理モデルのプログラムに基づいてFPGAを書き換え、高速処理部が高速処理モデルとして動作するような構成が考えられる。また、このように構成するには、実行装置3が、高速処理モデルのプログラムからFPGA対応言語のプログラムを生成して、そのプログラムでFPGAを書き替えたり、プログラム生成手段が、予め高速処理モデルのプログラムをFPGA対応言語で生成したりすることが考えられる。
また、上記実施形態では、作成装置1をシミュレーション監視装置(以下、監視装置と略す。)としても使用したが、例えば図33、34に示すように、作成装置1と監視装置2とを別体とすることも可能である。かかる場合には、例えば、実行ファイルの作成までを作成装置1で行い、監視装置2に実行ファイルを読み込ませ、監視装置2が実行ファイルを実行装置3にダウンロードして実行をかけ、データロギング等の監視を行うことが考えられる。また、監視装置2に実行ファイル作成プログラムをインストールしておき、作成装置1で作成されたリアルタイムシミュレーション用プログラムを監視装置2に読み込ませ、監視装置2から実行装置3に送信してコンパイル等させる。そして、実行ファイルを受信した監視装置2が、実行装置3に実行ファイルをダウンロードして実行をかけ、監視を行うこととしてもよい。
また、モータライブラリMに、PMSMモデルやIMモデル以外のモータモデルを格納することとしても勿論よい。
また、シミュレーションモデル作成プログラムとして、Simulink以外のプログラム(例えば、MatrixX等)を用いてもよく、モータライブラリMを、例えばMatrixX用のライブラリとして構成しても勿論よい。
すなわち、特許請求の範囲を逸脱しない範囲で、本発明は種々の構成を採り得る。
作成装置及び実行装置の一実施形態の概略構成図である。 シミュレーションの手順を示す図である。 シミュレーションモデルのブロック線図の例である。 シミュレーションモデルのブロック線図の他の例である。 PMSMモデルの概要を表す図である。 PMSM−stateモデルのブロックを示す図である。 (a)は図6−1のブロックの入出力の表であり、(b)〜(e)は同ブロックの式である。 図6−1のブロックの構成を表すブロック線図である。 PMSM−stateモデルにパラメータ変更外部端子を追加したパラメータ可変なモデルのブロックを示す図である。 図7−1のブロックの入出力の表である。 図7−1のブロックの構成を表すブロック線図である。 (a)は三相交流発生器モデルのブロックの入出力の表であり、(b)〜(d)は同ブロックの式である。 三角波比較PWMのパルス出力型モジュレータモデルのブロックの入出力の表である。 (a)はInverter(スイッチ)モデルの入出力の表であり、(b)は同モデルの等価回路である。 (a)は、3相座標系からd-q座標系への座標変換を行うブロックの入出力の表であり、(b)は同ブロックが用いる行列である。 (a)は、d-q座標系から3相座標系への座標変換を行うブロックの入出力の表であり、(b)は同ブロックが用いる行列である。 (a)は、d-q座標系からa-b座標系への座標変換を行うブロックの入出力の表であり、(b)は同ブロックが用いる行列である。 (a)は、a-b座標系から3相座標系への座標変換を行うブロックの入出力の表であり、(b)は同ブロックが用いる行列である。 (a)は、PMSM用コントローラのモデルのブロックの入出力の表であり、(b)は同モデルの構成を表すブロック線図である。 時間に対する温度の変化例のグラフである。 時間に対する巻線抵抗の変化例のグラフである。 巻線抵抗固定モデルのシミュレーションを実行した結果、出力された信号を示す図である。 巻線抵抗可変モデルのシミュレーションを実行した結果、出力された信号を示す図である。 鎖交磁束数の速度による変化を示す図である。 時間に対する鎖交磁束数の変化例のグラフである。 図4のモデルのシミュレーションを実行した結果、出力された信号を示す図である。 図4のモデルで鎖交磁束数を固定にしてシミュレーションを実行した結果、出力された信号を示す図である。 (a)は、図3のモデルの演算をCPUにより実行した結果、出力された相電流をグラフ表示したもの、(b)は、図3のモデルのニ点鎖線で囲った部分の演算を、FPGAにより実行した結果、出力された相電流をグラフ表示したものである。 (a)は図23の(a)の一部を拡大し、(b)は図23の(b)の一部を拡大したものである。 PMSM−stateのパラメータ可変な高速処理モータモデルのブロックを示す図である。 図25のブロックの構成を表すブロック線図である。 図25のブロックの機能を実現するFPGAボードの内部構成を示す図である。 図27の一部であるデューティ計測及びインバータ部分の詳細構成を示す図である。 図25のブロックを用いたモデルの例である。 図29のモデルのリアルタイムシミュレーションを行う実行装置の概略構成図である。 図25のブロックを用いたモデルの他の例である。 図25のブロックを用いたモデルのまた他の例である。 他の実施形態の作成装置の概略構成図である。 他の実施形態の監視装置及び実行装置の概略構成図である。
符号の説明
1…シミュレーションモデル作成装置
3…リアルタイムシミュレーション実行装置
12…表示部
13…記憶部
33…低速処理部
34…高速処理部
M…モータライブラリ

Claims (3)

  1. シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたブロック線図型シミュレーションモデル作成装置(以下、作成装置という。)であって、
    前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル(以下、部品モデルという。)のプログラムと、当該部品モデルを表す画像であるブロックのデータ及びプログラムとが格納され、
    前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、パラメータ変更外部端子が設けられたブロックで表され、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル(以下、パラメータ可変モータモデルという。)が含まれ、
    シミュレーションモデルを作成するための画面であるモデルウィンドウを前記表示部に表示する手段と、
    前記ライブラリに格納されているブロックのデータ及びプログラムに基づいて、前記ライブラリに格納されているブロックを前記表示部に表示する手段と、
    ユーザによる、前記表示部に表示された前記パラメータ可変モータモデルを表すブロックを含む複数のブロックの前記モデルウィンドウへのコピー操作と各ブロックに設けられている入出力端子同士の結線操作に応じて、前記表示部上で前記パラメータ可変モータモデルを表すブロックを含む複数のブロックを組み込ん前記ブロック線図を作成するモデル作成手段と、
    前記モデル作成手段により作成した前記ブロック線図に含まれる各ブロックが表す部品モデルのプログラムを、前記ライブラリから読み出して、前記ブロック線図におけるブロック間の結線によりプログラム間のデータの受け渡しを定めることにより、前記ブロック線図によって定義されたシミュレーションモデルのプログラムを作成し、当該シミュレーションモデルのプログラムに従って、当該シミュレーションモデルのシミュレーションを実行するとともに、シミュレーション実行前に前記パラメータ可変モータモデルのプログラムに対して与えられた前記パラメータを、シミュレーションの周期毎に前記パラメータ変更外部端子に対応するデータ授受領域を介して渡された値を用いて変更することにより、シミュレーション実行中に変化させるシミュレーション実行手段と、
    を備えたことを特徴とする作成装置。
  2. シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたブロック線図型シミュレーションモデル作成装置(以下、作成装置という。)と、
    前記作成装置によって生成されたリアルタイムシミュレーション用プログラムの実行ファイルがダウンロードされて当該リアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置と、
    を備えたシミュレーションシステムであって、
    前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル(以下、部品モデルという。)のプログラムと、当該部品モデルを表す画像であるブロックのデータ及びプログラムとが格納され、
    前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、パラメータ変更外部端子が設けられたブロックで表され、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル(以下、パラメータ可変モータモデルという。)が含まれるとともに、高速処理することが指定されたモデル(以下、高速処理モデルという。)が含まれ、
    前記高速処理モデルには、前記演算を高速処理することが指定された前記モータモデル(以下、高速処理モータモデルという。)が含まれ、前記高速処理モータモデルには、前記パラメータ可変モータモデルである前記高速処理モータモデル(以下、パラメータ可変高速処理モータモデルという。)が含まれ、
    前記作成装置は、
    シミュレーションモデルを作成するための画面であるモデルウィンドウを前記表示部に表示する手段と、
    前記ライブラリに格納されているブロックのデータ及びプログラムに基づいて、前記ライブラリに格納されているブロックを前記表示部に表示する手段と、
    ユーザによる、前記表示部に表示された前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックの前記モデルウィンドウへのコピー操作と各ブロックに設けられている入出力端子同士の結線操作に応じて、前記表示部上で前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックを組み込んだ前記ブロック線図を作成するモデル作成手段と、
    前記モデル作成手段により作成した前記ブロック線図に含まれる各ブロックが表す部品モデルのプログラムを、前記ライブラリから読み出して、前記ブロック線図におけるブロック間の結線によりプログラム間のデータの受け渡しを定めることにより、前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを、前記パラメータ可変高速処理モータモデルを含む前記高速処理モデルの演算処理を行うプログラムは含めずに、生成するプログラム生成手段と、
    を備え、
    前記リアルタイムシミュレーション実行装置は、
    前記シミュレーションモデルに含まれる前記高速処理モデルの演算処理を行うように予めプログラムされたフィールドプログラマブルゲートアレイ(以下、FPGAという。)ボードが装着されて、
    シミュレーション実行時に、CPUが、前記リアルタイムシミュレーション用プログラムに従って前記シミュレーションモデルの前記高速処理モデル以外の部分の演算処理を行うことにより、前記高速処理モデル中の前記パラメータ可変高速処理モータモデルに渡すパラメータを演算して、当該パラメータをバスライン経由で前記FPGAボードに入力し、前記FPGAボードが、前記CPUから受け取ったパラメータを用いて前記高速処理モデルの演算処理を行って演算結果を出力するように構成されている
    ことを特徴とするシミュレーションシステム。
  3. シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたブロック線図型シミュレーションモデル作成装置(以下、作成装置という。)と、
    前記作成装置によって生成されたリアルタイムシミュレーション用プログラムの実行ファイルがダウンロードされて当該リアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置と、
    を備えたシミュレーションシステムであって、
    前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル(以下、部品モデルという。)のプログラムと、当該部品モデルを表す画像であるブロックのデータ及びプログラムとが格納され、
    前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、パラメータ変更外部端子が設けられたブロックで表され、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル(以下、パラメータ可変モータモデルという。)が含まれるとともに、高速処理することが指定されたモデル(以下、高速処理モデルという。)が含まれ、
    前記高速処理モデルには、前記演算を高速処理することが指定された前記モータモデル(以下、高速処理モータモデルという。)が含まれ、前記高速処理モータモデルには、前記パラメータ可変モータモデルである前記高速処理モータモデル(以下、パラメータ可変高速処理モータモデルという。)が含まれ、
    前記作成装置は、
    シミュレーションモデルを作成するための画面であるモデルウィンドウを前記表示部に表示する手段と、
    前記ライブラリに格納されているブロックのデータ及びプログラムに基づいて、前記ライブラリに格納されているブロックを前記表示部に表示する手段と、
    ユーザによる、前記表示部に表示された前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックの前記モデルウィンドウへのコピー操作と各ブロックに設けられている入出力端子同士の結線操作に応じて、前記表示部上で前記パラメータ可変高速処理モータモデルを表すブロックを含む複数のブロックを組み込んだ前記ブロック線図を作成するモデル作成手段と、
    前記モデル作成手段により作成した前記ブロック線図に含まれる各ブロックが表す部品モデルのプログラムを、前記ライブラリから読み出して、前記ブロック線図におけるブロック間の結線によりプログラム間のデータの受け渡しを定めることにより、前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを、前記パラメータ可変高速処理モータモデルを含む前記高速処理モデルの演算処理を行うプログラムは含めずに、生成するプログラム生成手段と、
    を備え、
    前記リアルタイムシミュレーション実行装置は、
    前記シミュレーションモデルに含まれる前記高速処理モデルの演算処理を行うように予めプログラムされたフィールドプログラマブルゲートアレイ(以下、FPGAという。)ボードが装着されて、
    前記FPGAボードには外部入力端子を有するIOボードが設けられ、
    シミュレーション実行時に、CPUが、前記リアルタイムシミュレーション用プログラムに従って前記FPGAボードにパラメータを入力するとともに、前記IOボードが、前記外部入力端子に接続された外部の装置から受け取ったパラメータを、前記FPGAボードに入力し、前記FPGAボードが、前記CPUから受け取ったパラメータ及び前記IOボードから受け取ったパラメータを用いて前記高速処理モデルの演算処理を行って演算結果を出力するように構成されている
    ことを特徴とするシミュレーションシステム。
JP2005139954A 2005-05-12 2005-05-12 ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ Active JP4727291B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005139954A JP4727291B2 (ja) 2005-05-12 2005-05-12 ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005139954A JP4727291B2 (ja) 2005-05-12 2005-05-12 ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ

Publications (2)

Publication Number Publication Date
JP2006318200A JP2006318200A (ja) 2006-11-24
JP4727291B2 true JP4727291B2 (ja) 2011-07-20

Family

ID=37538829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005139954A Active JP4727291B2 (ja) 2005-05-12 2005-05-12 ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ

Country Status (1)

Country Link
JP (1) JP4727291B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080301631A1 (en) * 2007-03-01 2008-12-04 The Boeing Company Human transparency paradigm
JP5216415B2 (ja) * 2008-05-21 2013-06-19 ディエスピーテクノロジ株式会社 模擬モータを用いたモータ用コントローラ試験装置
JP5297707B2 (ja) * 2008-07-08 2013-09-25 トヨタテクニカルディベロップメント株式会社 シミュレーションシステムおよびシミュレーション方法、hils装置、ならびにシミュレーション支援装置、方法およびプログラム。
JP5684035B2 (ja) * 2011-04-25 2015-03-11 株式会社ソディック 電動機器のシステム設計支援装置
JP5530417B2 (ja) * 2011-11-22 2014-06-25 株式会社日立製作所 コントローラ開発ツール
JP5301025B1 (ja) * 2012-12-25 2013-09-25 ディエスピーテクノロジ株式会社 モータ制御装置およびモータ制御方法
JP5405685B1 (ja) * 2013-04-22 2014-02-05 ディエスピーテクノロジ株式会社 モータ制御装置およびモータ制御方法
JP6184235B2 (ja) * 2013-08-06 2017-08-23 三菱電機株式会社 インバータ試験システム、インバータ試験方法、インバータ試験装置およびインバータ試験プログラム
JP6085264B2 (ja) * 2014-02-26 2017-02-22 株式会社日立製作所 コントローラ開発ツール
EP2933695B1 (de) 2014-04-17 2017-03-01 dSPACE digital signal processing and control engineering GmbH Computerimplementiertes Verfahren zum Echtzeittest eines Steuergeräts
KR102074972B1 (ko) * 2018-11-19 2020-02-07 현대오트론 주식회사 모터 제어기의 성능 시험 시뮬레이션 장치 및 방법
CN109902069A (zh) * 2019-03-04 2019-06-18 重庆科技学院 一种智能数学模型储存系统及方法
JP7404298B2 (ja) 2021-03-18 2023-12-25 株式会社東芝 設計処理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105537A (ja) * 1996-09-30 1998-04-24 Nec Corp シミュレーションシステム、シミュレーションシステムにおけるステアリング方法およびステアリング用プログラムを記憶した記憶媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03265064A (ja) * 1990-03-15 1991-11-26 Hitachi Ltd シミュレーション方法及びその装置並びに生産管理支援装置及びcad装置
JP4363058B2 (ja) * 2003-02-25 2009-11-11 株式会社安川電機 モータ、モータの制御装置、モータ制御システム及びモータの同定方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105537A (ja) * 1996-09-30 1998-04-24 Nec Corp シミュレーションシステム、シミュレーションシステムにおけるステアリング方法およびステアリング用プログラムを記憶した記憶媒体

Also Published As

Publication number Publication date
JP2006318200A (ja) 2006-11-24

Similar Documents

Publication Publication Date Title
JP4727291B2 (ja) ブロック線図型シミュレーションモデル作成装置、リアルタイムシミュレーション実行装置、及び、ライブラリ
Butt et al. Simplified fuzzy-logic-based MTPA speed control of IPMSM drive
Di Leonardo et al. Transient analysis of PM synchronous motor drives by finite element model co-simulation
JP2005168282A (ja) ハードウェアによる設定可能な動作制御装置および方法
Luk et al. Efficient modelling for a brushless DC motor drive
CN110112974B (zh) 电机控制方法、控制器、存储介质及电机驱动系统
Ionita Regular paper Nonlinear Non Adaptive Backstepping with Sliding-Mode Torque Control Approach for PMSM Motor
WO2006054784A1 (ja) モータモデルの演算方法、モータシミュレーション方法、モータシミュレーション装置、モータモデル演算プログラム、シミュレーション方法及びシミュレーションプログラム
JP7215499B2 (ja) 設計支援装置、設計支援方法及び設計支援プログラム
Dufour et al. An induction machine and power electronic test system on a field-programmable gate array
Nicola et al. Real Time Implementation of the PMSM Sensorless Control Based on FOC Strategy
Horváth et al. Model-based control algorithm development of induction machines by using a well-defined model architecture and rapid control prototyping
Rusu et al. Embedded motor drive prototype platform for testing control algorithms
Bechar et al. Real-Time scalar control of induction motor using rt-lab software
Ren et al. Control software development of drive motor for electric vehicles
Kang et al. A real-time control platform for rapid prototyping of induction motor vector control
JP4500155B2 (ja) シミュレーション方法
Rusu et al. Model based design controller for the stepper motor
Tursini et al. Rapid Control Prototyping of Synchronous Reluctance Motor Drives by Matlab/Simulink
JP4589701B2 (ja) インバータモデルの演算方法、インバータシミュレーション方法及びインバータシミュレーション装置
JP4242825B2 (ja) モータモデルの演算方法、モータシミュレーション方法、モータシミュレーション装置及びモータモデル演算プログラム
Tursini et al. Rapid control prototyping of IPM drives by real time simulation
Gujarathi et al. Hardware-in-Loop simulation of direct torque controlled induction motor
Olivieri et al. A DSP-based real-time simulation equipment for fast motor control development
Rusu et al. Embedded toolbox for F24X DSK target microcontroller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

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: 20110322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110413

R150 Certificate of patent or registration of utility model

Ref document number: 4727291

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: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250