Notaus

christiant

New member
Beiträge
3
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Leute,
ich habe einen Steuerungsablauf in Ablaufsprache. Nun möchte ich, dass im Falle eines NOTAUS die Ablaufkette verlassen wird und die Ventile, Motoren usw. einen bestimmten Zustand annehmen.
Wie kann ich das am einfachsten realisieren ohne dabei an allen möglichen Stellen in der Ablaufkette Alternativ-Transitionen zu setzen.

mfg
Christiant
 

190B

Well-known member
Beiträge
1.124
Punkte Reaktionen
213
Hallo christiant,

ich würde im NOT AUS-Fall die Schrittkette ausschalten und extern in einer(m) FC (FB) alle Merker, welche Ausgänge oder Funktionen ansteuern, rücksetzen.

Edit:
Reden wir von einer "normalen" oder einer grafischen Schrittkette?
 
Zuletzt bearbeitet:
OP
C

christiant

New member
Beiträge
3
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo 190B,
dann sollte ich also bei jeder Transition meiner grafischen Ablaufkette ein "AND NOTAUS" (im Fehlerfall ist NOTAUS = False) hinzufügen, um die Kette anzuhalten und in einem eigenen Programm den NOTAUS-Fall programmieren und dort die betroffenen Ausgänge zurücksetzen?

Eine weitere Frage hätte ich noch:
Ich möchte jeden Schritt meiner Ablaufkette mittels eines Timeout überwachen und wenn die Zeit in einem der Schritte überschritten wird eine Variable "Stoerung" setzen.
Dazu habe ich bei jedem Schritt eine assozierte Aktion "D T#10s, Stoerung" hinzugefügt.
Wenn nun bei einem Schritt die Zeit von 10 Sekunden überschritten wird, dann wird die Variable Stoerung auch gesetzt. (ist auch so richtig)
Doch wenn anschießend zum nächsten Schritt weitergeschaltet wird, dann bleibt die Variable Stoerung gesetzt - was so nicht sein sollte. Diese sollte zurückgesetzt werden und wiederum erst nach 10 Sekunden (sofern nicht vorher weitergeschaltet wird) gesetzt werden.
Was muss ich dafür tun?

Vielen Dank im Voraus
Christian
 

Tigerente1974

Well-known member
Beiträge
1.815
Punkte Reaktionen
289
Mit Graph 7 kenne ich mich nicht aus. Aber einen Tipp für die Weiterschaltbedingung hätte ich noch:

Du könntest einen Merker "Schrittfreigabe" für die Transitionen nutzen. Dieser Merker wird nur TRUE, wenn die Schrittkette laufen soll. Da steckt dann z.B. so etwas drin wie:

Code:
UN #Stoerung
U #Vollautomatik
O(
U #Halbautomatik
U #Flanke_Schrittweiterschaltung
)
= #Schrittfreigabe
 

nekron

Well-known member
Beiträge
271
Punkte Reaktionen
17
Du hast je nach verwendetem GraphFC die Möglichkeit die Kette zu pausieren, oder (wenn nach NotAus Grundstellung Gefahren werden soll) zu Initialisieren, dann fängt die Kette von vorne an ...

Gruß
Michael
 
OP
C

christiant

New member
Beiträge
3
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
@nekron, tigerente,
danke für eure antworten,
das mit dem NOTAUS sollte soweit klappen aber folgendes Problem habe ich noch:


Ich möchte jeden Schritt meiner Ablaufkette mittels eines Timeout überwachen und wenn die Zeit in einem der Schritte überschritten wird eine Variable "Stoerung" setzen.
Dazu habe ich bei jedem Schritt eine assozierte Aktion "D T#10s, Stoerung" hinzugefügt.
Wenn nun bei einem Schritt die Zeit von 10 Sekunden überschritten wird, dann wird die Variable Stoerung auch gesetzt. (ist auch so richtig)
Doch wenn anschießend zum nächsten Schritt weitergeschaltet wird, dann bleibt die Variable Stoerung gesetzt - was so nicht sein sollte. Diese sollte zurückgesetzt werden und wiederum erst nach 10 Sekunden (sofern nicht vorher weitergeschaltet wird) gesetzt werden.
Was muss ich dafür tun?


mfg
Christian
 

Tigerente1974

Well-known member
Beiträge
1.815
Punkte Reaktionen
289
Würde ich anders lösen, falls das so möglich ist.

Soweit ich weiß, kann man die Schrittnummer der Schrittkette auslesen. Damit könntest Du dann etwa so arbeiten:

Code:
// Abfragen, ob die Schrittnummer <> 0 ist 
U(
L #Schrittnummer
L 0
<>I
)
// Abfragen, ob die Schrittnummer sich geändert hat
U(
L #Schrittnummer
L #Schrittnummer_letzter_Zyklus
==I
)
// Abfragen ob die Schrittkette laufen soll
U #Schrittfreigabe
// Kontrollzeit starten
L S5t#10s
SE T1

U T1
S #Zyklusstoerung

// Schrittnummer merken
L #Schrittnummer
T #Schrittnummer_letzter_Zyklus
 

Boxy

Well-known member
Beiträge
1.422
Punkte Reaktionen
138
Wie wäre es, die Überwachung in den Permanenten Operationen machen?
Mit Not-AUs einen Halt auf die Kette und die Reaktion mit der Permanenten Operation machen.

Alternativ, könntest Du auch ne zweite Kette mit dem Not-Aus starten und da drinnen dies Bedingungen abarbeiten ;)
Die erste Kette wird dann angehalten oder bekommt einen Reset ...
 

rastus

Well-known member
Beiträge
52
Punkte Reaktionen
5
Zuviel Werbung?
->Hier kostenlos registrieren
Wenn wir über Graph reden:

Bei Notaus würde ich die Kette über INIT_SQ initialisieren und alle Ausgänge löschen.
Bei Störungen bleiben diese so lange stehen, bis sie über ACK_EF quittiert werden.
Dies kannst Du aber auch abschalten. Das kommt auf die Situation an.
Bei Antrieben usw. würde ich das nicht machen. Die Störung tritt ja nicht ohne Grund auf.

Bild_1.jpg Bild_2.jpg Bild_3.jpg Bild_4.jpg
 

PhilippL

Well-known member
Beiträge
250
Punkte Reaktionen
27
Hallo Leute,
ich habe einen Steuerungsablauf in Ablaufsprache. Nun möchte ich, dass im Falle eines NOTAUS die Ablaufkette verlassen wird und die Ventile, Motoren usw. einen bestimmten Zustand annehmen.
Wie kann ich das am einfachsten realisieren ohne dabei an allen möglichen Stellen in der Ablaufkette Alternativ-Transitionen zu setzen.

mfg
Christiant


Hi,
ich denke du meinst hier generell etwas anderes...

Ich verweise einfach mal kurz auf das folgende:

NOT-AUS
ist das Wegschalten der gesamten Spannung z.B. "Hauptschalter AUS". Dabei wird keine definierter Zustand erreicht. Sprich es ist durchaus möglich das eine erhebliche Gefahr von der Maschine ausgeht.

NOT-HALT:
ist nach DINVDE das definierte Abschalten der Anlage. z.B. Sicherheitstüren bleiben solange verriegelt wie eine Gefahr von der Anlage ausgeht. Bestimmte Aktoren werden entsprechend angesteuert.

Dies nur mal so als kleiner Hinweis.

Gruß
PhilippL
 

EliteGurke

Well-known member
Beiträge
78
Punkte Reaktionen
8
Ich möchte jeden Schritt meiner Ablaufkette mittels eines Timeout überwachen und wenn die Zeit in einem der Schritte überschritten wird eine Variable "Stoerung" setzen.
Dazu habe ich bei jedem Schritt eine assozierte Aktion "D T#10s, Stoerung" hinzugefügt.
Wenn nun bei einem Schritt die Zeit von 10 Sekunden überschritten wird, dann wird die Variable Stoerung auch gesetzt. (ist auch so richtig)
Doch wenn anschießend zum nächsten Schritt weitergeschaltet wird, dann bleibt die Variable Stoerung gesetzt - was so nicht sein sollte. Diese sollte zurückgesetzt werden und wiederum erst nach 10 Sekunden (sofern nicht vorher weitergeschaltet wird) gesetzt werden.
Was muss ich dafür tun?

Ich würde einfach eine Aktion "S1 R Störung" vor dein Delay packen (wenn wir hier über Graph7 reden), dann wird beim Aktivieren des Schrittes deine Störung zurückgesetzt.
 
Oben