(57)【要約】【課題】インバータのエンベデッドソフトウェアでの割り込みを機能別に抽象化することで、ＭＣＵに関係なくソフトウェアの具現が可能であり、ソフトウェアのリサイクル性を高めることで、開発期間を短縮してコード品質を向上する、インバータでの割り込み制御方法を提供する。【解決手段】インバータでの割り込み制御方法が開示される。本発明の方法は、インバータの動作中に制御部が割り込み発生を確認する場合は、メインソフトウェアで発生した割り込みの種類を分析して、前記割り込みを機能別割り込みアイディー（ＩＤ）へ変換して、前記割り込みＩＤが既登録の割り込みＩＤである場合は、前記既登録の割り込みＩＤに対応する割り込み関数を行う。【選択図】図３
2018081667.tif 000002
【特許請求の範囲】
【請求項１】
インバータの動作時に制御部がメインソフトウェアを行う段階；
前記インバータの動作中に前記制御部が割り込み発生を確認する段階；
前記制御部が、前記メインソフトウェアで発生した割り込みの種類を分析する段階；
前記制御部が前記割り込みを機能別割り込みアイディー（ＩＤ）へ変換する段階；及び
前記割り込みＩＤが既登録の割り込みＩＤである場合は、前記制御部が前記既登録の割り込みＩＤに対応する割り込み関数を行う段階を含む割り込み制御方法。
【請求項２】
前記割り込みの種類を分析する段階は、
前記メインソフトウェアがどのような状態にあるときに前記割り込みが発生したかを分析する段階を含むことを特徴とする請求項１記載の割り込み制御方法。
【請求項３】
前記割り込みＩＤが未登録の割り込みＩＤである場合は、前記メインソフトウェアを行う段階にリターンする段階をさらに含む請求項１又は請求項２記載の割り込み制御方法。
【請求項４】
前記割り込みＩＤの機能がイネーブルであるか判断する段階をさらに含む請求項１ないし請求項３のいずれかに記載の割り込み制御方法。
【請求項５】
前記割り込みＩＤの機能がディセーブルである場合は、前記メインソフトウェアを行う段階にリターンする段階をさらに含む請求項１ないし請求項４のいずれかに記載の割り込み制御方法。
【請求項６】
機能別に分類された割り込みＩＤと、これに対応する割り込み関数をそれぞれ貯蔵する段階をさらに含む請求項１ないし請求項５のいずれかに記載の割り込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インバータでの割り込み制御方法に関するものである。
【背景技術】
【０００２】
一般に、インバータは、商用交流電源を入力とし、これを直流電源へ変換した後、さらに電動機に適合した交流電源へ変換して電動機に供給する電力変換装置である。このようなインバータは、電動機を効率的に制御することで、電動機の消耗電力を減少させてエネルギー効率を高める。現在、世界電気の５０％以上を電動機が消耗しているため、このようなインバータを用いてエネルギー効率を高めることで、電気使用量を減らす必要がある。電動機は、用途とサイズによって様々な容量に分けられ、これによりインバータも様々な容量に開発されてきた。
【０００３】
一方、エンベデッド（ｅｍｂｅｄｄｅｄ）システムとは、ある製品やソルーションに追加搭載されて、その製品の中で特定作業を行うようプログラミングされて動作するソルーションを言う。現在、モノのインターネット（ｉｎｔｅｒｎｅｔ ｏｆ ｔｈｉｎｇｓ、ＩｏＴ）とスマートファクトリー（ｓｍａｒｔ ｆａｃｔｏｒｙ）等に係るイシューであり、このようなエンベデッド市場は徐々に大きくなりつつある。これに、半導体会社等は、エンベデッド用の自社マイクロ制御ユニット（ｍｉｃｒｏ ｃｏｎｔｒｏｌｌｅｒ ｕｎｉｔ、ＭＣＵ）を競って発売している。
【０００４】
割り込み（ｉｎｔｅｒｒｕｐｔ）は、エンベデッドソフトウェア（ｅｍｂｅｄｄｅｄ  ｓｏｆｔｗａｒｅ）において一番重要な機能の一つである。エンベデッドソフトウェアでの割り込みとは、ＭＣＵがプログラムを遂行している際に入出力ハードウェア等の装置に処理が必要であるか、又は例外状況が発生して処理が必要である場合には、ＭＣＵに知らせて自動にメインプログラムの遂行を止めて割り込みプログラムを行うことを言う。
【０００５】
しかし、このような割り込みは、製作社のコアやＭＣＵシリーズによって種類及び名称が異なるため、ＭＣＵにより割り込みソフトウェアの変更が必要であり、他ＭＣＵを用いる開発者間の疎通が難しいという問題点がある。これを図面を参照して説明すると、次のとおりである。
【０００６】
図１ａ及び図１ｂは、従来のエンベデッドソフトウェアの割り込みを説明するための例示図であり、同じインバータのエンベデッドソフトウェアにあっても、発生する割り込みによって関数の名称及び構成が異なる旨を説明するためのものである。
【０００７】
図１ａのように、メインソフトウェア１００は、パルス幅変調（ｐｕｌｓｅ ｗｉｄｔｈ ｍｏｄｕｌａｔｉｏｎ、ＰＷＭ）キャリアによって発生する割り込み（ＱＥＰ割り込み）によりＰＷＭ出力を演算する割り込み関数［ＩＳＲ_ｐｗｍｂ（）]を処理させて、これによりＰＷＭ出力を演算する割り込み関数［ＩＳＲ_ｐｗｍｂ（）]はＰＷＭ出力演算を行う。また、メインソフトウェア１００は、タイマーカウントによって発生する割り込み（タイマー割り込み）により１ｍｓｅｃ毎に行う割り込み関数（ＩＳＲ_ＳＷ１ｍｓｅｃ（）]を処理させて、これによりインバータ出力周波数演算、オートチューニング演算、インバータ出力電圧演算、インバータ時間演算等を行うことになる。また、メインソフトウェア１００は、ＰＷＭ外部遮断信号（ＰＤＰ割り込み）によりＰＷＭ ＰＤＰを行う割り込み関数［ＩＳＲ_ＰｗｍＴｒｉｐ１（）]を処理させて、これにより過電流検出、アームショート（ａｒｍ ｓｈｏｒｔ）検出、過電流抑制等を行うことになる。
【０００８】
一方、図１ｂのように、メインソフトウェア１００は、ＰＷＭアップロード割り込み（ＰＷＭ割り込み）によりＰＷＭ出力を演算する割り込み関数［ＩＳＲ_ｐｗｍｂ（）]を処理させて、これによりＰＷＭ出力を演算する割り込み関数［ＩＳＲ_ｐｗｍｂ（）]はＰＷＭ出力演算を行う。また、メインソフトウェア１００は、タイマーカウント割り込み（タイマー割り込み）により１ｍｓｅｃ毎に行う割り込み関数［ＩＳＲ_ＳＷ１ｍｓｅｃ（）]を処理させて、これにより１ｍｓｅｃ毎に行う割り込み関数［ＩＳＲ_ＳＷ１ｍｓｅｃ（）]はインバータ出力周波数演算、オートチューニング演算、インバータ出力電圧演算、インバータ時間演算等を行うことになる。また、メインソフトウェア１００は、第１のトリップゾーン割り込み（ＰＷＭトリップ１割り込み）によりアームショート検出割り込み関数［ＩＳＲ_ＰｗｍＴｒｉｐ１（）]を処理させて、これによりアームショートを検出することができる。また、メインソフトウェア１００は、第２のトリップゾーン割り込み（ＰＷＭトリップ２割り込み）により過電流検出割り込み関数［ＩＳＲ_ＰｗｍＴｒｉｐ２（）]を処理させて、これにより過電流を検出することができる。また、メインソフトウェア１００は、第３のトリップゾーン割り込み（ＰＷＭトリップ３割り込み）により過電流抑制検出割り込み関数［ＩＳＲ_ＰｗｍＴｒｉｐ３（）]を処理させて、これによりアームショートを検出することができる。
【０００９】
このように、従来にはＭＣＵに定義されている割り込みに関数を登録して、直接プログラムを遂行していた。したがって、インバータの中央処理装置（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｏｒ Ｕｎｉｔ；ＣＰＵ）が異なる度に割り込み関数を合わせるか又は分離するか又は改めて定義しており、割り込み関数の変更によりアプリケーションプログラムも修正しなければならなかった。
【００１０】
特に、あるメインプログラムでは、ＰＷＭのトップ（ｔｏｐ）又はボトム（ｂｏｔｔｏｍ）の区分なしに割り込みが発生して、他メインプログラムでは、トップとボトムが区分されて発生する場合もあるため、プログラムのリサイクル性が低下し、インバータの種類によって割り込みが異なる場合が発生する問題点がある。
【００１１】
また、図１ａ及び図１ｂのように、同じ機能の割り込み関数がインバータによって名称及び構成が異なるため、割り込み関数だけでは何の機能を行うかが分かりにくく、ソフトウェア分析が難しくなる問題点がある。
【００１２】
また、一つの割り込み関数で複数の機能を行わなければならない場合は、コードの複雑度が上がり、ソフトウェアの品質が落ちるし、機能を追加するか削除する場合は、コードの参照度が複雑になる問題点がある。
【００１３】
結局、これはインバータの品質低下を引き起こし、インバータソフトウェアの開発期間が延びるという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明が解決しようとする技術的課題は、インバータのエンベデッドソフトウェアでの割り込みを機能別に抽象化することで、ＭＣＵに関係なくソフトウェアの具現が可能であり、ソフトウェアのリサイクル性を高めることで、開発期間を短縮してコード品質を向上する、インバータでの割り込み制御方法を提供することである。
【００１５】
また、本発明が解決しようとする他技術的課題は、機能の使用可否により機能別割り込み関数の遂行可否が決定されるようにすることで、ソフトウェアの遂行効率性を高めるインバータでの割り込み制御方法を提供することである。
【課題を解決するための手段】
【００１６】
前記のような技術的課題を解決するために本発明の一実施形態のインバータでの割り込み制御方法は、インバータの動作時に制御部がメインソフトウェアを行う段階；インバータの動作中に前記制御部が割り込み発生を確認する段階；前記制御部が前記メインソフトウェアで発生した割り込みの種類を分析する段階；前記制御部が前記割り込みを機能別割り込みアイディー（ＩＤ）へ変換する段階；及び前記割り込みＩＤが既登録の割り込みＩＤである場合は、前記制御部が前記既登録の割り込みＩＤに対応する割り込み関数を行う段階を含んでもよい。
【００１７】
本発明の一実施形態において、前記割り込みの種類を分析する段階は、前記メインソフトウェアがどのような状態にあるときに前記割り込みが発生したかを分析することができる。
【００１８】
本発明の一実施形態の割り込み制御方法は、前記割り込みＩＤが未登録の割り込みＩＤである場合は、前記メインソフトウェアを行う段階にリターンする段階をさらに含んでもよい。
【００１９】
本発明の一実施形態の割り込み制御方法は、前記割り込みＩＤの機能がイネーブルであるか判断する段階をさらに含んでもよい。
【００２０】
前記割り込みＩＤの機能がディセーブルである場合は、前記メインソフトウェアを行う段階にリターンする段階をさらに含んでもよい。
【００２１】
本発明の一実施形態の割り込み制御方法は、機能別に分類された割り込みＩＤと、これに対応する割り込み関数をそれぞれ貯蔵する段階をさらに含んでもよい。
【発明の効果】
【００２２】
前記のような本発明は、一般に、ＭＣＵ別にそれぞれ定義される割り込みを機能別割り込みＩＤへ変換することで、ＭＣＵに関係なくソフトウェアを具現できるところ、ソフトウェアの開発期間を短縮することができるという効果がある。
【００２３】
また、本発明は、同じＭＣＵの割り込みに対して様々な機能が一つの関数で行なわれる場合は、機能別に関数を分離することで、ソフトウェアの品質を向上するという効果がある。
【００２４】
また、本発明は、機能の使用（イネーブル）可否によって従属している割り込み関数の遂行可否を決定することで、ソフトウェア遂行の効率性を向上するという効果がある。
【図面の簡単な説明】
【００２５】
【図１ａ】従来のエンベデッドソフトウェアの割り込みを説明するための例示図。
【図１ｂ】従来のエンベデッドソフトウェアの割り込みを説明するための例示図。
【図２】本発明の一実施形態のインバータエンベデッドソフトウェアの機能別割り込み管理装置を説明するための一例示図。
【図３】本発明の一実施形態のインバータエンベデッドソフトウェアの機能別割り込み管理方法を説明するための流れ図。
【図４】本発明の一実施形態により本発明の適用例を説明するための一例示図。
【発明を実施するための形態】
【００２６】
本発明の構成及び効果を充分理解するために、添付図面を参照して本発明の望ましい実施形態等を説明する。しかし、本発明は、以下に開示される実施形態に限定されるものではなく、様々な形態に具現されることができ、多様な変更を加えることができる。但し、本実施形態に対する説明は、本発明の開示を完全なものにして、本発明が属する技術分野における通常の知識を有した者に発明の範疇を完全に知らせるために提供されるものである。添付図面における構成要素は、説明の便宜のためそのサイズを実際より拡大して図示しており、各構成要素の割合は、誇張されるか縮小されてもよい。
【００２７】
ある構成要素が他構成要素の「上に」あるか「接して」いると記載された場合は、他構成要素の上に直接当接しているか又は連結されていてもよいが、中間にさらに他構成要素が存在してもよいと理解しなければならない。一方、ある構成要素が他構成要素の「真上に」あるか「直接接して」いると記載された場合は、中間にさらに他構成要素が存在しないものと理解されてもよい。構成要素間の関係を説明する他表現、例えば、「〜間に」及び「直接〜間に」等も同様に解釈されてもよい。
【００２８】
「第１」、「第２」等の用語は、多様な構成要素を説明するに用いられるが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他構成要素から区別する目的としてのみ用いられる。例えば、本発明の権利範囲を脱しないながら「第１の構成要素」は「第２の構成要素」に命名されてもよいし、同様に「第２の構成要素」も「第１の構成要素」に命名されてもよい。
【００２９】
単数の表現は、文脈上明白に別に表現しない限り、複数の表現を含む。「含む」又は「有する」等の用語は、明細書上に記載の特徴、数字、段階、動作、構成要素、部分品又はこれらを組み合わせたものが存在することを指定するためのものであり、一つ又はそれ以上の他特徴や数字、段階、動作、構成要素、部分品又はこれらを組み合わせたものが付加できるものと解釈されてもよい。
【００３０】
本発明の実施形態で用いられる用語は、別に定義されない限り、当該技術分野で通常の知識を有した者に通常知られた意味に解釈されてもよい。
【００３１】
以下、添付図面を参照して本発明の望ましい実施形態を説明することで、本発明を詳細に説明する。
【００３２】
図２は、本発明の一実施形態のインバータエンベデッドソフトウェアの機能別割り込み管理装置を説明するための一例示図である。
【００３３】
図面に図示されたように、本発明の一実施形態の装置は、制御部１０及び貯蔵部２０を含んでもい。また、貯蔵部２０は、割り込みアイディー（ＩＤ）貯蔵部２１及び割り込み関数貯蔵部２３を含んでもよい。割り込みＩＤ貯蔵部２１にはタスク別に用いる機能の割り込みＩＤが貯蔵されてもよいし、割り込み関数貯蔵部２３には機能別割り込み関数が貯蔵されてもよい。このとき、各機能の割り込みＩＤと割り込み関数は互いに対応するよう貯蔵されてもよい。すなわち、割り込みＩＤ貯蔵部２１と割り込み関数貯蔵部２３は、別の構成要素に図示されているが、各機能別に対応するよう一つの構成要素からなされてもよい。
【００３４】
また、本発明の貯蔵部２０は、割り込みＩＤ貯蔵部２１と割り込み関数貯蔵部２３のいずれかのみ含んでもよい。例えば、本発明の貯蔵部２０は、割り込みＩＤ貯蔵部２１のみ含み、割り込み関数貯蔵部２３は、貯蔵部２０と別に存在してもよい。但し、説明の便宜のため本発明では、貯蔵部２０が割り込みＩＤ貯蔵部２１と割り込み関数貯蔵部２３を全て含むことを例に挙げて説明する。
【００３５】
制御部１０は、本発明の機能別割り込み管理方法を行うものであり、例えば、マイクロ制御ユニット（ＭＣＵ）又は中央処理ユニット（ＣＰＵ）であってもよい。以下、図面を参照して制御部１０の動作を詳細に説明する。
【００３６】
図３は、本発明の一実施形態のインバータエンベデッドソフトウェアの機能別割り込み管理方法を説明するための流れ図であり、図２の制御部１０の動作を中心に示したものである。
【００３７】
図２及び図３を参照すると、制御部１０は使用者の入力により、インバータでタスク（ｔａｓｋ）別に用いる機能の割り込みＩＤと割り込み関数を、それぞれ割り込みＩＤ貯蔵部２１及び割り込み関数貯蔵部２３に貯蔵することができる（Ｓ３１）。
【００３８】
以後、制御部１０は、インバータの動作時にメインソフトウェアを行ううちに（Ｓ３２）、割り込みが発生したことを確認すると（Ｓ３３）、割り込みの種類及び現在ソフトウェアの状態を分析することができる（Ｓ３４）。すなわち、制御部１０は、割り込みが発生した場合は、どのような割り込みが発生したか、そして、この割り込みがメインソフトウェアがどのよな状態にある時に発生したかを分析して、どのような割り込みを発生させるか判断することができる。
【００３９】
この際、割り込みの種類は、例えばパルス幅変調（ＰＷＭ）キャリアにより発生する割り込みであってもよいし、タイマーカウントにより発生する割り込みであってもよいし、ＰＷＭ外部遮断信号であるＰＤＰ割り込みであってもよいし、ＰＷＭアップロード割り込みであってもよいし、アームショート検出割り込みであってもよいし、過電流検出割り込みであってもよいし、過電流抑制検出割り込みであってもよい。このように、制御部１０が分析できる割り込みの種類は様々であり、このような割り込みの種類を分析するためカウンター（未図示）から信号を受信するか、又は制御部１０自ら割り込みを検出することができる。
【００４０】
以後、制御部１０は、当該割り込みを機能別割り込みＩＤへ変換して（Ｓ３５）、変換した割り込みＩＤが割り込みＩＤ貯蔵部２１に機能別に貯蔵（すなわち、登録）されているか否かを確認することができる（Ｓ３６）。すなわち、制御部１０は、変換された割り込みＩＤを割り込みＩＤ貯蔵部２１に既登録の割り込みＩＤと比較することができる。この際、割り込みＩＤ貯蔵部２１に未登録の割り込みＩＤである場合は、使用しない機能の割り込みであるため、これを無視して再びメインソフトウェアを行う段階（Ｓ３２）にリターンすることができる。もし割り込みＩＤ貯蔵部２１に登録済みの割り込みＩＤである場合は、当該機能がイネーブル（ｅｎａｂｌｅ）であるか判断することができる（Ｓ３７）。割り込みイネーブル（ｉｎｔｅｒｒｕｐｔ ｅｎａｂｌｅ）とは、メインソフトウェアの遂行中に中断されてはならない重要な処理作業のために、暫定的にディセーブル（ｄｉｓａｂｌｅ）された割り込みが再び可能にするものであり、このように重要な処理作業が行われた後、再び正常状態に戻されて、割り込みが受付される状態を割り込みイネーブルと言う。制御部１０は、外部信号又は使用者の選択によりメインソフトウェアの遂行中、割り込みイネーブルを受信することができるが、この際に割り込みディセーブルである場合は、改めてメインソフトウェアを行う段階（Ｓ３２）にリターンすることができる。もし割り込みイネーブルである場合は、割り込み関数貯蔵部２３に貯蔵（すなわち、登録）された機能別割り込み関数を行うことができる（Ｓ３８）。
【００４１】
図４は、本発明の一実施形態により本発明の適用例を説明するための一例示図である。
【００４２】
図２及び図４を参照すると、制御部１０は、メインソフトウェア４１の遂行中、ＰＷＭアップロード割り込み４２ａ、タイマー割り込み４２ｂ、ＰＷＭブロック割り込み４２ｃ等、各種割り込み４２が発生すれば、本発明の機能別割り込み管理４３を始める。すなわち、制御部１０が割り込みを分析して、各種割り込みを機能別割り込みＩＤ４４へ変換することになる。
【００４３】
このように変換された割り込みＩＤを用いて、制御部１０は、当該割り込みＩＤに対応する割り込み関数４５を行うことができる。本発明の一実施形態において、例えば、ＰＷＭアップロード割り込みが発生した場合は（４２ａ）、 制御部１０は、当該ＰＷＭの上部（ＴＯＰ）で割り込みが発生したことを確認して、割り込みＩＤ「ＩＲＱ_ＰＷＭ_ＴＯＰ」４４ａへ当該割り込みを変換することができ、これに対応する［ＰｗｍＴｏｐＩｒｑ（）] 関数４５ａを行うことができる。すなわち、割り込みＩＤに対応する割り込み関数を容易に行うことができる。
【００４４】
本発明の一実施形態において、割り込みＩＤとこれに対応する割り込み関数が様々提示されているが、これは例示的なものであり、本発明がこれに限定されるものではないことは自明である。
【００４５】
このように、本発明は、一般的にＭＣＵ別にそれぞれ定義される割り込みを機能別割り込みＩＤへ変換することで、ＭＣＵに関係なくソフトウェアを具現することができ、ソフトウェア開発期間を短縮することができる。
【００４６】
また、本発明は、同じＭＣＵの割り込みに対して様々な機能が一つの関数で遂行される場合は、機能別に関数を分離することで、ソフトウェアの品質を向上することができる。
【００４７】
また、本発明は、機能の使用（イネーブル）可否により従属している割り込み関数の遂行可否を決定することで、ソフトウェア遂行の効率性を向上することができる。
【００４８】
以上、本発明による実施形態等を説明したが、これは例示的なものに過ぎず、当該分野で通常の知識を有する者であれば、これから多様な変形及び均等な範囲の実施形態が可能である点を理解するだろう。したがって、本発明の真正の技術的保護範囲は、次の特許請求の範囲により定めるべきである。
【図１ａ】
2018081667.tif 000003
【図１ｂ】
2018081667.tif 000004
【図２】
2018081667.tif 000005
【図３】
2018081667.tif 000006
【図４】
2018081667.tif 000007
【手続補正書】
【提出日】平成30年3月7日(2018.3.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インバータの動作時に制御部がメインソフトウェアを行う段階；
前記インバータの動作中に前記制御部が割り込み発生を確認する段階；
前記制御部が、前記メインソフトウェアで発生した割り込みの種類を分析する段階；
前記制御部が前記割り込みを機能別割り込みアイディー（ＩＤ）へ変換する段階；及び
前記割り込みＩＤが既登録の割り込みＩＤである場合は、前記制御部が前記既登録の割り込みＩＤに対応する割り込み関数を行う段階を含む割り込み制御方法。
【請求項２】
前記割り込みＩＤが未登録の割り込みＩＤである場合は、前記メインソフトウェアを行う段階にリターンする段階をさらに含む請求項１に記載の割り込み制御方法。
【請求項３】
既登録の割り込みＩＤである場合の変換された前記割り込みＩＤに対応する機能がイネーブルであるか判断する段階をさらに含む請求項１又は２に記載の割り込み制御方法。
【請求項４】
前記割り込みＩＤに対応する機能がディセーブルである場合は、前記メインソフトウェアを行う段階にリターンする段階をさらに含む請求項３に記載の割り込み制御方法。
【請求項５】
機能別に分類された割り込みＩＤと、これに対応する割り込み関数をそれぞれ貯蔵する段階をさらに含む請求項１ないし請求項４のいずれか１項に記載の割り込み制御方法。