M62.6 wird im selben Zyklus gesetzt und rückgesetzt
das hab ich aber nicht selbst programmiert sondern aus einer bestehenden Waschanlage rauskopiert.
Das Ganze sieht mir sehr nach einer
Schrittkette aus, allerdings so, wie man sie nicht machen sollte.
Das
Setzen von Ausgängen in irgendeinem Schritt und
Rücksetzen in irgendeinem anderen Schritt führt typisch
zu solchen Effekten, daß Ausgänge gesetzt bleiben, wenn ein Schritt kürzer als ein OB1-Zyklus ist.
Sowas wird meist aus Faulheit gemacht, um das "große" ODER-Netzwerk für die Ausgangszuweisung zu sparen.
Der Ausgang A125.5 bleibt gesetzt, weil die Weiterschaltbedingung von Schritt M62.6 zu Schritt M62.7
sofort erfüllt ist und der M62.6 somit keinen nächsten Zyklus "erlebt".
Nicht gut:
Code:
U M 62.3
S A 125.5
U M 62.6
R A 125.5
Besser wäre (dieser Code kann an beliebiger Stelle im Programm stehen):
Code:
O M 62.3 // Schritt 3
O M 62.4 // Schritt 4
O M 62.5 // Schritt 5
= A 125.5
Oder versetze den Code
zwischen das Setzen und das Rücksetzen des M62.6:
Code:
U T 7
S M 62.6----------??????? ER setzt diesem Merker nicht?? Und somit den Ausgang 125.5 nicht zurück......
U M 62.6
R M 62.5
[COLOR="Red"]//hierher verschoben:
U M 62.3
S A 125.5
U M 62.6
R A 125.5[/COLOR]
UN A 124.4
U M 62.6
UN A 124.3
S M 62.7
U M 62.7
R M 62.6 <-- Dieser M soll im nächsten Zyklus den A reseten, wird aber hier rückgesetzt
Wenn dann allerdings der Schritt M62.3 nicht mal einen Zyklus lang ist, dann geht der A125.5 nicht an!
U T 7
S M 62.6 < Das ist auseinander gerissen
U M 62.6
R M 62.5 < Das ist auseinander gerissen
-----------------------------------------------------------
U T 7
S M 62.6 << So ist es übersichtlicher
U M 62.7
R M 62.6 <<
In Deiner "übersichtlicheren" Variante sind allerdings die Schrittmerker M62.6 und M62.7 einen Zyklus lang
gleichzeitig aktiv.
Gruß
Harald