http://matthias-hielscher.de/blog/491/AWL_Zylinder_einfahren.html
März
15

[AWL] Zylinder einfahren

Ausgangssituation

Ein Zylinder befindet sich nicht in einer seiner Endlagen.
Über einen Taster (E0.0) soll der Zylinder einfahren.

Besonderheiten

Vor dem Einfahren sollen beiden Zylinderanschlüsse für 300 ms (Timer T1) mit Druck beaufschlagt werden, um ein hartes Aufschlagen in der Endlage zu verhindern.
Die Dauer des Einfahrens wird gemessen (Timer T2). Ist der Zylinder nach 5 Sekunden nicht eingefahren, wird der Fehler gemeldet (A0.2). Der Fehler muss quittiert werden (E0.3), um den Einfahrvorgang erneut starten zu können.

Anweisungsliste:
// Timer T1: Zeit, für beidseitiges Beaufschlagen des Zylinders
// Timer T2: Sicherheitstimer, der prüft, ob die EInfahrdauer im vorgegebenen Bereich liegt

// keine Endlage erreicht => Zylinder einfahren
// beide Ausgänge kurzzeitig mit Druck beaufschlagen, um den Kolben einzuspannen
// das verhindert ein hartes Aufschlagen in der Endlage
U    E0.0    // Schlater, um in eine Endlage zu fahren
UN   E0.1    // Endlage eingefahren
UN   E0.2    // Endlage ausgefahren
UN   A0.2    // Nur starten, wenn kein Fehler gemeldet ist
UN   T1      // Timer nur starten, wenn er nicht läuft (sonst setzt es diesen zurück)
L    S5T#300MS    // Timer-Dauer vorgeben
SV   T1      // Timer starten (verlängerter Impuls-Timer => läuft weiter, auch wenn der Schalter losgelassen wird)

// solange Timer läuft, Druckluft einschalten
U    T1      // Timer läuft
S    A0.0    // Anschluss zum Einfahren
S    A0.1    // Anschluss zum Ausfahren

// wenn Timer abgelaufen, Druckluft fürs Ausfahren unterbrechen
UN   T1
R    A0.1    // Druckluft zum Ausfahren abschalten
L    S5T#5S  // Sicherheitstimer initialisieren
SV   T2      // Sicherheitstimer starten

// Sicherheitsabfrage: Zylinder muss innerhalb von 5 Sekunden einfahren
// mögliche Fehlerursachen: Fehlende Druckluft, schwergängiger Zylinder, Leckage
UN   T2
U    A0.0
UN   A0.1
UN   E0.1
=    A0.2    // Fehler melden

// Fehler quitieren
U    A0.2
U    E0.3
R    A0.2

Mit Vereinfachung, dass die Dauer des Einfahrens nicht abgefragt wird:

Anweisungsliste:
// keine Endlage erreicht => Zylinder einfahren
// beide Ausgänge kurzzeitig mit Druck beaufschlagen, um den Kolben einzuspannen
// das verhindert ein hartes Aufschlagen in der Endlage
U    E0.0    // Schlater, um in eine Endlage zu fahren
UN   E0.1    // Endlage eingefahren
UN   E0.2    // Endlage ausgefahren
UN   T1      // Timer nur starten, wenn er nicht läuft (sonst setzt es diesen zurück)
L    S5T#300MS    // Timer-Dauer vorgeben
SV   T1      // Timer starten (verlängerter Impuls-Timer
             // => läuft weiter, auch wenn der Schalter losgelassen wird)

// solange Timer läuft, Druckluft einschalten
U    T1      // Timer läuft
S    A0.0    // Anschluss zum Einfahren
S    A0.1    // Anschluss zum Ausfahren

// wenn Timer abgelaufen, Druckluft fürs Ausfahren unterbrechen
UN   T1
R    A0.1    // Druckluft zum Ausfahren abschalten

// wenn Zylinder eingefahren (Endlage erreicht), Druckluft abschalten
//     U    E0.1
//     R    A0.0

Bleibe auf dem Laufenden!

Wenn du den RSS-Feed abonnierst, wirst du über neue Blogeinträge benachrichtigt.

Kommentare

Einen Kommentar schreiben

 
 
  • : *
  • :
  • : *
* Pflichtfelder