Step 7 Akku1 und Akku2 in der SPS

Klaus123

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
es gibt ja den Akku1 und den Akku 2 in der SPS. Was passiert in den Akkus ?
Ich weiß das beim Ladebefehl in den Akku eins geschrieben wird und wenn man danach etwas neues läd wird es in den Akku 2 verschoben
 
Man kann damit rechnen, logische Verknüpfungen durchführen, transferieren ....
Am besten die Befehlsreferenz mal durchlesen.
Um welche SPS geht es denn genau?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In der SPS werden Rechenoperationen in AWL nach dem Prinzip der umgekehrten polnischen Notation ausgeführt, d.h. es werden zuerst 1 oder 2 Operanden angegeben und danach eine Operation, was damit gemacht werden soll.

Die Operation macht: Nimm 1 oder 2 Operanden von einem Stapel, verarbeite diese wie in der Operation angegeben und lege das Ergebnis wieder auf den Stapel. Dadurch kann das Ergebnis sofort als ein Operand der nächsten Operation genutzt werden.
Akku1 und Akku2 bilden den Operandenstapel für die Operationen. Akku1 ist der "oberste" Stapelplatz.

Beim Laden von Operanden in den Stapel werden diese immer oben auf den Stapel gelegt (in Akku1), nachdem der vorher oberste Wert einen Stapelplatz tiefer (in Akku2) verschoben wurde. Der vorher in Akku2 vorhandene Wert verschwindet dadurch automatisch (wird quasi aus dem Stapel geschoben).

Code:
        // Akku1 Akku2 (nach der Operation)
        // ----- -----
L 123   //  123   ???  lege den ersten Operanden auf den Stapel (in Akku1) und verschiebe den vorher obersten Stapelwert in Akku2
L 456   //  456   123  lege den zweiten Operanden auf den Stapel (in Akku1) und verschiebe den vorher obersten Stapelwert in Akku2
+I      //  579   123  addiere die beiden Operanden vom Stapel (Akku2 + Akku1) und lege das Ergebnis auf den Stapel (in Akku1)
+I      //  702   123  addiere die beiden Operanden vom Stapel (Akku2 + Akku1) und lege das Ergebnis auf den Stapel (in Akku1)
L 3     //    3   702  lege 3 auf den Stapel (in Akku1) und verschiebe den vorher obersten Stapelwert in Akku2
/I      //  234   702  dividiere Akku2 durch Akku1 und lege das Ergebnis auf den Stapel (in Akku1)

Harald
 
Zurück
Oben