セクション: VarArray
パラメータ VarArrays
構成可能なサイズで配列を作成できます。
SEC VarArrays //optional: yes, modifier: [UPDATE]] SEC VarArray : <slot identifier> //optional: yes, modifier [] Variable := <variable name>; //optional: no, type: InstancePath Var_Count := <variable count>; //optional: no, type: InstancePath Inst_Name := <instance name>; //optional: yes, type: StringLiteral Pragmas := [<pragma1>, <pragma2>,...]; //optional: yes, type: Pragmalist Var_Decl_Flags := <Flag1> | <Flag2> | ... ; //optional: yes, type: Flags END_SEC END_SEC
定義タイプの構文の詳細については、「 モジュール宣言の構文 説明された。
定義
Variable
モジュール関数ブロックに対する相対的な入力インスタンス パスです。その男はPOINTER TO <ELEMTYPE>
。<ELEMTYPE>
任意のタイプにすることができます。セクションのターゲット
VarArray
構成可能なサイズの配列を一意に識別する必要があります。Var_Count
整数入力変数の入力インスタンス パスです。Variable
ファンクションブロックの。この変数を構成用にエディターに表示するには、パラメーターとして宣言する必要があります。あるいは、次のこともできますVar_Count
マルチスロットまたはマルチinstRefの変数が使用可能です。複数の VarArray が同じである可能性がありますVar_Count
-変数を使用します。配列のサイズが 0 の場合、配列は作成されませんが、配列ポインターは 0 に設定されます。Inst_Name
作成する配列変数の名前を指定します。プレースホルダー%Instancename%
そして%VariablePath%
(大文字/小文字は関係ありません) は、モジュール インスタンスのインスタンス名またはポインター変数のインスタンス パス (ドットはアンダースコアに置き換えられます) に置き換えられます。定義を省略した場合はデフォルト値が適用されます。AC_ARRAY_%VariablePath%
。モジュールの 2 つの異なる VarArray に同一の VarArray がある場合、エラーになります。
Inst_Name
それはプレースホルダーではありません%VariablePath%
が含まれています。Pragmas
コンパイラ プラグマのリストが含まれており、生成された配列変数の前に挿入されます。Var_Decl_Flags
作成された配列の変数の型をより正確に指定できるようになります。許可されるフラグは次のとおりです。NONE
、RETAIN
そしてPERSISTENT
。これらのフラグにより、セクションに移動します。VAR_INPUT
、配列が作成される場所を追加できます(たとえば、フラグ用)RETAIN
、VAR_INPUT RETAIN
)。
SEC VAR_ARRAYS SEC VAR_ARRAY : NameList Variable := psNameList; Var_Count := uiArraySize; END_SEC ... SEC PARAM : ArraySize Variable := uiArraySize; Name := TL.ArraySize_Name; Desc := TL.ArraySize_Desc; END_SEC END_SEC
関数ブロックの宣言部分には次の宣言が含まれている必要があります。 uiArraySize: UINT := 7; psNameList: POINTER TO STRING;
。