ADR
Cet opérateur d'adresse n'est pas défini dans la norme IEC 61131-3.
ADR
renvoie l'adresse de son argument dans un DWORD. Cette adresse peut être attribuée à un pointeur au sein du projet.
ADR
avec des noms de fonction, de programme, de bloc fonction et de méthode.
Sachez qu'il est possible de transmettre des pointeurs de fonction à des bibliothèques externes et consultez le chapitre Pointeurs. En revanche, vous ne pouvez pas appeler un pointeur de fonction dans EcoStruxure Machine Expert. Pour activer un appel système (système d'exécution), définissez la propriété d'objet correspondante (menu ) pour l'objet fonction.
VAR
piAddress1: POINTER TO INT;
iVar1 : INT := 5;
lwAddress2 : LWORD;
iVar2 : INT := 10;
xwAddress3 : _XWORD;
iVar3 : INT;
END_VAR
piAddress1 := ADR(iVar1); // piNumber is assigned to address of iVar1
lwAddress2 := ADR(iVar2); // works for 64 bit run time system
xwAddress3 := ADR(iVar3); // works for 32 bit and 64 bit systems
L'exécution de la commande
peut déplacer des variables dans la mémoire. En cas de changement en ligne, vous êtes averti de la nécessité éventuelle de procéder à une copie.
Le décalage des variables peut avoir pour effet que les variables POINTER TO
pointent vers une mémoire non valide.
AVERTISSEMENT | |
---|---|
POINTER TO
de fonctions et de méthodes ne doivent pas être renvoyées à l'élément appelant la fonction ni transmises à des variables globales.