Rampensignale in WinCC

Corono

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich hätte ne Frage.
Ich muss die Oberfläche eines SPS-Programmes mit WinCC erstellen. Jetzt ist es so, dass damit Motoren angesteuert werden und man über die Oberfläche Drehzahl und Drehmoment eingegeben werden können. Nur dürfen diese Werte nicht springen, sondern sollten kontinuierlich ansteigen bzw. sinken. Das ist auch möglich, wenn man es eifnach über den Schieber macht, aber es soll zusätzlich auch möglich sein, den Wert in ein Input-Feld zu schreiben und da springt es dann eben. Ist es möglich, dass man das so setzen kann, dass es kontinuierlich zu diesem Wert steigt/sinkt? Oder müsste man das dann direkt im Step7 machen?

MFG Corono
 
Hi, ich würde das mit 2 DB's lösen. Zum einen den vom "alten" Wert, dann der vom "Neuen" wert (der vom OP eingegebene). Nach bestätigung die differenz ausrechnen und kontinuirlich anpassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine derartige Funktionalität MUSS meines Erachtens in die SPS,
und zwar in den Ansteuerbaustein des jeweiligen Motors.

Die Werteeingabe ansich darf dabei keine Rolle spielen.

Mfg
Manuel
 
Hallo,
ich habe vor kurzem auch den Fall gehabt, daß ich einen Antrieb mit einer Steigung von X %/s ansteuern mußte. Ich habe es mit einem FB gelöst.
War für meine Anwendung völlig ausreichend.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jan

Hallo,
ich habe vor kurzem auch den Fall gehabt, daß ich einen Antrieb mit einer Steigung von X %/s ansteuern mußte. Ich habe es mit einem FB gelöst.
War für meine Anwendung völlig ausreichend.

Könntest du vieleicht ein bisschen konkreter werden?
So nützt dein Beitrag niemandem.

MfG
Paul
 
Ich habe den Sollwert eingelesen und diesen Wert gemerkt.
Es wird eine einstellbare Rampe in %/s eingelesen.
Wird nun ein neuer Sollwert eingegeben, wird verglichen, ob der neue Sollwert niedriger oder höher als der alte Wert ist.
Ist er höher, wird pro Sekunde um den als Rampe eingestellten Wert addiert; ist er niedriger, wird pro Sekunde um den als Rampe eingestellten Wert Subtrahiert, bis der neu eingegebene Wert erreicht ist.
Der Wert, der sekündlich steigt oder fällt, wird kontinuierlich ausgegeben.
Habe diesen Baustein gerade nicht hier. Aber ich hoffe, das Prinzip ist verständlich.
 
Hallo,
das läßt sich sogar noch etwas schicker machen ...
Als gegeben nehme ich den aktuellen Wert und den Zielwert und die Dauer für das Erreichen des Zielwertes (oder vielleicht auch ganz allgemein eine feste Steigung). Nun berechne ich wie hoch meine Änderung pro Millisekunde sein muß. Zur Ausführung rufe ich den Baustein zyklisch auf und "füttere" ihn mit der OB1-Zykluszeit. Diese ist jetzt mein Faktor für das Inkrement/ms. Um den so ermittelten Wert würde ich nun den aktuellen Wert bis zum Erreichen des Endwertes erhöhen. Dann vielleicht auch "Ready" ausgeben ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@ ll

Ich habe für meinen Fall die Steigung auf 0,1 Sekunden verfeinert. Das hat dann völlig für meine Anwendung gereicht, da die Anforderungen relativ gering waren.
Mit Deiner Variante läßt sich sicherlich noch feiner die Steigung steuern, aber kann es nicht Problöeme geben, weil die Zykluszeit variiert?

Gruß Jan
 
Hallo Jan,
kann es nicht, weil ich die Zykluszeit (wie beschrieben) pro Zyklus mit einfliessen lasse (OB1-Zykluszeit * Inkrement/ms).
Mir ging es im Wesentlichen darum, hier ohne einen Timer zu arbeiten ...

Gruß
LL
 
Zitat von LL:
Zykluszeit (wie beschrieben) pro Zyklus mit einfliessen lasse (OB1-Zykluszeit * Inkrement/ms)

Dafür fehlt mir anscheinend noch die Erfahrung.

Ich habe keinen Timer verwendet, sondern das Bit X.0 (10Hz) aus dem Taktmerkerbyte.
 
Zurück
Oben