Guten Abend,
vielen Dank für die bisherigen Hinweise und Unterstützung. Ich habe mich ein wenig in die Ablaufsteuerung eingelesen und habe erstmal den Ablauf visualisiert:
Wenn ich es richtig verstanden habe, müsste die Ablaufsteuerung doch prinzipiell so aufgebaut werden:
switch state {
case kabine_oben:
Motor = AUS;
if (Seilschalter oder Extern hoch == HIGH){
state fahrt_nach_unten
}
break;
case fahrt_nach_unten:
Drehrichtung = Runter;
Schaltpause;
Motor = AN;
if (Endschalter_unten == HIGH){
state kabine_unten
}
if (Lichtschranke == HIGH){
state unterbrechung
}
break;
case kabine_unten:
Motor = AUS;
if (Seilschalter oder Extern hoch == HIGH){
state fahrt_nach_oben
}
break;
case fahrt_nach_oben:
Drehrichtung = Rauf;
Schaltpause;
Motor = AN;
if (Endschalter_oben == HIGH){
state kabine_oben
}
break;
case unterbrechung:
Motor = AUS;
Wartezeit;
if (Lichtschranke == LOW){
state fahrt_nach_oben;
}
else {
state unterbrechung;
}
break;
Ich hoffe, das passt so. Nun sind aber noch offene Fragen:
-
Wie komme ich in den Ablauf rein?
Die Anlage bekommt Strom, wartet auf Betätigung des Seilzugs und soll nach oben fahren -
Funktioniert das mit der Lichschranke bei case fahrt_nach unten?
Kann ich von dort in den case unterbrechung springen und von da dann entweder zu fahrt_nach_oben oder in case unterbrechung bleiben, wenn die LIchtschranke nicht frei sein sollte?
Grüße
Steve