Step 7 Pointer Zugriff auf ein Byte

Rici

Level-2
Beiträge
128
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich benötige Hilfe bei der der S7 315 mit Step7.

Im Anhang ist ein Code aus unserem Programm welcher schon immer verwendet wird. Hier wird ein Word aus einem Schieberegister an einer, vorgegebenen Position rausgeholt.
Unbenannt.PNG
Nun haben wir einen Schieberegister mit Bytes nicht mit Word. Um die Länge des Registers etwas kleiner zu halten. Es soll auch nur ein Bit geschoben werden. Ich habe diesen Code dazu als Grundlage genommen bekomme den jedoch nicht korrekt angepasst.

Wie müsste der Code aussehen damit es funktioniert?

PS. "Die Anweisung SLW 4" hatte ich nie verstanden.

Gruß Rici
 
mit
L #Position...
wird der Akku mit der Positionsnummer geladen
mit
SLW 4
wir der Zahlenwert für eine Wortweise Adressierung mit Adressregister angepasst
mit
LAR1
wird das Adressregister 1 nun mit dem Inhalt des Akkus geladen (= Zeiger auf ein Datenwort)
mit
T STW
wird der Inhalt des Akkus in das Statuswort geladen (warum auch immer...)
mit
L DBW[AR1,P#0.0]
wird nun das Datenwort, welches über das Adressregister 1 adressiert wurde, also das Datenwort, auf welches "Position_Arms_down" zeigt,
in den Akku geladen (P#0.0 bedeutet, dass der Adressoffset 0 ist, also wird ab dem ersten Datenwort im hoffentlich vorher aufgeschlagenen Datenbaustein gelesen)
mit
T #HM_Position...
wird nun der Inhalt des Akkus da hinein geschrieben

Wenn ihr nun mit Byteadressen im Datenbaustein arbeiten wollt,
müsstest Du statt
SLW 4 ==> SLW 3
schreiben
und weiter unten
L DBW[AR1,P#0.0] ==> L DBB[AR1,P#0.0]
 
Zurück
Oben