-> Hier kostenlos registrieren
Hallo. Ich moechte gerne einen Any-Pointer an die dritte Schachtelungstiefe weiterreichen. Das Ganze als Multiinstanz. Beim weiterreichen an die zweite Multiinstanz passiert's... Der Pointer ist mit P#0.0 belegt. Hab ich in meinem Code nen Fehler??? Eigentlich rette ich mir die Adressregister temporär. Sollte ich das etwa statisch machen?
TAR1 #TempAr1 // Adressregister 1 retten
TAR2 #TempAr2 // Adressregister 2 retten
LAR1 P##HmiKurvendatenQuelle // Lade Adressregister 1 mit Pointer aus Schnittstelle IN
LAR2 P##TempAny1 // Lade Adressregister 2 mit Pointer aus Schnittstelle TEMP
L W [AR1,P#0.0] // Code des Datentypes lesen
T W [AR2,P#0.0]
L W [AR1,P#2.0] // Wiederholfaktor lesen
T W [AR2,P#2.0]
L W [AR1,P#4.0] // Nummer des Datenbausteines oder "0"
T W [AR2,P#4.0]
L D [AR1,P#6.0] // Bereichszeiger
T D [AR2,P#6.0]
LAR2 #TempAr2 // Adressregister 2 wiederherstellen
LAR1 #TempAr1 // Adressregister 1 wiederherstellen
TAR1 #TempAr1 // Adressregister 1 retten
TAR2 #TempAr2 // Adressregister 2 retten
LAR1 P##HmiKurvendatenQuelle // Lade Adressregister 1 mit Pointer aus Schnittstelle IN
LAR2 P##TempAny1 // Lade Adressregister 2 mit Pointer aus Schnittstelle TEMP
L W [AR1,P#0.0] // Code des Datentypes lesen
T W [AR2,P#0.0]
L W [AR1,P#2.0] // Wiederholfaktor lesen
T W [AR2,P#2.0]
L W [AR1,P#4.0] // Nummer des Datenbausteines oder "0"
T W [AR2,P#4.0]
L D [AR1,P#6.0] // Bereichszeiger
T D [AR2,P#6.0]
LAR2 #TempAr2 // Adressregister 2 wiederherstellen
LAR1 #TempAr1 // Adressregister 1 wiederherstellen