Skip to main content

セクション: パラメータ

このセクションでは、パラメータ化に使用できる必要があるすべてのパラメータを定義できます。 パラメーター モジュールインスタンスの。

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 ユーザーはモジュールエディタでパラメータを設定するよう強制できます。パラメータが設定されていない場合は、エラー メッセージが表示されます。

  • 定義 そして マックス パラメータ値の制限を設定できます。これらの制限のチェックは、数値型または時間の変数に対してのみ可能です。他のすべての変数タイプは許可されていないため、エラーが発生します。

20.
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.i12 (そうではない 7)。

ネストされた構造では、モジュール FB から変数までのパス内のすべての初期化を考慮する必要があります。変数の最も外側の初期化によって値が決まります。