TIA SSR-Glieder verzögert schalten

WhiteFox

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,

ich habe ein kleines Problem und hoffe das mir hier jemand helfen kann :)

Unzwar habe ich eine Heizung mit 4 SSR-Gliedern (jeweils 12kW) welche über eine CPU 1510SP angesteuert werden.
Die Heizung funktioniert soweit, jedoch stört es mich, dass alle SSR's gleichzeitig Takten. Dadurch hab ich auf dem Netz immer
einen sprung von 70A..

Ich habe schon folgendes versucht:
- Einschaltverzögerung an den Ausgängen -> 1. Ausgang direkt; 2. Ausgang 2 Sekunden; 3. Ausgang 4 Sekunden; usw.
- >Dahinter eine Ausschaltverzögerung mit einer berechneten Zeit , wie lange der Reglerausgang da war.
In der Theorie klappt das, aber der Regler packt bei den verzögerten Ausgängen natürlich keine 100% mehr -> wird ja immer wieder verzögert..

Dann habe ich versucht die Periodenzeit anzupassen. Das klappt auch soweit, beim ersten mal schalten die Ausgänge dann trotzdem alle gleichzeitig.
Bei den darauffolgenden gehts dann.. Die Heizung geht in dem Anwendungsfall aber oft komplett aus..

Nun die Frage, gibt es hier eine einfachere oder bessere Lösung?

Ich steh auf dem Schlauch..

Gruß
 
Hallo WhiteFox,

evtl. Schieberegister und Schiebetakt verwenden

Also Reglerausgang -> 1. Bit Schieberegister

Schieberegister Bit 1 -> A1
Schieberegister Bit 2 -> A2
Schieberegister Bit 3 -> A3
Schieberegister Bit 4 -> A4

Mit Flanke von Takt Schieberegister (Byte, Word) schieben (SHR bzw. SHL)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nun die Frage, gibt es hier eine einfachere oder bessere Lösung?

Ich steh auf dem Schlauch..
Dein Such-Stichwort könnte Beispielsweise "Rundfeuerautomat" sein.
Ist eigentlich eine Funktion aus der Brennertechnik und wird dafür verwendet die begrenzten Ein-/Ausschaltzeiten der Brenner gleichmäßig auf die Aktoren zu verteilen.
Dürfte in deinem Fall auch für die Lastverteilung funktionieren.
 
... Die Heizung funktioniert soweit, jedoch stört es mich, dass alle SSR's gleichzeitig Takten...
Wo kommt denn das Takten her, bzw. was ist es für ein Takt, Zweipunkt oder PWM? Mit welcher Frequenz wird getaktet?

... aber der Regler packt bei den verzögerten Ausgängen natürlich keine 100% mehr ...
100% werden so oder so nicht mehr zu erreichen sein, falls du dein Ziel erreichst. Oder geht es dir nur um die Stromspitze beim gleichzeitigem Einschalten? Welche Gleichzeitigkeit wäre für dich akzeptabel? Im einfachstem Fall rufst du deine vier Regler über einen Aufrufverteiler auf, also zeitlich versetzt um die Zeit X, oder in vier verschiedenen Weckalarmen.
 
Hallo WhiteFox,

evtl. Schieberegister und Schiebetakt verwenden

Also Reglerausgang -> 1. Bit Schieberegister

Schieberegister Bit 1 -> A1
Schieberegister Bit 2 -> A2
Schieberegister Bit 3 -> A3
Schieberegister Bit 4 -> A4

Mit Flanke von Takt Schieberegister (Byte, Word) schieben (SHR bzw. SHL)
Hi Peter, probier ich direkt mal aus!

Wo kommt denn das Takten her, bzw. was ist es für ein Takt, Zweipunkt oder PWM? Mit welcher Frequenz wird getaktet?


100% werden so oder so nicht mehr zu erreichen sein, falls du dein Ziel erreichst. Oder geht es dir nur um die Stromspitze beim gleichzeitigem Einschalten? Welche Gleichzeitigkeit wäre für dich akzeptabel? Im einfachstem Fall rufst du deine vier Regler über einen Aufrufverteiler auf, also zeitlich versetzt um die Zeit X, oder in vier verschiedenen Weckalarmen.
Die 4 Heizbereiche werden mit 4 "PULSGEN" Bausteinen angesteuert. Es gibt 4 Heizstufen, in denen der Sollwert für jede Heizung in jeder Heizstufe im Panel eingestellt werden kann. (Ist eine Heizung für Anwendungstechnik die nicht auf eine genaue Temperatur regelt).

Klar wenn alle Heizungen 100% Sollwert haben sind sie so oder so gleichzeitig an, das ist aber selten der Fall.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Normal hat man aber vor dem Pulsegen einen normalen PID-regler.FB 43 war das früher.
Danach kam dann dieser Pulsegen.Der hatte als Bsp. eine Aufrufhäufigkeit von 1:10.
Das wurde durch die Weckebenen abgebildet.Durch die 10 mal häufigere Aufrufhäufigkeit vom Impulsregler kann man dann die Temperaturänderungen am Analogregler erst abbilden.Ich meine das man die beiden sogar noch synchronisieren konnte.
Daraus würden sich dann 8 Regler ergeben.Ganz schön aufwendig.
 
Normal hat man aber vor dem Pulsegen einen normalen PID-regler.FB 43 war das früher.
Danach kam dann dieser Pulsegen.Der hatte als Bsp. eine Aufrufhäufigkeit von 1:10.
Das wurde durch die Weckebenen abgebildet.Durch die 10 mal häufigere Aufrufhäufigkeit vom Impulsregler kann man dann die Temperaturänderungen am Analogregler erst abbilden.Ich meine das man die beiden sogar noch synchronisieren konnte.
Daraus würden sich dann 8 Regler ergeben.Ganz schön aufwendig.
In diesem Fall wird ohne PID Regler gearbeitet. Jede Heizstufe hat einen festen Sollwert in % der vom Pulsgen umgewandelt wird.
Ist wirklich eine spezielle Anwendung..

Ich hab nun ein Schieberegister programmiert mithilfe eines Arrays 1..15 Bool.
Dieses wird im OB30 zusammen mit den Pulsgen, alle 500ms aufgerufen.
Der Zustand von Pulsgen wird immer in Array 1 geschrieben und dieses mit jedem Aufruf um 1 nach hinten verschoben.
Heizung 1 = Keine Verzögerung
Heizung 2 = Ein bei Array5 = true
Heizung 3 = Ein bei Array10 = true
Heizung 4 = Ein bei Array15 = true

Klappt super! Danke für eure Hilfe.

Gruß WhiteFox
 
Bei dem Schieberegister hättest du auch einfach eine Word oder eine DWord Variable nehmen können, das erste Bit (Bit 0) setzen, die Bits 4, 9, 14 abfragen. Zum Schieben dann einfach SHL (N auf 1) verwenden.
1729678614283.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zu dem ganzen Thema hätte ich noch eine Frage.
Wieso schaltet man diese einzelnen Heizstufen nicht der Reihe nach bei Bedarf hoch und runter.
Ist das unüblich oder gar falsch?
Also genauer.Je nach Abweichung des Istwertes vom Sollwert wird immer eine Stufe mit(Hysterese) hoch oder runtergeschaltet.
Oder müssen alle 4 Stufen quasi immer gleichzeitig laufen?
Ich meine mich zu erinnern, dass ich so was mal mit Grundlast gesehen habe und dann eben der Rest mit einem Heizkreis
der oben drauf dann den rest gemacht hat.
 
Zu dem ganzen Thema hätte ich noch eine Frage.
Wieso schaltet man diese einzelnen Heizstufen nicht der Reihe nach bei Bedarf hoch und runter.
Ist das unüblich oder gar falsch?
Also genauer.Je nach Abweichung des Istwertes vom Sollwert wird immer eine Stufe mit(Hysterese) hoch oder runtergeschaltet.
Oder müssen alle 4 Stufen quasi immer gleichzeitig laufen?
Ich meine mich zu erinnern, dass ich so was mal mit Grundlast gesehen habe und dann eben der Rest mit einem Heizkreis
der oben drauf dann den rest gemacht hat.
Die Heizungen sind räumlich verteilt und jeweils in 4 Stufen unterteilt. Also zum beispiel 0,5 bis 0 Grad Abweichung zum Ziel ist Stufe 1 mit 25% Heizung. Heizung Nr.4 bekommt nur 20% weil diese näher am Material sitzt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Zustand von Pulsgen wird immer in Array 1 geschrieben und dieses mit jedem Aufruf um 1 nach hinten verschoben.
Heizung 1 = Keine Verzögerung
Heizung 2 = Ein bei Array5 = true
Heizung 3 = Ein bei Array10 = true
Heizung 4 = Ein bei Array15 = true

Klappt super!
ist zeitlich aber nicht gleichmäßig verteilt?
 
ist zeitlich aber nicht gleichmäßig verteilt?
Deswegen Rundfeuerautomat.
Du ermittelst aufgrund des Stellgrads von 0-100% wie viele Aktoren du einschalten willst/musst & feuerst anschließend eine entsprechende Auswahl der Aktoren, in diesem Fall die SSRs.
Die Gewichtung kannst du Beispielsweise handeln indem du ein Array of Int (ein Index je SSR) jedes Element inkrementierst & anschließend die gefeuerten Aktoren wieder um zwei dekrementierst, sofern Wert > 0 (auch Reset bei ggf. Überlauf einplanen, passiert manchmal/selten bei Dauerbetrieb im Niedriglastbereich).
Auswahl dann absteigend nach Wert oder nach Index, entweder simpel von vorne/hinten oder Zufallswert (wenn du es fancy haben willst).
Je nach Länge der Feuersequenz noch den Mittelwert des Stellgrads während der Sequenz ermitteln.

(Unter der Voraussetzung, dass ich die Funktion noch richtig im Kopf habe. Ist ewig her, dass ich an dem Code geschraubt habe).

Bei der Länge der Sequenz evtl noch I/O Schaltgeschwindigkeit, SPS-Zykluszeit & Zünddauer des SSRs berücksichtigen oder Ausführung in einem CyclicInterupt OB (im Idealfall im gleichen wie den zugehörigen Regler) + die Ausgänge an das zugehörige TPA koppeln wenn's besonders schnell gehen muss.
Bei besonders präzisen Regelungen nimmt man aber meistens gleich Thyros, die direkt unter sich ausmachen wer welche Halbwellen wann zündet & so die Lastverteilung realisieren.
Und man könnte noch den tatsächlich ausgegebenen Stellgrad wieder in den Regelkreis zurückführen.

Ist je nach gewünschter Qualität der Nachführung und Regeldynamik ein hübscher Spielplatz zum austoben ;)
 
ist zeitlich aber nicht gleichmäßig verteilt?
Guten Morgen,

Was meinst du damit?

Ich hab eine Lösung gesucht die SSR-Glieder nach und nach einzuschalten um eine Stromspitze zu vermeiden. Das klappt mit der Lösung von Peter Wahlen super, ob mit Array oder einem WORD ist ja mal dahingestellt.

@ Botimperator
Die Lösung ist natürlich top, aber für die Anwendung einfach übertrieben. Behalt ich mir im Hinterkopf, danke :)

Gruß
 
Zurück
Oben