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

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

Thema: CFC Programmierung Problem mit Reglertyp

  1. #1
    Registriert seit
    20.08.2015
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich habe folgendes Problem ich soll eine Impuls/Pausen-Regelung implementieren. Ich habe über den FB 42 oder FB 58 (PID-Regler) eine Regelung zwischen Ist und Sollwert hinbekommen und getestet und bekomme am Ausgang (y) ein Signal zwischen 0-100%.

    Jetzt kommt mein Problem, ich soll damit ein Ventil ansteuern, welches minimal 4,5s angegesteuert wird und maximal 17,5s in Abhängigkeit von dem Ausgang (0-100%) und danach eine Pause von 160s einlegen soll. Ich hab mit dem FB 43 (PULSEGEN) gesehen, dass ich die Differenz einstellen kann über (INV/100*PER_TM). Das wäre bei einen maximalen Ventilöffnung von 100% gleich 13s als PER_TM. Die Pausenzeit wollte ich über P_B_TM einstellen, war auch nicht das Thema.
    Als Frage nun, gibt es die Möglichkeit hierfür einen Offset von 4,5 einzustellen oder eine andere Möglichkeit, das Problem zu realisieren?
    Was ich mir auch noch nicht ganz erklären kann, wie die Abtastzeit des PID-Reglers sein muss, da ich bei geringer Abtastzeit sonst viel zu schnell Werte bekomme für den PULSEGEN, obwohl die Periode noch nicht abgelaufen ist?

    Vielen Dank schon mal für jegliche Hilfe!

    Gruß Hacke
    Zitieren Zitieren CFC Programmierung Problem mit Reglertyp  

  2. #2
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Die Regler müssen zwingend in einem Weckalarm aufgerufen werden. Die Abtastzeit ist dann zwingend die die Aufrufzeit des Weckalarms, wird beim uebersetzen aber vom cfc selbst eingestellt. Zum pulsegen kann ich nix sagen muesste ich auch erstmal in der Hilfe lesen. Den offset kannst Du evtl auf das 0...100% Signal drauf addieren.

  3. #3
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Standard bei S7 OB 35 (100ms) und Cycle=T100ms.

  4. #4
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Was man noch beachten muss ist das Abtastverhältnis:

    Der Gesamtregler besteht ja aus einem PID-Regler und einem IMPULS-Pause Umformer.(Pulsegen).Setzt man beim PID 100ms an, sollte der Pulsegen ein
    Per_Tm >=20 haben.je größer dieser Wert desto genauer die Umsetzung.

    Bei 100ms im PID hättest du dann 2 sec im Pulsegen als Periodendauer.

  5. #5
    Hacke123 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.08.2015
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die Hilfe ich hab den OB 33 (500ms) benutzt. Ich hab gelesen, dass der PULSEGEN 100x schneller abgetastet sein muss als der PID, um die Genauigkeit von 1% zu erreichen. Ob 1, 2 oder 5% ist glaube nicht von Relation.

    Das mit dem Offset war auch meine Idee, jedoch habe ich bei dem PULSEGEN nichts in der Hilfe dazu gesehen. Ich habe heute den S5 Baustein in S7 als Funktion nachprogrammiert. Werde den morgen mal testen.

    Zu meiner Frage nochmal zurück, ist den die Abtastzeit überhaupt so gering nötig, da der Zyklus des Impulsbausteins ja minimal 164,5s geht. An sich kann der PID-Baustein die Berechnung ja schnell ausführen, müsste dann aber sowieso warten auf Ablaufen der Pausenzeit oder sehe ich das falsch?

    Gruß Hacke

  6. #6
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Die Abtastzeit muss gleich der Aufrufzeit vom Weckalarm sein, sonst funktionieren die Bausteine nicht... Welchen Weckalarm Du nimmst haengt vom Prozess ab. Schneller Prozess=schneller Weckalarm.
    Gruß.
    Geändert von ducati (21.08.2015 um 08:20 Uhr)

  7. #7
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Also noch mal konkret

    Zitat Zitat von Hacke123 Beitrag anzeigen
    Ich hab gelesen, dass der PULSEGEN 100x schneller abgetastet sein muss als der PID, um die Genauigkeit von 1% zu erreichen.
    Ich denke das ist Quatsch. Der Pulsegen sollte 100x schneller aufgerufen werden als die Puls-Pause-Zykluszeit. Mit dem PID hat das nichts zu tun. Wenn Du aber Deine 164,4s Puls-Pause-Zykluszeit wirklich auf die Kommastelle genau haben willst, dann solltest Du den PULSEGEN im 100ms Weckalarm aufrufen

    Zitat Zitat von Hacke123 Beitrag anzeigen
    Zu meiner Frage nochmal zurück, ist den die Abtastzeit überhaupt so gering nötig, da der Zyklus des Impulsbausteins ja minimal 164,5s geht. An sich kann der PID-Baustein die Berechnung ja schnell ausführen, müsste dann aber sowieso warten auf Ablaufen der Pausenzeit oder sehe ich das falsch?
    Der PID wird nicht auf den PULSEGEN warten, er berechnet in jedem Aufruf ein neues Stellsignal. Die Frage ist aber, was macht der PULSEGEN, wenn sich innerhalb der Puls-Pause-Zykluszeit der Stellwert vom öfters ändert. Normalerweise sollte der PULSEGEN damit klarkommen. Mit den Bausteinen hab ich aber schon mehrfach komische Erfahrungen gemacht, von daher solltest Du's einfach ausprobieren.

    Also PID und PULSEGEN in 100ms aufrufen. dazwischen einfach den Offset bauen. Ordentliche (langsame) Reglerparameter beim PID einstellen.

    Bei 164,5s Puls-Pause-Zykluszeit muss das ja schon ein ordentlich langsamer Prozess sein. Was ist das denn genau? Kennst Du Dich mit Regleroptimierung aus, bzw. wie Du den P, I und D-Anteil berchnest bzw. einstellst?

    Gruß.

    PS: evtl. geht das ganze auch einfacher ohne den PULSEGEN. Ein zwei Berechnungen und Timer und RS-Flipflops...
    Geändert von ducati (21.08.2015 um 08:38 Uhr)

  8. #8
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von Hacke123 Beitrag anzeigen
    ich soll damit ein Ventil ansteuern, welches minimal 4,5s angegesteuert wird und maximal 17,5s in Abhängigkeit von dem Ausgang (0-100%) und danach eine Pause von 160s einlegen soll.
    Zitat Zitat von silverfreaky Beitrag anzeigen
    Bei 100ms im PID hättest du dann 2 sec im Pulsegen als Periodendauer.
    @silverfreaky: hast Du Dir durchgelesen, was der TE machen soll?

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ich würde für die Pulsausgabe wohl einfach zwei (Rückwärts-)Zähler im OB35 (100ms) nehmen (also einen INT-Wert decrementieren). (Ich hoffe, daß sowas in CFC geht.)
    Pausenzeit: 1600
    Ventil-Öffnungszeit: Stellwert*1.3 + 45

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja ich habe mir durchgelesen was der TE machen will.Blos der Sinn erschliesst sich mir nicht.Das ist für mich widersprüchlich.Aber zumindest keine Regelung.
    Vielleicht sollte mal erklärt werden, was man damit erreichen will.

Ähnliche Themen

  1. Step 7 CFC-Programmierung
    Von Jeremy3 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 17.01.2014, 08:15
  2. Step 7 CFC Programmierung
    Von Jeremy3 im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 10.12.2013, 10:56
  3. Step 7 Problem mit CFC
    Von Licht9885 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 23.04.2013, 19:52
  4. CFC Programmierung if / sprünge?
    Von swissm im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 19.07.2011, 19:50
  5. CFC Programmierung
    Von tarzipan7 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 18.04.2008, 16:38

Stichworte

Lesezeichen

Berechtigungen

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