オブジェクト:関数
関数は POU これは、実行時に正確に1つのデータ要素を提供し、テキスト言語での呼び出しは式の演算子として発生する可能性があります。データ要素は、配列または構造体にすることもできます。
クリックすると、オブジェクトがアプリケーションまたはプロジェクトに追加されます POU ビュー、機能POUには (楽しい) サフィックス。
。デバイスツリーまたは重要
関数には内部ステータス情報がありません。つまり、関数は次の呼び出しまで変数の値を保存しません。同じ入力変数値を持つ関数の呼び出しは、常に同じ出力値を提供します。したがって、関数はグローバル変数とアドレスを使用してはなりません。
関数のエディターは、宣言部分と実装部分で構成されます。
宣言部分の一番上の行には、次の宣言が含まれています。
FUNCTION <function> : <data type>
その下で、入力変数と関数変数を宣言します。
関数の出力変数は関数名です。
重要
関数でローカル変数を次のように宣言する場合 RETAIN
、これは効果がありません。この場合、 CODESYS コンパイラエラーを発行します。
重要
の関数呼び出しで明示的および暗黙的なパラメータ割り当てを混在させることはできません CODESYS V3。これは、関数呼び出しで明示的または暗黙的なパラメーター割り当てのみを使用する必要があることを意味します。関数を呼び出すときのパラメーター割り当ての順序は任意です。
関数を呼び出す
STでは、関数の呼び出しを式のオペランドとして使用できます。
SFCでは、ステップアクションまたはトランジション内でのみ関数呼び出しを使用できます。
宣言部分と行実装コードを持つ関数

関数呼び出し:
ST:
result := POU_Funct(5,3,22);
IL:

FBD:

追加の出力を備えた機能
IEC 61131-3規格によれば、関数は追加の出力を持つことができます。キーワード間の関数で追加の出力を宣言します VAR_OUTPUT
と END_VAR
。この関数は、次の構文に従って呼び出されます。
<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
The fun
関数は2つの入力変数で定義されます in1
と in2
。の出力変数 fun
関数はローカルで宣言された出力変数に書き込まれます loc1
と loc2
。
fun(in1 := 1, in2 := 2, out1 => loc1, out2 => loc2);