PDA

View Full Version : Zeitüberschreitung durch parallele Prozesse



Marc Buchtmann
08.10.2009, 14:57
Hallo zusammen, über 3 Niveausensoren steuere ich das Wasserniveau im Aquarium (Sensor 1 + 2 = Min/Max Regelung) und das Auffüllen des Vorratsbeckens (Sensor 3 = Füllstandsregelung). Mit 2 Magnetventilen wird die Osmoseanlage eingeschaltet (Ventil 1) und das Wasser ins Aquarium bzw. ins Vorratsbecken (Ventil 2) geleitet. Das Auffüllen des Aquariums dauert ca. 3 Std, des Vorratsbeckens ca. 7 Std. Die enstprechend eingestellte "max. Schaltdauer" dient als Überlaufschutz, für den Fall eines Sensordefektes.
So weit, so gut.
Jetzt zum Problem: Treten beide Zustände gleichtzeitig auf, sprich, meldet Sensor 1 zu wenig Wasser im Aquarium während Sensor 3 bereits aktiv ist (oder umgekehrt), verfällt das System immer in den Zustand das Vorratsbecken aufzufüllen. Und das führt zwangszweise zu einer Zeitübeschreitung bei der Niveauregelung im Aquarium.
Wie kann ich der Steuerung "sagen", sie soll erst die aktive Befüllung abschließen (oder einer der beiden den Vorrang geben, das wäre egal) und solange die Anforderung des zweiten Zustandes ignorieren?

Marc Buchtmann
11.10.2009, 12:12
Hallo zusammen,

über die programmierbare Logik konnte ich nun dem Beckenniveau den Vorrang einräumen. Das heißt, wird das Becken aufgefüllt und kommt in der Zeit eine Meldung vom Sensor 3 (zu wenig Wasser), wird das Umschaltventil (Ventil 2) nicht angesteuert und somit zuerst das Niveau im Becken ausgeglichen. Danach schaltet das System automatisch auf Befüllung des Vorratsbeckens.
Problem aber nach wie vor: Sobald der Sensor 3 einen zu geringen Wasserstand meldet, beginnt beim ProfiLux die max. Schaltdauer zu laufen, obwohl die zugehörige Schaltsteckdose nicht aktiv ist. Folglich bekomme ich eine Zeitüberschreitung für das Vorratsbecken.
Wie sage ich dem ProfiLux, dass die Zeitkonstante erst beginnen darf, wenn auch die Schaltsteckdose eingeschaltet wird?

Matthias
13.10.2009, 10:02
man hat die Möglichkeit den beiden Füllstandsregelungungen verschiedene Zeitschaltuhren zuzuordnen, d.h. man kann das so programmieren dass es nicht zu Überschneidungen kommt
wäre das keine Möglichkeit?

Marc Buchtmann
13.10.2009, 19:33
Hallo Matthias,
wo kann ich denn Zeiten für die Geber definieren?
Und wird in dem Fall die Zeitüberschreitung nicht gestartet, wenn vom Sensor die enstprechende Anforderung kommt?
Das Problem ist ja, dass der ProfiLux die Zeitkonstante vom Sensor 3 startet, sobald dieser "zu wenig Wasser" meldet, obwohl durch die programmierbare Logik die entsprechende Schaltsteckdose nicht geschaltet wird, wenn Sensor 1 bereits aktiv ist.
Anders ausgedrückt: Der Prozess 1 läuft. Prozess 2 will starten und müsste in der Warteschleife bleiben, bis Prozess 1 beendet ist. Über die PL funktioniert das grundsätzlich (NOR), nur die max. Schaltdauer Zeit für Prozess 2 geht nicht in die Warteschleife bis Prozess 1 beendet ist, sondern startet sofort nach der Sensormeldung.

Matthias
14.10.2009, 09:18
in 4.08 kann man den zugehörigen Timer für jeden Pegelsensor einstellen, siehe Programmierhandbuch 4.08

die Zeit läuft erst dann wenn der Timer aktiv wird