Brauche dringend Hilfe zur Erstellung einer Temperatursequenz

817Christoph

Level-1
Beiträge
27
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich würde mich freuen wenn mir einer helfen könnte.
Ich habe folgendes Problem einer SPS realisierung.
Das SPS Programm zu einer Temperaturreglung arbeitet gut... zu gut, wenn ich einen Temperaturwert zb . auf 1000 C° setze regelt die SPS die Temperatur auf diesen eingestellten Wert innerhalb kürzester Zeit, und das ist zu schnell.
Meine Frage dazu: Wie kann ich die Regelung Träger machen oder Sequenzen programmieren, damit ich nicht immer den Wert um 100 C° manuell einstellen muss. Zurzeit gehe ich zur Anlage und erhöhe den Wert immer nach 10 min um 100 C° um letzendlich die 1000 C° langsam zu erreichen.

Ich bedanke mich für jeden Hinweis der mir weiter hilft :)
MFG
 
Die Regelung, die gut funktioniert sollte lieber nicht angefasst werden.
Den Sollwert würde ich mit einer einstellbaren Rampe versehen.
D.h. die Sollwertänderungen sollten nur Stufenweise (halt über eine Rampe) an Reglereingang übergeben werden.
Viel Glück,
Valdi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Regelung

Hi,

ganz einfach: den Sollwert sollte auf dem Regler nicht direkt, sondern über eine Rampe(I-Glied) aufgeschaltet werden; so ändert sich das Ganze langsam.

V.

P.S. Kollege war schneller :), heisst ja fast wie ich.
 
Danke für eure Beteiligung,
Hab auch schon an was ähnliches gedacht.
-Was meint ihr mit I-Glied??
-Ist er als Baustein vorhanden??
-Oder ist das die Intergrationszeit des Reglers?? Der Wert steht nämlich auf 60 s.
 
Danke für eure Beteiligung,
Hab auch schon an was ähnliches gedacht.
-Was meint ihr mit I-Glied??
-Ist er als Baustein vorhanden??
-Oder ist das die Intergrationszeit des Reglers?? Der Wert steht nämlich auf 60 s.

Wie schon gesagt, würde ich den Regler selbst nicht anfassen.
Du Programmierst eine Rampe, wie folgt:

1) Sollwert Eingang (Dein neuer Sollwert) und Sollwert Ausgang (Reglereingangssollwert) vergleichen und die Differenz bilden.
2.) Einen Teil der Differenz (z.B. 1/10) auf den Ausgang addieren, bzw. Subtrahieren. Man kann aber auch einen festen Betrag addieren oder Subtrahieren solange Eingang >< Ausgang sind.
3) Du rufst den Baustein in festen Zeitabständen auf (in deinem Falle muss es wohl nicht mal ein Zeit -OB sein)
4) Spielen mit den Parametern und die Besten Parameter finden.


In deinem Falle kannst du z.B. deinen Handeingriff zunächst nachbilden in dem due den Baustein alle 10 min aufrufst und einen Festbetrag von 100°C aufaddierst. Dann nur noch die Prüfung, dass man nach dem Aufaddieren nicht über Eingangssollwert kommt. Sonst alles easy.

Viel Spass,
Valdi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mhh scheint ja einfach zu sein ich kenn mich da aber nicht so gut aus.

sieht die AWL dann so aus??

L 100 (neuer Sollwert) zb.100 C° Anfang
L 1000 (Reglereingangssollwert) zb.1000 C° Grenze
-R
T MW10

L MW10
L 100
+R
T MW20 (Der Wert wird mit dem Reglereingang verknüpft)

Ich hoffe ich lieg da nicht ganz so falsch, habe noch keine rechenoperationen in S7 gemacht.
 
-

Hi,

hm, nicht ganz..
Ein I-Glied macht Folgendes:

Wert_In -> I-Glied -> Wert_Out

Wenn Wert_In sich z.B. von 100 auf 500 ändert, ändert sich Wert_Out
langsam von 100 auf 500; wie steil die Änderung geht, bestimmt die Zeit der Rampen-Funktion(sie wird normal zyklisch aufgerufen).
Dafür gibt es fertige Bausteine, z.B. bei Oscat Lib.

V.
 
Mhh scheint ja einfach zu sein ich kenn mich da aber nicht so gut aus.

sieht die AWL dann so aus??

L 100 (neuer Sollwert) zb.100 C° Anfang
L 1000 (Reglereingangssollwert) zb.1000 C° Grenze
-R
T MW10

L MW10
L 100
+R
T MW20 (Der Wert wird mit dem Reglereingang verknüpft)

Ich hoffe ich lieg da nicht ganz so falsch, habe noch keine rechenoperationen in S7 gemacht.

Das wird nicht funktionieren.

1. Aufruf der FC alle 10 Minuten für einen Zyklus programmieren, dazu im OB1 (oder einer FC, die Zyklisch aufgerufen wird:
Netzwerk 1:

U M 10.0 // Merker für Aufruf der Rampe z.B. FC10
UN M 1.1 // Erster SPS Zyklus nach Anlauf (muss im // OB100-OB102 gesetzt und am Ende vom OB1 // rückgesetzt werden), wird gebraucht, um nach SPS Anlauf eine Flanke am Timer T1 zu erzeugen.
L S5T#10M // Aufrufen alle 10 Minuten
SE T 1 // Timer Starten
NOP 0 // Nur für Darstellung im FUP/KOP notwendig
NOP 0 // Nur für Darstellung im FUP/KOP notwendig
NOP 0 // Nur für Darstellung im FUP/KOP notwendig
U T 1 // 10 Minuten abgelaufen ?
= M 10.0 // FC Aufruf (wird nur 1 Zyklus aktiv

Netzwerk 2:
U M 10.0
SPBNB _001
CALL FC 1
_001: NOP 0

Code in FC1:

L Mw 20 // Neuer Sollwert
L MW 22 // Alter Sollwert = Regler Eingang
> I // Neuer Sollwert ist Groesser
SPB M1 // Addieren 100°C zum Alten Sollwert
< I // Neuer Sollwert ist kleiner
SPB M2 // Subtrahiere 100° vom Alten Sollwert
BEA // Alles OK nicht tun
M1: L MW22 // Alter Sollwert
L 100 // 100 Grad
+ I // Addieren
T MW22 // Alten Sollwert neu berechnet
L MW 20 // Neuer Sollwert Soll
<= I // Neuer Sollwert nicht überschritten dann alles OK
BEB // MW22 kann am Regler Eingang wirken
L MW20 // Neuer Sollwert würde überschritten
T MW22 // Dann neuen Sollwert direkt verschalten
BEA
M2 Wie vorhin, nur halt Nicht + I, sondern - I
und vergleich sinngemäss auf >= I
Ich denke den Rest kriegt du schon zusammen.
Viel Spass, (habe nicht getestet !!)

Valdi
 
Zurück
Oben