(57)【要約】【課題】アナログ入力を用いる場合でも容易に正確に所望の設定値に設定できる。【解決手段】アナログ入力値を範囲分けした各分割範囲を決定しておく。これは、実際にはアナログ入力値をＡ／Ｄ変換したデジタル値（ＡＤ読込値）を同様に範囲分けしたものである。そして、各分割範囲毎に対応する設定値等を決定しておく。そして、入力するアナログ入力値が該当する分割範囲を判定することで、この分割範囲に対応する設定値が設定されたものとする。【選択図】  図３
2011135690.tif 000002
【特許請求の範囲】
【請求項１】
インバータ装置において、
該インバータ装置に対して任意の設定を行わせる為の機能部であって任意の設定量を示すアナログ値を出力するアナログ入力部と、
各分割範囲と該各分割範囲毎に対応する指令値とに基づいて、前記アナログ入力部が出力するアナログ値に応じた分割範囲を判定して該分割範囲に対応する前記指令値を出力する指令値決定手段と、
を有することを特徴とするインバータ装置。
【請求項２】
前記アナログ入力部が出力する前記アナログ値を入力して、該アナログ値をデジタル値に変換するＡ／Ｄ変換部を更に有し、
前記指令値決定手段は、該Ａ／Ｄ変換部が出力するデジタル値を入力して、デジタル値に関する所定範囲を複数に分割して成る各分割範囲と該各分割範囲毎に対応する指令値とに基づいて、前記入力したデジタル値に対応する分割範囲を判定して該分割範囲に対応する前記指令値を出力することを特徴とする請求項１記載のインバータ装置。
【請求項３】
前記各分割範囲間の境界に対してヒステリシスを設けることを特徴とする請求項１または２に記載のインバータ装置。
【請求項４】
任意に設定される分割数または分解能に基づいて、前記各分割範囲又は／及び該各分割範囲毎に対応する指令値を決定する処理内容変更手段を更に有することを特徴とする請求項１〜３の何れかに記載のインバータ装置。
【請求項５】
前記インバータ装置は、任意の電圧と周波数の交流電圧を生成・出力するインバータ回路を有しており、
アナログ入力部は、前記交流電圧の周波数を設定する為の可変抵抗器であり、
前記指令値は、前記交流電圧の周波数設定値であることを特徴とする請求項１〜４の何れかに記載のインバータ装置。
【請求項６】
インバータ装置における制御ユニットであって、
該インバータ装置に対して任意の設定を行わせる為の機能部であって任意の設定量を示すアナログ値を出力するアナログ入力部からの出力を入力して、各分割範囲と該各分割範囲毎に対応する指令値とに基づいて、前記入力したアナログ値に応じた分割範囲を判定して該分割範囲に対応する前記指令値を出力する指令値決定手段と、
を有することを特徴とするインバータ装置の制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インバータ装置に関する。
【背景技術】
【０００２】
インバータ装置は、交流電源（通常は商用電源）を入力して、この交流電圧を一旦直流電圧に変換した後、任意の電圧・周波数の交流出力に変換する装置である。
インバータ装置の構成は、よく知られており、一例が特許文献１等に開示されている。
【０００３】
特許文献１における従来技術（図３）に示されているように、インバータ装置は、コンバータ回路、平滑コンデンサ、インバータ回路、周波数設定器（通常は可変抵抗器）、マイクロコンピュータ等から成る。
【０００４】
コンバータ回路は、交流電源（通常は商用電源）からの交流電圧を三相全波整流して直流電圧に変換する。平滑コンデンサはコンバータ回路によって整流された直流電圧を更に純直流電圧に平滑する。インバータ回路は、この純直流電圧を、指定された電圧と周波数の交流出力に変換して負荷（誘導電動機等）へ出力する。
【０００５】
上記インバータ回路による交流出力の周波数は、マイクロコンピュータが指定するが、これは上記周波数設定器の設定内容に応じたものとなる。例えば、特許文献１の図４に示されるように、上記可変抵抗器に対してマイナスドライバーのような工具を用いて設定が行われることになる。特許文献１ではこの設定作業にロボットを用いるが、人間が行う場合もある。
【０００６】
また、周波数に限らず、負荷（誘導電動機）の加速時間、減速時間、出力周波数上限／下限リミット等も設定され、これらの設定量は通常、可変抵抗器により設定される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−３２８７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、上記のように可変抵抗器等を用いて設定を行う場合、可変抵抗器における設定量は上記マイクロコンピュータへのアナログ入力となり、マイクロコンピュータ内でＡ／Ｄ変換してこの設定量（デジタル値）を保持する。そして、この設定量に応じて上記インバータ回路に対する周波数指定制御等を行うことになる。
【０００９】
ここで、この様なアナログ入力は、分解能の高さを特徴としているが、分解能が高すぎることが原因となり、正確に所望の周波数に設定することが困難となる。これは、手作業の場合は勿論のこと、上記のようにロボットを用いる場合も困難となる。例えば、２０．００Hzに設定したいにも係わらず、例えば２０．０１Hzや１９．９９Hz等のように所望の周波数付近に設定することしかできない場合が多い。あるいは、外部から固定の低電圧源で入力するような方法もあるが、この場合でも正確な設定は困難となる。
【００１０】
この様な問題に対して、デジタル入力を行うことも考えられる。しかしながら、従来より上記のようにアナログ入力を用いるのは、顧客の利便性を考えてのことであり、アナロ
グ入力のままで使いたいという顧客の要望がある。よって、アナログ入力を用いて（可変抵抗器等を用いて）正確に所望の周波数に設定することを容易に行えるようにすることが要望されている。
【００１１】
尚、設定する対象は、周波数に限らず、例えば上記負荷（誘導電動機）の加速時間、減速時間、出力周波数上限／下限リミット等であってもよい。上記の通り、これらの設定もアナログ入力（可変抵抗器等）を用いるものである。
【００１２】
本発明の課題は、インバータ装置に係わる設定に関して、アナログ入力を用いる場合でも容易に正確に所望の設定値に設定することができるインバータ装置等を提供することである。
【課題を解決するための手段】
【００１３】
本発明のインバータ装置は、該インバータ装置に対して任意の設定を行わせる為の機能部であって任意の設定量を示すアナログ値を出力するアナログ入力部と、各分割範囲と該各分割範囲毎に対応する指令値とに基づいて、前記アナログ入力部が出力するアナログ値に応じた分割範囲を判定して該分割範囲に対応する前記指令値を出力する指令値決定手段とを有する。
【００１４】
従来では、各アナログ値に対応する指令値が決定されていた。指令値は、一例としては、上記インバータ回路の出力周波数等である。上述したように、アナログ入力は分解能が高過ぎる為、正確に所望の周波数に設定することが困難であった。
【００１５】
これに対して、本発明のインバータ装置では、任意の複数の分割範囲を決めておき且つ各分割範囲毎に対応する指令値を決めておく。これによって、アナログ入力値が該当する分割範囲に対応する指令値が、設定値として決定される。
【００１６】
例えば作業員等がアナログ入力部を操作する場合、作業員等は、アナログ入力値が、所望の設定値に対応する分割範囲の範囲内となるように操作を行えばよく、アナログ入力を用いる場合でも容易に正確に所望の設定値に設定することができる。アナログ入力値が任意の分割範囲内で多少変動しても、設定値が変動することはない。
【００１７】
但し、各分割範囲間の境界においては、アナログ入力値が多少変動することで、設定値が変動する可能性がある。これに対しては、境界部分にヒステリシスを設けることで問題を解消できる。
【００１８】
また、上記各分割範囲や該各分割範囲毎に対応する指令値を、例えば分割数を設定する等の簡単な設定を行うだけで、自在に変更させることもできる。
【発明の効果】
【００１９】
本発明のインバータ装置等によれば、アナログ入力を用いる場合でも容易に正確に所望の設定値に設定することができる。
【図面の簡単な説明】
【００２０】
【図１】本例のインバータ装置の構成図である。
【図２】Ａ／Ｄ変換の一例を示す図である。
【図３】デジタル値−デジタル値変換で４分割の例について説明する為の図である。
【図４】ヒステリシスを適用する例について説明する為の図である。
【図５】本例のインバータ装置の機能ブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本例のインバータ装置の構成図である。但し、インバータ装置の一部の構成のみを示している。つまり、インバータ装置における上記マイクロコンピュータと周波数設定器（可変抵抗器等）等のアナログ入力部に相当する部分のみを示している。
【００２２】
すなわち、図１に示すインバータ装置１は、ＣＰＵ２、アナログ入力部３を有する。これら以外の構成は省略するが、例えば上記従来技術で説明した通り、コンバータ回路、平滑コンデンサ、インバータ回路等を更に有するものである。ＣＰＵ２は、主にインバータ回路を制御するものであり、インバータ回路は、例えばＣＰＵ２による制御に応じた電圧と周波数の交流電圧を生成して、負荷等へ出力する。
【００２３】
アナログ入力部３は、例えば一例としては上記インバータ回路の出力周波数を設定する為の周波数設定器（通常は可変抵抗器）であるが、この例に限らない。従来技術で述べた通り、ＣＰＵ２（マイクロコンピュータ）に対する設定には、様々なものがあり、上記の例では負荷の加速時間、減速時間、出力周波数上限／下限リミット等があり、これらも可変抵抗器等を用いて設定される。但し、ここでは、アナログ入力部３が周波数設定器である例を用いて説明する。
【００２４】
また、アナログ入力部３は、作業員等の人間が操作するケース、上述した従来技術のようにロボットを用いる場合等が考えられるが、ここでは主に人間が操作するケースを想定して説明する。
【００２５】
作業員等がアナログ入力部３を操作して任意の設定をすることで、この設定量がＣＰＵ２にアナログ入力される。ＣＰＵ２は、Ａ／Ｄ変換機能部４を有しており、このアナログ入力値をＡ／Ｄ変換してデジタル値にして、これを一旦、不図示の内蔵メモリ等に格納する。
【００２６】
図２に、このＡ／Ｄ変換の一例を示す。
図示の例では、アナログ入力値は、０Ｖ〜１０Ｖの範囲内の電圧値となっている。また、ここではＡ／Ｄ変換機能部４は、１２bitのデジタル信号に変換するものとする。つまり、4095を最大値として、‘０／4095’〜‘4095/4095’までの各値を出力する（尚、分母の４０９５は単に最大値を表記しているだけであり、Ａ／Ｄ変換機能部４の出力値は分子の値となる）。図示の例では、例えばアナログ入力値＝１０Ｖに対してはデジタル値‘4095/4095’が出力され、アナログ入力値＝５Ｖに対してはデジタル値‘2048/4095’が出力され、アナログ入力値＝０Ｖに対してはデジタル値‘０/4095’が出力される。
【００２７】
尚、アナログ入力値とデジタル値とは、実質的には同じものと考えてよい。つまり、上記アナログ入力部３による操作量を示すという点では同じである。
ＣＰＵ２は、従来においては例えば不図示のデジタル値−周波数変換機能を有しており、デジタル値と周波数とを１対１の関係で変換して、この周波数を設定値として上記内蔵メモリ等に記憶する。そして、この設定周波数に基づいてインバータ回路を制御する。
【００２８】
デジタル値を周波数に変換する方法は、例えば予め設定される所定の演算式を用いて算出する、あるいは予め登録されている“デジタル値と周波数とを対応付けたテーブル”を
用いる等の方法がある。何れにしても、従来では、例えば、デジタル値‘2048/4095’に対しては20.00Hz、‘2047/4095’に対しては19.99Hz、‘2049/4095’に対しては20.01Hz等となっている。つまり、各デジタル値に対して1対１で対応する周波数が決まることになる。
【００２９】
この様な構成の為、上記の通り従来では、例えば20.00Hzに設定したい場合でも正確に20.00Hzに設定することは困難である。
これに対して、本手法では、上記アナログ入力部３による操作量（アナログ入力値；デジタル値）に応じた設定値（周波数等）を決定する処理として、以下に述べる手法を用いることで、アナログ入力を用いる場合でも容易に所望の周波数に正確に設定することが可能となる。
【００３０】
まず、ＣＰＵ２において、上記内蔵メモリ等に予め所定のアプリケーションプログラムが記憶されている。そして、ＣＰＵ２が、このアプリケーションプログラムを実行することで、設定周波数を決定する。
【００３１】
以下、具体例について説明する。尚、この例では、アナログ入力（電圧）が０Ｖ（MIN）〜１０Ｖ（MAX）の範囲であり、これに応じた周波数が０Hz（MIN）〜６０Hz（MAX）の範囲であるものとする。つまり、０Ｖ（MIN）に対しては00.00Hz（MIN）、１０Ｖ（MAX）に対しては60.00Hz（MAX）が対応付けられ、例えば５Ｖに対しては30.01Hzが対応付けられるものとする。
【００３２】
この例において上記アプリケーションプログラムの一例を以下に示す。
「  Int AnalogInput;
If (0 <= AnalogInput <=30.00)｛AnalogInput = 15.00;｝
Else AnalogInput = 45.00                                          」
上記プログラム例では、上記のようにアナログ入力値に応じたデジタル値を周波数に変換した後、この周波数値を当該プログラム処理への入力（AnalogInput）とするものである。上記の例では、入力する周波数が00.00Hz〜30.00Hzの範囲内の周波数（例えば、19.85Hz等）である場合には、周波数＝15.00Hzが出力されることになる。また、入力する周波数が30.01Hz〜60.00Hzの範囲内の周波数（例えば、39.85Hz等）である場合には、周波数＝45.00Hzが出力されることになる。
【００３３】
ＣＰＵ２は、このプログラム処理結果（周波数＝15.00Hzまたは45.00Hz）を、設定周波数（入力指令値）として内蔵メモリ等に記憶する。そして、この設定周波数に基づいてインバータ回路を制御する。
【００３４】
上記のプログラム例は、本質的には、アナログ入力（電圧）が５Ｖ未満（対応する周波数が00.00Hz〜30.00Hzの範囲内）である場合には設定周波数を15.00Hzと見做し、アナログ入力（電圧）が５Ｖ以上（対応する周波数が30.01Hz〜60.00Hzの範囲内）である場合には設定周波数を45.00Hzと見做すように、条件分岐文が作成されている。これは、設定周波数が、15.00Hzと45.00Hzの何れかであることを前提とした単純な例であるが、この様にすることで、アナログ入力部３に対してきめ細かい操作を行わなくても、所望の周波数（15.00Hzと45.00Hzの何れか）に正確に設定することが可能となる。
【００３５】
尚、本手法は、幾つかの決まった周波数に設定した場合に対応するものであり、上記15.00Hzや45.00Hzはその一例である。
尚、上記の通り、本手法は本質的には、アナログ入力値（操作量）を範囲分けして、各範囲毎に１つの設定周波数候補を割り当てておくことであり、実際の処理の一例として上記の例のように周波数を範囲分けしている。
【００３６】
よって、この様な例に限らず、例えば後述するようにデジタル値を範囲分けして同様の処理を行っても良いが、何れにしても、本手法では、アナログ入力値（操作量）に対応する何らかの値（周波数、デジタル値等）を範囲分けした条件分岐ブロックを構成することで、アナログ入力値（電圧値）の各範囲毎に設定周波数が決定されることになり、アナログ入力値（電圧値）に関して各範囲内で値が変化してもそれによって設定周波数が変化することはなく、容易に周波数設定を行えるようになる。
【００３７】
上記のように、上述したプログラム例は一例であり、この例に限るものではない。例えば、上記プログラム例は、ある意味、周波数−周波数変換を行うものと言えるが、この例に限らず、例えばデジタル値−周波数変換や、デジタル値−デジタル値変換を行うようにしてもよい。
【００３８】
例えば、上記プログラム例では、一旦、デジタル値を周波数に変換した後に処理を行っているが、デジタル値−周波数変換処理自体を、本例のプログラム処理で行うようにしてもよい。例えば、上記周波数30.00Hzに対応するデジタル値が仮に‘2048/4095’であったとしたならば、上記プログラム例における(0 <= AnalogInput <=30.00)を、(0<= AnalogInput <=2048)に置き換えて、デジタル値をこのプログラム処理への入力（AnalogInput）とすればよい。
【００３９】
また、上記のプログラム例は周波数−周波数変換であるので、入力、出力とも同じ変数（AnalogInput）を用いたが、上記デジタル値−周波数変換の場合には出力の変数を例えば‘Output’等としてもよい。すなわち、以下のようなプログラム例としてもよい。
「  Int AnalogInput;
If (0<= AnalogInput <=2048)｛Output = 15.00;｝
Else Output = 45.00                                        」
（但し、AnalogInputはデジタル値とする）
あるいは、上記デジタル値−デジタル値変換の場合には、例えば、
「  Int AnalogInput;
If (0 <= AnalogInput <=2048)｛AnalogInput = 1024;｝
Else AnalogInput = 3072  」    
等とすればよい。つまり、デジタル値を範囲分けして複数の分割範囲を設け、各分割範囲毎に１つのデジタル値を対応付ける。勿論、その後、このプログラム処理の出力（1024または3072）を、周波数に変換する処理を行い、これを設定周波数とする。
【００４０】
この様に方法は様々であってよいが、本質的には、アナログ入力値に対応する値（それがデジタル値であるか周波数であるかは関係なく）を範囲分けして各分割範囲毎に設定周波数が決定されるようにしており、これによってユーザ操作等によるアナログ入力値が正確な値（所望の設定周波数に対応する値）でなくても所望の設定周波数に設定することができ、従来の問題を解決できる。
【００４１】
この様に、本手法では実質的に、アナログ入力部３への操作に応じて決まる値に関して、複数の範囲に分割して、各分割範囲毎に任意の設定周波数を登録しておくことで、アナログ入力部３への操作に関して微妙な調整操作等は必要なく、容易に所望の設定周波数を指示することができるようになる。
【００４２】
ここで、上記プログラム例は、対象周波数範囲である０Hz（MIN）〜６０Hz（MAX）を２つに分割した例であり、非常に簡単な例を示したものと言える。
例えば、対象周波数範囲である０Hz（MIN）〜６０Hz（MAX）を５分割した場合には、以下のプログラム例が考えられる。
【００４３】
「  Int AnalogInput;
If (0 <= AnalogInput < 12.00)｛AnalogInput = 6.00;｝
If (12.00 <= AnalogInput < 24.00)｛AnalogInput = 18.00;｝
If (24.00 <= AnalogInput < 36.00)｛AnalogInput = 30.00;｝
If (36.00 <= AnalogInput < 48.00)｛AnalogInput = 42.00;｝
If (48.00 <= AnalogInput <= 60.00)｛AnalogInput = 54.00;｝」
尚、上記２分割、５分割のプログラム例は、何れも、各分割範囲毎にその分割範囲の中間値を設定周波数としている。例えば、２４Hz〜３６Hzの範囲に関しては、その中間値＝（３６＋２４）／２＝３０が、上記の通り設定周波数となっている。但し、この例に限るものではない。例えば、分割範囲毎にその最大値または最小値を設定周波数にしてもよいし、分割範囲内の任意の値を設定周波数にしてもよい。何れにしても、プログラマが任意に決めてよい。
【００４４】
尚、上記分割範囲は、所定の対象範囲（上記対象周波数範囲、あるいは対象デジタル範囲（例えば０〜4095）等）を、複数に分割したものであるが、これは上記のことから本質的にはアナログ入力部３による操作量（アナログ入力値；例えば０〜１０Ｖ）を、複数に分割したものと言える。これより、上記図２や後述する図３では、横軸にアナログ入力値を示すことで、本質的なことについてイメージを示している。但し、既に述べた通り、実際の処理では、デジタル値や周波数値を用いるものである。
【００４５】
何れにしても、アナログ入力値（これに１対１で対応するデジタル値や周波数等）では分解能が高すぎるので、幾つかの決まった周波数に設定したい場合等には、設定が困難であった為、本手法では認識に幅を持たせるようにしており、一例として上記分割範囲と各分割範囲に対応する設定周波数を用いるようにしている。例えば、上記５分割のプログラム例では、５段階の各レベルでのみ認識する。
【００４６】
図３は、上記デジタル値−デジタル値変換の例において４分割の例を適用した場合について説明する為の図である。
図３では、横軸にアナログ入力（電圧）を示し、縦軸にデジタル値を示す。アナログ入力値（電圧値）−デジタル値の関係が、図示の直線（比例）で示されている。尚、これ自体は、従来のＡ／Ｄ変換の具体例を示しているだけである。
【００４７】
そして、本例では、例えば図上点線で示すように、アナログ入力値（電圧値）を複数の範囲に分割している。これは図示の通り、アナログ入力値（電圧値）に対応するデジタル値も同様に分割されることを意味する。
【００４８】
図示の例では、アナログ入力値（電圧値）は０Ｖ〜１０Ｖの範囲を有し、これを０〜２．５Ｖ、２．５〜５．０Ｖ、５．０〜７．５Ｖ、７．５〜１０Ｖの４つの分割領域に分割している。尚、例えば２．５〜５．０Ｖは、２．５以上５．０Ｖ未満を意味するものとする。
【００４９】
また、上記と同様、このアナログ入力を１２bitのデジタル信号に変換するものとする。つまり、4095を最大値として、‘０／4095’〜‘4095/4095’までの各デジタル値が生成されるものとする。よって、上記各アナログ入力値（電圧値）＝０Ｖ、２．５Ｖ、５．０Ｖ、７．５Ｖ、１０Ｖに対応するデジタル値は、‘０／4095’、‘1024／4095’ ‘2048／4095’ ‘3072／4095’、‘4095/4095’となる。
【００５０】
上記のようにアナログ入力値を４つの分割領域に分割することは、実際の処理では例えばデジタル値に関してその最小値〜最大値までの範囲を４つの分割範囲に分割することを
意味する。すなわち、図示の通り、‘０／4095’〜‘1024／4095’、‘1024／4095’〜‘2048／4095’、‘2048／4095’〜‘3072／4095’、‘3072／4095’〜‘4095/4095’の４つの分割領域に分割されるものとなる。
【００５１】
そして、ここでは一例として上記デジタル値−周波数変換処理を行う場合を例にすると、例えば一例としては各分割領域毎にその中間値に対応する周波数を設定周波数に設定しておく。図示の例では、例えば、分割領域‘０／4095’〜‘1024／4095’に関しては、その中間値‘512／4095’に対応する周波数を仮に１０Hzとするならば図示の通りこの分割領域に対しては設定周波数＝１０Hzを設定しておく。同様に、例えば、分割領域‘1024／4095’〜‘2048／4095’に関しては、その中間値‘1536／4095’に対応する周波数を仮に２０Hzとするならば図示の通りこの分割領域に対しては設定周波数＝２０Hzを設定しておく。他の分割領域についても同様であり、図示の例では分割領域‘2048／4095’〜‘3072／4095’に関しては設定周波数＝３０Hz、分割領域‘3072／4095’〜‘4095/4095’に関しては設定周波数＝４０Hzが、それぞれ設定されることになる。
【００５２】
尚、これは、アナログ入力値に関して考えれば図示の通り、０〜２．５Ｖに関しては設定周波数＝１０Hzとなり、２．５〜５．０Ｖに関しては設定周波数＝２０Hzとなり、５．０〜７．５Ｖに関しては設定周波数＝３０Hzとなり、７．５〜１０Ｖに関しては設定周波数＝４０Hzとなる。よって、ユーザは、例えば設定周波数＝２０Hzとしたい場合には、アナログ入力値（電圧値）が２．５〜５．０Ｖの範囲内の任意の値となるように操作すればよく、微妙な調整操作等は必要なく、手間が掛からず容易に正確に所望の設定周波数を指定することができる。
【００５３】
ここで、上記プログラムは、例えば予めプログラマ等が不図示の一般的なコンピュータ（パソコン等）を用いて自由に作成する。そして、作成したプログラムをインバータ装置１にダウンロードする等してそのＣＰＵ２の内臓メモリ等に記憶させる。
【００５４】
しかしながら、特に頻繁にプログラムを変更したい場合、逐一、プログラムを作成するのは手間が掛かるものである。また、現場において作業員等が、使い難い等の理由により変更を行いたい場合もある。例えば上記のように５分割であったものを１０分割にしたい等という場合もある。
【００５５】
この様なことに対応して、上記プログラムを容易に作成／変更可能にする機能（プログラム自動作成／変更機能というものとする）を、上記コンピュータ（パソコン等）またはインバータ装置１に付加することを提案し、以下に説明する。尚、図示していないが、従来より、インバータ装置１にはユーザが手動で簡単な入力を行える操作パネルが設けられている。
【００５６】
以下の説明では、まず前提として、上記コンピュータ（パソコン等）上でプログラマが上記プログラムの雛形を作成しておくものとする。この雛形の一例を以下に示す。
「  Int AnalogInput;
If (ａ <= AnalogInput < ｂ)｛AnalogInput = ｃ;｝」
上記ａ，ｂ，ｃは、変数である。
【００５７】
そして、上記プログラム自動作成／変更機能では、まず、対象範囲（最小値、最大値）を設定させる。上記の例では例えば対象周波数範囲（最小値、最大値）を設定させる。上記の０Hz（MIN）〜６０Hz（MAX）の例では、最小値＝０、最大値＝６０が設定されることになる。
【００５８】
また、各分割範囲を設定させる。この設定方法は様々であり、例えば分割数（分割した
い段数）を設定させたり、分解能（何Hz刻みとするか）を設定させる等の方法が考えられる。
【００５９】
例えば、分割数を設定させる例の場合、指定された分割数（段数）で自動的に上記対象周波数範囲を一定分割する。ユーザは例えば上記の例のように５分割したい場合には分割数＝‘５’を入力する。上記機能では、この分割数と上記対象周波数範囲に応じて、各分割範囲を決定し、更に各分割範囲毎に対応する設定周波数を決定する。分割範囲に対応する設定周波数の決定アルゴリズムは、様々であってよく、上述したように分割範囲の中間値、あるいは最大値や最小値等とする。ここでは、上記プログラム例に従って中間値とする例を用いて説明する。
【００６０】
上記の例では、対象周波数範囲（０Hz（MIN）〜６０Hz（MAX））を５分割することになるので、６０／５＝１２Hz刻みとなる。これより、０〜１２Hz、１２〜２４Hz、２４〜３６Hz、３６〜４８Hz、４８〜６０Hzの各分割範囲が決定される。そして、各分割範囲毎に対応する設定周波数を決定するが、上記の通りここでは中間値を用いるので、各分割範囲毎にその最大値max、最小値minを用いて、設定周波数＝（min＋max）／２を算出する。例えば、１２〜２４Hzの分割範囲の例の場合、設定周波数＝（１２＋２４）／２＝１８となる。
【００６１】
この様にして分割範囲（その最大値max、最小値min）と設定周波数が決定されたら、これらの値を上記変数a,b,cに代入する。勿論、その際、上記条件分岐文「If (ａ <= AnalogInput < ｂ)｛AnalogInput = ｃ;｝」は、分割範囲の数の分だけ生成（コピー）する。上記の例では、上記条件分岐文が５行生成される。そして、各行毎に１つの分割範囲を割り当てて、この分割範囲の最大値max、最小値minと設定周波数を、上記変数a,b,cに代入する。
【００６２】
この様にして、ユーザは、分割数を設定するだけで、所望の分割範囲とそれに応じた設定周波数から成るプログラムが生成されることになる。尚、通常、対象周波数範囲は変更されるようなものでないので、上記雛形作成の際などに設定しておき、上述した機能では対象周波数範囲の設定は行わないようにしてもよい。
【００６３】
尚、設定周波数に関しては、上述した処理では各分割範囲毎に自動決定したが、この例に限らず、例えば作業員等が上記操作パネル等から任意に設定できるようにしてもよい。
上記のように、分割範囲の設定方法としては、分解能（何Hz刻みとするか）を設定させる方法であってもよい。つまり、上記分割数を設定する方法では、例えば５分割と設定することで、１２Hz刻みと判定したが、直接、１２Hz刻みと設定するようにしてもよい。これは、逆に言えば、例えば１Hz刻みと設定した場合には、上記対象周波数範囲が０Hz（MIN）〜６０Hz（MAX）の例では、６０分割することに相当するものとなる（分割範囲の数が６０個となる）。
【００６４】
尚、プログラマは、上記パソコン上で上記プログラムの雛形を作成した際に、上記分割数や分解能のデフォルト値も設定しておくことが望ましい。そして、インバータ装置１にプログラムの雛形にダウンロードする際に、このデフォルト値も一緒にダウンロードする。これより、インバータ装置１側では、作業員等が分割数や分解能を設定しない限り、このデフォルト値を用いて、上記分割範囲の決定やこれに基づくプログラム生成を行うことになる。
【００６５】
また、上記プログラム自動作成／変更機能をコンピュータ（パソコン等）上に搭載する例では、この機能によって生成したプログラムを、インバータ装置１側にダウンロードすることになる。この機能をインバータ装置１側に搭載する場合には、この機能によって生
成したプログラムを、ＣＰＵ２の内蔵メモリ等に格納することになる。
【００６６】
ここで、更に、アナログ値の上昇時と下降時とにヒステリシスを設けることで、分割範囲の狭間におけるハンチングを回避するようにしてもよい。これは、よく知られているように一般的なヒステリシス・コンパレータを用いる等して実現できる。あるいは、ヒステリシス・コンパレータと同様の機能を実現するプログラムによっても実現できる。
【００６７】
上記ヒステリシス適用の例の場合、ユーザによる設定内容は、例えば上述した分割数または分解能（刻み幅；何Hz刻みか）等に加えて、更にヒステリシス幅としてもよい。
例えば一例として対象周波数範囲は上記の例と同様に‘０〜６０Hz’とし、分割数＝‘６’（この例では刻み幅＝１０Hzとしても同じである）、ヒステリシス幅＝２Hzを設定したものとする。この設定例に応じた分割範囲や閾値のイメージを図４に示す。
【００６８】
分割数＝‘６’であるので図示の通り６つの分割範囲が決まり、各分割範囲の境界値は、周波数でいうと１０Hz、２０Hz、３０Hz、40Hz、５０Hzとなる。また、この境界値は、アナログ入力値でいうと例えば２０Hzに対応する値は、図４の様に３．３Ｖであるものとする。
【００６９】
また、ヒステリシス幅＝２Hzは、例えば“４０９５／６０Hz”を乗ずることで、デジタル値に変換したうえで処理実行してもよい。また、図４では、アナログ値を用いて説明するものとし、ここでは仮に、上記ヒステリシス幅＝２Hzに対応するヒステリシス幅が図示のα（Ｖ）であるものとして説明する。但し、これは説明の都合上であり、実際の処理では、上記設定されたヒステリシス幅＝２Hzあるいはこれをデジタル値に変換した値を用いて処理を行うことになる。
【００７０】
上述した各境界値毎に上記ヒステリシス幅＝αを用いて２つの閾値（境界値±α／２）が決定されることになる。例えば上記境界値３．３Ｖに関しては“３．３＋α／２”Ｖと“３．３−α／２”Ｖの２つの閾値が決定する。
【００７１】
“３．３＋α／２”Ｖはアナログ値の上昇時に対応する閾値となり、“３．３−α／２”Ｖはアナログ値の下降時に対応する閾値となる。ここでは、α＝０．４Ｖとするならば、上昇時の閾値＝３．３＋０．２＝３．５Ｖ、下降時の閾値＝３．３−０．２＝３．１Ｖとなる。
【００７２】
上記の例を用いて説明するならば、まずヒステリシスを用いない場合であって上記境界値（＝３．３Ｖ）を例にして、この境界値（＝３．３Ｖ）を境とした前後の分割領域、すなわち図４に示す分割範囲Ａと分割範囲Ｂとを例にして説明する。そして、仮に、分割範囲Ａに対応する設定周波数＝１０Hz、分割範囲Ｂに対応する設定周波数＝２０Hzとする。
【００７３】
この例の場合、アナログ入力値を境界値（３．３Ｖ）付近とした場合、アナログ入力値が３．３Ｖ前後で微妙に上下する場合、設定周波数が１０Hzと２０Hzとにふらつき、安定しないという問題が生じる。つまり、分割範囲の狭間におけるハンチングが生じる。
【００７４】
これに対して、ヒステリシスを適用する場合には、上記の例において例えばアナログ入力値を２．８Ｖ程度（１０Hz）から徐々に上昇させた場合、アナログ入力値が下降時の閾値＝３．１Ｖを越えても出力（設定周波数）は変化せず１０Hzのままであり、アナログ入力値が上昇時の閾値＝３．５Ｖを越えたときに出力（設定周波数）が２０Hzに変化する。また、その後にアナログ入力値を下降させた場合にも、アナログ入力値が上昇時の閾値＝３．５Ｖ未満となっても出力（設定周波数）は変化せず２０Hzのままであり、アナログ入力値が下降時の閾値＝３．１Ｖ未満となったときに出力（設定周波数）が１０Hzに変化す
る。
【００７５】
以上の動作は、一般的なヒステリシス・コンパレータの動作と同様と考えてよい。また、以上の動作をプログラムにより実現する場合、例えば前回値を記憶しておき、今回値を前回値と比較することにより上昇か下降かを判定して、上昇であれば上記上昇時の閾値を適用し、下降であれば上記下降時の閾値を適用する等の処理によって実現すればよい。
【００７６】
尚、図４やその説明では、説明の都合上、アナログ入力値を用いて説明したが、実際の装置では、アナログ入力値をＡ／Ｄ変換したデジタル値を用いるか、あるいはこのデジタル値から求めた当該デジタル値に対応する周波数を用いて、上述した処理／動作を実現することになる。よって、上記ヒステリシス幅＝αも、デジタル値または周波数値を用いることになる。
【００７７】
図５は、上記インバータ装置１（特にそのＣＰＵ２）の機能ブロック図である。
図示のアナログ入力部３は、図１に示したアナログ入力部３のことである。
ＣＰＵ２は、認識値生成部２１、指令値生成部２２、指令値格納部２３を有する。
【００７８】
指令値格納部２３は、ＣＰＵ２が有するメモリであって、指令値を格納する記憶領域に相当する。尚、指令値とは、上記設定値のことであり例えば上記設定周波数等であるが、上記の通りこの例に限らない。ＣＰＵ２は、指令値格納部２３に格納される指令値を用いて、上記の通りインバータ回路の制御等を実行する。
【００７９】
作業員等がアナログ入力部３を操作することでアナログ入力部３から上記アナログ入力値が認識値生成部２１に入力される。
認識値生成部２１は、例えば上記Ａ／Ｄ変換機能部４である。すなわち、上記アナログ入力値をＡ／Ｄ変換してなる上記デジタル値を生成・出力する。あるいは、認識値生成部２１は、上記Ａ／Ｄ変換機能部４と上述した不図示のデジタル値−周波数変換機能とから成る。
【００８０】
指令値生成部２２は、認識値生成部２１からの出力を入力して、例えば上記設定周波数等の指令値を決定するものである。指令値生成部２２の機能については、既に説明しており、ここでは特に説明しないが、上記の通り予め記憶されている所定のアプリケーションプログラムを実行することで、あるいは上記設定に応じて生成したアプリケーションプログラムを実行することで、上記設定周波数等の指令値を決定する処理を実現するものである。
【００８１】
尚、図示の通り、作業員等は、例えば操作パネル５を操作することで、各種設定を行うことができる。これについても既に説明済みであるが、簡単に説明するならば、図示の最大値設定は、上記対象周波数範囲（最小値、最大値）の設定に相当する。但し、ここでは、最小値は固定（例えば０Hz）であるものとし、最大値のみを設定すれば済むものとしている。また、図示の刻み幅設定は、上記分割数や分解能（何Hz刻みとするか）の設定に相当する。また、図示のヒステリシス幅設定は、上記ヒステリシス幅αの設定等のことである。尚、これら設定を全て行う必要はない。上記の通り、対象周波数範囲は予め登録済みとしてよいし、ヒステリシス幅設定に関しても、当然、必要なケースのみ設定を行えばよい。
【００８２】
そして、上記の通り、指令値生成部２２は、これらの設定に応じて上記雛形等からアプリケーションプログラムを生成する。そして、このアプリケーションプログラムを実行することで、上記設定周波数等の指令値を決定する処理を実現するものである。
【００８３】
以上説明したように、本例のインバータ装置１、その制御ユニット（ＣＰＵ２）によれば、アナログ入力により任意の指令値が設定されるインバータ装置において、アナログ入力の分解能を意図的に下げて段刻みの指令を可能にすることで（換言すればアナログ入力値に対して階段上に指令値を決定することで）、つまりアナログ入力値を範囲分けして各分割範囲毎に指令値を設定した条件分岐ブロックを構成し制御ユニットに搭載することで、アナログ入力を用いる場合でも容易に正確に所望の指令値を与えることができる。
【００８４】
よって、ユーザの使い勝手が向上する等のメリットが得られる。
また、“段刻み”の内容、すなわち上記各分割範囲（分解能）やそれらの応じた指令値等を、例えば分割数等の簡単な設定を行うだけで自在に変更することも可能となる。また、各分割範囲間の境界にヒステリシスを設けることで、ハンチング等を回避できる。更に、ヒステリシス幅も任意に設定できる。
【００８５】
尚、アナログ入力値は、上述した例では電圧としたが、これに限らず、電流等としてもよい。
【符号の説明】
【００８６】
１  インバータ装置
２  ＣＰＵ
３  アナログ入力部
４  Ａ／Ｄ変換機能部
５  操作パネル
２１  認識値生成部
２２  指令値生成部
２３  指令値格納部
【図１】
2011135690.tif 000003
【図２】
2011135690.tif 000004
【図３】
2011135690.tif 000005
【図４】
2011135690.tif 000006
【図５】
2011135690.tif 000007