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

プロジェクトまたはライブラリ中のユーザー定義ファンクションは、コンパイルされるとサブルーチンプログラムに変換されます。これらを読み出すたびに、クラス"VAR_INPUT"と"VAR_IN_OUT"の入力パラメータが転送されます。それから対応するサブルーチンプログラムにジャンプします。最後に、クラス"VAR_OUTPUT"と"VAR_IN_OUT"の出力パラメータが読み出されます。使用できるサブルーチン数やファンクション数は、PLC機種により異なります。

ユーザー定義ファンクションは、ひとつのサブルーチンとして生成されます。ユーザー定義ファンクションは、プログラムのどの位置からも呼び出すことができます。

以下の例では、変換後のプログラムコードを分かりやすく表示するために、FPアドレスで表示しています。実際のプログラムでは、プログラムを簡素化するため、任意の変数名を使用することをお奨めします。

関連トピック

ラダーダイヤグラム中でユーザー定義のファンクション"User_ADD"を呼び出す場合:

ユーザー定義ファンクションの内容:

下記のプログラムコードが生成されます。

ST R9010

入力パラメータの転送

F0 (*MV*)

R9010 常時 = TRUE

DT0 DT0 -> User_ADD.In1
DT550

F0 (*MV*)

DT1 DT1 -> User_ADD.In2
DT551

CALL 0

User_ADDサブルーチンの読み出し

ST R9010

出力パラメータの再読み出し

F0 (*MV*)

DT552

DT2 User_ADD -> DT2
...

ED

主プログラムのEnd

SUB 0

User_ADDサブルーチン

ST R9010

F22 (*PLUS_S*)

DT550

DT551

DT552 if (TRUE)
UserAdd=UserAdd.In1 + UserAdd.In2
RET

主プログラムへの復帰

関連トピック

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