(57)【要約】【課題】  アプリケーション部が容易にかつ高品質にカスタマイズ可能なインバータにおいて、その多種多様となるソフトウェアの供給及び管理を簡単にして、フレキシブルな対応する。【解決手段】パワー変換部からなるパワー部、あらかじめ組み込まれた複数の実行コード・ファンクション・ブロックの組み合わせをパラメータで繋ぐことでカスタマイズを可能としたアプリケーション部とモータ制御部からなる実行コード部と該実行コードを実行するＣＰＵとからなる制御部、および、外部との通信インタフェース部から構成されるインバータにおいて、インバータメモリのファームウェア・プログラム上で、カスタマイズ用ファンクション・ブロック群（１０５）を作成し、そのファンクション・ブロックを集めて配置し、カスタマイズ用ファンクション・ブロック群（１０５）を部分的書き換え可能なメモリ領域にしたものである。【選択図】  図１
2008176609.tif 000002
【特許請求の範囲】
【請求項１】
パワー変換部からなるパワー部、あらかじめ組み込まれた複数の実行コード・ファンクション・ブロックの組み合わせをパラメータで繋ぐことでカスタマイズを可能としたアプリケーション部とモータ制御部からなる実行コード部と該実行コードを実行するＣＰＵとからなる制御部、および、外部との通信インタフェース部から構成されるインバータにおいて、
インバータメモリのファームウェア・プログラム上で、カスタマイズ用ファンクション・ブロック群（１０５）を作成し、そのファンクション・ブロックを集めて配置し、前記カスタマイズ用ファンクション・ブロック群（１０５）を部分的書き換え可能なメモリ領域に保存したことを特徴とするインバータ。
【請求項２】
前記カスタマイズ用ファンクション・ブロック群（１０５）を用途別に用意し、用途に応じて書き換えることを特徴とする請求項１記載のインバータ。
【請求項３】
パワー変換部からなるパワー部、あらかじめ組み込まれた複数の実行コード・ファンクション・ブロックの組み合わせをパラメータで繋ぐことでカスタマイズを可能としたアプリケーション部とモータ制御部からなる実行コード部と該実行コードを実行するＣＰＵと、通信インタフェース部と、インバータメモリ領域は先頭に配置されるブートプログラム領域（１０１）と、ファームウェア書き換えプログラム領域（１０２）と、アプリケーション処理領域（１０４）とを備えたインバータにおいて、
前記インバータメモリ領域は、任意固定アドレスよりカスタマイズ用ファンクション・ブロック領域（１０５）と、特殊ファンクション・ブロック用情報エリア（１０６）と、特殊ファンクション・ブロック用エントリー領域（１０７）と、特殊ファンクション・ブロック群領域（１０８）とを備えたことを特徴とするインバータ。
【請求項４】
任意固定アドレスよりカスタマイズ用ファンクション・ブロック領域（１０５）と、特殊ファンクション・ブロック用情報エリア（１０６）と、特殊ファンクション・ブロック用エントリー領域（１０７）と、特殊ファンクション・ブロック群領域（１０８）を部分的書き換え可能なメモリ領域としたことを特徴とする請求項３記載のインバータ。
【請求項５】
前記特殊ファンクション・ブロック用情報エリア（１０６）は、特殊ファンクション・ブロックＩＤ領域（２０１）と、エントリー使用数を示す特殊ファンクション・ブロック数領域（２０２）と、関連定数使用数を表す関連定数領域（２０３）とからなることを特徴とする請求項３記載のインバータ。
【請求項６】
前記特殊ファンクション・ブロック用エントリー領域（１０７）では複数のエントリーを備え、前記エントリーは各々飛び先である処理を有することを特徴とする請求項３記載のインバータ。
【請求項７】
前記特殊ファンクション・ブロック用エントリー領域（１０７）の内一部分のエントリーを使用して当該エントリーの処理を実行し、使用しないエントリーに対しては飛び先をＣＡＬＬしないプログラムとしたことを特徴とする請求項３記載のインバータ。
【請求項８】
パーソナルコンピュータ側に特殊ファンクション・ブロックは各々にライブラリとして準備され、前記パーソナルコンピュータとインバータの通信インタフェース部とを通信で接続し、前記パーソナルコンピュータ側で作成した特殊ファンクション・ブロックと特殊ファンクション・ブロック相互の接続情報をインバータ側のメモリ領域へ書き込むことを特徴とする請求項３記載のインバータ。
【請求項９】
前記パーソナルコンピュータと前記インバータとの接続又は未接続の状態を前記パーソナルコンピュータ又はインバータの画面上に表示することを特徴とする請求項３記載のインバータ。
【請求項１０】
前記接続情報のメモリ使用率を前記パーソナルコンピュータ又はインバータの画面上に表示することを特徴とする請求項８記載のインバータ。
【請求項１１】
前記アプリケーション部の処理時間占有率をパーソナルコンピュータ又はインバータの画面上に表示することを特徴とする請求項３記載のインバータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション部が容易にかつ高品質にカスタマイズ可能なインバータのファンクション・ブロック（機能ブロック）の書き換えに関する。各ファンクション・ブロックは各アイコンで表示される。インバータのカスタマイズツールは、汎用パーソナルコンピュータのＯＳ上で動作し、インバータの標準機能を除いた専用機能をアイコンとその接続によりビジュアルプログラミングができる。その接続情報はインバータ内部のメモリに書き込まれる。ユーザはアイコンを接続するだけで、特殊なプログラム知識がなくても簡単にインバータの、アプリケーションソフトウェアの開発が可能となる。
【背景技術】
【０００２】
従来のファームウェア書き換え方法は、ファームウェア・ソフトウェアのバージョンアップ時に、新しいファームウェアのダウンロードや書き換え処理にかかる時間を短縮することを目的としている（例えば、特許文献１参照）。この書き換え方法はファームウェアを格納するメモリを複数の領域に分割し、領域毎に、複数のモジュール群に分割されたファームウェア本体を配置し、ファームウェアのバージョンアップ時には、変更のあるモジュール群が格納された領域のみを書き換えることによりダウンロードや書き換え処理にかかる時間を短縮していた（以下、従来技術１という）。
【０００３】
図１２は、従来のインバータの全体構成ブロック図である。図において、インバータ(1100)は商用の交流電源(1109)を入力して電動機(1110)を駆動するための電力を供給するパワー部(1106)、そのパワー部(1106)を制御する制御部(1101)、および外部との通信インタフェース(1111)から構成される。そして、パワー部(1106)は商用の交流電源（1109）を入力してパワー変換部(1108)に直流電力を供給する電源部(1107)と電源部(1107)から供給された直流電力を制御して電動機(1110)を運転仕様通りに駆動するための電力を供給するパワー変換部(1108)とから構成されている。制御部(1101)は、ＣＰＵ(1102)とその上で実行される実行コードを記憶している実行コード部(1103)から構成され、さらに、実行コード部(1103)はアプリケーションに応じてカスタマイズされるアプリケーション部(1104)とアプリケーションから独立したモータ制御部(1105)から構成される。また、アプリケーション(1104)を開発するためのプログラミング装置(1120)とは、必要な時に通信インタフェース部(1111)を介して接続される。アプリケーション部(1104)は、パソコン等の上で実現されているプログラミング装置(1120)で開発され、実行可能なコードに変換されてインバータ(1100)へダウンロードされる。アプリケーション部(1104)は、インバータ(1100)のアプリケーションを実現するためのものであるが、その開発は、以下のような方法で行われていた。従来、標準的使い方とは異なるアプリケーションを実現するためには、安定した品質を保つため、開発規定に従って、各ステップごとに開発を進め、ソース・コードを変更し、デバッグし、設計審査の後に認定して製品化するという手法をとる必要があった（以下、従来技術２という）。
【０００４】
予め内部に準備したファンクション・ブロックを組み合わせてプログラムをカスタマイズできる従来の技術を図６〜１１に示す（以下、従来技術３という）。分かり易くするため、アナログ入力１(101)とアナログ入力２(102)を加算器(109)で加算して周波数指令(113)を作成するというアプリケーションを例にとって以下に詳しく説明する（例えば、特許文献１参照）。
まず、図６の上側に示すように、アプリケーションのソース・コードをプログラミング装置(1120)を使って作成する。すなわち、アナログ入力１(101)、アナログ入力２(102)、加算器(109)、周波数指令(113)の各ファンクション・ブロックをプログラミング装置(1120)の画面上に配置し、それらを接続線で接続することによってソースコードが作成される。
【０００５】
このソースコードはコンパイル(122)されて、実行されるべき実行コード・モジュールとその実行順序に関する情報が、接続情報テーブル(114)として生成される。
つまり、この接続情報テーブル(114)の接続定数Ｎｏ．の欄の定数番号は実行順序を表しており、その定数の設定値としての端子番号の欄には、各ファンクション・ブロックが持っている固有の端子番号が設定される。
インバータ内において、この端子番号とそれに対応するファンクション・ブロックの実行コード・モジュールは、実行コード・モジュール・テーブル(124)で対応付けられているので、端子番号から実行コード・モジュールが決定されることになる。
なお、各ファンクション・ブロックの実行コードは予めインバータ内部に組み込まれているので、あらためてダウンロードされる必要はない。
【０００６】
本技術の接続情報テーブル(114)について具体的に説明する。
接続線１(105)の入力情報の接続定数１にはアナログ入力１(101)の出力端子番号０１(103)が設定され、同じく接続線１(105)の出力情報の接続定数２には加算器(109)の入力１端子番号０３(107)が設定される。次に接続線２(106)の入力情報の接続定数３にはアナログ入力Ａ２(102)の出力端子番号０２(104)が設定され、同じく接続線２(106)の出力情報の接続定数４には加算器(109)の入力端子２端子番号０４(108)が設定される。最後に接続線３(111)の入力情報の接続定数５には加算器(109)の出力端子番号０５(110)が設定され、同じく接続線３(111)の出力情報の接続定数６に周波数指令(113)の入力端子番号０６(112)が設定される。
【０００７】
これら接続情報はRS232C等の通信(123)を経由してインバータ（1100）に、ダウンロードされ、アプリケーション部（1104）に存在するＪＵＭＰテーブル(115)に設定される。
なお、アナログ入力１(101)、アナログ入力２(102)、加算器(109)、周波数指令(113)の実際の処理を行うための実行コードは、それらの端子番号に対応した形で、インバータ(1100)のアプリケーション部(1104)に予め組み込まれているので、新たにダウンロードする必要はない。
また、接続情報テーブル(114)とＪＵＭＰテーブル(115)はそれぞれプログラミング装置(1120)、インバータ(1100)における呼称であり、お互いに異なっているが内容は同じである。
【０００８】
次に、インバータ(1100)でのアプリケーション部(1104)の実行について説明する。
インバータ(1100)のアプリケーション部(1104)の実行は、このＪＵＭＰテーブル(115)に基いて行われるが、図６の下側に示すように、ＪＵＭＰテーブル(115)の接続定数Ｎｏ．の順番で実行される。
すなわち、ＪＵＭＰテーブル(115)の接続定数Ｎｏ.に設定された端子番号に対応した実行コード・モジュールが、実行コード・モジュール・テーブル(124)を検索して選択され、実行に移される。
【０００９】
ＪＵＭＰテーブル(115)の端子番号に対応した処理を、上から順に説明する。
Ａ１(116)：本処理では、引渡し用のワーク・ラムにアナログ入力１ファンクション・ブロック(101)のデータを格納する。
＋入力１(117)：先に格納されたワーク・ラムの内容を接続先の加算器ファンクション・ブロック(109)の入力１のワーク・ラムに格納する。
Ａ２(118)：本処理では、引渡し用のワーク・ラムにアナログ入力２ファンクション・ブロック(102)のデータを格納する。
＋入力２(119)：先に格納されたワーク・ラムの内容を接続先の加算器ファンクション・ブロック(109)の入力２のワーク・ラムに格納する。
Ａｄｄ(120)：本処理では、引渡し用のワーク・ラムに加算器ファンクション・ブロック(109)の入力１と入力２のワーク・ラムの内容を加算した値を格納する。
周波数指令(121)：先に格納されたワークラムの内容を周波数指令ファンクション・ブロック(113)に格納する。この周波数指令(113)の出力は図６のモータ制御部（1105）に入力される。
このようにして、自由度の高いカスタム対応を簡単にかつ、安定した品質で実現することが可能になる。
【００１０】
次に図７のような、簡単なパターン運転アプリケーションの作成を例にとって説明する。
図７のタイムチャートにおいて実線で示す運転周波数通りのパターン運転を行わせるためには、同図において破線で示す周波数指令をモータ制御部(1105)に与える必要がある。そのような周波数指令を生成するには、まずは、アプリケーションのソース・コードとして図８に示すようなファンクション・ブロック図を、プログラミング装置(1120)を使用して作成する。
【００１１】
Ｓ１(300)はインバータ(1100)のディジタル入力端子１ファンクション・ブロック、ＩＮＴＶＬ ＴＭＲ(301)はロジック・インターバル・タイマー・ファンクション・ブロック、ＮＯＴ(302)はロジックＮＯＴ演算ファンクション・ブロック、ＡＮＤ(303,304)はロジックＡＮＤ演算ファンクション・ブロック、ＦｗｄＣＭＤ(305)はモータ制御部(1105)に対する正転運転指令を出力する正転運転指令ファンクション・ブロック、ＲｅｖＣＭＤ(306)はモータ制御部(1105)に対する逆転運転指令を出力する逆転運転指令ファンクション・ブロック、Ｑ１−０１(307)は定数による設定値を入力する定数入力ファンクション・ブロック１、Ｑ１−０２(308) は定数による設定値を入力する定数入力ファンクション・ブロック２、ＮＵＭＳ(309)は２つの数値入力を選択する２入力数値選択ファンクション・ブロック、ＦｒｅｑＣＭＤ(310)はモータ制御部(1105)に対する周波数指令を出力する周波数指令ファンクション・ブロックとなっている。
【００１２】
これらのファンクション・ブロックは図９に示すようにＴａｂ(407〜411)内部に、いろんな機種・用途に使用できる、標準的なかつ視覚的に機能を理解できるファンクション・ブロックとして用意されている。かつ、各ファンクション・ブロックに対応した実行コードは、十分にテストされた上で、予めインバータ(1100)内のアプリケーション部(1104)に組み込まれている。
【００１３】
ソース・コード作成時は、ファンクション・ブロックはプログラミング装置(1120)において、前述のＴＡＢ上よりドラッグして、画面のプログラムページの任意位置にドロップし配置できる。
ファンクション・ブロックを画面上に配置した後、端子部分をクリックし他のファンクション・ブロックに接続することが出来る。端子は記号でロジックか、実数値かその種類を判別できるようになっており、異なる種類の端子同士を接続しようとしても接続できない。
また、機能的に不可能な接続もあるがそれも、コンパイル時にエラーとして表示される。例えば、図１１のように、既存のページに端子入力Ｓ２(601)なるディジタル入力端子２ファンクション・ブロックを追加し、他のファンクション・ブロックのいずれとも接続せずにコンパイルを行うと、コンパイル結果出力ウィンドウ(602)に、エラーの内容とエラーの数を示し、コンパイルを終了する。なお、コンパイル結果出力ウィンドウ(602)はコンパイル開始時に画面上に現れる。
【００１４】
それぞれのファンクション・ブロックの情報（定数、名称、等）はクリックして選択された状態で図１０のプロパティ(504)内に表示され、編集が可能となる。図１０の例では、正転周波数指令ファンクション・ブロック(512)のプロパティ(504)内に表示されており、ＩＤ番号が「８」、ラベルが「正転周波数指令」、ユーザー定数２が「５０．０」に設定されている。
【００１５】
また、このページのアプリケーションのソース・コードはプロジェクトとして、図１０のようにプロジェクト・ウィンドウ(503)に表示されるフォルダーに格納できる。
同じように図１０プロジェクト・ウィンドウ(503)のサブルーチン・フォルダ(507)において新規ページを作成して、新たなサブルーチンを作成することができる。ここで作成したファンクション・ブロック図は一つのサブルーチン・ファンクション・ブロックとして、図９のファンクション・ブロック・タブ・ウィンドウのサブルーチン・タブ(412)から選択し、使用することが出来る。
【００１６】
プログラムの容量制限としては、接続情報の個数すなわち接続情報テーブル(114)の行数の上限があるが、その使用状況を知らせるために、この上限を１００％として現在の接続情報のメモリ使用率を％で、図１０の画面下部のメモリ使用率表示(509)に表示する。この表示は、使用している接続情報の数を直接表示しても構わないし、さらに使用することができる接続情報の数を％表示又はその数を直接表示しても構わない。
【００１７】
プログラミング装置(1120)とインバータ(1100)が通信可能かどうかを示すべく、図１０の画面右下に、例えば、青／赤でプログラミング装置(1120)とインバータ(1100)本体との接続／未接続状態(510)を表示する。
【００１８】
アプリケーション部(1104)の処理時間が、ＣＰＵ(1102)が利用可能な処理時間全体のどれくらいを占めるのかについては、図１０の画面中央下に処理時間占有率モニタ(511)を表示する。インバータ(1100)本体と未接続（オフライン）の場合、選択されたファンクション・ブロックの処理時間予想の総和をＣＰＵ(1102)が利用可能な処理時間全体で除したものを表示し、接続されている（オンライン）場合、インバータ(1100)の持つ実績値を読み込んで表示する。
【００１９】
図８のＳ１ファンクション・ブロック(300)の出力端子はロジック出力端子(313)でありのように表示される。これはインターバルタイマ(301)の入力として、ロジック入力端子(314)であると接続可能であるが数値入力端子には接続不可能となる。
同じようにＱ１−０２(308)の出力は数値出力端子(315)であり、数値入力端子である２数値入力選択器(309)の入力端子(316)に接続可能であり、ロジック入力端子には接続不可能となる。
【００２０】
次に、図８の動作を説明する。
Ｓ１(300)はインバータ(1100)の入力端子１であり、これをパターン運転の開始指令とする。入力端子指令を閉とするとＳ１(300)の出力はＴｒｕｅ“１”となり、図７に示すように運転指令が立ち上がる。
この出力信号はＡＮＤ(303,304)、ＩＮＴＶＬ ＴＭＲ(301)に入力され、ＩＮＴＶＬ ＴＭＲ(301)は入力されるとタイマーが作動し、に従ってＯＮ／ＯＦＦを繰り返す。この出力信号がＳ１(300)の出力信号と一緒にＡＮＤ回路(303,304)に入り、それぞれが正転指令(305)、逆転指令(306)に入力される。なお、ＯＮ時間定数ならびにＯＦＦ時間定数は図１０の画面右のプロパティ(504)にて設定又は参照可能である。
【００２１】
また、ＩＮＴＶＬ ＴＭＲ(301)からの出力と、定数(307,308)のそれぞれを正転指令／逆転指令としてＮＵＭＳ(309)に入力し、ＩＮＴＶＬ ＴＭＲ(301)の出力のＯＮ／ＯＦＦによりＮＵＭＳ(309)の出力が正転時周波数指令(307)／逆転時周波数指令(308)として切り替わり、周波数指令(310)に最終的な周波数指令として入力される。
これらの正転指令(305)、逆転指令(306)、周波数指令(310)の出力は、図６のモータ制御部（1105）に入力され、図７の運転周波数に示すような運転が実現される。
【００２２】
上記のように、アプリケーションのソース・コードはプログラミング装置(1120)上で接続情報に変換され、インバータ(1100)に通信インタフェース(1111)を介してダウンロードされる。インバータ(1100)では既に述べたしくみにより、接続情報により選択されたファンクション・ブロックに対応する実行コードのみが実行され、プログラミング装置(1120)の画面上にファンクション・ブロック図で表現されているアプリケーションが実行される。このように、アプリケーション部の実行コードは選択された時のみ実行されるので、ＣＰＵ(1102)での処理時間の無駄が低減される。
【００２３】
また、従来技術３の従来のアプリケーション部が容易にかつ高品質にカスタマイズ可能なインバータのファンクション・ブロックの書き換えにおいては、そのファンクション・ブロックはファームウェア上の任意位置に配置され、機能の変更が必要な場合、ファームウェア・ソフトウェア全体でソフトを変更し、ファームウェア全部を書き換える必要があった。
【特許文献１】特開２００２−３４２１００号公報
【特許文献２】世界知的所有権機関国際事務局              国際公開第２００６／１１２３２４号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００２４】
従来技術１のファームウェア書き換え方法は、あくまでもファームウェアのバージョンアップ時の時間短縮を目的としており、部分的ファームウェアの書き換えを利用するアプリケーション対応の多様化を図るものではなかった。
次に従来技術２では、ソース・コードを変更し、コンパイルし、実行コードをインバータ(1100)へダウンロードしてデバッグするという工程をバグがなくなるまで繰り返す必要があり、時間がかかりすぎフレキシブルな対応が出来ないという問題があった。
また、次に従来技術３では、アプリケーション部が容易にかつ高品質にカスタマイズ可能なインバータにおいて、一般的ではないような特殊なファンクション・ブロックを作成し、局所的に対応する場合や、用途に応じてファンクション・ブロックの入れ替えを行いたい場合は、全てのファームウェアソフトウェアを作り変えて、全体の書き換えを行う必要があり、その多種多様となるソフトウェアの供給及び管理が難しくなり、フレキシブルな対応ができないという問題があった。
【００２５】
本発明はこのような問題を、ファームウェアのバージョンアップ時の時間短縮を目的とする書き換え方法を利用することにより、アプリケーション部が容易にかつ高品質にカスタマイズ可能なインバータにおいて、その多種多様となるソフトウェアの供給及び管理を簡単にして、フレキシブルに対応する装置を提供することを目的とする。
【課題を解決するための手段】
【００２６】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、電源部とパワー変換部からなるパワー部、予め組み込まれた複数の実行コード・ファンクション・ブロックの組み合わせをパラメータで繋ぐことでカスタマイズを可能としたアプリケーション部とモータ制御部からなる実行コード部と該実行コードを実行するＣＰＵとからなる制御部、および、外部との通信インタフェース部から構成されるインバータにおいて、
そのファームウェア・プログラム上で、一般的ではないような特殊なファンクション・ブロックを作成しそのファンクション・ブロックを集めて配置し、それを部分的書き換え可能な領域に置いて、ブロック別メモリ書き換え機能を利用して、部分的に書き換えるという手順をとったのである。
また、請求項２に記載の発明は、特殊なファンクション・ブロックを用途別に用意し、用途に応じて書き換えより簡単にフレキシブルに、異なるアプリ−ケーションに対応できるという手順をとったのである。
また、請求項３、及び請求項４に記載の発明は、特殊なファンクション・ブロック用のエントリー領域を設け、またそれに関する情報を特定アドレスに準備するという手順をとったのである。
【発明の効果】
【００２７】
本発明によると、全体のファームウェアを書き換えることなく、一般的でない特殊なファンクション・ブロックを書き換えることができる。また、短時間で用途に応じたファンクション・ブロックの書き換えをすることができ、よりフレキシブルな顧客ユーザへの対応ができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００２９】
図５は、本発明の全体構成ブロック図を示す。図において、５０１はインバータ、５０２は制御部、５０３はＣＰＵ、５０４は実行コード部、５０５はアプリケーション部、５０６はモータ制御部、５０７はパワー部、５０８は電源部、５０９はパワー変換部、５１０は交流電源、５１１は電動機、５１２は通信インタフェース部（Ｉ／Ｆ部）、５１３はプログラミング装置である。このプログラミング装置５１３としては通常、パーソナルコンピュータを使用する。本発明が従来の技術と異なる部分はアプリケーション部５０５、とこれを包含する実行コード部５０４の内部構成部分である。
図１は、本発明の方法を実施するインバータ装置のメモリ構成を示す図である。図において先頭にブートプログラム領域（１０１）が配置され、次にファームウェア書き換えプログラム領域（１０２）、本体処理領域（１０３）、アプリケーション処理領域（１０４）が配置され、標準的な機能を構成する。また、それ以降にカスタマイズ用ファンクション・ブロック群領域（１０５）が配置され、この中で任意固定アドレスより特殊ファンクション・ブロック用情報エリア（１０６）、特殊ファンクション・ブロック用エントリー領域（１０７）、特殊ファンクション・ブロック群領域（１０８）が配置される。
【００３０】
図２は、図１の特殊ファンクション・ブロック用情報エリア（１０６）の詳細を示す図である。先頭に特殊ファンクション・ブロックＩＤ（２０１）が配置される。これは該当する特殊ファンクション・ブロック群のＩＤを示し。これによってその用途、目的、バージョンなどが示される。次に特殊ファンクション・ブロック数（エントリー使用数）（２０２）が配置される。これは該当する特殊ファンクション・ブロック群が使用するエントリーの数を定義するものとする。これを予め読み出すことにより。使用されていないエントリーを呼び出す無駄がなくなる。最後に関連定数、（関連定数使用数）（２０３）が配置される。これは、該当する特殊ファンクション・ブロック群がどの定数を使用しているかを定義しており、これを予め読み出すことにより、定数の配分を知ることができる。
【００３１】
図３は図１の特殊ファンクション・ブロック用エントリー領域（１０７）の詳細で、任意個数で制限される特殊ファンクション・ブロック数の全数使用した場合と、半数使用した場合の例である。
特殊ファンクション・ブロック用エントリー領域（全数使用時）（３０１）ではエントリー１（３０２）、エントリー２（３０３）、エントリー３（３０４）、エントリー４（３０５）をそれぞれ持ち、その全てにおいて飛び先である処理１〜４を持っている。これによりそのそれぞれの処理の開始アドレスが異なる特殊ファンクション・ブロック群を使用しても随時対応可能となる。
また、比較的容量の大きなものを少数作成し特殊ファンクション・ブロック群として適用する場合、特殊ファンクション・ブロック用エントリー領域（半数使用時）（３１１）のように、エントリー１（３１２）、エントリー２（３１３）を使用し、処理１、処理２をコール、エントリー３（３１４）、エントリー４（３１５）は使用せず、何もＣＡＬＬしないといったプログラムとして、仮にエントリー３，４を呼んだとしても、誤動作することがない。
【実施例２】
【００３２】
図４は特殊ファンクション・ブロック群の具体的使用例である。標準部分（４０１）は図１のブートプログラム（１０１）、ファームウェア書き換えプログラム（１０２）、本体処理（１０３）、アプリケーション処理（１０４）標準的な機能を構成する部分と汎用に準備されたカスタマイズ用ファンクション・ブロック群（１０５）の総称である。
そして、特殊ファンクション・ブロック部分（４０２）は、特殊ファンクション・ブロック用情報エリア（１０６）、特殊ファンクション・ブロック用エントリー領域（１０７）、特殊ファンクション・ブロック群（１０８）の総称である。
各特殊ファンクション・ブロック群、＜未使用＞（４０３）、＜アプリケーションＡ＞（４０４）、＜アプリケーションＢ＞（４０５）はそれぞれ独立してプログラミング装置側（４０６）にライブラリとして準備される。また、必要に応じて通信（４０７）を通して、特殊ファンクション・ブロック部分（４０２）に書き込まれ、カスタマイズ機能に使用されることとなり、よりフレキシブルな対応が実現できる。
また、プログラムの容量制限としては、接続情報の個数すなわち接続情報テーブルの行数の上限があるが、その使用状況を知らせるために、この上限を１００％として現在の接続情報のメモリ使用率を％で、パーソナルコンピュータまたはインバータ表示部にメモリ使用率表示として表示する。この表示は、使用している接続情報の数を直接表示しても構わないし、さらに使用することができる接続情報の数を％表示又はその数を直接表示しても構わない。
また、パーソナルコンピュータとインバータが通信可能かどうかを示すべく、パーソナルコンピュータまたはインバータ表示部に、例えば、青／赤でプログラミング装置とインバータ本体との接続／未接続状態を表示する。
なお、アプリケーション部の処理時間が、ＣＰＵが利用可能な処理時間全体のどれくらいを占めるのかについては、パーソナルコンピュータの画面中央下に処理時間占有率モニタを表示する。インバータ本体と未接続（オフライン）の場合、選択されたファンクション・ブロックの処理時間予想の総和をＣＰＵが利用可能な処理時間全体で除したものを表示し、接続されている（オンライン）場合、インバータの持つ実績値を読み込んで表示する。
【産業上の利用可能性】
【００３３】
本発明は、インバータの産業上の多種多様なアプリケーションに、容易かつ高品質に対応可能なインバータおよびそのプログラミング装置を提供するものである。
【図面の簡単な説明】
【００３４】
【図１】本発明の方法を実施するインバータ装置のメモリ構成図
【図２】特殊ファンクション・ブロック用情報エリアの詳細
【図３】特殊ファンクション・ブロック用エントリー領域の詳細
【図４】特殊ファンクション・ブロック群の具体的使用例
【図５】本発明の全体構成ブロック図
【図６】従来の技術のファンクション・ブロック図及び処理の流れ
【図７】従来の技術のタイムチャート
【図８】従来の技術のファンクション・ブロック図
【図９】従来の技術のファンクション・ブロックのタブ画面構成
【図１０】従来の技術のプログラミング装置の画面例
【図１１】従来の技術のコンパイル・エラー画面表示
【図１２】従来のインバータの全体構成ブロック図
【符号の説明】
【００３５】
１０１  ブートプログラム領域
１０２  ファームウェア書き換えプログラム領域
１０３  本体処理領域
１０４  アプリケーション処理領域
１０５  カスタマイズ用ファンクション・ブロック群領域
１０６  特殊ファンクション・ブロック用情報エリア
１０７  特殊ファンクション・ブロック用エントリー領域
１０８  特殊ファンクション・ブロック群領域
２０１  特殊ファンクション・ブロックＩＤ
２０２  特殊ファンクション・ブロック数（エントリー使用数）
２０３  関連定数（関連定数使用数）
３０１  特殊ファンクション・ブロック用エントリー領域（全数使用時）
３０２  エントリー１領域
３０３  エントリー２領域
３０４  エントリー３領域
３０５  エントリー４領域
３１１  特殊ファンクション・ブロック用エントリー領域（半数使用時）
３１２  エントリー１領域
３１３  エントリー２領域
３１４  エントリー３領域
３１５  エントリー４領域
４０１  標準部分領域
４０２  特殊ファンクション・ブロック部分
４０３  特殊ファンクション・ブロック＜未使用＞
４０４  特殊ファンクション・ブロック＜アプリケーションＡ＞
４０５  特殊ファンクション・ブロック＜アプリケーションＢ＞
４０６  プログラミング装置
４０７  通信
５０１  インバータ
５０２  制御部
５０３  ＣＰＵ
５０４  実行コード部
５０５  アプリケーション部
５０６  モータ制御部
５０７  パワー部
５０８  電源部
５０９  パワー変換部
５１０  交流電源
５１１  電動機
５１２  通信インタフェース部（Ｉ／Ｆ部）
５１３  プログラミング装置
６０１  ディジタル入力端子２ファンクション・ブロック
６０２  コンパイル結果出力ウィンドウ
１１００  インバータ
１１０１  制御部
１１０２  ＣＰＵ
１１０３  実行コード部
１１０４  アプリケーション部
１１０５  モータ制御部
１１０６  パワー部
１１０７  電源部
１１０８  パワー変換部
１１０９  交流電源
１１１０  電動機
１１１１  通信インタフェース部（Ｉ／Ｆ部）
【図１】
2008176609.tif 000003
【図２】
2008176609.tif 000004
【図３】
2008176609.tif 000005
【図４】
2008176609.tif 000006
【図５】
2008176609.tif 000007
【図６】
2008176609.tif 000008
【図７】
2008176609.tif 000009
【図８】
2008176609.tif 000010
【図９】
2008176609.tif 000011
【図１０】
2008176609.tif 000012
【図１１】
2008176609.tif 000013
【図１２】
2008176609.tif 000014