-> Hier kostenlos registrieren
Auf der S7-200 habe ich folgenden AWL Code generiert:
mit dem Ergebnis, dass nach Ablauf des Programms in VW100 der Wert 42 steht.
Was ich aber gerne hätte, wäre, dass mit dem BMB Befehl nicht von der Adresse auf die VD50 zeigt an die Adresse auf die VD54 zeigt kopiert wird, sondern dass die Werte der Variable auf die die Zeiger zeigen als Quell- und Zieladressen verwendet werden. Sprich: VD50 zeigt auf VB0 und in VB0 steht der Wert 42. VD54 zeigt auf VB100 und in VB100 steht der Wert 0 (wegen Vorinitialisierung). Dementsprechend hät ich gerne, das BMB 2 Byte von VB42 nach VB0 kopiert. Aber wie lässt sich das realisieren?
Code:
LD SM0.0
MOVW 42, VW0 // setze vw0 auf den Wert 23
MOVD &VB0, VD50 // mache VD50 zu Zeiger auf vb0
MOVD &VB100, VD54 // mache VD54 zu zeiger auf vb100
BMB *VD50, *VD54, 2 // kopiere 2 Byte von der Adresse auf die
// VD50 zeigt an die Adresse auf die VD54 zeigt
Was ich aber gerne hätte, wäre, dass mit dem BMB Befehl nicht von der Adresse auf die VD50 zeigt an die Adresse auf die VD54 zeigt kopiert wird, sondern dass die Werte der Variable auf die die Zeiger zeigen als Quell- und Zieladressen verwendet werden. Sprich: VD50 zeigt auf VB0 und in VB0 steht der Wert 42. VD54 zeigt auf VB100 und in VB100 steht der Wert 0 (wegen Vorinitialisierung). Dementsprechend hät ich gerne, das BMB 2 Byte von VB42 nach VB0 kopiert. Aber wie lässt sich das realisieren?