ファンクション

ファンクション(FUN)は、実行した演算結果として、クラスVAR_OUTPUTVAR_IN_OUT型の出力変数の値を返すプログラム構成単位(POU)です。ファンクションの出力データ型をVOID型に指定すると、ファンクションは結果を返しません。

ファンクションは、VAR_EXTERNALVAR_EXTERNAL_RETAINVAR_EXTERNAL_CONSTANTを介して、グローバル変数にアクセスすることもできます。

ファンクションは、内部ステータス情報を持っていません。したがって、VAR_INPUTVAR_IN_OUTVAR_EXTERNAL型の変数に同じ値を代入し、ファンクションを実行すると、クラスVAR_OUTPUTVAR_IN_OUTVAR_EXTERNAL型の出力変数には、常に同じ値が得られます。

Control FPWIN Pro7には、2種類のファンクションがあります。

  1. システムライブラリのシステム命令

    • 「IEC standard library」

    • 「FP library」

    • 「FP tool library」

    • 「FP pulsed library」

  2. ユーザー定義ファンクション

    ユーザーが独自のファンクションを定義し、ユーザーライブラリに加えることができます。新しいファンクションは、ユーザーライブラリがインストールされているすべてのプロジェクトで利用することができます。

    ファンクションは、次のプログラミング言語で記述することができます。

    • 「ラダーダイアグラム(LD)」または「ファンクションブロックダイアグラム(FBD)」

    • 「ストラクチャードテキスト(ST)」

    • 「インストラクションリスト(IL)」

注記
  • ファンクションは、プログラム、ファンクション、ファンクションブロックから呼び出すことができますが、タスクに登録することはできません

  • ファンクションは、同じファンクションを再帰的に呼び出すことはできません。

    FUN1() -> FUN2() -> FUN3() -> FUN1()は許可されていません。

  • ファンクションブロックは、最大階層までネスティングができます。例:FUN1 (FUN2 (FUN3 (FUN4 (FUN5 (x)))))

    ネストされたファンクション呼び出しの最大数

    PLC機種

    16

    FP7

    10

    16ビットPLC機種以降( FP0H, FP_XH, FP0Rなど)

    15

    16ビットPLC機種以前

  • 仮パラメータを持たないSTまたはILファンクションを除けば、ファンクション結果とファンクション出力は未接続のままにできます。

  • STエディタで、仮パラメータを持つファンクションを呼び出すときは、以下の条件が適用されます:

    • 仮パラメータを持つ引数の場合、パラメータの順序は重要ではありません。

    • ユーザー定義ファンクションについては、EN入力またはEN出力は省略できます。省略されたEN入力は、"TRUE"として処理されます。

関連トピック

最終修正日: 2025-01-10このページに関するフィードバックお問い合わせ窓口