Fehlermeldung bei Zeitüberschreitung?

pinolino

Level-1
Beiträge
261
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe ein kleines Programm über zwei Zylinder geschrieben. Jetzt wollte ich noch gerne einfügen, dass wenn entweder Zylinder A oder Zylinder B auf dem Weg von der Grundstellung in die Arbeitsstellung oder umgekehrt eine gewisse Zeit überschreiten, es zu einer Fehlermeldung kommt.

Jedoch habe ich momentan keinen Ansatz, wie ich so eine Zeitkontrolle in das bestehende Programm integrieren könnte...

U "S3" // Endschalter S3
U "S5" // Endschalter S5
S "M_Schr_1" // Zyl. A fährt in AS
U "M_Schr_2"
R "M_Schr_1"

U "S2" // Endschalter S2
U "S5" // Endschalter S5
U "M_Schr_1"
S "M_Schr_2" // Zyl. B fährt in AS
U "M_Schr_3"
R "M_Schr_2"

U "S2" // Endschalter S2
U "S4" // Endschalter S4
U "M_Schr_2"
S "M_Schr_3" // Zyl. B fährt in GS
U "M_Schr_4"
R "M_Schr_3"

U "S2" // Endschalter S2
U "S5" // Endschalter S5
U "M_Schr_3"
S "M_Schr_4" // Zyl. A fährt in GS
U "M_Schr_1"
R "M_Schr_4"

U "S1" // Ein-/Ausschalter
U "M_Schr_1"
S "Y1" // Zylinder A
UN "S1"
U "M_Schr_4"
R "Y1"

U "S1" // Ein-/Ausschalter
U "M_Schr_2"
S "Y2" // Zylinder B
UN "S1"
U "M_Schr_3"
R "Y2"


Habt ihr evtl. einen Ansatz für mich?

Vielen Dank!

Grüße

pinolino
 
Hallo,

als Ansatz könntest du du doch überwachen wie lange deine Schritte aktiv sind.

U M_Schr_1
UN "S2"
L S5t#5s
SE T1

U T1
= Fehler

als Ansatz, hab ewig keinen Timer mehr in dieser Art benutzt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für diesen Ansatz MatMer!

Somit würde das Programm dann wie folgt aussehen:

U "S3" // Endschalter S3
U "S5" // Endschalter S5
S "M_Schr_1" // Zyl. A fährt in AS
U "M_Schr_2"
R "M_Schr_1"

U "S2" // Endschalter S2
U "S5" // Endschalter S5
U "M_Schr_1"
S "M_Schr_2" // Zyl. B fährt in AS
U "M_Schr_3"
R "M_Schr_2"

U "S2" // Endschalter S2
U "S4" // Endschalter S4
U "M_Schr_2"
S "M_Schr_3" // Zyl. B fährt in GS
U "M_Schr_4"
R "M_Schr_3"

U "S2" // Endschalter S2
U "S5" // Endschalter S5
U "M_Schr_3"
S "M_Schr_4" // Zyl. A fährt in GS
U "M_Schr_1"
R "M_Schr_4"

U "S1" // Ein-/Ausschalter
U "M_Schr_1"
S "Y1" // Zylinder A
UN "S1"
U "M_Schr_4"
R "Y1"

U "S1" // Ein-/Ausschalter
U "M_Schr_2"
S "Y2" // Zylinder B
UN "S1"
U "M_Schr_3"
R "Y2"

U "M_Schr_1" // Zeitüberwachung Zyl. A von GS in AS
UN "S2"
L S5T#5s
SE T1
U T1
= Fehler

U "M_Schr_4" // Zeitüberwachung Zyl. A von AS in GS
UN "S3"
L S5T#5s
SE T2
U T2
= Fehler

U "M_Schr_2" // Zeitüberwachung Zyl. B von GS in AS
UN "S4"
L S5T#5s
SE T3
U T3
= Fehler

U "M_Schr_3" // Zeitüberwachung Zyl. B von AS in GS
UN "S5"
L S5T#5s
SE T4
U T4
= Fehler

Habe ich das so richtig verstanden?

Danke, pinolino
 
Hallo,

ich hab jetzt keinen ausführlichen Blick drauf geworfen, aber ich denk schon, dass es so funktionieren müsste. Du könntest auch für jeden Zylinde rnur einen Timer nutzt und dann "verodern"...
 
Hallo MatMer,
meinst du in etwa so?

U "M_Schr_1" // Zeitüberwachung Zyl. A von GS in AS
UN "S2"
O
U "M_Schr_4" // Zeitüberwachung Zyl. A von AS in GS
UN "S3"
L S5T#5s
SE T1

U T1
= Fehler

Grüße
 
Zuletzt bearbeitet:
Hallo MatMer,
denke das ist ein ganz brauchbarer Ansatz!

Denkbar wäre vielleicht auch ein Taktmerker, der immer um 1 hochzählt und dann den Sollwert mit dem Istwert der Zeit für die Zylinderbewegung vergleichen. Ist der Istwert größer als der Sollwert, dann kann z.B. ein "Fehlermerker" gesetzt werden... Ist aber wohl in der Umsetzung noch etwas aufwändiger.

Danke nochmals!

pinolino
 
Zuletzt bearbeitet:
@Pinolino
U "M_Schr_1" // Zeitüberwachung Zyl. A von GS in AS
UN "S2"

L S5T#5s
SE T1
U T1
= Fehler <--- Hier mußt du für jeden Fehler einen eigenen Opreanden nehmen

U "M_Schr_4" // Zeitüberwachung Zyl. A von AS in GS
UN "S3"
L S5T#5s
SE T2
U T2
= Fehler <--- Hier mußt du für jeden Fehler einen eigenen Opreanden nehmen

U "M_Schr_2" // Zeitüberwachung Zyl. B von GS in AS
UN "S4"
L S5T#5s
SE T3
U T3
= Fehler <--- Hier mußt du für jeden Fehler einen eigenen Opreanden nehmen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Pinolino
U "M_Schr_1" // Zeitüberwachung Zyl. A von GS in AS
UN "S2"
L S5T#5s
SE T1
U T1
= Fehler

U "M_Schr_4" // Zeitüberwachung Zyl. A von AS in GS
UN "S3"
L S5T#5s
SE T2
U T2
S Fehler

U "M_Schr_2" // Zeitüberwachung Zyl. B von GS in AS
UN "S4"
L S5T#5s
SE T3
U T3
S Fehler

So klappt es!
 
Zurück
Oben