"主回路インバータを備え、前記主回路インバータ内のスイッチング素子の損失を計算するモータ制御装置であって、前記スイッチング素子のゲート電圧を検出するゲート電圧検出器と、ゲート電圧と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す特性情報を保持し、前記ゲート電圧検出器が測定したゲート電圧と前記特性情報とに基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める素子損失計算部と、を備えることを特徴とするモータ制御装置。前記主回路インバータに電圧を供給するインバータ電源のインバータ電源電圧を検出する電圧検出器、を備え、前記素子損失計算部は、前記特性情報としてさらにインバータ電源電圧と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す情報を保持し、さらに前記電圧検出器が検出したインバータ電源電圧に基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める、ことを特徴とする請求項1に記載のモータ制御装置。前記主回路インバータからの出力電流をインバータ出力電流として検出する電流検出部、を備え、前記素子損失計算部は、前記特性情報としてさらにインバータ出力電流と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す情報を保持し、さらに前記電流検出部が検出したインバータ出力電流に基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める、ことを特徴とする請求項1または2に記載のモータ制御装置。前記素子損失計算部は、前記電流検出部が検出したインバータ出力電流として用いる値を、インバータ運転周波数に基づいて瞬時値と実効値とで切り替える、ことを特徴とする請求項3に記載のモータ制御装置。前記主回路インバータから出力されるスイッチング電圧を実スイッチング電圧として検出する実スイッチング検出部、を備え、前記素子損失計算部は、前記特性情報としてさらにスイッチング電圧と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す情報を保持し、さらに前記実スイッチング検出部が検出したスイッチング電圧に基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める、ことを特徴とする請求項1~4のいずれか1つに記載のモータ制御装置。前記実スイッチング検出部は、前記実スイッチング電圧の単位時間当たりのオンオフ比率を求め、前記素子損失計算部は、前記オンオフ比率に基づいて前記スイッチング素子の導通損失をさらに前記損失として求める、ことを特徴とする請求項5に記載のモータ制御装置。前記主回路インバータから出力されるスイッチング電圧を実スイッチング電圧として検出する実スイッチング検出部、を備え、前記実スイッチング検出部は、前記実スイッチング電圧の単位時間当たりのオンオフ比率を求め、前記素子損失計算部は、前記オンオフ比率に基づいて前記スイッチング素子の導通損失をさらに前記損失として求める、ことを特徴とする請求項1~4のいずれか1つに記載のモータ制御装置。前記スイッチング素子を冷却するフィンの温度を検出する温度検出部と、前記温度と前記素子損失計算部が求めた損失とに基づいて前記スイッチング素子の素子温度を求める温度計算部、を備え、前記素子損失計算部は、さらに前記素子温度に基づいて前記損失を求める、ことを特徴とする請求項1~7のいずれか1つに記載のモータ制御装置。前記素子温度に基づいて前記スイッチング素子が熱破壊しないように過熱保護を行うモータ制御部、を備えることを特徴とする請求項8に記載のモータ制御装置。前記主回路インバータを構成する電気部品の損失を求める電気部品損失計算部、を備え、前記温度計算部は、前記電気部品損失計算部が求めた前記電気部品の損失に基づいて前記電気部品の温度を求める、ことを特徴とする請求項8に記載のモータ制御装置。前記素子温度に基づいて前記スイッチング素子が熱破壊しないように過熱保護を行い、前記温度計算部が求めた前記電気部品の温度に基づいて前記電気部品が熱破壊しないように過熱保護を行うモータ制御部、を備えることを特徴とする請求項10に記載のモータ制御装置。前記スイッチング素子をワイドバンドギャップ半導体により形成されている、ことを特徴とする請求項1~11のいずれか1つに記載のモータ制御装置。前記ワイドバンドギャップ半導体は、炭化珪素、窒化ガリウム系材料またはダイヤモンドであることを特徴とする請求項12に記載のモータ制御装置。主回路インバータを備え、前記主回路インバータ内のスイッチング素子の損失を計算するモータ制御装置であって、前記主回路インバータに電圧を供給するインバータ電源のインバータ電源電圧を検出する電圧検出器、を備え、前記素子損失計算部は、前記特性情報としてインバータ電源電圧と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す情報を保持し、前記電圧検出器が検出したインバータ電源電圧に基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める、ことを特徴とするモータ制御装置。主回路インバータを備え、前記主回路インバータ内のスイッチング素子の損失を計算するモータ制御装置であって、前記主回路インバータからの出力電流をインバータ出力電流として検出する電流検出部、を備え、前記素子損失計算部は、前記特性情報としてインバータ出力電流と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す情報を保持し、前記電流検出部が検出したインバータ出力電流に基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める、ことを特徴とするモータ制御装置。主回路インバータを備え、前記主回路インバータ内のスイッチング素子の損失を計算するモータ制御装置であって、前記主回路インバータから出力されるスイッチング電圧を実スイッチング電圧として検出する実スイッチング検出部、を備え、前記素子損失計算部は、前記特性情報としてスイッチング電圧と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す情報を保持し、前記実スイッチング検出部が検出したスイッチング電圧に基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める、ことを特徴とするモータ制御装置。主回路インバータを備え、前記主回路インバータ内のスイッチング素子の損失を計算するモータ制御装置であって、前記主回路インバータから出力されるスイッチング電圧を実スイッチング電圧として検出する実スイッチング検出部、を備え、前記実スイッチング検出部は、前記実スイッチング電圧の単位時間当たりのオンオフ比率を求め、前記素子損失計算部は、前記オンオフ比率に基づいて前記スイッチング素子の導通損失を前記損失として求める、ことを特徴とするモータ制御装置。しかしながら、上記特許文献1に記載の方式では、電流検出部9からの信号Iu,Iv,Iwと電圧検出部8のフィルタコンデンサ電圧Efcなどを用いて、半導体素子の損失を出すようにしているが、これらの損失は、実際のゲート電圧や実スイッチング信号の立ち上がり回数や立ち下がり回数などで大きく変化する。このため、正確なスイッチング損失を求められないという課題があった。また、特許文献2に記載の技術では、同期電動機3への電流Imを検出する電流検出器27とインバータ11に入力される直流電圧Vdを検出する電圧検出器26などの情報を用いて、半導体素子の損失を出すようにしている。このため、上記特許文献1の方式と同様に、正確なスイッチング損失を求められないという課題があった。本発明は、上記に鑑みてなされたものであって、従来の方式よりも精度良くスイッチング素子の損失を求めることができるモータ制御装置を得ること目的とする。上述した課題を解決し、目的を達成するために、本発明は、主回路インバータを備え、前記主回路インバータ内のスイッチング素子の損失を計算するモータ制御装置であって、前記スイッチング素子のゲート電圧を検出するゲート電圧検出器と、ゲート電圧と前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失との関係を示す特性情報を保持し、前記ゲート電圧検出器が測定したゲート電圧と前記特性情報とに基づいて前記スイッチング素子のターンオン損失、ターンオフ損失およびリカバリー損失を前記損失として求める素子損失計算部と、を備えることを特徴とする。本発明にかかるモータ制御装置は、従来の方式よりも精度良くスイッチング素子の損失を求めることができるという効果を奏する。以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。実施の形態1.図1は、本発明にかかるモータ制御装置の実施の形態1の構成例を示す図である。図1に示すように、本実施の形態のモータ制御装置の主回路インバータ20は、インバータ電源21の電圧を交流に変換し、モータ22に与える。なお、図1では、インバータ電源21を直流電源としているが、インバータ電源21は、例えば交流電源を整流したものやバッテリーなどでも構わない。またモータ22は、例えば産業用途や電気自動車などで使われている駆動用動力源である。主回路インバータ20は、12個のスイッチング素子を備える。図1では、一例として、12個のスイッチング素子が、IGBTゲート絶縁型バーポーラトランジスタ7a~7fとFWD還流ダイオード8a~8fとで構成される例を示している。またIGBT7a~7fは、ゲート駆動回路25a~25fによりスイッチング制御されている。ゲート電源24a~24fは、ゲート駆動回路25a~25fをそれぞれ動作させるための電源である。モータ制御部23は、主回路インバータ20から出力させたい交流電圧を、例えばベクトル制御やV/f制御と呼ばれる手法等により計算し、計算した電圧をPWMPulseWidthModulation変調させてIGBT7a~7fへのゲート信号として出力する。電流検出器1a~1cは主回路インバータ20から出力されるインバータ出力電流を検出し、電圧検出器2はインバータ電源21の電源電圧を検出し、ゲート電圧検出器4a~4fはゲート電源24a~24fのゲート電圧をそれぞれ検出する。また、温度検出器9は、スイッチング素子等の冷却のために設けられているフィン図示せずのうち任意のフィンの温度を検出する。実スイッチング検出器3a~3fは実際のスイッチング電圧を検出し、単位時間当たりの立ち上がり回数や立下り回数、オンオフ比率などを出力する。例えば実スイッチング検出器3aは、インバータ電源21のP端子とモータ22のU端子との電位差を検出することで、U相上側素子IGBT7a、FWD8aの実際のスイッチング電圧を検出することが可能である。また、実スイッチング検出器3bは、インバータ電源21のN端子とモータ22のU端子との電位差を検出することで、U相下側素子IGBT7b、FWD8bの実際のスイッチング電圧を検出することが可能である。同様に、実スイッチング検出器3cIGBT7c、FWD8c,3dIGBT7d、FWD8d,3eIGBT7e、FWD8e,3fIGBT7f、FWD8fは、それぞれV相上側素子,V相下側素子,W相上側素子,W相下側素子のスイッチング電圧を検出することが可能である。素子損失計算部5a~5fは、これら検出された情報を使って、全てのスイッチング素子の損失を計算し、素子温度計算部温度計算部6は、計算された損失に基づいてスイッチング素子の温度を計算する。素子損失計算部5a~5fおよび素子温度計算部6の動作について、以下で詳細に説明する。本実施の形態では、図1のように構成されたモータ制御装置において、素子損失計算部5a~5fによって全てのスイッチング素子IGBT7a~7f、FWD8a~8fの損失を計算する。ここでは代表として、U相上側素子IGBT7a、FWD8aの素子損失計算部5aの計算方法を説明する。図2は、IGBT7aがスイッチング動作するときのIGBT7aのコレクタ-エミッタ間電圧VceUPおよびコレクタ電流IcUPと損失の一例を示す図である。図2の上側の図は、コレクタ-エミッタ間電圧VceUPおよびコレクタ電流IcUPを示しており、図2の下側の図は、両者の掛け算によりU相上側IGBTIGBT7aの素子損失PUPが求められることを示している。このうちIGBT7aがオンしたときに発生する損失をターンオン損失PonUP、IGBT7aがオフしたときに発生する損失をターンオフ損失PoffUP、IGBT7aが導通しているときに発生する損失を導通損失PsatUPと呼ぶ。図3は、FWD8aがスイッチング動作するときのFWD8aの順方向電圧VfUPおよび順方向電流IfUPと損失の一例を示す図である。図3の上側の図は、FWD8aの順方向電圧VfUPおよび順方向電流IfUPを示し、図3の下側の図は、両者の掛け算によりU相上側FWDFWD8aの素子損失PUPが求められることを示している。このうちFWD8aがオフしたときに発生する損失をリカバリー損失PrecUP、FWD8aが導通しているときに発生する損失を導通損失PsatUPと呼ぶ。素子損失計算部5aには、電流検出器1aからのインバータ出力電流Iu、電圧検出器2からのインバータ電源電圧Vdc、実スイッチング検出器3aからの単位時間当たりの立ち上がり回数fupUP、単位時間当たりの立ち下がり回数fdownUPおよび単位時間当たりのオンオフ比率DUP、ゲート電圧検出器4aからのゲート電圧VgUP、素子温度計算部6からの素子温度TjUPおよびTjUPが入力される。素子損失計算部5aは、これらの情報を用いて、前述した各損失を次のように計算する。ターンオン損失PonUPの計算ターンオン損失は、インバータ出力電流Iu、インバータ電源電圧Vdc、ゲート電圧VgUP、素子温度TjUP入力変数によって変化する。そこであらかじめこれらの入力変数の値を変えて実験をすることなどにより、これらの入力変数とターンオン損失の関係入力変数に応じたターンオン損失を求めておき、メモリ等にテーブルデータの形態で保持しておく。すなわち、入力変数とターンオン損失との関係を示す特性情報をテーブルデータとして保持しておく。そして、検出したインバータ出力電流Iu、インバータ電源電圧Vdc、ゲート電圧VgUP、素子温度TjUP入力変数の値と、テーブルデータと、に基づいてターンオン損失PonUPを算出する。なお、全ての入力変数に対する情報を有しておき、全ての入力変数を用いてターンオン損失PonUPを求めると最も精度を向上させることができるが、これらの入力変数のうち1つ以上を用いればよく必ずしもここに示す全ての入力変数を使う必要はない。図4は、この入力変数とターンオン損失の関係を示すテーブルデータの一例を示す図である。図4では、横軸にインバータ出力電流Iuとインバータ電源電圧Vdcを取り、素子温度TjUPに応じた線が引かれている。例えば、図4の丸や四角や三角で示した点をテーブルデータとして数値として保持しておき、必要に応じて補間等を実施することにより、縦軸のターンオン損失の値を得ることができる。なお、図4では、インバータ出力電流Iu、インバータ電源電圧Vdcおよび素子温度と損失の関係を示しているが、上述のように損失はゲート電圧にも依存する。従って、実際には、テーブルデータとしては、図4に示したようなデータがゲート電圧ごとに存在する。もちろん、このテーブルデータを関数の形態で保持しておき、演算によってターンオン損失を導き出しても構わない。このようにして求めた1回当たりのターンオン損失に、PWM変調におけるキャリア周波数を掛け算することにより、単位時間当たりのターンオン損失PonUPを求めることができる。ここで、キャリア周波数の代わりに単位時間当たりの立ち上がり回数fupUPを用いると、さらに精度良く単位時間当たりのターンオン損失PonUPを求めることが可能になる。ターンオフ損失PoffUPの計算同様にターンオフ損失も、インバータ出力電流Iu、インバータ電源電圧Vdc、ゲート電圧VgUP、素子温度TjUPによって変化する。そこであらかじめこれらの入力変数の値を変えて実験をすることなどにより、これらの入力変数に応じたターンオフ損失を求めておき、メモリ等にテーブルデータの形態で保持しておく。すなわち、入力変数とターンオフ損失との関係を示す特性情報をテーブルデータとして保持しておく。なお、全ての入力変数を用いると最も精度を向上させることが可能であるが、これらの入力変数のうち1つ以上を用いればよく必ずしもここに示す全ての入力変数を使う必要はない。図5は、この入力変数とターンオフ損失の関係を示すテーブルデータの一例を示す図である。図5では、横軸にインバータ出力電流Iuとインバータ電源電圧Vdcを取り、素子温度TjUPに応じた線丸、四角、三角で示した3つの線は、それぞれ異なる素子温度に対応するが引かれている。例えば、図5の丸や四角や三角で示した点をテーブルデータとして数値として保持しておき、必要に応じて補間等を実施することにより、縦軸のターンオフ損失を得ることができる。なお、図4の場合と同様に、実際には、テーブルデータとしては、図5に示したようなデータがゲート電圧ごとに存在する。もちろん、このテーブルデータを関数の形態で保持しておき、演算によってターンオフ損失を導き出しても構わない。このようにして求めた1回当たりのターンオフ損失にPWM変調におけるキャリア周波数を掛け算することにより、単位時間当たりのターンオフ損失PoffUPを求めることができる。ここで、キャリア周波数の代わりに単位時間当たりの立ち下がり回数foffUPを用いると、さらに精度良く単位時間当たりのターンオフ損失PoffUPを求めることが可能になる。IGBT7aの導通損失PsatUPの計算IGBT7aの導通損失は、図2でも説明した通り、コレクタ-エミッタ間電圧VceUPおよびコレクタ電流IcUPの掛け算により求めることができる。コレクタ-エミッタ間電圧は、コレクタ電流IcUP、素子温度TjUPによって変化する。そこであらかじめ入力変数の値を変えて実験をすることなどで入力変数に応じたコレクタ-エミッタ間電圧を求めておき、メモリ等にテーブルデータの形態で保持しておく。すなわち、入力変数と導通損失との関係を示す特性情報をテーブルデータとして保持しておく。図6は、このコレクタ-エミッタ間電圧のテーブルデータの一例を示す図である。図6では、横軸にコレクタ電流IcUPを取り、素子温度TjUPに応じた線丸、四角、三角で示した3つの線は、それぞれ異なる素子温度に対応するが引かれている。例えば、図5の丸や四角や三角で示した点をテーブルデータとして数値として保持しておき、必要に応じて補間等を実施することにより、縦軸のコレクタ-エミッタ間電圧VceUPを得ることができる。もちろん、このテーブルデータを関数の形態で保持しておき、演算によってコレクタ-エミッタ間電圧を導き出しても構わない。なおここで使用しているコレクタ電流は、インバータ出力電流から導出することが可能である等価な物である。単位時間当たりのIGBT7aの導通損失PsatUPを求めるためには、前述したコレクタ-エミッタ間電圧VceUPおよびコレクタ電流IcUPの掛け算の結果に、IGBT7aの通電比率を掛ける必要がある。モータ制御部23から得られる電圧指令を用いて、IGBT7aの通電比率を簡易的に得ることもできるが、実スイッチング検出器3aが算出した単位時間当たりのオンオフ比率DUPを用いてIGBT7aの通電比率を求めると、さらに精度良く単位時間当たりのIGBTの導通損失PsatUPを求めることが可能になる。リカバリー損失PrecUPの計算リカバリー損失は、インバータ出力電流Iu、インバータ電源電圧Vdc、ゲート電圧VgUP、素子温度TjUPによって変化する。そこであらかじめ入力変数の値を変えて実験をすることなどで入力変数に応じたリカバリー損失を求めておき、メモリ等にテーブルデータの形態で保持しておく。すなわち、入力変数とリカバリー損失との関係を示す特性情報をテーブルデータとして保持しておく。なお、全ての入力変数を用いると最も精度を向上させることが可能であるが、これらの入力変数のうち1つ以上を用いればよく必ずしもここに示す全ての入力変数を使う必要はない。図7は、この入力変数に応じたリカバリー損失を示すテーブルデータの一例を示す図である。図7では、横軸にインバータ出力電流Iuとインバータ電源電圧Vdcを取り、素子温度TjUPに応じた線丸、四角、三角で示した3つの線は、それぞれ異なる素子温度に対応するが引かれている。例えば、図7の丸や四角や三角で示した点をテーブルデータとして数値として保持しておき、必要に応じて補間等を実施することにより縦軸のリカバリー損失を得ることができる。なお、図4の場合と同様に、実際には、テーブルデータとしては、図7に示したようなデータがゲート電圧ごとに存在する。もちろん、このテーブルデータを関数の形態で保持しておき、演算によってリカバリー損失を導き出しても構わない。このようにして求めた1回当たりのリカバリー損失にPWM変調におけるキャリア周波数を掛け算することにより、単位時間当たりのリカバリー損失PrecUPを求めることができる。ここで、キャリア周波数の代わりに実スイッチング検出器3aが算出した単位時間当たりの立ち上がり回数fupUPを用いるFWDのリカバリー損失が発生するのは、IGBTのターンオン時であるためと、さらに精度良く単位時間当たりのリカバリー損失PrecUPを求めることが可能になる。FWDの導通損失PsatUPの計算FWDの導通損失は、図3でも説明した通り、順方向電圧VfUPおよび順方向電流IfUPの掛け算により求める。順方向電圧VfUPは、順方向電流IfUP、素子温度TjUPによって変化する。そこであらかじめ入力変数の値を変えて実験をすることなどで入力変数に応じた順方向電圧を求めておき、メモリ等にテーブルデータの形態で保持しておく。図8は、この入力変数に応じた順方向電圧のテーブルデータの一例を示す図である。横軸に順方向電流IfUPを取り、素子温度TjUPに応じた線丸、四角、三角で示した3つの線は、それぞれ異なる素子温度に対応するが引かれている。例えば、図8の丸や四角や三角で示した点をテーブルデータとして数値として保持しておき、必要に応じて補間等を実施することにより縦軸に取られている順方向電圧VfUPを得ることができる。もちろん、このテーブルデータを関数の形態で保持しておき、演算によって順方向電圧を導き出しても構わない。なおここで使用している順方向電流は、インバータ出力電流から導出することが可能である等価な物である。単位時間当たりのFWD8aの導通損失PsatUPを求めるためには、前述した順方向電圧VfUPおよび順方向電流IfUPの掛け算の結果に、FWD8aの通電比率を掛ける必要がある。モータ制御部23から得られる電圧指令を用いて、FWDの通電比率を簡易的に得ることもできるが、実スイッチング検出器3aが算出した単位時間当たりのオンオフ比率DUPを用いると、さらに精度良く単位時間当たりのFWDの導通損失PsatUPを求めることが可能になる。以上のように素子損失計算部5aによって、IGBT7aのターンオン損失PonUP、ターンオフ損失PoffUP、導通損失PsatUPを得ることができ、それらを足し合わせることで、U相上側IGBTの素子損失PUPを求めることができる。また、FWD8aのリカバリー損失PrecUP、導通損失PsatUPを得ることができ、それらを足し合わせることで、U相上側FWDの素子損失PUPを求めることができる。素子損失計算部5b~5fについても、同様の考え方で素子損失を計算し、全ての素子損失を得ることができる。なおこれらの素子損失計算は、マイクロプロセッサ等により実施することができる。すなわち、素子損失計算部5a~5fとしてマイクロプロセッサ等を用いることができる。素子温度計算部6は、全ての素子損失を入力として、それらの温度を計算する。その計算方法の一例を以下に示す。温度検出器9がフィン温度Tfinを観測している場合、U相上側IGBTの素子とフィンとの温度差をΔTjUPとすると、この温度差は次の1式で求めることができる。ΔTjUP=PUP×RthUP...1式中のPUPは先ほど求めたU相上側IGBTの素子損失である。RthUPは熱抵抗と呼ばれるものであり、素子固有の特性値である。熱抵抗は、あらかじめ実験をすることなどで求めておき、メモリ等にテーブルデータの形態で保持しておく。なお、熱抵抗を熱容量の変数とし、時定数と熱容量を用いて熱抵抗を求めることで、より正確な温度差を得ることも可能である。具体的には、U相上側IGBTの素子からフィンまでの温度差をΔTjUPとすると、この温度差を次式のように求めることができる。ΔTjUP=PUP×[RthUP×{1-exp-t/RthUP×CthUP}]...2CthUPは熱容量と呼ばれるものであり、素子固有の特性値である。また、他の素子U相上側IGBT以外で発生した損失により、U相上側IGBTが温度上昇するような熱干渉の影響がある場合でも、上記式1または2を、熱干渉を考慮した式へ拡張することでその影響を考慮することができ、さらに正確な温度差を得ることが可能になる。温度検出器9から得られるフィン温度Tfinと上記式1、2等の計算で求めた温度差ΔTjUPから、U相上側IGBTの素子温度TjUPを次の式3で求めることができる。TjUP=ΔTjUPTfin...3同様の考え方で、全ての素子温度を得ることができる。なおこれらの素子温度計算は、マイクロプロセッサ等で実施することができる。すなわち、素子温度計算部6としてマイクロプロセッサ等を用いることができる。素子損失計算部5a~5fと素子温度計算部6が同一のマイクロプロセッサにより実装されてもよい。以上のようにして得られた素子温度は、素子損失計算部5a~5fに入力され、より正確な素子損失の計算に用いられる。また、これらの素子温度は、モータ制御部23に入力され、スイッチング素子温度が熱破壊しないように、素子温度があるしきい値を超えたら、電流値を下げる、スイッチング回数を減らす、モータの運転を停止するなどの過熱保護を行い、スイッチング素子の破壊を防ぐことにも使われる。なお、実施の形態1では、例えばゲート電圧検出器4a~4fの6個を使い、それぞれのスイッチング素子で個別に検出したゲート電圧を使うようにしているが、コストを削減する等の理由から、どれか1個のゲート電圧だけを検出し、全ての素子損失計算に同じ値を使うようにしても構わない。以上のように、本実施の形態では、素子損失計算部5a~5fは、インバータ出力電流Iu、インバータ電源電圧Vdc、単位時間当たりの立ち上がり回数fupUP、単位時間当たりの立ち下がり回数fdownUP、単位時間当たりのオンオフ比率DUP、ゲート電圧VgUP、素子温度TjUPおよびTjUP、のうち少なくとも1つ以上を用いて各スイッチング素子の素子損失を求めるようにした。また、素子温度計算部6は、フィン温度Tfinと、スイッチング素子の素子損失と、に基づいて素子温度を求め、求めた素子温度を素子損失計算部5a~5fへ入力するようにした。このため、従来の方式よりも精度良く、スイッチング素子の損失を算出することが可能になる。また、PWM変調におけるキャリア周波数を用いて実スイッチング電圧の単位時間当たりのオンオフ比率を用いて素子の導通損失を計算する場合、モータ制御部23から得られる電圧指令を用いてスイッチング素子の通電比率を求める方式よりさらに精度良く、スイッチング素子の損失を求めることが可能になる。実施の形態2.次に、本発明にかかる実施の形態2の損失算出方法について説明する。本実施の形態のモータ制御装置の構成は実施の形態1と同様である。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して重複する説明を省略する。実施の形態1では、素子損失計算部5a~5fには電流検出器1a~1cからのインバータ出力電流が入力されている。素子損失の計算は、例えば、所定の計算タイミング所定の時間間隔ごとの計算タイミングで、逐次行われているため、インバータ出力電流の瞬時値を使用することになる。ところがインバータの運転周波数が速くなると、計算時間計算タイミングごとのインバータ出力電流瞬時値が大きく変化することになり、損失計算の精度を保つことができなくなる。そこで、本実施の形態では、素子損失計算部5a~5fは、入力されたインバータ出力電流の実効値を求める。そして、モータ制御部23はインバータ運転周波数を素子損失計算部5a~5fへ受け渡し、素子損失計算部5a~5fは、インバータ運転周波数が高くなった場合例えば、インバータ運転周波数が所定の閾値以上となった場合には、損失計算に用いるインバータ出力電流を瞬時値から実効値へと切り替えるようにする。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。以上のように、本実施の形態では、損失計算に用いるインバータ出力電流を瞬時値と実効値で切り替えるようにした。このため、実施の形態1と同様の効果が得られるとともに、インバータ運転周波数が高くなった場合にも、素子損失の精度を保つことが可能になる。実施の形態3.図9は、本発明にかかるモータ制御装置の実施の形態3の構成例を示す図である。本実施の形態のモータ制御装置の構成は、電気部品損失計算部10を追加し、素子温度計算部6の代わりに温度計算部11を備える以外は、実施の形態1のモータ制御装置と同様である。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して重複する説明を省略する。実施の形態1では、素子温度計算部6は、全ての素子損失を入力として、それらの温度を計算した。主回路インバータ20には多くの電気部品抵抗、コンデンサ、リアクトルなどが使われているが、一般にスイッチング素子の許容最大温度は他の電気部品より低いため、スイッチング素子の温度計算だけを行って、素子が熱破壊しないように保護をかければ、主回路インバータ20としては問題ない。主回路インバータ20のスイッチング素子は、ワイドバンドギャップ半導体によって形成してもよい。ワイドバンドギャップ半導体としては、例えば、炭化珪素、窒化ガリウム系材料又はダイヤモンドがある。スイッチング素子にSiC炭化珪素などのワイドバンドギャップ素子を用いた場合、従来のSiケイ素を用いた半導体素子よりも高温動作が可能になり、許容最大温度を高くできる。このようにワイドバンドギャップ半導体によって形成されたスイッチング素子やダイオード素子は、耐電圧性が高く、許容電流密度も高いため、スイッチング素子小型化が可能であり、これら小型化されたスイッチング素子を用いることにより、これらの素子を組み込んだ半導体モジュールの小型化が可能となる。また耐熱性も高いため、ヒートシンクの放熱フィンの小型化や、水冷部の空冷化が可能であるので、半導体モジュールの一層の小型化が可能になる。更に電力損失が低いため、スイッチング素子の高効率化が可能であり、延いては半導体モジュールの高効率化が可能になる。このようにワイドバンドギャップ素子をスイッチング素子として用いる場合、主回路インバータ20に使われている他の電気部品の許容最大温度が、スイッチング素子よりも低くなる可能性がある。このため、その電気部品が熱破壊しないように保護をかけないと、主回路インバータ20として問題が発生する。もちろん、許容最大温度が低い電気部品に対して直接温度検出器を設置し、温度を検出して熱保護をかけても良いが、コストの面から必ずしも最良の方法とは言えない。そこで、本実施の形態では、実施の形態1で説明したような素子損失計算と素子温度計算を行う考え方を、他の電気部品まで含めた形に拡張する。電気部品損失計算部10は、許容最大温度が低く、熱破壊を起こす可能性のある電気部品図示していないの損失計算を行うものである。一例として、その部品が抵抗である場合、損失Pは次の式4で求めることができる。P=I2×R...4式中のIは電気部品に流れる電流であり、Rは電気部品の抵抗値である。抵抗値は温度によって変化するため、後で導出する電気部品の温度に応じて変化させ、より正確な損失計算を実施することもできる。温度計算部11は、全てのスイッチング素子および電気部品の損失を入力として、それらの温度を計算する。スイッチング素子の温度計算方法は、実施の形態1で述べた方法と同様である。実施の形態1ではスイッチング素子の温度計算方法を説明したが、電気部品の温度についても同じように計算することができる。電気部品の温度の計算方法の一例を、以下に示す。温度検出器9がフィン温度Tfinを検出している場合、電気部品からフィンまでの温度差をΔTとすると、この温度差は次の式5で求めることができる。ΔT=P×Rth...5式中のPは先ほど求めた電気部品の損失である。Rthは熱抵抗と呼ばれるものであり、電気部品固有の特性値である。熱抵抗は、あらかじめ実験をすることなどで求めておき、メモリ等にテーブルデータの形態で保持しておく。また、スイッチング素子で発生した損失により、電気部品が温度上昇するような熱干渉の影響がある場合でも、式5を熱干渉を考慮した式に拡張することでその影響を考慮することができ、さらに正確な温度差を得ることが可能になる。温度検出器9から得られるフィン温度Tfinと計算で求めた温度差ΔTから、電気部品の温度Tを次の式6で求めることができる。T=ΔTTfin...6以上のようにして得られた電気部品温度は、電気部品損失計算部10に戻されて、より正確な損失の計算に用いられる。また、電気部品温度は、モータ制御部23に入力され、電気部品が熱破壊しないように、電気部品温度があるしきい値を超えたら、電流値を下げる、モータの運転を停止するなどの過熱保護を行い、電気部品の破壊を防ぐことにも使われる。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。なお、これまでの説明においては、損失計算および温度計算の対象となる電気部品は1つとして扱ってきたが、熱破壊を起こす可能性のある電気部品が複数個ある場合は、それら全てに対して同じ方法を適用し、各々の損失および温度を求めることができる。なお、実施の形態1~3において、主回路インバータは12個のスイッチング素子を持った一般的な2レベルインバータとして説明を行ってきたが、もちろん単相インバータやマルチレベルインバータにも適用できる。以上のように、本実施の形態では、スイッチング素子以外の電気部品の損失および温度をスイッチング素子と同様に求めるようにした。このため、実施の形態1と同様の効果が得られるとともに、温度検出器を付けることなく電気部品の温度を検出することが可能になる。また、主回路インバータ20の電気部品の温度を求めて、これに基づいて過熱保護を行うようにしたので、電気部品の熱破壊を防ぐことが可能になる。特にSiC等の高温動作可能なスイッチング素子を用いる主回路インバータに適用する場合、モータ制御装置としてさらに過熱保護の効果を高めることが可能になる。"