Step 7 Frage zu Pointer zurück setzen

yman

Level-1
Beiträge
61
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe mal wieder eine Frage. Habe hier ein Pointer programmiert bekommen. Weiß nur nicht, wie ich den wieder auf Null setzen kann. Der Hintergrund ist der:
Der Versatz ist, wieviele Schritte weiter gegangen werden soll (im Beispiel 1) Feld ist mein DB100 und Index ist der Pointer im DBW2.
Ich habe aus einem Rezept die X- und Y-Koordinaten in den DB 100 gespeichert. Nun soll nacheinander die einzelnen Koordinaten abgearbeitet werden. So weit funktioniert das auch. Wie kann ich den Pointer wieder zurück setzen, wenn alle Koordinaten abgearbeitet wurden? Oder ist das gar nicht nötig?

AUF #feld




L P#0.0
LAR1




L #versatz
L 0
==I
SPB _001


L #versatz
L 0
>I
SPB _003


L #index
L 1
-I
T #index
SPA _002




_003: NOP 0
L #index
L 1
+I
T #index
SPA _002


_001: NOP 0
L #index


_002: NOP 0
L 4
*I
SLD 3
+AR1


// AUF "Tabelle"


L DBW [AR1,P#0.0]
T #Xwert
L DBW [AR1,P#2.0]
T #Ywert
Vielen Dank im Voraus.
Gruß Danny
 
Hallo,

auf 0 setzen brauchst Du Dein AR1 nicht, wenn Du mit der Schleife fertig bist.
Es empfiehlt sich aber IMMER, vor Verwendung der AR's den alten Inhalt zu sichern
und nach Verwendung wieder zurückzusichern.
Die AR's werden über Bausteinaufrufe hinweg anders als die DB- Register nicht gesichert!

mfg
Erdmann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Erdmann,

hab vielen Dank für deine Antwort. Dann startet nach Ablauf der Schleife der Pointer wieder von vorn? Ich hätte nämlich unter Umständen in meinem DB100 unbelegte Werte, je nach Rezeptur. Die Nullen wollte ich natürlich nicht mit abarbeiten.
Ich wollte je nach Rezeptur die entsprechende Anzahl an Koordinaten abarbeiten. Es können eventuell nur 16 hinterlegt sein, habe aber 20 im DB 100 hinterlegt und möchte nur die im Wort 0.0 hinterlegten Wert abarbeiten, da der Rest nicht übertragen ist. Oder werden vom Pointer nur belegte Werte bearbeitet?
Der DB 100 sieht so aus:
Adresse
Name
Typ
Anfangswert
Kommentar
0.0

STRUCT


+0.0
Anzahl
INT (Integer)
0
Anzahl der Koordinaten
+2.0
Pointer
INT (Integer)
0
Zeiger
+4.0
X1
INT (Integer)
0
1. Koordinate X-Achse
+6.0
Y1
INT (Integer)
0
1. Koordinate Y-Achse
+8.0
X2
INT (Integer)
0
2. Koordinate X-Achse
+10.0
Y2
INT (Integer)
0
2. Koordinate Y-Achse
+12.0
X3
INT (Integer)
0
3. Koordinate X-Achse
+14.0
Y3
INT (Integer)
0
3. Koordinate Y-Achse

Danke schon mal und einen schönen Sonntag.

Gruß Danny
 
Zurück
Oben