Rampe mit Zeitsteuerung

Headman

Level-1
Beiträge
80
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe die Aufgabe, bei einer Anlage, eine geregelte Pumpe (analoge Wert) beim Ausschalten langsam abzufahren.
D.H. die Pumpe wird über einen FC41 (Reglerbaustein) im Betrieb geregelt. Soll die Pumpe ausgeschaltet werden, muss die Pumpe von ihren momentanen Wert aus in 20sec. abgefahren sein.

Mir scheint dazu eine Rampensteuerung am besten zu sein. Habe hier im Forum schon gestöbert, aber leider nichts gefunden. Auch bei „oscat“ war nicht das richtige dabei.

Mein Gedankengang:

Pumpe soll ausgeschaltet werden => Zeit (20sec) läuft ab, Zeitwert mit momentanen Ausgangswert der Pumpe mathematisch verknüpfen und das Ergebnis dann auf die Pumpe geben.
Ich weis nur leider nicht welche mathematische Funktion da am sinnvollsten ist. Wichtig ist, dass die Pumpe langsam abfährt. Auch ein schrittweises abfahren wäre möglich.

Egal mit welcher Drehzahl die Pumpe läuft, nach 20sec. muss sie stehen.

Wenn sie langsam läuft nach 20 sec, wenn sie schnell läuft nach 20sec. Der Zeitwert muss also unbedingt mit rein.

Das Medium ist Wasser und programmiert wird mit Simatic Manager V5.4.



Gruß

Headman


www.f.schwede.de
 
Wo ist jetzt das Problem? Ein Beispiel wie man es machen könnte.
Aktuelle Drehzahl / 20 sek teilen. Dann hast du den Wert den du jede Sekunde abziehen musst um in 20 Sekunden auf 0 zu kommen.
Du baust dir dann einen Pulsgeber der jede Sekunde einen Puls gibt. Bei jedem Puls ziehst du dann den berechneten Wert von der aktuellen Drehzahl ab
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Frequenz beim ausschalten / 20 sec. > Reduzierung pro Sekunde

Sprich 40Hz / 20 s = 2Hz pro Sekunde

Nun die Zeit runterzählen und pro Sekunde die Drehzahl um den errechneten Wert reduzieren.

Die Rampe wird noch glatter wenn Du es in Millisekunden machst.


@Edit: Marlob war schneller!
 
Zuletzt bearbeitet:
Von der Sache her schon gut. Den Gedanken hate ich auch schon, nur weiß ich nicht wie ich das realisieren soll.

Bitte um Denkanstösse:)

Danke
 
Von der Sache her schon gut. Den Gedanken hate ich auch schon, nur weiß ich nicht wie ich das realisieren soll.

Bitte um Denkanstösse:)

Danke
Probiere doch erst mal was. Die Formel steht doch schon da. Einen Sekundepuls bekommst du schon von der CPU geliefert (HW-Konfig). Sollte also nicht so schwer umzusetzen sein
[EDIT]Paule schreibt schon ziemlich lange, vielleicht gibts ja ne Fertiglösung ;-) [/EDIT]
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Von der Sache her schon gut. Den Gedanken hate ich auch schon, nur weiß ich nicht wie ich das realisieren soll.

Bitte um Denkanstösse:)

Danke
Den Denkanstoss haben wir Dir ja gegeben.

Code:
    U #Pumpe_Start
    FN M 1.0
    SPBN N1
    L #Frequenz
    L 20 // Sekunden
    /I
    T #Reduzierung
N1: UN #Pumpe_Start
    UN #Pumpe_steht
    U #Sekundentakt
    SPBN N2
    L #Frequenz
    L #Reduzierung
    -I
    T #Frequenz
N2: L #Frequenz
    L  0
    <=I
    = #Pumpe_steht
PS: Der Sekundentakt darf nur ein Zyklus da sein. (Flanke bilden)
 
Zurück
Oben