Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Heizungen Schalten in einer Reihenfolge und dann bei neuem Impuls wieder dort starten

  1. #1
    Registriert seit
    05.12.2011
    Beiträge
    24
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    Ich hab den PID Compact Programmiert von der s7 im Tia Portal. Gebe dem PID DB den Sollwert von 200 °C dann werden über den Ausgang Outpu PWM meine 6 Heizungen geschalten.
    Diese kommen beim ERSTEN einschalten nacheinander im 2 Sek.Takt damit nicht alle gleichzeitig schalten (Stromspitze).
    Danach bis um auf die ca. 160 °C schalten alle 6 Heizungen zusammen voll ein danach wird getaktet bis 200°C je nachdem wie die Ein- und Ausschaltzeiten programmiert sind.

    So nun zum Problem, Wen die Heizungen anfangen zu takten sprechen immer nur die ersten 3 oder 4 Heizungen an, weil er dann wieder ausschaltet wird 5 und 6 nicht angesprochen.
    Ich möchte nun das wen es anfängt zu takten und bei 3 aufhört beim nächsten einschalten, wieder bei 3 anfängt und dann mit 5 und 6 durch läuft.

    Kann mir jemand einen Tipp geben wie ich dies lösen könnte? Macht es hier sinn mit Sprungbefehle zu arbeiten oder die Schritte zu speichern?

    Arbeite mit s7 1214c Tia Portal V11

    Bin froh um jede Hilfe.

    Danke und Gruss Gonzo3
    Zitieren Zitieren Heizungen Schalten in einer Reihenfolge und dann bei neuem Impuls wieder dort starten  

  2. #2
    Registriert seit
    05.10.2006
    Beiträge
    324
    Danke
    11
    Erhielt 8 Danke für 7 Beiträge

    Standard

    Du könntest dir ja z.B. in einem DB "merken" welches die letzte Heizung war die angesteuert wurde, und beim nächsten durchlauf mit dieser beginnen.

    Könntest ja einen vergleich über zwei zählwerte machen welche bis 6 gehn.
    Ist der Vergleich nach dem Takt kleiner 6 dannfängst du bei dieser kleineren Zahl an und lässt bis 6 laufen.

    Ist der Vergleich gleich sechs dann fängst du wieder von vorne an.

    Nur mal so ne Idee auf die schnelle!

    Grüße Pico

  3. #3
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Hallo Gonzo,

    Zitat Zitat von Gonzo3 Beitrag anzeigen
    ..dann werden über den Ausgang Outpu PWM meine 6 Heizungen geschalten...
    Über ein PWM-Signal sechs Heizungen unterschiedlich ansteuern? Wie geht das denn?


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  4. #4
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Über ein PWM-Signal sechs Heizungen unterschiedlich ansteuern? Wie geht das denn?
    Hallo Dagobert,
    so wie ich das sehe schaltet er eigentlich alle gleichzeitig, nur durch sein Zeitversatz erhält er folgendes Muster:
    Code:
    U #Heizung Ein
    = Heizung 1
    
    U #Heizung Ein 
    U #Timer 2 Sekunden
    = Heizung 2
    
    ...
    somit würde die 6. Heizung erst nach 10 Sekunden kommen.

    @Gonzo, hast du die Zeiten über ein Schieberegister laufen?
    Spontan hätte ich da so eine Art Matrix vor Augen die sich bei jedem erneuten Heiztakt ändert und mit dem Schieberegister verodert wird.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  5. Folgende 2 Benutzer sagen Danke zu Paule für den nützlichen Beitrag:

    Gonzo3 (21.12.2011),Onkel Dagobert (20.12.2011)

  6. #5
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zweite Idee:
    Du speicherst die Einschaltzeit jeder Heizung in Sekunden.
    Nach beendetem Heiztakt werden die Heizung entsprechend ihren Betriebssekunden sortiert > Suchhilfe z.B.: "Bubblesort"
    Die Heizung mit der geringsten Betriebszeit wird im nächsten Heizzyklus als erster genommen.

    Was mich jetzt ein bisschen erschreckt ist die CPU (1214) die kann doch nur FUP und KOP, oder?
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  7. Folgender Benutzer sagt Danke zu Paule für den nützlichen Beitrag:

    Gonzo3 (21.12.2011)

  8. #6
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Zitat Zitat von Paule Beitrag anzeigen
    ..somit würde die 6. Heizung erst nach 10 Sekunden kommen...
    Nur mal nebenbei bemerkt. Das ist im wahrsten Sinne des Wortes taktisch unklug. Man könnte einen normalen PID-Regler mit stegigem Ausgang nehmen und Schwellwerte bilden. Wenn es ganz genau werden soll, könnte man die höchste der eingeschalteten Stufen zusätzlich noch takten. Aber das ändert nichts an der Problematik mit dem Führungswechsel.

    Ich schreibe bei ähnlichen Fällen die Bits der Stufen in ein ARRAY[1..6] of BOOL und gebe dieses ARRAY anschließend versetzt in einem zweiten ARRAY aus . Also in einer Schleife wird ARRAY[x] nach ARRAY[y] übertragen, wobei X von 1 bis 6 und y abhängig vom Führungsgerät z.Bsp. von 4 über 6 nach 3 verläuft. Der Startwert des Index y entspricht dem Führungsgerät (im Bsp. 4) und wird ereignis- oder zeitabhängig geändert. Das könnte man hier mit einer Flanke des PWM-Signals machen. Um sinnlose Schaltspiele zu vermeiden, ginge es aber auch in festen zeitlichen Abständen wie einer Stunde oder so.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  9. #7
    Gonzo3 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.12.2011
    Beiträge
    24
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Paule Beitrag anzeigen
    Hallo Dagobert,
    so wie ich das sehe schaltet er eigentlich alle gleichzeitig, nur durch sein Zeitversatz erhält er folgendes Muster:
    Code:
    U #Heizung Ein
    = Heizung 1
    
    U #Heizung Ein 
    U #Timer 2 Sekunden
    = Heizung 2
    
    ...
    Das ist richtig Paule, ich steuere alle 6 Ausgänge auf einmal nur zeitversetzt.
    Habe den Zeitversatz mit Einschaltverzögerungen realisiert und kein Schieberegister verwendet dies kenne ich nicht. Bin leider noch nicht so erfahren in der Programmierung.
    Ist dieses Schieberegister einfach zu erklären?

    Ich programmiere alles in KOP daher weiss ich nicht ob es in AWL geht.

    Deine 2te Idee hört sich auch gut an, werde mich hier im Forum mal schlau machen über Bubblesort.

    Gruss Gonzo

  10. #8
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Hallo Gonzo,

    was haben die Heizungen eigentlich für Leistungen? Und über was werden sie geschaltet? Die einfachste und genaueste Regelung wäre, wenn du alle zusammen über das PWM-Signal und mit geringer Taktzeit (500ms) schalten könntest. Ich habe damit beste Ergebnisse erzielt.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  11. Folgender Benutzer sagt Danke zu Onkel Dagobert für den nützlichen Beitrag:

    Gonzo3 (21.12.2011)

  12. #9
    Gonzo3 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.12.2011
    Beiträge
    24
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Hallo Gonzo,

    was haben die Heizungen eigentlich für Leistungen? Und über was werden sie geschaltet? Die einfachste und genaueste Regelung wäre, wenn du alle zusammen über das PWM-Signal und mit geringer Taktzeit (500ms) schalten könntest. Ich habe damit beste Ergebnisse erzielt.


    Gruß, Onkel
    Ich habe 6 Schütze für die Heizungen Beim L1 von 1 Schütz hab ich 6.2 kw.

    Ich schalte alle 6 Heizungen über Output_PWM ( Bool Datentyp) in einem Zeitversatz.

    Gruss Gonzo3

  13. #10
    Registriert seit
    09.06.2008
    Beiträge
    138
    Danke
    16
    Erhielt 13 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Habe diese Aufgabenstellung noch nicht lösen müssen. Aber probiere mich gern mal.

    In diesem Fall:
    Heizung 1 = Heizung Ein
    Heizung 2 = Heizung Ein+2s
    Heizung 3 = Heizung Ein+4s
    Heizung 4 = Heizung Ein+6s
    Heizung 5 = Heizung Ein+8s
    Heizung 6 = Heizung Ein+8s

    Also alles wie bisher. Ich würde diese Zeiten als eine Art Ringspeicher aufbauen und diesen laufzeibezogen z.B. alle 60s weiterschalten. So das Heizung 1 mal als Heizung 2, 3, 4... usw. fungiert.
    Geändert von ich988 (21.12.2011 um 12:25 Uhr)

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 20.05.2009, 12:38
  2. Antworten: 0
    Letzter Beitrag: 19.05.2009, 09:33
  3. Starten über Ikon dann Vollbild
    Von McCowsky im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 05.03.2009, 10:41
  4. Antworten: 15
    Letzter Beitrag: 24.01.2007, 11:41
  5. Antworten: 0
    Letzter Beitrag: 12.06.2006, 16:05

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •