セクション: パラメータ
このセクションでは、パラメータ化に使用できる必要があるすべてのパラメータを定義できます。 パラメーター モジュールインスタンスの。
SEC Parameters //optional: yes, modifier: [UPDATE]
SEC Param : <parameter identifier> //optional: yes, modifier [HIDE,UPDATE]
Variable := <variable name>; //optional: yes, type: InstancePath
VariableType := <data type> //optional: yes, type: @JG???IEC-Typ
Name := <parameter name>; //optional: no, type: text
Desc := <parameter description>; //optional: no, type: text
Group := <parameter group name> //optional: yes, type: text
MustBeSet := TRUE/FALSE //optional: yes, type: BoolFlag
Default := <default value>; //optional: yes, type: LiteralOrConstant
Max := <max value>; //Optional: yes, type: LiteralOrConstant
Min := <min value>; //Optional: yes, type: LiteralOrConstant
END_SEC
END_SEC定義タイプの構文に関する詳細は、セクションで説明されています。 モジュール宣言。
セクションのターゲット
Paramパラメータを一意に識別する必要があります。定義
Variableモジュール関数ブロックに対する相対的な入力インスタンス パスです。この変数にはパラメータ値が格納され、その型によってパラメータの型が定義されます。もしVariable宣言されている場合、パラメータはVariableType定義する必要はなく、無視されます。パラメータ
VariableType変数の IEC タイプを定義します。もしVariableType宣言されていますが、実際の既存の FB 変数が指定されていません。Variable定義、Default定義が存在する必要があります。この値は、VariableType。パラメータ
NameそしてDescは文字列であり、テキスト リストで定義する必要があります。モジュール パラメーターには基本的な型と列挙を使用できますが、構造体や配列のインスタンスは使用できません。
パラメータ変数には次のものが必要です 初期化値、関数ブロックの宣言で定義されます。
オプションのパラメータ
Default初期化値を上書きできます。初期化式とデフォルト値には、正しい型のリテラルと定数が許可されます。これにはライブラリパラメータが含まれます。オプションのパラメータ
Groupパラメータをグループに分割できます。各グループは、モジュール エディターの別のタブとして表示されます。 パラメーター 。オプションのパラメータを使用する場合
MustBeSetユーザーはモジュールエディタでパラメータを設定するよう強制できます。パラメータが設定されていない場合は、エラー メッセージが表示されます。定義 分 そして マックス パラメータ値の制限を設定できます。これらの制限のチェックは、数値型または時間の変数に対してのみ可能です。他のすべての変数タイプは許可されていないため、エラーが発生します。
SEC Parameters
SEC Param : InParam1
Variable := xIn1;
VariableTyp := BOOL;
Name := TL.Input1_Name;
Desc := TL.Input1_Desc;
END_SEC
END_SEC変数 xIn1 関数ブロックの宣言部分で定義する必要があります。 xIn1 : BOOL := FALSE ;
初期化値
初期化値は、初期化で定義される変数の値です。 FB の単純な変数では、この値は常に変数宣言の右側にあります。
iVar : INT := 17 ; // Initialisierungswert: 17
構造体内で変数を定義する場合、構造体の初期化が不可欠です。
TYPE s : STRUCT
i1 : INT := 7 ;
r1 : REAL := 5 ;
END_STRUCT END_TYPEモジュール FB での宣言:
structVar : s := (i1 := 2, r1 := 0.0) ;
この場合、次の値を定義する初期化値 structVar.i1 は 2 (そうではない 7)。
ネストされた構造では、モジュール FB から変数までのパス内のすべての初期化を考慮する必要があります。変数の最も外側の初期化によって値が決まります。