Accès partiel aux variables
L'expression est conforme à la norme CEI 61131-3.
Un accès partiel aux variables est possible dans le cas de variables CEI de type données BYTE
, WORD
, DWORD
ou LWORD
(Type de données ANY, ANY_<type> ).
Syntaxe :
<nom de la variable>. % <type partiel> <index partiel>
Un espace est autorisé après l'opérateur point (.
). Aucun espace n'est autorisé après le signe de pourcentage (%
) et après le type partiel.
<nom de la variable> | Nom de l |
<type partiel> |
Accès à Accès à |
<index partiel> | De 0 à l'indice maximum |
Pour plus d'informations, voir :
Usage
L'accès partiel ne peut être utilisé que pour les variables non temporaires (variables définies par l'utilisateur, champs, accès aux tableaux ou déréférencement). Ceci n'est pas autorisé pour les résultats temporaires ou les littéraux.
L'expression elle-même n'est pas temporaire et peut être utilisée comme expression dans REFERENCE TO
ou comme un ADR
opérateur.
// Implementation PartialVarB := GVL.Variable.%B0; PartialVarX := array[idx].%X0; PartialVarW := tempVariable.%W2; PartialVarD := ptr^.%D2; PartialVarB := variable.%W1.%B1
L'accès partiel n'est pas possible dans le cas d'appels de fonctions, d'expressions d'index, de littéraux ou de propriétés.
Exemple négatif :
FunctionCall().%B0 (1+index).%B0 (DWORD#16#12345678).%B0 Property.%B0
Index maximum des types partiels
L'accès partiel n'est possible que si l'expression appelée a un type conforme et que l'index partiel est inférieur ou égal à l'index partiel maximum. Sinon, une erreur du compilateur est signalée.
Type partiel | Type d'accès | Maximum d'index partiel |
---|---|---|
| ||
| 7 | |
| 15 | |
| 31 | |
| 63 | |
| ||
| 0 | |
| 1 | |
| 3 | |
| 7 | |
| ||
| Non supporté | |
| 0 | |
| 1 | |
| 3 | |
| ||
| Non supporté | |
| Non supporté | |
| 0 | |
| 1 | |
| ||
| Non supporté | |
| Non supporté | |
| Non supporté | |
| 0 |
Expression avec accès partiel
Le type d'une expression d'accès partiel dépend uniquement de <type partiel> et doit être sélectionné à l’aide du tableau suivant.
Type partiel | Type d'expression |
---|---|
|
|
|
|
|
|
|
|
|
|
Adresses
Il est permis de créer l'adresse à partir d'une expression d'accès partiel de type partiel B
, W
, D
, et L
.
C'est pas autorisé à créer l'adresse à partir d'une expression d'accès partiel de type partiel X
.
C'est pas autorisé à attribuer une expression d'accès partiel de type BIT
à un VAR_INOUT
variable.
ADR(var%.B0) referenceVariable REF= var.%W1
Exemple négatif :
ADR(var.%X0) ref REF= var.%X0