TIA Speichern der Ausgangsstellung

kuti

Level-1
Beiträge
354
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

es geht um einen Regelschieber. Nehmen wir an, er ist 60% geöffnet. Jetzt möchte ich, dass er im Automatikbetrieb einmal in seine beide Endlagen fährt und dann wieder zurückfährt.
Eigentlich kein Problem, wenn ich wüsste wie man die 60%-Öffnung speichern kann und ihm dann "sagt" er soll, wenn er beide Endlagen angefahren hat, wieder zu dieser 60%-Öffnung zurück.
Die Stellung des Schiebers habe ich in 0--100% normiert, d.h sie ist immer bekannt.

Gruß
 
Hallo,

deine 60% kannst du in einem DB speichern. Wenn der Wert auch ein ausschalten der CPU überleben soll dann speicherst du denn Wert in einen remanenten DB.
Zur Programmierung:
Ein Automatik initial Merker => den kannst du setzen bei positive Flanke vom Automatikbetrieb
Rücksetzen wenn die Initialisierung abgeschlossen ist.
Dann bräuchtest du noch zwei Merker: Endlage zu erreicht und Endlage offen erreicht.
Wenn keiner der beiden gesetzt ist und init gesetzt dann fahre zu.
Wenn zu dann Merker Endlage zu erreicht setzen.
Wenn init und Endlage zu erreicht fahre auf => Bei offen setze Merker Endlage offen erreicht.
Wenn init und beide Endalgenmerker dann fahre auf deine gewünschten 60%.
Wenn diese erreicht dann setze Merker init und Endlagenmerker zurück.
Ebenfalls alle Merker zurücksetzen wenn Automatik aus ist.
Wenn init eine Negative Flanke hat und Automatik ein ist dann kannst du deine normale Regelung starten.

Aber was willst du denn damit überhaupt erreichen?
Ist es sinnvoll die Endlagen anzufahren?
Warum willst du nach dem Endlagen anfahren deinen alten Stellwert anfahren?
Ist es nicht besser gleich den Regler einzuschalten und der soll den gewünschten Sollwert anfahren? Oder fängt dann dein System zu schwingen an?

godi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

danke erstmal für deine ausführliche Erklärung. Ich brauche diese Funktion wegen einer sog. Stillstandskorrosionsvorbeugung (SSKV). Es kann sein, dass der Schieber manchmal tagelang in derselben Position verweilt, daher ist es nötig diese SSKV durchzuführen.

"Ist es sinnvoll die Endlagen anzufahren? So muss ich das machen.

"Warum willst du nach dem Endlagen anfahren deinen alten Stellwert anfahren?
Ist es nicht besser gleich den Regler einzuschalten und der soll den gewünschten Sollwert anfahren? Oder fängt dann dein System zu schwingen an?"

Der Regler (FB12) ist die ganz Zeit eingeschaltet. Ne, ich wollte schon, dass er einfach sofort wieder zurück fährt. Diese SSKV soll sich z.B nach 4 Wochen von selbst einschalten.

"Wenn init und beide Endalgenmerker dann fahre auf deine gewünschten 60%" Wie kann ich das machen? Mit einem Move-Baustein?

Gruß
 
"Wenn init und beide Endalgenmerker dann fahre auf deine gewünschten 60%"

Wie kann ich das machen? Mit einem Move-Baustein?
 
Ok wenn du das Automatisch in bestimmten Zeitabständen machen willst dann musst du in dem Zeitraum der SSKV den Regler ausschalten.
Wenn es zum Bsp ein PID Regler ist dann würde der I - Anteil dabei falsch aufsummieren.

Zum Anfahren der zb 60%:
Irgendwo in deinem Programm wird der Reglerausgang auf deinen Analogausgang übertragen.
Im Zeitraum wo deine SSKV stattfinden soll schreibst du aber den Wert deines SSKV auf den Analogausgang und nicht den Wert des Reglers.
Wenn du den Eingang schon von 0-100% Skaliert hast dann brauchst du nur einen Vergleicher und damit schaltest du deine SSKV aus und den Regler wieder ein.

Also:
1) Du machst dir einen Timer der (zb alle 4 Wochen) einen Impuls abgibt. Weißt du wie das Funktioniert?
2) Impuls da von Timer => Regler aus => SSKV ein (nur im Automatikbetrieb)
3) SSKV in einen Baustein ausprogrammieren wie oben beschrieben
und wenn beide Endlagen erreicht sind und der Schieber zufährt soll der Vergleicher aktiv werden.
Wenn IST <= SOLL (60%) dann schaltest du den SSKV aus.
4) Wenn SSKV aktiv dann soll der Ausgang des SSKV Bausteines an den Analogausgang übergeben werden, ansonsten der Ausgang des Reglers.
Da brauchst du einen Move Baustein. (der ja jetzt auch schon in irgendeiner Form vorhanden ist)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also:
1) Du machst dir einen Timer der (zb alle 4 Wochen) einen Impuls abgibt. Weißt du wie das Funktioniert?

Ist damit der OB35 Weckalarm gemeint? Wie schon der Name sagt, handelt es sich bestimmt um einen Wecker :) . Aber wie genau ich ihn für meine Zwecke verwenden kann, ist mir noch nicht klar. Aber ob das eine gute Idee ist? Den die SSKV soll ja aktiviert werden, wenn der Schieber sich in den vier Wochen gar nicht bewegt hat, es sei denn man kann diese Bedingungen so im OB35 programmieren.

"Wenn IST <= SOLL (60%) dann schaltest du den SSKV aus."

Muss es nicht = sein, statt <= ?

Der Initialmerker verwirrt mich irgendwie. Brauche ich denn überhaupt? Es geht doch auch ohne, denn in Automatik befindet sich die Anlage dauerhaft.

Und nochmal zu den 60%. Ich möchte, wenn diese SSKV eintrifft, sofort den Wert in den DB speichern. Das könnte ich doch mit diesem Impuls aus dem OB35 machen?
 
Zuletzt bearbeitet:
Zurück
Oben