# Temperaturregelung für 41 Heizungen, was nehmen?



## Buffi (12 Juni 2008)

Hallo Leute!

Ich soll für eine Nietstempelanlage mit 41 Temperaturregelkreisen (einstellbar zw.250-300Grad) eine Regelung aufbauen, bei der der Istwert (abgefragt über Thermoelemente) konstant ( +/-1 Grad )gehalten werden soll. 
Ich habe mir gedacht, ich verwende den FB58 . Die Hardware besteht aus CPU 315-2 DP, TP177B mono Panel, 2x 32 DO Ausgangskarte mit angeschlossenen E-Lastrelais die möglichst genau getaktet werden sollen. 

Kann das gut funktionieren oder habt Ihr eine bessere Idee?
Gruß Buffi


----------



## Fritze (12 Juni 2008)

Hallo.
Ich würde dir für diesen Fall entsprechende Reglerbaugruppe FM355-2 empfehlen. Da sonst dein Programm wohl die meiste Zeit mit den Reglerabarbeitungen  zu tun haben wird.
MfG Fritze.


----------



## Buffi (12 Juni 2008)

Hallo!
Die Hardware ist vorgegeben und kann auch nicht mehr geändert werden.
Außer der Heizung haben wir nur noch 20 Eingänge und 5 Ventile zum ansteuern. Die Regelzeit dürfte keine Rolle spielen, wie es mit der Zykluszeit aussieht wird sich zeigen.
Gruß Buffi


----------



## vierlagig (12 Juni 2008)

finde jetzt in der schnelle keine konkrete ausführungszeit für den FB58 auf ner 315-2DP, sollte aber ähnlich wie die des FB41 mit 3,3ms sein...

macht bei 41 eine zykluszeit allein für die regelung von 135,3ms ...

da es sich aber um eine temperaturregelung handelt, also diese meist ausreichend träge ist würde eine staffelung und/oder gruppierung eine moderate zykluszeit zur folge haben ... 

also im OB35 dann die 41 bausteine und einen zähler der den/die entsprechenden regler freigibt ... bei 10ms weckalarm wäre jeder regler alle 410ms dran ... vorrausgesetzt du hast keine kommunikation projektiert *ROFL*


----------



## Fritze (12 Juni 2008)

Hallo Buffi,
das die Hardware feststeht hattest du ja nicht geschrieben.
Dann solltest du die Regelung wie schon geschrieben wurde gestaffelt abrbeiten. Da ich nicht weiß wie du die Temperatur erhöhen kannst entweder den Schritt-Regler (Wärmequelle EIN / AUS) oder Kontinuierlicher-Regler (Wärmemenge größer / kleiner).
MfG Fritze.


----------



## kiestumpe (12 Juni 2008)

Ich empfehle den FB41 und den OB35 tuts bei Temperaturregelung evt auch mit 300ms oder sogar 500ms und ohne "Mulitplexing". Ein PI-Regler wird vemutlich ausreichen.
Ok, die Parametereinstellung (P,I,D?) kostet etwas Zeit, aber was ist heuteschon umsonst? Möglicherweise sind einige Regler mit den gleichen Parametern betreibar. Hängt von der Physik ab...


----------



## vierlagig (12 Juni 2008)

kiestumpe schrieb:


> ohne "Mulitplexing".



wie willst du so eine vernünftige zykluszeit hinbekommen? FB41 is natürlich auch möglich ... der FB58 ist halt nur extra auf heizen/kühlen kontinuierlich zugeschnitten


----------



## kiestumpe (12 Juni 2008)

vierlagig schrieb:


> wie willst du so eine vernünftige zykluszeit hinbekommen? FB41 is natürlich auch möglich ... der FB58 ist halt nur extra auf heizen/kühlen kontinuierlich zugeschnitten


schon - incl. Autotuning der Reglerparameter, dafür wird er (der FB58) längere Ausführungszeiten haben.
Und wieso ist eine Zykluszeit zwischen 10 und 150ms für den Rest zwangläufig unvernünftig? 
Einfach mal die Zykluszeit vom FB41-Aufruf messen, dann kann er sich das ja mit dem switchen überlegen.


----------



## jabba (12 Juni 2008)

Ich hab in einem Extruder die Regler nur alle 20s aufgerufen.
(Dank an Borromeus)
Da denke ich , das man getrost in jedem aufruf des OB35 immer nur einen regler nehmen kann, das wären dann 4,1s , könnte ausreichend sein.

Wie gross ist denn die zu heizende Masse ?
heizen ist nicht gleiche heizen, wie lange sind die Regelzeitn bzw Totzeiten bis z.B. beim einschalten der heizung was passiert ?


----------



## vierlagig (12 Juni 2008)

kiestumpe schrieb:


> Und wieso ist eine Zykluszeit zwischen 10 und 150ms für den Rest zwangläufig unvernünftig?



[eigene meinung]
für mich ist eine zykluszeit vernünftig, wenn sie determiniert ist und dann kommt noch der kleine punkt der schwankung dazu ... bei einer abweichung von bis zu 30ms ist nichts einzuwenden, aber irgendwas zwischen 10 und 150ms und immer irgendwie anders deutet für mich darauf hin, dass die prozesse nicht ausreichend optimiert sind
[/eigene meinung]

@jabba ...die 10ms waren nur ein rechenbsp.


----------



## Buffi (12 Juni 2008)

Hallo!

Die zu beheizende Kunststoff-Masse ist nicht groß. Heiznietstempel werden für ca. 8-10 sec. über einen Pneumatik-Zylinder auf die Kunststoffnippel gepresst. 41 Nietstempel Durchmesser 8-12mm, Leistung 200W pro Stempel. Im Anschluss aber noch im Presszustand werden die Nippel mit Pressluft abgekühlt.   Danach wird der Nietstempel vom Material weg in GS gefahren. Jetzt  habe ich wieder 20-30 sec. Zeit um die Temperatur ohne Material wieder zu stabilisieren. Ob ich überhaupt eine große Temperatur-Hysterese bekommen werde, wird sich erst in der Praxis herausstellen. Die Maschine wird gerade gebaut und das Programm soll am Dienstag laufen. 
Gruß Buffi


----------



## Zottel (13 Juni 2008)

Ich habe mit der 315 auch schon 30 Heizzonen geregelt, aber das waren Öfen mit recht hoher Wärmeträgheit und der Prozeß ist kontinuierlich. Dazu habe ich sie in 4, 6 oder 8 Gruppen aufgeteilt und je OB35-Aufruf werden die Regler einer Gruppe bearbeitet (FB41).
In jedem Aufruf werden die PWM-Schaltungen aller Heizungen bearbeitet. 
Beispiel: OB35 alle 10ms. Einschaltdauer 0 bis 100% wird in 100 OB35-Aufrufen realisiert, d.h. 100% = 1 sekunde.
Du kööntest zusätzlich eine Art Störgrößenaufschaltung vorsehen, indem du beim Einfahren in die Masse einen experimentell ermittelten Zuschlag zur Heizleistung addierst und nach dem Ausfahren wieder wegnimmst.


----------



## kiestumpe (13 Juni 2008)

Wie weit müssen die Stempel runtergekühlt werden?
Wird dies auch über die 41 Temperaturfühler gesteuert ?
Möglicherweise kann ein Sollwert-Rampe beim wiederaufheizen weiterhelfen.


----------



## Flinn (14 Juni 2008)

Tacho aucho!

Ich nehme nur noch den FB58, habe aber auch fast immer 400er Steuerungen im Einsatz (also auch keine Zyklus- und/oder Speicherprobleme; in der 300er Steuerung können die 9kB Code nur für den FB58 schon stören).

Die Auto-Tuning-Funktion des FB58 ist super.
Aber mit Vorsicht zu genießen: Bei Aktivierung des Autotunings über Sollwertsprung ist unbedingt die Richtung des Sollwertsprungs abzufragen und abhängig davon die Richtung (also das Vorzeichen) des Stellwertsprungs (für die Phase 1 von 7) per Programm anzupassen. Sonst endet die Stellgröße am Limit, und zwar am falschen!!

Gruß
Flinn


----------



## Buffi (15 Juni 2008)

Hallo!

Habe jetzt in eine CPU 414-2DP meinen FC , 41 mal den FB58 eingebaut. Die Zykluszeit beträgt ca. 180ms. Jedoch bekomme ich am Ausgang kein Signal egal ob ich den FC im OB31 oder im OB1 aufrufe. 

Welche Anschlüsse müssen unbebedingt mit welchem Signal beschaltet werden? Hardware ist noch nicht an Steuerung nur die Test CPU. Habe Soll und Istwert manuel vorgegeben. 
Ihr könnt mir auch ein kleines Programm oder bilder senden an ae444@gmx.de

Zum Ablauf habe ich noch vom Konstrukteur ein paar Infos erhalten. 
Die Neitstempel sollen so ca. 3-4 sec auf dem Material beheizt werden. Danach ca. 5 sec. Verweilzeit im gepessten Zustand ohne Heizung. Erst jetzt soll mit Pressluft abgekühlt werden. Nun sind wir bei 10-12 sec. Taktzeit angelangt und die Temperatur dürfte um ca. 30Grad abgefallen sein. Jetzt habe ich wieder 40 sec. Zeit um die Temperatur für das nächste Teil zu stabilisieren. 
Vielen Dank für eine Hilfe.
Gruß Buffi


----------



## jabba (15 Juni 2008)

1. Stoplerfalle für Anfänger
   Voreinstellung im DB ist manuell
   Als Man_on auf false

2. Beim Simulieren einen kleinen Gain einstellen z.b. 0.01 damit man beim Simulieren auch was sieht, sonst denkt man imer der regler geht direkt auf 100%


----------



## Larry Laffer (15 Juni 2008)

Buffi schrieb:


> Zum Ablauf habe ich noch vom Konstrukteur ein paar Infos erhalten.
> Die Neitstempel sollen so ca. 3-4 sec auf dem Material beheizt werden. Danach ca. 5 sec. Verweilzeit im gepessten Zustand ohne Heizung. Erst jetzt soll mit Pressluft abgekühlt werden. Nun sind wir bei 10-12 sec. Taktzeit angelangt und die Temperatur dürfte um ca. 30Grad abgefallen sein. Jetzt habe ich wieder 40 sec. Zeit um die Temperatur für das nächste Teil zu stabilisieren.


 
Das und das, was du im Beitrag #11 geschrieben hast hört sich für mich nicht nach einer Regelung sondern nach einer Steuerung an. Die Vorrichtung, die du da hast, kann ich mir vorstellen. Ob du da aber das gewünschte Verhalten (Temperatur max. +/- 1 Grad vom Sollwert bei Aufheizen) erreichst, halte ich für fragwürdig - immerhin hast du vermutlich keine große Wärmespeicherung in den Heiz-Elementen ...

Gruß
LL


----------



## Grubba (15 Juni 2008)

@ Buffi

Auf einer 
CPU 314: 6ES7 314-1AE84-0AB0; 0,3 ms/kAW
benötigt der FB58 folgende Zeiten je nach Parametrierung Bearbeitungszeiten von 0.87 - 6.2ms. (Lt. Siemens Handbuch)

Wenn Du jetzt z.B. den OB35 auf 50ms stellst, könntest Du in OB35 Aufruf Nr.  die Regler 1-5, in Aufruf (n+1) die Regler 6-10, in Aufruf (n+2) die Regler 11-15 usw. usf aufrufen. 

In diesem Beispiel wärst Du nach 8 Zyklen (8*5 Regler) mit allen Reglern fertig. Du hättest zwar "nur" einen Aufrufintervall von 400ms für jeden Regler, dafür aber eine relativ konstante Zyklusbelastung.
Wäre vielleicht interessant für Dich, wenn Deine 315 doch zu langsam sein sollte.


----------



## vierlagig (15 Juni 2008)

Grubba schrieb:


> @ Buffi
> 
> Auf einer
> CPU 314: 6ES7 314-1AE84-0AB0; 0,3 ms/kAW
> ...



**GÄHN*
*
die genauen modalitäten muß er dann wohl nur noch selber rausfinden!


----------



## Grubba (15 Juni 2008)

@ vierlagig

upps...

dammich, muß ich wohl überlesen haben....

... aber immerhin schon mal zwei Leute mit dem gleichen Vorschlag zum Thema


----------



## Onkel Dagobert (16 Juni 2008)

Zottel schrieb:


> ..Dazu habe ich sie in 4, 6 oder 8 Gruppen aufgeteilt und je OB35-Aufruf werden die Regler einer Gruppe bearbeitet..


Wenn schon, denn schon! Warum nicht einen Aufruf pro Zyklus? Ich handhabe das jedenfalls so.



Zottel schrieb:


> ..Du kööntest zusätzlich eine Art Störgrößenaufschaltung vorsehen, indem du beim Einfahren in die Masse einen experimentell ermittelten Zuschlag zur Heizleistung addierst und nach dem Ausfahren wieder wegnimmst.


Sehr gute Idee! Den Vorschlag sollte man in diesem Fall unbedingt berücksichtigen.


Gruß, Onkel


----------



## Buffi (16 Juni 2008)

jabba schrieb:


> 1. Stoplerfalle für Anfänger
> Voreinstellung im DB ist manuell
> Als Man_on auf false
> 
> 2. Beim Simulieren einen kleinen Gain einstellen z.b. 0.01 damit man beim Simulieren auch was sieht, sonst denkt man imer der regler geht direkt auf 100%


 
Hallo Yabba!
Man_on hab ich auf false
EN auf true
Am Q-Pulse bekomme ich kein true, oder sieht man das nicht im Test?

HalloLarry!

Die +/- 1 grad ist eine Vorgabe vom Chef, ob es realisierbar ist wird sich zeigen.

Im Moment möchte ich den überhaupt mal zum laufen bringen.
Gruß Buffi


----------



## kiestumpe (16 Juni 2008)

hmm, bei "Regelzone Einschalten" und "Impulsformer Einschalten" ist nichts angehakt, was tut sich, wenn da ein Haken drin ist ?
Ist das die Online-Siche im Parameter-Eingabeprogramm?


----------



## gravieren (16 Juni 2008)

Hi

Sollte bei CYCLE und CYCLE_P   nicht was drinnenstehen  ?


Hast du ein Intewall von 50 ms   sollte in beiden 50 ms drinnen stehen ?


----------



## Buffi (18 Juni 2008)

Nachdem ich in den letzten Tagen anderweitig beschäftigt war arbeite ich nun wieder an meiner Regelung.
Frage: Habe nun 41 mal den FB58 in einen FC geschrieben. Muss ich nun auch 41 mal einen dazugehörigen Instanz DB verwenden oder kann ich mit einem Instanz DB die 41 Regelungen betreiben?


----------



## kiestumpe (18 Juni 2008)

Für jeden Aufruf einen Instanz-DB - sonst gibts Datensalat auf deiner SPS.


----------



## forendiva (18 Juni 2008)

kiestumpe schrieb:


> Für jeden Aufruf einen Instanz-DB - sonst gibts Datensalat auf deiner SPS.


 
stichwort multiinstanz?!


----------



## Buffi (18 Juni 2008)

Hallo Kiestumpe!
Du meinst, 41 mal den FB 58 aufgerufen benötige ich 41 DB's (z.B. DB 201-DB241)

Hallo forendiva!
Das mit der Multiinstanz hört sich gut an ist aber absolutes Neuland für mich. 

Also, ich rufe meinen FC13 im OB35 auf. Im FC13 steht 41 mal der FB58 mit im Moment 1 DB(201). 
Wie und wo kann die Multiinstanz aufgerufen werden bzw. ein Häckchen eingetragen werden?

Habe im Forum gelesen, dass man für eine Multiinstanz einen zusätzlichen FB1 erzeugen muss, bei der die Multiinstanz eingetragen wird. Stimmt dies oder gibt es eine einfachere Methode?

Im SPS Grundkurs habe ich von dem ganzen noch nie was gehört. Ich glaub, da bin ich wohl etwas überfordert. Bitte helft mir ausführlich. 
Gruß Buffi


----------



## kiestumpe (18 Juni 2008)

Buffi schrieb:


> Hallo Kiestumpe!
> Du meinst, 41 mal den FB 58 aufgerufen benötige ich 41 DB's (z.B. DB 201-DB241)
> 
> Hallo forendiva!
> ...


und daraus machst du DB201 bis DB241, oder eine beliebige andere Nummer die deine CPU zuläßt. Geht Automatisch, wenn du es über dem Kästchen eingibst, er fragt dich, ob er den Baustein neu erzeugen soll-> mit ja bestätigen. Und natürlich nicht vergessen alle DBs auf die CPU zu spielen.




Buffi schrieb:


> Wie und wo kann die Multiinstanz aufgerufen werden bzw. ein Häckchen eingetragen werden?
> 
> Habe im Forum gelesen, dass man für eine Multiinstanz einen zusätzlichen FB1 erzeugen muss, bei der die Multiinstanz eingetragen wird. Stimmt dies oder gibt es eine einfachere Methode?


Das soll dir forendiva erklären, geht auch, ist aber mit dem PID-Parametrieren-Tool nicht mehr so geschickt, wie die erste Lösung.


----------



## forendiva (18 Juni 2008)

kiestumpe schrieb:


> ist aber mit dem PID-Parametrieren-Tool nicht mehr so geschickt, wie die erste Lösung.


 
*ACK* ...die letzte regelung ist schon wieder ne woche her, im alter vergisst man so schnell ... folge kiestumpes vorschlag! aber behalte die multiinstanz im hinterkopf für andere anwendungen - multiinstanz funktioniert nur mit FB, aufrufend und aufgerufen...


----------



## Buffi (19 Juni 2008)

Moin an alle!

Hab jetzt die 41 DB's angelegt. Etwas funktioniert schon.
Habe nun folgendes Problem.
Meine Temperaturfühler an den Heizungen gehen auf eine B&R x20 at6402 Karte. In der Konfig werden diese in PEW eingelesen. Wollte nun (Beispiel) das PEW 316 im Fc13 /an den Anschluss PV_Per legen. Geht natürlich nicht, da der Wert als Ganzzahl mit 16Bit ist und im Sollwert ein Ganzahlwet mit 32 Bit (DB101.DBD58) vorhanden ist . Nun dachte ich mir ganz klar, umwandeln mit
L PEW 316
ITD
T DB91.DBD58

Die Variable DB91.DBD58 steht am PV_IN.
Leider bekomme ich keine Istwertanzeige auch nicht im Status am FB58

Was tun? Wo liegt der Fehler?

2. Problem: 
Wenn ich am EN des FB58 das Signal weg nehme, dürfte am Q-Pulse doch nichts mehr rauskommen. Q-Pulse bleibt aber ein. Habe bei den Parametern im Inst DB des FB58 bei 90.2 auf True gesetzt. Welche Einstellung muss noch geändert werden?

Gruß Buffi


----------



## kiestumpe (19 Juni 2008)

Buffi schrieb:


> Moin an alle!
> 
> Hab jetzt die 41 DB's angelegt. Etwas funktioniert schon.
> Habe nun folgendes Problem.
> Meine Temperaturfühler an den Heizungen gehen auf eine B&R x20 at6402 Karte. In der Konfig werden diese in PEW eingelesen. Wollte nun (Beispiel) das PEW 316 im Fc13 /an den Anschluss PV_Per legen. Geht natürlich nicht, da der Wert als Ganzzahl mit 16Bit ist und im Sollwert ein Ganzahlwet mit 32 Bit (DB101.DBD58) vorhanden ist .



??? Bist du dir da 100% sicher ? meines wissens arbeitet der Baustein mit REAL-Zahlen als Ist-Werte.
Also, Integerwert nach REAL skalieren, was mit der B&R - Schnittstelle wohl nicht mit SCALE funktionieren wird.


----------



## offliner (27 Juni 2008)

Kurzer Erläuterung zur Multiinstanz:

Du legst einen FB an.
In diesem FB rufst Du Deinen Regler FB auf
In KOP oder FUP machst Du einfach einen Rechtsklick auf den Baustein,
dann "Ändern in Multiinstanz". 
Hier musst Du jetzt einen eindeutigen! Namen vergeben, z.B. Regler1.
Das machst Du jetzt so oft wie nötig.
Wenn fertig, wird der programmierte FB im z.B. OB35 mit Instanz-DB aufgerufen.
Alle Instanzen des Regler FBs sind jetzt in dem einen DB enthalten. Spart Dir also in dem Fall 40! DBs


----------



## Buffi (18 Juli 2008)

Hallo an alle!

Nun komme ich dazu, mich mal für die guten Beiträge zu bedanken. Die Regelung läuft ganz gut. Die Zykluszeit beträgt sogar unter 50ms. Eure Beiträge waren z.T. wirklich hilfreich. 

Bis zum nächsten mal
Gruß Buffi


----------

