Hallo Praktikant,
mit diesem Code schickst Du die SPS garantiert mit Zykluszeitüberschreitung in STOPP!

Originally Posted by
DerPraktikant
L 0 //0 in AKKU 1 laden
T MD1 //0 nach Merkerdoppelwort 1 transferieren
P000:U E 0.4 //Prüfen ob noch in Endlage
SPBNB P001
CALL FC 105
L MD1
L PEW 6 //angenommen es wäre dieser Analog-Eingang
<I //wenn neuer Wert grösser als alter wert
T MD1 //dann neuen Wert in MD1 schreiben
SPA P000 //zurück zur Marke P000
P001: NOP 0
Du springst immer wieder zur Marke P000 zurück. Da sich das PAE aber innerhalb eines Zykluses
nicht ändert, kommst Du bei E 0.4 = 1 nie zur Marke P001!
Besser wäre:
Code:
U E 0.4 //Prüfen ob noch in Endlage
SPBN P001
CALL FC 105
L MD 0
L PEW 6 //angenommen es wäre dieser Analog-Eingang
<I //wenn neuer Wert grösser als alter wert
SPB P001
T MD 0 //dann neuen Wert in MD 0 schreiben
P001: NOP 0
Jetzt wird einmal pro Zyklus verglichen, ob sich der Wert geändert hat.
Grüße
Gebs
Bookmarks