ADR
Dieser Adressoperator wird nicht vom IEC 61131-3-Standard vorgegeben.
ADR gibt die Adresse des zugehörigen Arguments in einem DWORD zurück. Diese Adresse kann innerhalb des Projekts einem Zeiger zugewiesen werden.
ADR-Operators mit Funktionsnamen, Programmnamen, Funktionsbausteinnamen und Methodennamen.
Weitere Informationen finden Sie im Kapitel Zeiger. Beachten Sie, dass Funktionszeiger an externe Bibliotheken weitergegeben werden können. Es besteht allerdings keine Möglichkeit, einen Funktionszeiger innerhalb von EcoStruxure Machine Expert aufzurufen. Um einen Systemaufruf (Laufzeitsystem) zu ermöglichen, legen Sie die entsprechende Objekteigenschaft (im Menü ) für das Funktionsobjekt fest
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
Wenn der Befehl ausgeführt wird, werden unter Umständen Variablen an eine andere Stelle im Speicher verschoben. Wenn eine Kopie erforderlich ist, erscheint während der Online-Änderung ein entsprechender Hinweis.
Die Verschiebung von Variablen kann zur Folge haben, dass POINTER TO-Variablen auf einen ungültigen Speicher verweisen.
| WARNUNG | |
|---|---|
POINTER TO-Variablen von Funktionen und Methoden sollten nicht an den Aufrufer dieser Funktion zurückgegeben oder an globale Variablen übergeben werden.