(57)【要約】【課題】  より実モータに近い動きをするモータモデルを含んだシミュレーションモデルを作成可能なブロック線図型シミュレーションモデル作成装置を提供する。【解決手段】  ブロック線図が表示される表示部１２と、ライブラリＭが記憶された記憶部１３とを備え、ライブラリＭには、パラメータ可変モータモデルを含む部品モデルが格納され、表示部１２上で、ライブラリＭからパラメータ可変モータモデルを表すブロックを取得して、そのブロックを組み込んでブロック線図を作成するモデル作成手段と、ブロック線図によって定義されたシミュレーションモデルのシミュレーションを実行するシミュレーション実行手段と、を備えたブロック線図型シミュレーションモデル作成装置１。【選択図】  図１
2006318200.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたブロック線図型シミュレーションモデル作成装置（以下、作成装置という。）であって、
前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル（以下、部品モデルという。）が格納され、
前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル（以下、パラメータ可変モータモデルという。）が含まれ、
前記表示部上で、前記ライブラリから前記パラメータ可変モータモデルを表すブロックを取得して、当該ブロックを組み込んで前記ブロック線図を作成するモデル作成手段と、
前記ブロック線図によって定義されたシミュレーションモデルのシミュレーションを実行するシミュレーション実行手段と、
を備えたことを特徴とする作成装置。
【請求項２】
前記パラメータ可変モータモデルを表すブロックに、パラメータ変更外部端子が設けられ、
前記パラメータ可変モータモデルを含むシミュレーションモデルのシミュレーションを実行する場合に、前記シミュレーション実行手段が、シミュレーション実行前に前記パラメータ可変モータモデルに対して与えられた前記パラメータを、シミュレーション実行中に前記パラメータ変更外部端子を介して入力された値を用いて変更することにより、前記パラメータをシミュレーション実行中に変化させる
ことを特徴とする請求項１記載の作成装置。
【請求項３】
前記部品モデルには、高速処理することが指定されたモデル（以下、高速処理モデルという。）が含まれ、前記高速処理モデルには、前記演算を高速処理することが指定された前記モータモデル（以下、高速処理モータモデルという。）が含まれることを特徴とする請求項１または２記載の作成装置。
【請求項４】
前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを生成するプログラム生成手段を備え、
前記プログラム生成手段は、前記シミュレーションモデルに前記高速処理モデルが含まれている場合に、前記高速処理モデルのリアルタイムシミュレーション用プログラムを含めずに、前記リアルタイムシミュレーション用プログラムを生成する
ことを特徴とする請求項３記載の作成装置。
【請求項５】
請求項４記載の作成装置によって生成されたリアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置であって、
フィールドプログラマブルゲートアレイ（以下、ＦＰＧＡという。）により演算を行う高速処理部と、ＣＰＵにより演算を行う低速処理部とを備え、
前記高速処理部が前記高速処理モデルの演算処理を行うように予めプログラムされて、前記高速処理部が前記高速処理モデルとして動作し、
前記低速処理部が前記リアルタイムシミュレーション用プログラムに従って動作する
ことを特徴とするリアルタイムシミュレーション実行装置。
【請求項６】
前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを生成するプログラム生成手段を備え、
前記プログラム生成手段は、前記シミュレーションモデルに前記高速処理モデルが含まれている場合に、前記高速処理モデルのリアルタイムシミュレーション用プログラム（以下、高速処理プログラムという。）を含めて、前記リアルタイムシミュレーション用プログラムを生成する
ことを特徴とする請求項３記載の作成装置。
【請求項７】
請求項６記載の作成装置によって生成されたリアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置であって、
ＦＰＧＡにより演算を行う高速処理部と、ＣＰＵにより演算を行う低速処理部とを備え、
前記リアルタイムシミュレーション用プログラムに前記高速処理プログラムが含まれている場合に、前記高速処理プログラムに基づいて前記高速処理部が前記高速処理モデルの演算処理を行うようにプログラムされて、前記高速処理部が前記高速処理モデルとして動作し、
前記低速処理部が前記リアルタイムシミュレーション用プログラムの前記高速処理プログラム以外の部分に従って動作する
ことを特徴とするリアルタイムシミュレーション実行装置。
【請求項８】
請求項１、２、３、４、または、６記載の作成装置に用いられるブロック線図型シミュレーションモデル作成用ライブラリであって、モータシステムのシミュレーションモデルを構成する部品モデルが格納され、前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するとともに、前記演算に用いるパラメータをシミュレーションの実行中に変化させることができるモータモデルが含まれることを特徴とするライブラリ。
【請求項９】
モータを模擬するモータモデルを含むブロック線図型シミュレーションモデルのシミュレーションを実行するリアルタイムシミュレーション実行装置であって、
入力されたデータに対して、ＦＰＧＡにより前記モータの動きを模擬するための演算を行って、データを出力する高速処理部と、
ＣＰＵにより演算を行う低速処理部と、
を備え、シミュレーション実行中に、前記高速処理部が、少なくとも、前記低速処理部から入力された値、前記高速処理部で発生した値、前記リアルタイムシミュレーション実行装置の外部から入力された値、のいずれかにより、前記モータの動きを模擬する演算に用いるパラメータを変化させることを特徴とするリアルタイムシミュレーション実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック線図型シミュレーションモデル作成装置、その作成装置に用いられるライブラリ、及び、ブロック線図型シミュレーションモデルのシミュレーションを実行するリアルタイムシミュレーション実行装置に関する。
【背景技術】
【０００２】
近年、様々な分野でモータが使用されるようになってきており、自動車の分野で特にこの傾向が顕著である。そして、モータシステムの開発においては、例えば、モータとそのコントローラの開発が同時に進行するとは限らず、未完成のモータをコントローラに接続してテストしたり、未完成のコントローラをモータに接続してテストしたりする場合がある。かかる場合に、実機の損傷を防止するため、コンピュータ上でシミュレーションを行ってから、実機に接続してテストを行うのが普通である。
【０００３】
かかるシミュレーションモデルを作成し実行するツールとして、The MathWorks Inc.のMATLAB（登録商標）/Simulink（登録商標）が広く知られている。
【０００４】
MATLABは、マトリクス演算を強力に扱えるようにしたコンピュータ言語であり、インタプリタ型である。なお、MATLAB で書かれたプログラムは、MATLABコンパイラによりコンパイルすることも可能である。
【０００５】
Simulinkは、シミュレーションモデルをブロック線図で定義し、シミュレーションを実行するソフトウエアである。Simulinkには、一定値を出力するブロック、サイン信号を出力するブロック、信号を積分するブロック、シミュレーション中に生成される信号をグラフ表示するブロック等、種々のブロックが標準で用意されており、ユーザはそれらのブロックを結線することにより、シミュレーションモデルを作成することができる。また、ユーザは独自のブロックを作成することもできる。
【０００６】
MATLAB及びSimulinkの機能及び使用方法は、例えば下記非特許文献１に記載されている。また、出願人は、数学モデルに関して下記非特許文献２を参考にし、その他下記非特許文献３〜５を参考にした。さらに、出願人の先行技術調査により、下記特許文献１〜６が発見された。
【特許文献１】特開２００４−２３６３９２号公報
【特許文献２】特開２００３−３３３８７６号公報
【特許文献３】特開２００３−３０４６７３号公報
【特許文献４】特開２００３−３０２５１号公報
【特許文献５】特開平１１−２７２３０７号公報
【特許文献６】特開平１１−２１９２０９号公報
【非特許文献１】［online］、サイバネットシステム株式会社、［平成１７年４月４日検索］、インターネット〈URL：http://www.cybernet.co.jp/matlab/support/technote/index.shtml〉
【非特許文献２】杉本英彦、小山正人、玉井伸三、「ＡＣサーボシステムの理論と設計の実際」、総合電子出版社、１９９０年
【非特許文献３】武田洋次、松井信行、森本茂雄、本田幸夫、「埋込磁石同期モータの設計と制御」、オーム社、２００１年
【非特許文献４】中野孝良、「交流モータのベクトル制御」、日刊工業新聞社、１９９６年
【非特許文献５】電気学会交流電動機駆動方式の技術分類・用語整理調査専門委員会編、「交流電動機可変速駆動の基礎と応用」、コロナ社、１９９８年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、従来のモータモデルは必ずしも実モータに忠実な動きをするものではなかったため、より実モータに近い動きをするモータモデルが要望されており、この要望に応えるツールが必要とされていた。
【０００８】
この発明は、上述した問題を解決するものであり、より実モータに近い動きをするモータモデルを含んだシミュレーションモデルを作成可能なブロック線図型シミュレーションモデル作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のブロック線図型シミュレーションモデル作成装置（以下、作成装置という。）は、シミュレーションモデルを定義するブロック線図が表示される表示部と、ライブラリが記憶された記憶部とを備えたものであって、前記ライブラリには、モータシステムのシミュレーションモデルを構成する部品のモデル（以下、部品モデルという。）が格納され、前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するモータモデルであって、前記演算に用いるパラメータをシミュレーション実行中に変化させることができる前記モータモデル（以下、パラメータ可変モータモデルという。）が含まれ、前記表示部上で、前記ライブラリから前記パラメータ可変モータモデルを表すブロックを取得して、当該ブロックを組み込んで前記ブロック線図を作成するモデル作成手段と、前記ブロック線図によって定義されたシミュレーションモデルのシミュレーションを実行するシミュレーション実行手段と、を備えたことを特徴とする。
【００１０】
演算に用いるパラメータをシミュレーション実行中に変化させれば、モータモデルは、より実モータに近い動きをする。したがって、かかるパラメータ可変モータモデルが格納されたライブラリを備えて、そのライブラリからパラメータ可変モータモデルを組み込んでブロック線図を作成可能とすれば、より実モータに近い動きをするモータモデルを含んだシミュレーションモデルを作成可能である。
【００１１】
また、パラメータをシミュレーション実行中に変化させるには、前記パラメータ可変モータモデルを表すブロックに、パラメータ変更外部端子を設けて、前記パラメータ可変モータモデルを含むシミュレーションモデルのシミュレーションを実行する場合に、前記シミュレーション実行手段が、シミュレーション実行前に前記パラメータ可変モータモデルに対して与えられた前記パラメータを、シミュレーション実行中に前記パラメータ変更外部端子を介して入力された値を用いて変更することにより、実現することができる。
【００１２】
また、前記部品モデルには、高速処理することが指定されたモデル（以下、高速処理モデルという。）が含まれ、前記高速処理モデルには、前記演算を高速処理することが指定された前記モータモデル（以下、高速処理モータモデルという。）が含まれることが好ましい。演算を高速処理すれば、より実モータに近い動きをするからである。
【００１３】
そして、作成装置が、前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを生成するプログラム生成手段を備え、前記プログラム生成手段は、前記シミュレーションモデルに前記高速処理モデルが含まれている場合に、前記高速処理モデルのリアルタイムシミュレーション用プログラムを含めずに、前記リアルタイムシミュレーション用プログラムを生成することとすることができる。
【００１４】
かかる場合に、リアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置を、フィールドプログラマブルゲートアレイ（以下、ＦＰＧＡという。）により演算を行う高速処理部と、ＣＰＵにより演算を行う低速処理部とを備え、前記高速処理部が前記高速処理モデルの演算処理を行うように予めプログラムされて、前記高速処理部が前記高速処理モデルとして動作し、前記低速処理部が前記リアルタイムシミュレーション用プログラムに従って動作するように構成すれば、実モータに近い動作をする仮想モータとして、リアルタイムシミュレーション実行装置が機能する。
【００１５】
また、作成装置が、前記ブロック線図によって定義されたシミュレーションモデルのリアルタイムシミュレーション用プログラムを生成するプログラム生成手段を備え、前記プログラム生成手段は、前記シミュレーションモデルに前記高速処理モデルが含まれている場合に、前記高速処理モデルのリアルタイムシミュレーション用プログラム（以下、高速処理プログラムという。）を含めて、前記リアルタイムシミュレーション用プログラムを生成することとしてもよい。
【００１６】
かかる場合には、リアルタイムシミュレーション用プログラムに従ってシミュレーションを実行するリアルタイムシミュレーション実行装置を、ＦＰＧＡにより演算を行う高速処理部と、ＣＰＵにより演算を行う低速処理部とを備え、前記リアルタイムシミュレーション用プログラムに前記高速処理プログラムが含まれている場合に、前記高速処理プログラムに基づいて前記高速処理部が前記高速処理モデルの演算処理を行うようにプログラムされて、前記高速処理部が前記高速処理モデルとして動作し、前記低速処理部が前記リアルタイムシミュレーション用プログラムの前記高速処理プログラム以外の部分に従って動作するように構成すれば、実モータに近い動作をする仮想モータとして、リアルタイムシミュレーション実行装置が機能する。
【００１７】
本発明のブロック線図型シミュレーションモデル作成用ライブラリは、モータシステムのシミュレーションモデルを構成する部品モデルが格納され、前記部品モデルには、入力されたデータに対してモータの動きを模擬するための演算を行ってデータを出力するとともに、前記演算に用いるパラメータをシミュレーションの実行中に変化させることができるモータモデルが含まれることを特徴とする。
【００１８】
このライブラリを用いれば、実モータに近い動作をするモータモデルを含むモータシステムのシミュレーションモデルを容易に作成できる。
【００１９】
また、本発明のリアルタイムシミュレーション実行装置は、モータを模擬するモータモデルを含むブロック線図型シミュレーションモデルのシミュレーションを実行するものであって、入力されたデータに対して、ＦＰＧＡにより前記モータの動きを模擬するための演算を行って、データを出力する高速処理部と、ＣＰＵにより演算を行う低速処理部と、を備え、シミュレーション実行中に、前記高速処理部が、少なくとも、前記低速処理部から入力された値、前記高速処理部で発生した値、前記リアルタイムシミュレーション実行装置の外部から入力された値、のいずれかにより、前記演算に用いるパラメータを変化させることを特徴とする。
【００２０】
これによれば、モータの動きを模擬するための演算がＦＰＧＡにより高速に行われるとともに、演算に用いるパラメータをシミュレーション実行中に変化させるので、実モータに近い動作をする仮想モータとして、リアルタイムシミュレーション実行装置が機能する。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の一実施形態を図面に基づいて説明する。
【００２２】
１．全体構成
図１に示すように、シミュレーションモデル作成装置（以下、作成装置と略す。）１とリアルタイムシミュレーション実行装置（以下、実行装置と略す。）３とは、Ethernet（登録商標）等のＬＡＮ４により互いに接続されている。
【００２３】
作成装置１はコンピュータにより構成され、MATLAB、Simulink、及び、Real Time Workshop（商標または登録商標）がインストールされており、各種演算処理や構成各部の制御を行う制御部１０、キーボード及びマウスから構成される入力部１１、ＣＲＴまたは液晶ディスプレイ等から構成される表示部１２、ハードディスク装置、フレキシブルディスク装置、光磁気ディスク装置等から構成される記憶部１３、及び、実行装置３とのインタフェースを取るインタフェース部１４とを備えている。
【００２４】
制御部１０は、ＣＰＵ、ＣＰＵのワークエリアとして動作するＲＡＭ、固定データを格納したＲＯＭ等から構成され、インストールされたＯＳ（オペレーティングシステム）等の基本ソフトウェア上で動作するシミュレーションモデル作成プログラム等に従って、シミュレーションモデルを作成したり、作成したシミュレーションモデルのシミュレーションを実行したり、作成したシミュレーションモデルからリアルタイムシミュレーション用プログラムを生成したりする。すなわち、制御部１０は、モデル作成手段、シミュレーション実行手段、プログラム生成手段として機能する。
【００２５】
記憶部１３には、シミュレーションモデル作成プログラム、モータライブラリＭ、実行ファイル作成プログラム、シミュレーション実行監視プログラム等が記憶されている。
【００２６】
シミュレーションモデル作成プログラムは、Simulinkであり、SimulinkオプションであるReal Time Workshopを備えている。Real Time Workshopはブロック線図からＣ言語プログラムを自動生成するソフトウェアである。
【００２７】
モータライブラリＭは、ＶＳＩ（Voltage Source Inverter)を使用した永久磁石同期モータ（Permanent Magnet Synchronous Motor)（以下、ＰＭＳＭという。）システムや誘導モータ（Induction Motor)（以下、ＩＭという。）システムをシミュレーションするためのSimulinkライブラリであり、Real Time Workshopに対応している。
【００２８】
実行ファイル作成プログラムは、Ｃ言語プログラムであるリアルタイムシミュレーション用プログラムを、実行装置３に送信してコンパイル等させ、実行ファイルを実行装置３から取得するプログラムである。実行装置３でコンパイル等を行うのは、作成装置１と実行装置３とでＯＳが異なるからであり、同一ＯＳであれば、作成装置１でコンパイル等して実行ファイルを作成してもよい。
【００２９】
シミュレーション実行監視プログラムは、リアルタイムシミュレーション用プログラムの実行ファイルを実行装置３にダウンロードし、実行装置３におけるシミュレーションの開始・停止を行ったり、実行装置３におけるシミュレーションの監視を行ったりする。すなわち、作成装置１はシミュレーション監視装置として兼用され、制御部１０は、シミュレーションの開始・停止手段、シミュレーションの監視手段としても機能する。
【００３０】
実行装置３は、コンピュータにより構成され、各種演算処理や構成各部の制御を行う演算処理部３０、記憶部３１、及び、作成装置１とのインタフェースを取るインタフェース部３２を備えている。演算処理部３０は、ＣＰＵ、ＣＰＵのワークエリアとして動作するＲＡＭ、固定データを格納したＲＯＭ等から構成されて、ＣＰＵにより演算を行う低速処理部３３を備えている。さらに、実行装置３には、必要に応じて、ＦＰＧＡ（Field Programmable Gate Array)を実装したＦＰＧＡボードが装着可能であり、ＦＰＧＡボードが装着されたときには、演算処理部３０は、ＦＰＧＡボードにより構成されて、ＦＰＧＡにより演算を行う高速処理部３４を備えることとなる。
【００３１】
以上の各装置を用い、一般に図２に示すような流れでシミュレーションが行われる。まず実験などから得られたデータを基に解析を行い（ステップＳ０１）、数学的な処理を行い、モデルを想定する。そのモデルを基に、作成装置１でSimulinkのブロック線図によりシミュレーションモデルを作成する（ステップＳ０２）。そして、作成したシミュレーションモデルを、Simulinkの機能を用い、作成装置１において実行する（ステップＳ０３）。このシミュレーションの結果を見て、ある程度よい動きのモデルであれば、実機検証のため、Real Time Workshopを用いて作成装置１においてそのモデルからＣ言語プログラム（Ｃソース）を生成し、実行装置３にダウンロードする（ステップＳ０４）。そして、作成装置１から実行指令を入力することにより、実行装置３においてシミュレーションを開始させる。シミュレーション監視装置でもある作成装置１においては、データロギングやパラメータチューニング等を行う（ステップＳ０５）。そして、得られたデータを基に再度モデルを検証する（ステップＳ０１に戻る）。
【００３２】
図２は、実行装置３にモータモデルのプログラムがダウンロードされて、実行装置３が仮想モータとして動作する例であり、実行装置３には、実機であるコントローラが接続されて、コントローラから制御信号が入力され、実行装置３は、コントローラに応答信号を出力する。
【００３３】
２．部品モデルの説明
モータライブラリＭには、モータシステムのシミュレーションモデルを構成する部品モデルが格納されている。ここで、部品モデルが格納されているとは、少なくとも、その部品モデルのプログラムと、その部品モデルを表すブロックとが格納されていることをいう。
【００３４】
部品モデルのプログラムとは、その部品モデルの機能を実現するためのプログラムであるが、必ずしもプログラミング言語で記述されたものに限らず、ブロック線図で表されたものも含む。ブロック線図で表されたプログラムは、Simulinkにより解析されて実行される。プログラミング言語で記述されたプログラムと、部品モデルの詳細構成を表すブロック線図の両方が格納されている場合もある。
【００３５】
また、ブロックとは、ユーザが部品モデルを扱う際のインタフェースとなる画像である。すなわち、部品モデルの実体はプログラムであるが、ユーザからはブロックとして認識される。ブロックが格納されているとは、より具体的には、ブロックのデータやプログラムが格納されていることであり、ブロックのデータやプログラムには、ブロックに付随するダイアログ等のデータやプログラムも含まれる。
【００３６】
部品モデルには、少なくとも、モータを模擬するモータモデル、すなわち、入力されたデータに対してモータの動きを模擬する演算を行ってデータを出力するモータモデルが含まれている。
【００３７】
モータライブラリＭに格納されているモータモデルには、パラメータが固定のモータモデルと、パラメータが可変なモータモデルとがあり、さらに、パラメータ固定、可変のモータモデルの各々について、高速処理することが指定された高速処理モータモデルと、高速処理することが指定されていない通常モータモデルとがある。
【００３８】
また、モータライブラリＭに格納されているモータモデルには、モータの種類に応じて、ＰＭＳＭモデルとＩＭモデルとがあり、さらに、ＰＭＳＭモデルには、信号フローに基づいたｄ−ｑ変換モデルのＰＭＳＭ−signalモデル、状態方程式に基づいたｄ−ｑ変換モデルのＰＭＳＭ−stateモデル、ＰＭＳＭ−stateモデルのパラメータを可変にしたモデル等、複数のタイプのモデルがある。ＩＭモデルにも、複数のタイプのモデルがある。以下、ＰＭＳＭ−stateモデルを例にとって、パラメータ固定モータモデル、パラメータ可変モータモデル、その他図３、図４のモデル中の主なブロックについて説明する。
【００３９】
まず、ＰＭＳＭモデル（図５参照）の概要を示す。３相ＰＭＳＭの電圧方程式は、次式（数１）で表される。
【００４０】
【数１】
2006318200.tif 000003
また、各相に誘起する速度起電力は、次式（数２）のように表される。
【００４１】
【数２】
2006318200.tif 000004
３相座標系からｄ-ｑ座標系に変換する行列は、次の（数３）のように表される。
【００４２】
【数３】
2006318200.tif 000005
３相ＰＭＳＭ電圧方程式にこの行列を適用することで、次式（数４）に示すｄ-ｑ座標系に変換した電圧方程式を得る。
【００４３】
【数４】
2006318200.tif 000006
次に、極数POLEのＰＭＳＭのトルクは、次式（数５）で表せる。
【００４４】
【数５】
2006318200.tif 000007
そして、モータを含む機械系は、次式（数６）のように表される。
【００４５】
【数６】
2006318200.tif 000008
図６−１のブロックは、ＰＭＳＭの電流、角度、角速度を状態変数としたＰＭＳＭ−stateモデルで、パラメータは固定であり、通常モータモデルである。入出力は図６−２の表（ａ）に示すように定義されている。巻線抵抗Ｒs、ｄ軸成分インダクタンスＬd（Lsdとも表記）、ｑ軸成分インダクタンスＬq（Lsqとも表記）、鎖交磁束数Ψs（Fluxとも表記）は固定である。上記ＰＭＳＭモデルの電圧方程式と運動方程式を、電流に対する状態方程式に書き換えると、図６−２の式（ｂ）〜（ｅ）のようになる。図６−１のブロックに示されるモデルは、入力されたｄ軸電機子電圧、ｑ軸電機子電圧、負荷トルクに対して、これらの式に基づいて演算を行い、ｄ軸電機子電流、ｑ軸電機子電流、電気角度、電気角速度、モータトルクを出力するものである。パラメータＲs、Ｌd、Ｌq、Ψsは固定である。このモデルの構成をブロック線図で表すと、図６−３のようになる。
【００４６】
図７−１のブロック（すなわち、図３、図４のブロックＢ１）は、図６−１のＰＭＳＭ−stateモデルにパラメータ変更外部端子（図中、extが付いた端子）を追加したパラメータ可変なモデルであり、通常モータモデルである。入出力は図７−２に示すように定義されている。また、このモデルの構成をブロック線図で表すと、図７−３のようになる。パラメータ変更外部端子から入力された値は、シミュレーション実行前に入力したパラメータ（本実施形態では、後述するようにブロックパラメータ指定ダイアログで設定した値）に加算される。すなわち、シミュレーション実行前に入力されたパラメータは、シミュレーション実行中にパラメータ変更外部端子を介して入力された値を用いて変更される。この変更の方法は、加算以外であっても勿論よい。パラメータを変更する部分を除けば、図７−１のモデルが用いる演算式は、図６−１のモデルと同じである。
【００４７】
図３のブロックＢ２は、三相交流発生器のモデルであり、入出力は図８の表（ａ）に示すように定義され、図８の式（ｂ）〜（ｄ）で示す式に基づいて演算を行う。
【００４８】
図３のブロックＢ３は、三角波比較ＰＷＭ（Pulse Width Modulation）のパルス出力型モジュレータのモデルであり、入出力は図９の表に示すように定義されている。
【００４９】
図３のブロックＢ４はスイッチモデルであり、入力パルスで供給電圧をスイッチングして出力する。入出力は図１０の表（ａ）に示すように定義され、このモデルの等価回路は図１０の（ｂ）に示すようになっている。
【００５０】
図３のブロックＢ５は、３相座標系からｄ-ｑ座標系への座標変換を行うブロックであり、入出力は図１１の表（ａ）に示すように定義され、図１１の行列（ｂ）によって座標変換を行う。
【００５１】
図３のブロックＢ６は、ｄ-ｑ座標系から３相座標系への座標変換を行うブロックであり、入出力は図１２の表（ａ）に示すように定義され、図１２の行列（ｂ）によって座標変換を行う。
【００５２】
図４のブロックＢ１１は、ｄ-ｑ座標系からａ-ｂ座標系への座標変換を行うブロックであり、入出力は図１３の表（ａ）に示すように定義され、図１３の行列（ｂ）によって座標変換を行う。
【００５３】
図４のブロックＢ１２は、ａ-ｂ座標系から３相座標系への座標変換を行うブロックであり、入出力は図１４の表（ａ）に示すように定義され、図１４の行列（ｂ）によって座標変換を行う。
【００５４】
図４のブロックＢ１３はＰＭＳＭ用コントローラであり、入出力は図１５の表（ａ）に示すように定義され、このモデルの構成をブロック線図で表すと図１５の（ｂ）のようになる。図１５の（ｂ）のisd*とisq*は、磁束とトルク指令値を表している。
【００５５】
図３及び図４のその他のブロックは、Simulinkに予め用意されているブロックであり、例えば、図３のブロックＢ７は、シミュレーション中に生成される信号をグラフ表示するスコープブロックである。また、図３のブロックＢ８は、後述するように温度変化を与える温度テーブルであり、図４のブロックＢ１４は、後述するように鎖交磁束数の変化を与える鎖交磁束数テーブルである。
【００５６】
なお、モータライブラリＭには、図２５に示す高速処理モータモデルも用意されているが、これについては後述する。
【００５７】
３．巻線抵抗を変化させるモデル例
モータモデルのパラメータを可変にすることで、より忠実に実モータを模擬するモデルが得られることについて説明する。適用例として温度によるコイルの巻線抵抗の変化をモデルに与えた場合を示す。
【００５８】
時間に対して温度が図１６に示すように変化したとする。コイルは銅でできているので、温度による巻線抵抗Ｒsは次式（ｉ）で表すことができる。
【００５９】
Ｒs＝Ｒ0（１＋α（ｔ−ｔ0））      …（ｉ）
ここで、ｔ0は基準温度でｔ0＝８０（℃）、Ｒ0は基準抵抗値でＲ0＝17.4（Ω）、αは温度係数でα＝3.9×１０-3（Ｋ-1）である。式（ｉ）に図１６の温度変化を入れた場合、時間と共に巻線抵抗Ｒsは図１７のように変化する。実モータでは、このように温度変化により巻線抵抗Ｒsが変化する。
【００６０】
図３は、この巻線抵抗Ｒsの変化を与えるモデルである。以下、このモデルの作成方法について説明するが、Simulinkのブロック線図の作成方法は周知であるので詳説はしない。
【００６１】
まず、ユーザは、作成装置１においてMATLABを起動し、Simulinkを起動する。ユーザの所定の操作により、作成装置１はモデルを作成する画面（モデルウィンドウ）を表示部１２に表示する。そして、ユーザの所定の操作により、作成装置１はブロックライブラリを表示する。このブロックライブラリには、Simulinkに予め用意されているものの他、上述したモータライブラリＭが含まれる。ユーザの所定の操作により、作成装置１は、指定されたブロックライブラリを開く（すなわち、そのブロックライブラリに格納されているブロックが表示されたブロックライブラリウィンドウを表示する）。ユーザは、所定の操作により、ブロックライブラリウィンドウから必要なブロックをモデルウィンドウにコピーすることができる。
【００６２】
また、各ブロックには入出力端子が設けられており、ユーザは、ブロックの出力端子と他のブロックの入力端子とを、ドラッグ操作により矢印で結線することができる。これにより、ブロックから他のブロックへのデータの受け渡しが定義される。
【００６３】
これらの操作により、作成装置１は、表示部１２上で、ブロックライブラリからブロックを取得して、そのブロックを組み込んだブロック線図を作成することとなる。
【００６４】
さらに、各ブロックは、必要に応じてパラメータを設定することができる。パラメータを設定するには、ブロックをダブルクリックする等、所定の操作を行い、表示されたブロックパラメータ指定ダイアログの数値を変更する。
【００６５】
また、図３のブロックＢ８は温度テーブルであるが、このテーブルは、時間に対する温度変化のデータをSimulinkに入力し、Simulinkの機能を用いてテーブル化したものである。図３のモデルでは、作成装置１のシミュレーション実行手段は、シミュレーション実行中に、クロック信号に従ってシミュレーションの周期毎に、この温度テーブルから出力される温度をブロックＢ９に入力して、ブロックＢ９で式（ｉ）に基づいて巻線抵抗Ｒsを計算し、その結果をブロックＢ１の巻線抵抗Ｒsの端子に入力している。すなわち、ブロックＢ１に与えられるパラメータ巻線抵抗Ｒsは、シミュレーション中、時間と共に変化する。
【００６６】
以上のようにして、ユーザが図３に示すモデルをモデルウィンドウ上で作成すると（図２のＳ０２）、作成装置１は、このモデルのプログラムを作成する。詳しくは、作成装置１は、モデルウィンドウ上の各ブロックが表す部品モデルのプログラムをライブラリから読み出して、ブロック間の結線により、プログラム間のデータの受け渡しを定め、モデル全体のプログラムを作成する。
【００６７】
ユーザが必要に応じて、シミュレーション時間やステップサイズ等のシミュレーションパラメータの設定を行い、所定の操作を行うと、作成装置１は、作成したプログラムをSimulinkの機能を用いて実行する（Simulink上でのシミュレーションの実行（図２のＳ０３））。なお、Simulinkモデルのプログラムは、インタプリタ型言語であるMATLABで作成されるので、コンパイルを経ずに実行することができる。この実行の結果を図１８−１、１８−２に示す。
【００６８】
図１８−１、１８−２は、モータブロックＢ１から出力されてブロックＢ６により座標変換された電流を、スコープブロックＢ７でグラフ表示したものである。図１８−２は、図３に示す巻線抵抗Ｒsを可変としたモデルにおける電流の変化を示し、図１８−１は、図３のモデルにおいてブロック２１のスイッチを切り替え、ブロック２０から基準温度（２０℃）を入力して巻線抵抗Ｒsを固定としたモデルにおける電流の変化を示す。
【００６９】
図１８−２に示すように、巻線抵抗固定モデル（Normal）と比較して、巻線抵抗可変モデル（Proposed）では、温度下降により巻線抵抗Ｒsが減少して電流が増加し（例えば図１８−１、１８−２のＡの部分参照）、温度上昇により巻線抵抗Ｒsが増加して電流が減少する（例えば図１８−１、１８−２のＢの部分参照）ことが分かる。このように、温度に対応してパラメータを変化させることで、より実モータの動きに近いモデル（仮想モータ）を実現できることが分かる。図３の例では、巻線抵抗Ｒsのみに着目したが、他のパラメータにも着目すれば、より実モータに忠実な仮想モータが実現可能と考えられ、また、新しい特性を持つモータの開発に利用できる可能性がある。
【００７０】
４．鎖交磁束数を変化させるモデル例
ＩＰＭＳＭ（埋込磁石同期モータ）の鎖交磁束特性を持たせたモータモデルについて、次に説明する。このモデルのブロック線図を、図４に示す。このブロック線図の作成方法は、図３のモデルと同様であるので省略する。図４のモデルは、角速度テーブルであるブロックＢ１５から、時間と共に速度を加速した後一定速度に保つような指令値が、ＰＭＳＭコントローラであるブロックＢ１３に与えられ、この指定値に基づく電圧値が、ブロックＢ１３からＢ１２、Ｂ３、Ｂ４、Ｂ５を介して、ブロックＢ１に与えられる例である。
【００７１】
ＩＰＭＳＭの場合、図１９に示すように、鎖交磁束数が速度により変化すると考えられている。そこで、時間と共に速度を加速した後一定速度に保つ場合、時間と鎖交磁束数との関係は、図２０に示すようになると考えられ、この鎖交磁束数の変化をテーブル化してブロックＢ１４とし、ブロックＢ１４から鎖交磁束数をブロックＢ１に与えることにより、ブロックＢ１は、ＩＰＭＳＭ特性を持ったモータモデルとして動作すると考えられる。
【００７２】
図２１は、図４のモデルのシミュレーションを実行したときにモータブロックＢ１から出力された角速度、及び、ブロックＢ１５による指令値をスコープブロックＢ１６でグラフ表示したものである。図２１の実線（Speed）はブロックＢ１から出力された角速度を示し、図２１の破線（Command）はブロックＢ１５からの指令値を示している。
【００７３】
一方、図２２は、図４のモデルにおいてブロックＢ１７のスイッチを切り替え、ブロックＢ１８から固定の鎖交磁束数（0.533）を入力することにより、モータブロックＢ１を鎖交磁束数固定モデルとし、このモデルから出力された角速度、及び、ブロックＢ１５からの指令値をスコープブロックＢ１６でグラフ表示したものである。
【００７４】
図２１、２２から分かるように、鎖交磁束数可変モデル（図２１）では、指令値どおりに速度が上昇した後一定速度を保っているが、鎖交磁束数固定モデル（図２２）では、速度が指令値どおりに制御されていない。
【００７５】
これらのことから、ＩＰＭＳＭを制御するには、鎖交磁束数を制御することが有効と考えられる。実ＩＰＭＳＭは直接鎖交磁束数を制御できないが、コントローラから間接的に制御が可能である。したがって、パラメータ可変モータモデルは、コントローラ設計にも有効な示唆を与えるものである。
【００７６】
５．リアルタイムシミュレーション
次に、実モータと同様な特性を持つ仮想モータを実現するには、パラメータを可変にするのみならず、ＦＰＧＡ等のハードウェアを用いて高速処理をすることが望ましいことを、図３のモデルを例に説明する。
【００７７】
ユーザは作成装置１において図３のようなブロック線図を作成する。なお、ここでは、巻線抵抗Ｒsは固定とする。作成装置１は、ユーザの操作に応じて、ブロック線図からReal Time WorkshopによりＣソースであるリアルタイムシミュレーション用プログラムを生成する。次に、作成装置１は、実行ファイル作成プログラムにより、実行装置３にリアルタイムシミュレーション用プログラムを送信してコンパイルさせ、実行ファイルを実行装置３から受信する。そして、ユーザの操作に応じて、実行装置３は、シミュレーション実行監視プログラムにより、リアルタイムシミュレーション用プログラムの実行ファイルを、実行装置３にダウンロードし、実行させる。図３のブロックＢ１は通常モータモデルであるので、ＣＰＵを用いた低速演算部により演算が実行される。図２３の（ａ）は、ＣＰＵにより演算を実行した結果、出力された相電流をグラフ表示したものである（図３のブロックＢ７における表示に相当）。
【００７８】
一方、図２３の（ｂ）は、図３のモデルのニ点鎖線で囲った部分Ａの演算を、ＦＰＧＡを用いて行い、出力された相電流をグラフ表示したものである。
【００７９】
図２３（ａ）（ｂ）の一部をそれぞれ拡大したものが、図２４（ａ）（ｂ）である。このように、波形の一部を拡大して見てみると、図２４（ｂ）ではモータを駆動しているスイッチングの影響も明確に捉えられているが、図２４（ａ）では捉えられていないことが分かる。これは、一回のシミュレーションに要する時間が、ＣＰＵによる演算では１００μsec程度と長いが、ＦＰＧＡによる演算では５μsec程度と短く、かかる演算速度の違いに起因すると考えられる。
【００８０】
したがって、実モータと同様な特性を持つ仮想モータを実現するには、パラメータを可変にするのみならず、ＦＰＧＡ等のハードウェアを用いて高速処理をすることが望ましい。
【００８１】
かかるＦＰＧＡを用いた高速処理に対応するため、モータライブラリＭには、図２５に示すブロックＢ１００等の高速処理モータモデルが各種用意されている。
【００８２】
ブロックＢ１００は、ＰＭＳＭ−stateのパラメータ可変な高速処理モータモデルであり、その構成は図２６のブロック線図に示すようになっており、図３の部分Ａの構成を有している。なお、駆動電圧ＤＣ/２は、パラメータとして与えられる。入力端子ｄｕ、ｄｖ、ｄｗは、それぞれｕ相、ｖ相、ｗ相のＰＷＭ信号であり、出力端子ｉｕ、ｉｖ、ｉｗは、それぞれｕ相、ｖ相、ｗ相の電機子電流である。その他の端子は、ブロックＢ１と同様である。
【００８３】
一方、実行装置３には、ＦＰＧＡが実装されたＦＰＧＡボードが、各種の高速処理モータモデルに対応して用意されている。ＰＭＳＭ−stateのパラメータ可変な高速処理モータモデルに対応したＦＰＧＡボードの内部構成を、図２７、２８に示す。このＦＰＧＡボードは、図３の部分Ａに対応した演算を行うようにプログラミングされている。
【００８４】
詳しくは、このＦＰＧＡボードは、図２７に示すように、デューティ計測＋インバータ部１０４と、デューティ計測＋インバータ部１０４に接続された３相-dq座標変換器１０５と、３相-dq座標変換器１０５に接続されたモータモデル部１０６と、モータモデル部１０６に接続されたdq-３相座標変換器１０７とを備えている。
【００８５】
デューティ計測＋インバータ部１０４は、図４のブロックＢ４に相当する機能を有し、図２８に示すように、ｕ、ｖ、ｗの各相のプラス（ｕｐ、ｖｐ、ｗｐ）とマイナス（ｕｍ、ｖｍ、ｗｍ）のＰＷＭ信号を受け取って、それぞれのデューティを計測するデューティ計測器１０１と、各相に対応した加算器１０２と乗算器１０３とから構成されて、入力された電圧値（ＤＣ電圧）とデューティ計測器１０１から受け取った各デューティとを用いて各相の電圧値を演算して出力するインバータとを備えている。
【００８６】
３相-dq座標変換器１０５は、図４のブロックＢ５に相当する機能を有する。モータモデル部１０６は、ＰＭＳＭ−stateモデルのパラメータ可変モデルであり、図４のブロックＢ１に相当する機能を有する。dq-３相座標変換器１０７は、図４のブロックＢ６に相当する機能を有する。
【００８７】
デューティ計測器１０１、各加算器１０２、各乗算器１０３、３相-dq座標変換器１０５、モータモデル部１０６、及び、dq-３相座標変換器１０７は、それぞれＩＣ（集積回路）化されており、ＦＰＧＡボード内部で必要に応じて互いに結線されている。
【００８８】
ユーザは、高速処理を行うときは、使用する高速処理モータモデルに対応したＦＰＧＡボードを、実行装置３に装着する。これにより、実行装置３はＦＰＧＡボードよりなる高速処理部３４を備えることとなる。
【００８９】
〈モデル例１〉次に、ブロックＢ１００及びそれに対応するＦＰＧＡボードを用いたリアルタイムシミュレーションについて、図２９のモデルを例に説明する。
【００９０】
図２９のブロックＢ１００は上述したＰＭＳＭ−stateのパラメータ可変な高速処理モータモデルであり、ブロックＢ２００は、ＰＷＭ信号を入力するブロックであり、ブロックＢ３００は、ＤＡ変換を行うブロックである。ブロックＢ１００、Ｂ２００、Ｂ３００は、いずれも高速処理することが指定された高速処理モデルである。また、上述したように、ブロックＢ８は温度テーブル、ブロックＢ９は巻線抵抗Ｒsを計算するブロックである。
【００９１】
ユーザが作成装置１において図２９のようなブロック線図を作成し、そのブロック線図からリアルタイムシミュレーション用プログラム（Ｃソース）を生成させたとき、プログラム生成手段である制御部１０は、ブロックＢ１００、Ｂ２００、Ｂ３００以外の低速処理部分Ｌのプログラムは生成するが、ブロックＢ１００、Ｂ２００、Ｂ３００に対応する高速処理部分Ｈのプログラムは生成しない。すなわち、高速処理モデルの部分のＣソースは生成されない。
【００９２】
一方、ユーザは、実行装置３において図２９のモデルのシミュレーションを行うとき、図２９の高速処理部分Ｈに対応するＦＰＧＡボードを、実行装置３に装着する。このＦＰＧＡボードは、上述したＰＭＳＭ−stateのパラメータ可変な高速処理モータモデル（ブロックＢ１００）に対応したＦＰＧＡボードと、ブロックＢ２００に対応したボード（回路基板）と、ブロックＢ３００に対応したボードとの組み合わせからなる。各ボードの端子は、図２９のブロック線図における結線に対応するように、結線されている。このＦＰＧＡボードが装着された実行装置３の概略構成を、図３０に示す。
【００９３】
すなわち、高速処理部分Ｈに対応するＦＰＧＡボードは、図３０に示すように、ＰＷＭパルス入力インタフェース部３５（以下、インタフェース部３５と略す。）と、インタフェース部３５に接続されたＰＭＳＭ−stateパラメータ可変モデル部３６（以下、モデル部３６と略す。）と、モデル部３６に接続されたモータ相電流出力インタフェース部３７（以下、インタフェース部３７と略す。）とを備えている。
【００９４】
インタフェース部３５は、ブロックＢ２００に対応したボードから構成され、実機であるコントローラ５に接続されて、コントローラ５から入力されたＰＷＭ信号をモデル部３６に入力する。
【００９５】
モデル部３６は、ＰＭＳＭ−stateのパラメータ可変な高速処理モータモデル（ブロックＢ１００）に対応したＦＰＧＡボードから構成され、上述したように、図２７、２８に示すデューティ計測＋インバータ部１０４と、デューティ計測＋インバータ部１０４に接続された３相-dq座標変換器１０５と、３相-dq座標変換器１０５に接続されたモータモデル部１０６と、モータモデル部１０６に接続されたdq-３相座標変換器１０７とを備えている。
【００９６】
インタフェース部３７は、ブロックＢ３００に対応したボードから構成され、コントローラ５に接続されて、モデル部３６から出力された各相の電流を示すデジタル信号をアナログ信号に変換してコントローラ５に出力する。
【００９７】
ユーザが、かかる高速処理部分Ｈに対応するＦＰＧＡボードを実行装置３に装着し、リアルタイムシミュレーション用プログラムの実行ファイルを実行装置３にダウンロードして、作成装置１から実行指令を入力すると、実行装置３は、高速処理部分Ｈの演算処理は高速処理部３４で行い、低速処理部分Ｌの演算処理は低速処理部３３で行い、高速処理部３４と低速処理部３３との間でデータの授受を行いながら処理を進める。すなわち、高速処理部３４は高速処理モデルの演算処理を行うように予めプログラムされており、高速処理部３４が高速処理モデルとして動作し、低速処理部３３がリアルタイムシミュレーション用プログラムに従って動作する。
【００９８】
図２９、３０の例では、インタフェース部３５は、コントローラ５からＰＷＭ信号を受け取ってモデル部３６に渡す。モデル部３６は、ＰＷＭ信号と、低速処理部３３から受け取った巻線抵抗値とを用いて、ＦＰＧＡで所定の演算を行い、各相の電流値を算出して、インタフェース部３７に出力する。なお、ＤＣ電圧の電圧値や、演算に用いる固定パラメータ等は、図２９のモデル作成時にブロックＢ１００に対して与えられた値が、実行ファイル中に含まれて記憶部３１に格納され、記憶部３１からバスライン経由でモデル部３６に与えられる。また、低速処理部３３は、低速処理部分Ｌの処理を行うリアルタイムシミュレーション用プログラムに従って、クロック信号に応じ、記憶部３１に記憶されている温度テーブルから温度を取得し、巻線抵抗値を演算して、バスライン経由でモデル部３６に入力する。すなわち、モデル部３６が演算に用いる巻線抵抗値はシミュレーションの周期毎に変化し得る。インタフェース部３７では、受け取った電流信号をアナログ信号に変換して、コントローラ５に出力する。
【００９９】
インタフェース部３７から出力された電流信号を監視装置１で監視した場合、この電流信号は、図１８−２に示すように温度変化に応じて増減するとともに、図２４（ｂ）に示すようにスイッチングの影響をも明確に捉えるものとなる。
【０１００】
このようにパラメータを変化させつつＦＰＧＡを用いて高速処理を行えば、実行装置３は、実モータの動きにより近い動きをする仮想モータとして機能することとなる。
【０１０１】
〈モデル例２〉次に、図３１のモデルを例に説明する。図２９のモデルでは低速処理部分Ｌを含んでいたが、図３１のモデルでは低速処理部分Ｌに相当する部分も高速処理部分Ｈとされている。高速処理モデルには、ＦＰＧＡボードマークＦが付されている。ユーザは、図３１のようなブロック線図を作成し、そのブロック線図からＣソースを生成させる。Ｃソースには、ＤＣ電圧や固定パラメータを与える部分が含まれるが、高速処理モデルの部分は含まれない。ユーザはそのＣソースの実行ファイルを生成させて、実行装置３にダウンロードする。
【０１０２】
一方、ユーザは、図３１のモデルに対応したＦＰＧＡボードを実行装置３に装着する。このＦＰＧＡボードには、上述したインタフェース部３５、モデル部３６、及び、インタフェース部３７の他、ブロックＢ７００に対応したクロック発生部と、ブロックＢ８００に対応した温度テーブルと、ブロックＢ９００に対応した巻線抵抗演算部とが設けられている。
【０１０３】
ユーザが実行装置３に接続された監視装置１から実行指令を入力すると、実行装置３の高速処理部３４は、低速処理部３３により記憶部３１からＤＣ電圧や固定パラメータ等を受け取って演算処理を開始する。そして、高速処理部３４は、演算処理（シミュレーション）の実行中、クロック発生部からの信号に応じてシミュレーションの周期毎に、温度テーブルから温度を取得し、巻線抵抗演算部により巻線抵抗値を算出して、その値をモデル部３６に入力し、モデル部３６が演算に用いる巻線抵抗値を変化させる。すなわち、モデル部３６が演算に用いる巻線抵抗値は、シミュレーション実行中に、高速処理部３４自身で発生した値により変化する。
【０１０４】
〈モデル例３〉次に、図３２のモデルを例に説明する。図３２のモデルでは、図２９のモデルの低速処理部分Ｌに相当する部分を、ブロックＢ４００で置き換えている。ブロックＢ４００は、巻線抵抗値を入力するブロックである。ユーザは、実行装置３の外部からパラメータ変更外部端子に値を入力する場合には、部分Ｌに変えてブロックＢ４００を配置し、Ｃソースを生成させる。このＣソースには、ＤＣ電圧や固定パラメータを与える部分が含まれるが、高速処理モデルに相当する部分は含まれない。ユーザは、Ｃソースから生成された実行ファイルを、実行装置３にダウンロードする。
【０１０５】
一方、ユーザは、図３２の部分Ｈに対応したＦＰＧＡボードを実行装置３に装着する。このＦＰＧＡボードには、上述したインタフェース部３５、モデル部３６、及び、インタフェース部３７の他、パラメータ入力インタフェース部として、ブロックＢ４００に対応するＩＯボードが設けられている。ブロックＢ４００に対応するＩＯボードは、外部入力端子を有しており、この外部入力端子に、実行装置３の外部に設けられた装置（以下、外部装置という。）が接続される。
【０１０６】
ユーザが実行装置３に接続された監視装置１から実行指令を入力すると、実行装置３の高速処理部３４は、低速処理部３３により記憶部３１からＤＣ電圧や固定パラメータ等を受け取って演算処理を開始する。モデル部３６は、シミュレーションの実行中、外部装置からパラメータ入力インタフェース部（ブロックＢ４００に対応するＩＯボード）を介して、巻線抵抗値を受け取り、演算に用いる巻線抵抗値を変化させる。すなわち、モデル部３６が演算に用いる巻線抵抗値は、シミュレーション実行中に、実行装置３の外部から入力された値により変化する。
【０１０７】
このように、高速処理部３４が演算に用いるパラメータを変化させるための値は、モデル例１のように低速処理部３３から入力された値、モデル例２のように高速処理部３４で発生した値、モデル例３のように実行装置３の外部から入力された値のいずれであってもよい。また、巻線抵抗値は低速処理部３３から入力された値により変更し、鎖交磁束数は高速処理部３４で発生した値により変更する等、低速処理部３３から入力された値、高速処理部３４で発生した値、実行装置３の外部から入力された値、のうちの２つ以上により、パラメータを変化させてもよい。すなわち、高速処理部３４は、少なくとも、低速処理部３３から入力された値、高速処理部３４で発生した値、実行装置３の外部から入力された値、のいずれかを用いて、パラメータを変化させる。
【０１０８】
６．その他
上記実施形態では、ＦＰＧＡを高速処理モデルの演算処理を行うように予めプログラムしておき、リアルタイムシミュレーション用プログラムには高速処理モデルのプログラム（高速処理モデルの演算処理を行うプログラム）を含めないこととしたが、リアルタイムシミュレーション用プログラムに高速処理モデルのプログラムを含めることとし、実行装置３へのダウンロード時等、実行前に高速処理モデルのプログラムに基づいてＦＰＧＡを書き換えるように構成してもよい。
【０１０９】
かかる形態としては、プログラム生成手段により、高速処理モデルのプログラムもリアルタイムシミュレーション用プログラムに含めて生成し、ＦＰＧＡボードを装着した実行装置３に、リアルタイムシミュレーション用プログラムの実行ファイルをダウンロードしたときに、高速処理モデルのプログラムに基づいてＦＰＧＡを書き換え、高速処理部が高速処理モデルとして動作するような構成が考えられる。また、このように構成するには、実行装置３が、高速処理モデルのプログラムからＦＰＧＡ対応言語のプログラムを生成して、そのプログラムでＦＰＧＡを書き替えたり、プログラム生成手段が、予め高速処理モデルのプログラムをＦＰＧＡ対応言語で生成したりすることが考えられる。
【０１１０】
また、上記実施形態では、作成装置１をシミュレーション監視装置（以下、監視装置と略す。）としても使用したが、例えば図３３、３４に示すように、作成装置１と監視装置２とを別体とすることも可能である。かかる場合には、例えば、実行ファイルの作成までを作成装置１で行い、監視装置２に実行ファイルを読み込ませ、監視装置２が実行ファイルを実行装置３にダウンロードして実行をかけ、データロギング等の監視を行うことが考えられる。また、監視装置２に実行ファイル作成プログラムをインストールしておき、作成装置１で作成されたリアルタイムシミュレーション用プログラムを監視装置２に読み込ませ、監視装置２から実行装置３に送信してコンパイル等させる。そして、実行ファイルを受信した監視装置２が、実行装置３に実行ファイルをダウンロードして実行をかけ、監視を行うこととしてもよい。
【０１１１】
また、モータライブラリＭに、ＰＭＳＭモデルやＩＭモデル以外のモータモデルを格納することとしても勿論よい。
【０１１２】
また、シミュレーションモデル作成プログラムとして、Simulink以外のプログラム（例えば、MatrixX等）を用いてもよく、モータライブラリＭを、例えばMatrixX用のライブラリとして構成しても勿論よい。
【０１１３】
すなわち、特許請求の範囲を逸脱しない範囲で、本発明は種々の構成を採り得る。
【図面の簡単な説明】
【０１１４】
【図１】作成装置及び実行装置の一実施形態の概略構成図である。
【図２】シミュレーションの手順を示す図である。
【図３】シミュレーションモデルのブロック線図の例である。
【図４】シミュレーションモデルのブロック線図の他の例である。
【図５】ＰＭＳＭモデルの概要を表す図である。
【図６−１】ＰＭＳＭ−stateモデルのブロックを示す図である。
【図６−２】（ａ）は図６−１のブロックの入出力の表であり、（ｂ）〜（ｅ）は同ブロックの式である。
【図６−３】図６−１のブロックの構成を表すブロック線図である。
【図７−１】ＰＭＳＭ−stateモデルにパラメータ変更外部端子を追加したパラメータ可変なモデルのブロックを示す図である。
【図７−２】図７−１のブロックの入出力の表である。
【図７−３】図７−１のブロックの構成を表すブロック線図である。
【図８】（ａ）は三相交流発生器モデルのブロックの入出力の表であり、（ｂ）〜（ｄ）は同ブロックの式である。
【図９】三角波比較ＰＷＭのパルス出力型モジュレータモデルのブロックの入出力の表である。
【図１０】（ａ）はInverter（スイッチ）モデルの入出力の表であり、（ｂ）は同モデルの等価回路である。
【図１１】（ａ）は、３相座標系からｄ-ｑ座標系への座標変換を行うブロックの入出力の表であり、（ｂ）は同ブロックが用いる行列である。
【図１２】（ａ）は、ｄ-ｑ座標系から３相座標系への座標変換を行うブロックの入出力の表であり、（ｂ）は同ブロックが用いる行列である。
【図１３】（ａ）は、ｄ-ｑ座標系からａ-ｂ座標系への座標変換を行うブロックの入出力の表であり、（ｂ）は同ブロックが用いる行列である。
【図１４】（ａ）は、ａ-ｂ座標系から３相座標系への座標変換を行うブロックの入出力の表であり、（ｂ）は同ブロックが用いる行列である。
【図１５】（ａ）は、ＰＭＳＭ用コントローラのモデルのブロックの入出力の表であり、（ｂ）は同モデルの構成を表すブロック線図である。
【図１６】時間に対する温度の変化例のグラフである。
【図１７】時間に対する巻線抵抗の変化例のグラフである。
【図１８−１】巻線抵抗固定モデルのシミュレーションを実行した結果、出力された信号を示す図である。
【図１８−２】巻線抵抗可変モデルのシミュレーションを実行した結果、出力された信号を示す図である。
【図１９】鎖交磁束数の速度による変化を示す図である。
【図２０】時間に対する鎖交磁束数の変化例のグラフである。
【図２１】図４のモデルのシミュレーションを実行した結果、出力された信号を示す図である。
【図２２】図４のモデルで鎖交磁束数を固定にしてシミュレーションを実行した結果、出力された信号を示す図である。
【図２３】（ａ）は、図３のモデルの演算をＣＰＵにより実行した結果、出力された相電流をグラフ表示したもの、（ｂ）は、図３のモデルのニ点鎖線で囲った部分の演算を、ＦＰＧＡにより実行した結果、出力された相電流をグラフ表示したものである。
【図２４】（ａ）は図２３の（ａ）の一部を拡大し、（ｂ）は図２３の（ｂ）の一部を拡大したものである。
【図２５】ＰＭＳＭ−stateのパラメータ可変な高速処理モータモデルのブロックを示す図である。
【図２６】図２５のブロックの構成を表すブロック線図である。
【図２７】図２５のブロックの機能を実現するＦＰＧＡボードの内部構成を示す図である。
【図２８】図２７の一部であるデューティ計測及びインバータ部分の詳細構成を示す図である。
【図２９】図２５のブロックを用いたモデルの例である。
【図３０】図２９のモデルのリアルタイムシミュレーションを行う実行装置の概略構成図である。
【図３１】図２５のブロックを用いたモデルの他の例である。
【図３２】図２５のブロックを用いたモデルのまた他の例である。
【図３３】他の実施形態の作成装置の概略構成図である。
【図３４】他の実施形態の監視装置及び実行装置の概略構成図である。
【符号の説明】
【０１１５】
１…シミュレーションモデル作成装置
３…リアルタイムシミュレーション実行装置
１２…表示部
１３…記憶部
３３…低速処理部
３４…高速処理部
Ｍ…モータライブラリ
【図１】
2006318200.tif 000009
【図２】
2006318200.tif 000010
【図３】
2006318200.tif 000011
【図４】
2006318200.tif 000012
【図５】
2006318200.tif 000013
【図６−１】
2006318200.tif 000014
【図６−２】
2006318200.tif 000015
【図６−３】
2006318200.tif 000016
【図７−１】
2006318200.tif 000017
【図７−２】
2006318200.tif 000018
【図７−３】
2006318200.tif 000019
【図８】
2006318200.tif 000020
【図９】
2006318200.tif 000021
【図１０】
2006318200.tif 000022
【図１１】
2006318200.tif 000023
【図１２】
2006318200.tif 000024
【図１３】
2006318200.tif 000025
【図１４】
2006318200.tif 000026
【図１５】
2006318200.tif 000027
【図１６】
2006318200.tif 000028
【図１７】
2006318200.tif 000029
【図１８−１】
2006318200.tif 000030
【図１８−２】
2006318200.tif 000031
【図１９】
2006318200.tif 000032
【図２０】
2006318200.tif 000033
【図２１】
2006318200.tif 000034
【図２２】
2006318200.tif 000035
【図２３】
2006318200.tif 000036
【図２４】
2006318200.tif 000037
【図２５】
2006318200.tif 000038
【図２６】
2006318200.tif 000039
【図２７】
2006318200.tif 000040
【図２８】
2006318200.tif 000041
【図２９】
2006318200.tif 000042
【図３０】
2006318200.tif 000043
【図３１】
2006318200.tif 000044
【図３２】
2006318200.tif 000045
【図３３】
2006318200.tif 000046
【図３４】
2006318200.tif 000047