部分的な変数アクセス
この式は IEC 61131-3 規格に準拠しています。
データ型の IEC 変数の場合、部分的な変数アクセスが可能 BYTE
、 WORD
、 DWORD
または LWORD
(データ・タイプ ANY、ANY_<タイプ> )。
構文:
<変数名>。 % <部分型> <部分インデックス>
ドット演算子の後にはスペースを使用できます (.
)。パーセント記号 (%
) および部分型の後。
<変数名> | の名前 |
<部分型> |
へのアクセス へのアクセス |
<部分インデックス> | 0からインデックスの最大値まで |
詳細については、以下を参照してください。
使用法
部分アクセスは、非一時変数 (ユーザー定義変数、フィールド、配列アクセス、または逆参照) に対してのみ使用できます。これは、一時的な結果またはリテラルでは許可されません。
式自体は一時的なものではなく、次の式として使用できます。 REFERENCE TO
またはとして ADR
オペレーター。
// Implementation PartialVarB := GVL.Variable.%B0; PartialVarX := array[idx].%X0; PartialVarW := tempVariable.%W2; PartialVarD := ptr^.%D2; PartialVarB := variable.%W1.%B1
関数呼び出し、インデックス式、リテラル、またはプロパティの場合、部分的なアクセスはできません。
否定的な例:
FunctionCall().%B0 (1+index).%B0 (DWORD#16#12345678).%B0 Property.%B0
部分型のインデックスの最大値
部分アクセスは、呼び出された式が適合する型を持ち、部分インデックスが最大部分インデックス以下である場合にのみ可能です。それ以外の場合は、コンパイラ エラーが報告されます。
部分タイプ | アクセスタイプ | 部分インデックスの最大値 |
---|---|---|
| ||
| 7 | |
| 15 | |
| 31 | |
| 63 | |
| ||
| 0 | |
| 1 | |
| 3 | |
| 7 | |
| ||
| サポートされていません | |
| 0 | |
| 1 | |
| 3 | |
| ||
| サポートされていません | |
| サポートされていません | |
| 0 | |
| 1 | |
| ||
| サポートされていません | |
| サポートされていません | |
| サポートされていません | |
| 0 |
部分アクセスのある式
部分アクセス式の型は以下にのみ依存します。 <部分型> 次の表を使用して選択する必要があります。
部分タイプ | 式の種類 |
---|---|
|
|
|
|
|
|
|
|
|
|
住所
部分型の部分アクセス式からアドレスを作成できます。 B
、 W
、 D
、 そして L
。
それは ない 部分型の部分アクセス式からアドレスを作成できるようになりました X
。
それは ない type の部分アクセス式を割り当てることができます。 BIT
に VAR_INOUT
変数。
ADR(var%.B0) referenceVariable REF= var.%W1
否定的な例:
ADR(var.%X0) ref REF= var.%X0