Pointer Adressoffset mit Variablen

T

tatz

Guest
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo, ich möchte die Adresse eines Pointers in Abhängikeit einer Variablen verändern.
pptest:=pptest+offset;

Ich benutze CodeSys. Geht das, wenn ja wie?

Gruss und Dank
 

myozze

Member
Beiträge
12
Punkte Reaktionen
0
so...

Hallo tatz,

der Offset muß vom Typ DWORD sein.
Um auf die nächste Adresse (das nächste Feldelement) zu gelangen erhöhst du den pointer um 2 oder anders gesagt:
Der Offset muß ein Vielfaches von 2 sein.

Beispiel:

VAR
feld: ARRAY[0..15] OF WORD;
ptr: POINTER TO WORD; (* Pointer/Zeiger *)
offset: DWORD; (* Offset (Vielfaches von 2) *)
wert: WORD:=100; (* 100 ist natürlich nur ein Beispiel *)
END_VAR

ptr:=ADR(feld); (* Initialisierung des Pointers *)
ptr:=ptr+offset; (* Erhöhung des Pointers um Offset *)
ptr^:=wert; (* Beschreiben der Adresse *)

Gruß
Andi
 
Oben