セクション: InstRef
セクション InstRefs
FB インスタンスまたは構造体インスタンスの参照を定義します。
SEC InstRefs //optional: yes, modifier: [UPDATE] SEC InstRef : <identifier> //target: yes, optional: yes, modifier [HIDE,UPDATE] Variable := <variable name>; //optional: no, type: InstancePath Desc := <description>; //optional: no, type: text Optional := TRUE/FALSE; //optional: yes, type: BoolFlag END_SEC ... SEC InstRef_Multi : <identifier> //optional: yes, modifier [HIDE,UPDATE] Variable := <variable name>; //optional: no, type: InstancePath Var_Count := <variable for count>; //optional: no, type: InstancePath Desc := <description>; //optional: no, type: text Cardinality := [<minimum> .. <maximum>]; //optional: no, type: Cardinality END_SEC END_SEC
定義タイプの構文の詳細については、次の章を参照してください。 モジュール宣言の構文 説明された。
Inst_Ref.Variable
型の変数の入力インスタンス パスを定義します。POINTER TO <T>
またはタイプの<Interface>
。 (<T>
任意の構造体または FB タイプです。)InstRef_Multi.Variable
タイプの入力インスタンスのパスを定義しますPOINTER TO POINTER TO <T>
またはタイプのPOINTER TO <Interface>
。 (<T>
任意の構造体または FB タイプです。)2 つの異なる InstRef または InstRef-Multi エントリで同じ変数を使用することはできません。
ターゲットはインスタンス参照を一意に識別する必要があります。つまり、2 つの異なるインスタンス参照宣言が存在することはできません (セクション
InstRef
そしてInstRef_Multi
) ターゲットは大文字と小文字を除いて一致します。による
Var_Count
アドレス指定された (整数) 入力変数は、全体で 1 回だけ使用できますVarCounts
のSlot_Multi
またはInstRef_Multi
利用される。によって定義される整数変数Var_Count
からVarArray
と平行することができますVar_Counts
からSlot_Multi
またはInstRef_Multi
利用される。
SEC InstRef_Multi : Elements Variable := piElems ; Var_Count := uiArraySize ; Desc := TL.Elems_Desc ; Cardinality := [1 .. 10] ; END_SEC
次の宣言は、関数ブロックの宣言部分になければなりません。 uiArraySize : UINT; piElems : POINTER TO Interface;
piElems
グローバルに作成され、正しく初期化されたものを指します ARRAY[0..uiArraySize-1] OF Interface
または。 OF POINTER TO <T>
、各インスタンスを指します。これは次を使用して実行できます piElems[i]
i 番目のオブジェクトにアクセスできます。