Master-Slave Regler in Twincat 3

OP #5896044
Lesenswert?
• ▲
▼
Hallo Zusammen,

folgendes Szenario:
Im Anhang befindet sich eine „Zeichnung“. Hoffe das ist soweit 
verständlich.
Ich habe ein bestimmtes Modul, die über eine Heizpatrone auf eine 
bestimmte Solltemperatur erhitzt werden soll.

Zum Programm:
Ich habe einen Master-Regler der globale PID-Werte übergeben bekommt und 
eine Solltemperatur (240°C) die erreicht und gehalten werden muss.
Der Slave-Regler ist eigentlich nur für das Pulsen der Heizung zuständig 
hat eine eigene Temperaturbegrenzung (bei 550°C) und muss den Sollwert 
der Master-Slave erreichen und halten.

Zu meiner Frage:
Den Master-Regler habe ich schon programmiert. D.h. er bekommt seine 
PID-Anteile, die PID-Werte werden berechnet und zusammengeführt (inkl. 
Anti-Windup & Begrenzung der Regelausgangsgröße).
Einen Funktionsblock für die Pulsweitenmodulation zur Steuerung der 
Heizung habe ich auch (wurde getestet, funktioniert).

Doch ich weis nicht wie ich über den Slave-Regler die Temperatur des 
Master-Reglers auf die Solltemperatur regeln und halten soll und 
zugleich die Temperatur des Slave-Reglers überwachen soll (da max. 
zulässige Temp. hier: 500°C). Weil im Endeffekt ist der Slave-Regler 
kein Regler, sondern Temperaturüberwachung und Heizvorgang und hat auch 
keine PID Anteile. Bei Annäherung auf die Solltemperatur soll ja nur 
runtergeregelt werden von 500°C damit das Heizen nicht mehr so stark 
ist.

Ich hoffe Ihr könnt mir da weiterhelfen, vielen Dank schon mal im Voraus

Grüße
Muzaffer
Angehängte Dateien:
Gast
Lesenswert?
• ▲
▼
Muzaffer S. schrieb:
> Weil im Endeffekt ist der Slave-Regler
> kein Regler, sondern Temperaturüberwachung

Dann mach den Slave doch zur Überwachung. Das muss doch kein Regler im 
eigentlichen Sinn sein. Wenn die Temperatur noch okay ist, dann mach was 
vom Master verlangt, sonst mach ne Pause zum abkühlen.
Das ist dann sowas wie ein einfacher Zweipunktregler.
OP
Lesenswert?
• ▲
▼
Pat schrieb:
> Dann mach den Slave doch zur Überwachung. Das muss doch kein Regler im
> eigentlichen Sinn sein. Wenn die Temperatur noch okay ist, dann mach was
> vom Master verlangt, sonst mach ne Pause zum abkühlen.
> Das ist dann sowas wie ein einfacher Zweipunktregler.

So habe ich mir das auch überlegt, aber ich denke die maximale 
Temperatur der Heizpatrone (500°) wird schnell erreicht und ich soll ja 
mit dem Slave die SSR takten bis die 240° erreicht werden. Wenn ich den 
Slave nur zur Überwachung verwende, takte ich die PWM im Endeffekt mit 
dem Master und Slave is doch dann überflüssig..

Das is dann eigentlich nur ne Abfrage mit:
1
IF actual_value_slave > 500 THEN
2
  heat := FALSE;
3
ELSIF actual_value slave > 550 THEN
4
  E_Stop := TRUE;
5
END_IF

ich weis nicht, ob das dann auch so funktioniert und richtig ist..


** 500 und 550 sind Grenztemperaturangaben der Slave

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.