セクション: パラメータ
このセクションでは、パラメータ化に使用できる必要があるすべてのパラメータを定義できます。 パラメーター モジュールインスタンスの。
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 から変数までのパス内のすべての初期化を考慮する必要があります。変数の最も外側の初期化によって値が決まります。