(57)【特許請求の範囲】
【請求項１】
複数の内部変数を使用し、制御機能がソフトウェアで定義された制御ファンクションブロックに、前記内部変数に対して文字列によりアクセスする第１インターフェイスを設け、前記制御ファンクションブロック内に文字列解釈ファンクションブロックを形成し、前記第１のインターフェイスより与えられた文字列を前記文字列解釈ファンクションブロックで解釈して前記内部変数を変更すると共に、
前記文字列解釈ファンクションブロックによる前記内部変数変更が終了した後、その文字列を初期化して出力する第２インターフェイスを前記制御ファンクションブロックに設け、この第２インターフェイス出力を前記第１インターフェイスにフィードバックすることにより、１回限りの内部変数変更を実行することを特徴とするファンクションブロックの変数設定方法。
【請求項２】
前記制御ファンクションブロックが、IEC61131-3規格によるプログラム言語で記述されたことを特徴とする請求項１記載のファンクションブロックの変数設定方法。
【請求項３】
前記内部変数は、前記第１インターフェイスに入力される文字列に対応する固有の変数名を有することを特徴とする請求項１または２記載されたファンクションブロックの変数設定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の内部変数を使用し、制御機能がソフトウェアで定義された制御ファンクションブロック（以下ＦＢ）の内部変数の設定方法に関する。
【０００２】
【従来の技術】
図６は、測定値と設定値の偏差に対してＰ（比例）Ｉ（積分）Ｄ（微分）演算を実行する制御機能が、IEC61131-3規格によるプログラム言語（以下ＩＥＣ）で記述されたＦＢの機能ブロック線図の例である。
【０００３】
１はＩＥＣで記述されたＰＩＤ演算機能を備えるＦＢである。ＩＥＣで作成されるＦＢはブラックボックス化されており、ＦＢが内部の処理で使用する変数（測定値、設定値、操作出力値、制御パラメータ等）の値をＦＢの外部参照・設定する場合には、その変数を入力変数、出力変数として定義してインターフェイス化する必要がある。
【０００４】
図６において、２は入力変数として定義された測定値のインターフェイス、３は同じく入力変数として定義された設定値のインターフェイス、４は出力変数として定義された操作出力値のインターフェイスである。
【０００５】
ＦＢ１内において、５乃至１０は、ＰＩＤ制御動作を実行するために使用される変数（パラメータ）であり、５は積分時間、６は微分時間、７は比例帯値、８はモード（手動、自動）値、９はアラーム設定値、１０はリミット値を表す。
【０００６】
【発明が解決しようとする課題】
複雑な制御ロジックをもつＦＢには、制御動作を行うために数十のパラメータを持つことがあり、ＦＢの動作中にそれらのパラメータに値の書き込みや値の参照を行わなければならないことがある。
【０００７】
ＩＥＣによるＦＢは、前記のように内部変数を外部から参照することや設定することができないので、従来のＦＢ構造であればアクセスが必要となる可能性のある変数をすべて入力変数や出力変数として定義してインターフェイス化する必要があり、変数が多くなるとインターフェイスの数も多くなり、ＦＢとして使用しづらくなる。
図６の例では、内部変数５乃至１０にアクセスするための６個の入力変数５´乃至１０´をインターフェイスとして定義する必要がある。
【０００８】
他の手法としては、内部変数が異なるＦＢを複数作成し、これを切り換えて使用することも可能であるが、内部の制御ロジックが同一のＦＢが多数必要となり、効率的ではない。
【０００９】
本発明の目的は、複数の内部変数にアクセスするためのインターフェイスを最小限とすることが可能なファンクションブロックの変数設定方法を実現することにある。
【００１０】
【課題を解決するための手段】
このような課題を達成するために、本発明のうち請求項１記載発明の特徴は、複数の内部変数を使用し、制御機能がソフトウェアで定義された制御ファンクションブロックに、前記内部変数に対して文字列によりアクセスする第１インターフェイスを設け、前記制御ファンクションブロック内に文字列解釈ファンクションブロックを形成し、前記第１のインターフェイスより与えられた文字列を前記文字列解釈ファンクションブロックで解釈して前記内部変数を変更すると共に、
前記文字列解釈ファンクションブロックによる前記内部変数変更が終了した後、その文字列を初期化して出力する第２インターフェイスを前記制御ファンクションブロックに設け、この第２インターフェイス出力を前記第１インターフェイスにフィードバックすることにより、１回限りの内部変数変更を実行する点にある。
【００１１】
請求項２記載発明の特徴は、前記制御ファンクションブロックが、IEC61131-3規格によるプログラム言語で記述された点にある。
【００１３】
請求項３記載発明の特徴は、前記内部変数は、前記第１インターフェイスに入力される文字列に対応する固有の変数名を有する点にある。
【００１４】
【発明の実施の形態】
以下本発明実施態様を、図面を用いて説明する。図１は本発明の基本概念を説明する機能ブロック線図である。ＦＢ１内において、１１、１２、１３は３個の変数（変数１、変数２、変数３）を表す。
【００１５】
１４はＦＢ内に導入される本発明特有の文字列解釈ＦＢである。この文字列解釈ＦＢもＩＥＣで記述される。１５はこの文字列解釈ＦＢ１４にアクセスするためにＦＢ１に入力変数として定義した内部変数アクセスインターフェイスである。
【００１６】
内部変数へは、このインターフェイス１５を介して文字列により値の変更を指示する（図１（ａ））。例えば変数１と変数３を夫々値１と値３に設定する場合は、‘変数１＝値１；変数３＝値３’の文字列をインターフェイス１５に与える。
【００１７】
文字列解釈ＦＢ１４は、この入力内容‘変数１＝値１；変数３＝値３’を解釈し（図１（ｂ））、変数名の一致を検索により実行し、変数１を値１に設定し、変数３を値３に設定する（図１（ｃ））。
【００１８】
図２は、図６で説明したＰＩＤ制御用ＦＢに本発明を適用し、内部変数である積分時間５の値を１００ｓに、モード値８の値をＡＵＴＯに設定する実施例である。この場合、内部変数アクセス用インターフェイス１５には、‘モード＝ＡＵＴＯ；積分時間＝１００ｓ’ の文字列が与えられる。
【００１９】
このように、本発明では、内部変数へのアクセスのインターフェイスが文字列であることから、ＦＢ内部のロジックがどのような場合においても同じインターフェイスを使用して内部変数の設定ができるので、変数設定のためのインターフェイスの数を最小とする設計が可能である。
【００２０】
図３の実施例は、内部変数への文字列の変数を初期化することにより、１回限りに値を設定可能とした例である。図１の基本概念図との相違は、出力変数である内部変数アクセス用インターフェイス１６が追加された点である。
【００２１】
文字列解釈ＦＢ１４は、内部変数アクセスの入力と出力に同じ変数を使用し、入力した文字列（図３（ａ））の内部変数への設定処理（図３（ｂ）、（ｃ））が終了した後、その文字列を初期化してインターフェイス１６を介して出力する（図３（ｄ））。
【００２２】
インターフェイス１６の出力は、インターフェイス１４にフィードバックされインターフェイス１４の内容が更新されるので、次回の入力では、設定すべき文字列が空の状態（図３（ｅ））となる。このような入力・出力のインターフェイスとすることにより、設定したいタイミングのときのみ文字列を入力することで、１回限りに変数の値を設定することが可能となる。
【００２３】
次に、本発明の主要部である文字列解釈ＦＢの機能及び信号処理手順を、図４、図５により説明する。図４は文字列解釈ＦＢ１４のインターフェイスであり、１７乃至２０は入力変数、２１乃至２４は出力変数で定義されるインターフェイスである。
【００２４】
インターフェイス１７、１８、１９には、変数１、変数２、変数３を一義的に表す固有の変数名である’変数１‘、‘変数２‘、‘変数３‘が入力され（図４（ａ））、インターフェイス２０にはインターフェイス１５からの設定文字列が入力される（図４（ｂ））。
【００２５】
インターフェイス２１、２２、２３には変数１、変数２、変数３に設定すべきデータが出力され（図４（ｃ））、インターフェイス２４には初期化された空の文字列信号が出力され（図４（ｄ））、この出力が図２で説明したインターフェイス１６に与えられる。
【００２６】
図５は文字列解釈ＦＢ１４内部の信号処理手順を示すフローチャートである。まずステップＳ１で設定文字列（図４（ｂ））を変数名と値との要素に分ける。ステップＳ２で分解作業が入力数だけ繰り返される。ステップＳ３では変数名要素と入力変数である変数名（図４（ａ））とで、一致するかどうかを検査する。
【００２７】
一致する要素があれば、ステップステップＳ４でその変数名に対応するデータ（図４（ｃ））に設定文字列から取り出した値要素を格納すると共に、インターフェイス２４に初期化された空の文字列を出力させる。
【００２８】
一致処理することのできなかった文字列はステップＳ５，ステップＳ６により削除されずインターフェイス２４にそのまま出力される。
【００２９】
【発明の効果】
以上説明したことから明らかなように、本発明によればＩＥＣにより記述された通常のＦＢ内に文字列解釈ＦＢを導入することにより、複数の内部変数にアクセスするためのインターフェイスを最小限とするＦＢを容易に実現することができ、ＦＢ設計の効率を向上せしめることが可能となる。
【図面の簡単な説明】
【図１】本発明の基本概念を説明する機能ブロック線図である。
【図２】図６のＰＩＤ制御用ＦＢに本発明を適用した実施例である。
【図３】内部変数への文字列の変数を初期化することにより、ワンショット的に値を設定可能とした実施例である。
【図４】本発明の文字列解釈ＦＢのインターフェイス図である。
【図５】本発明の文字列解釈ＦＢ内部の信号処理手順を示すフローチャートである。
【図６】制御機能が、ＩＥＣで記述されたＦＢの一般的な機能ブロック線図である。
【符号の説明】
１    ファンクションブロック
１１  変数１
１２  変数２
１３  変数３
１４  文字列解釈ＦＢ
１５  内部変数アクセス用インターフェイス
【図１】
0004258826.tif 000002
【図２】
0004258826.tif 000003
【図３】
0004258826.tif 000004
【図４】
0004258826.tif 000005
【図５】
0004258826.tif 000006
【図６】
0004258826.tif 000007