Jump to content
  • Sign in to follow this  

    Programmierung und Feinabstimmung eines PID-Reglers in einer SPS – Siemens TIA Portal

       (0 reviews)

    caixiaofeng

    In einem früheren Artikel haben wir darüber gesprochen, was ein PID ist, und wir haben auch die verschiedenen Parameter eines PID erklärt und wie das System auf Änderungen dieser Parameter reagiert. In diesem Artikel zeigen wir, wie Sie einen PID in Ihrem TIA Portal-Projekt programmieren, konfigurieren und abstimmen.

    Inhalt:

    • Wie fügen Sie Ihrer Logik einen PID hinzu?
    • Wie konfigurieren Sie den PID?
    • Grundeinstellung Prozesswerteinstellung
    • Erweiterte Einstellung
    • Wie führen Sie die Feinabstimmung des PID durch?
    • Vorabstimmung des PID
    • Feinabstimmung
    • Welche verschiedenen Abstimmungsmethoden gibt es für PIDs?

    Wie fügen Sie Ihrer Logik einen PID hinzu?

    In TIA Portal und fast jeder anderen SPS-Plattform müssen Sie keinen PID-Regler programmieren, da das TIA Portal bereits integrierte Blöcke für PIDs hat. Um einen PID in Ihre Logik einzufügen, müssen Sie den PID-Block einfach per Drag & Drop in Ihren Code ziehen und mit der Konfiguration für Ihr System beginnen.

    Das Hinzufügen von PID zu Ihrem Code ist sehr einfach, es gibt jedoch einen sehr wichtigen Punkt, den Sie berücksichtigen sollten. Dies ist das Ausführungsintervall Ihres PID.

    Wie Sie wissen, findet der Hauptausführungszyklus im Main Cyclic OB1 statt und die Zykluszeit des OB1 hängt von vielen Faktoren ab, beispielsweise von der Länge Ihres Codes, von mathematischen Berechnungen in Ihrem Code und auch von Schleifen und Sequenzen. All diese verschiedenen Faktoren können die Zykluszeit Ihres OB1 nicht nur verlängern, sondern auch in jedem Zyklus anders machen, je nach Ihrem Code.

    Das bedeutet, wenn Sie Ihren PID-Block im Main OB1 aufrufen, hängt die PID-Ausführung von der Zykluszeit Ihres OB1 ab, und das ist kein Best-Practice-Ansatz.

    PIDs werden normalerweise verwendet, um physikalische Parameter wie Druck, Temperatur oder Geschwindigkeit zu steuern, und das bedeutet, dass Ihr Controller sehr schnell jede Änderung Ihres Prozesswerts erkennen und schnell reagieren muss, um diese Änderung auszugleichen und Ihnen eine reibungslose, stabile Steuerung zu bieten, die ein PID haben sollte. Wenn also der PID zum Haupt-OB1 hinzugefügt wird und von seiner Ausführungszeit betroffen ist, müssen möglicherweise Verzögerungen eingeleitet werden, was Ihr System instabil macht.

    Was ist zu tun?

    Eine bewährte Vorgehensweise besteht darin, Ihren PID-Block in einem zyklischen Interrupt-OB aufzurufen und die Zykluszeit dieses zyklischen Interrupts auf den für Ihr System geeigneten Wert einzustellen, normalerweise im Millisekundenbereich, abhängig von Ihrer Anwendung. Das bedeutet, wenn Sie den zyklischen Interrupt beispielsweise auf 1 Millisekunde einstellen, wird Ihr PID jede Millisekunde aufgerufen und ausgeführt, unabhängig davon, wo sich der Haupt-OB1-Zyklus befindet.

    Um also einen PID in Ihre Logik einzufügen, fügen wir zunächst einen neuen zyklischen Interrupt-OB hinzu und geben ihm einen geeigneten Namen. Siehe Abbildung 1.

    115-1.gif

    Abbildung 1. Hinzufügen eines zyklischen Interrupts zu Ihrem Projekt.

    Sie können auf der Abbildung sehen, dass wir die Zykluszeit auf 1000 Mikrosekunden oder 1 Millisekunde eingestellt haben. Unser PID wird also jede Millisekunde aufgerufen und ausgeführt.

    Nachdem Sie nun Ihren zyklischen OB zum Projekt hinzugefügt haben, können Sie den PID-Block einfach per Drag & Drop verschieben. Sie finden ihn auf der Registerkarte „Anweisungen“/Technologie/PID-Steuerung/Kompakter PID. Siehe Abbildung 2.

    115-2.gif

    Abbildung 2. Hinzufügen des PID-Blocks.

    Fügen Sie nun Ihre Systemparameter zum PID-Block hinzu, den Eingang, den Ausgang und den Sollwert. Siehe Abbildung 3.

    115-3.gif

    Abbildung 3. Weisen Sie Ihre PID-Parameter zu.

    Ist Ihnen auf dem letzten Bild aufgefallen, dass Sie 2 verschiedene Eingänge und 3 verschiedene Ausgänge haben? Was sind das?

    Eingabe:

    Dies ist Ihr Eingabewert Ihres Prozessparameters in realen physikalischen Größen. Wir verwenden unser Tanksimulationssystem, daher ist die Eingabe hier in diesem Fall der Tankfüllstand in Litern. Das bedeutet, dass Sie Ihre analoge Eingangsskalierung an einer anderen Stelle in Ihrem Projekt vorgenommen haben und den PID nur mit dem tatsächlichen Füllstand in Litern versorgen.

    Input_PER:

    Dies ist der Eingangswert Ihres Prozessparameters, kommt aber vom analogen Eingangsmodul. Das bedeutet, dass er nicht skaliert wird und im Bereich von 0-27648 liegt und die Skalierung des Eingangs innerhalb des PID erfolgt.

    Output:

    In diesem Fall gibt Ihnen der PID den Reglerausgangswert im Bereich von 0 % bis 100 % des maximalen Ausgangswerts.

    Output_PER:

    Genau wie input_PER gibt der PID den Ausgang in Form von 0-27648 aus.

    Output_PWM:

    In diesem Fall gibt der PID sein Ausgangssignal in Form von EIN/AUS-Impulsen aus, sodass entweder ein Ausgang vorhanden ist oder nicht. Und der Ausgangswert beträgt dann 100 %, wenn er EIN ist, und 0 %, wenn er AUS ist.

    Wir verwenden dasselbe Tanksimulationssystem wie zuvor und wie Sie auf dem vorherigen Bild sehen können, haben wir Input und Output_PER verwendet, da unsere Simulation auf diese Weise aufgebaut ist.

    Wie konfiguriere ich den PID?

    Um die Konfigurationsansicht des PID aufzurufen, können Sie entweder auf die Registerkarte „Konfiguration“ im Projektbaum oder auf das kleine Konfigurationssymbol über dem PID-Block selbst klicken. Siehe Bild 4.

    115-4.gif

    Bild 4. Konfigurationsansicht aufrufen.

    Dadurch gelangen Sie zur Funktionsansicht, in der Sie die verschiedenen Einstellungen Ihres PID konfigurieren können. Siehe Bild 5.

    115-5.gif

    Bild 5. Reglertypeinstellung.

    Die erste Konfiguration ist der Reglertyp. Hier können Sie auswählen, welche Art von Steuerung Sie verwenden möchten. Sie haben viele Optionen aus den angezeigten Dropdown-Menüs wie Temperatur, Druck, Länge und viele mehr. Sie können es auch auf „Allgemein“ einstellen, wo das System Ihre Werte als % sieht. In unserem System steuern wir Wasserliter in einem Tank, also wählen wir das Volumen.

    Sie können auch den manuellen/automatischen Modus des PID einstellen.

    Als Nächstes möchten Sie die Eingabe-/Ausgabeparameter konfigurieren. Siehe Bild 6.

    115-6.gif

    Bild 6. Eingabe-/Ausgabeparameter.

    Hier können Sie aus den verschiedenen Arten von Ein- oder Ausgängen wählen, wie wir zuvor erklärt haben. Wie gesagt, wir werden Input und Output_PER verwenden.

    Als Nächstes müssen Sie Ihre Prozesswerteinstellung konfigurieren. Siehe Bild 7.

    115-7.gif

    Bild 7. Prozesswertgrenze.

    In diesem Schritt legen Sie die unteren und oberen Grenzwerte Ihres Prozesswerts fest. Wenn Sie den Eingabetyp wählen, kann diese Einstellung geändert werden und Sie können die Grenzwerte Ihres Prozesses festlegen. In unserem Fall liegen die Tankgrenzwerte bei 0 bis 50 Litern. Wir haben sie also auf diese Werte eingestellt.

    Beachten Sie, dass diese Einstellung nicht verfügbar ist, wenn Sie Input_PER wählen, und Sie Ihren Prozessgrenzwert nur auf der nächsten Registerkarte festlegen können. Siehe Abbildung 8.

    115-8.gif

    Abbildung 8. Skalierung des Prozesswerts.

    Wenn Sie Input_PER verwenden, können Sie, wie Sie im vorherigen Bild sehen, Ihren Prozesswertgrenzwert in Bezug auf die vorhandene Skalierung von 0-27648 festlegen.

    Wenn Sie eine Warnung einrichten möchten, wenn Ihr Prozesswert einen unteren oder oberen Grenzwert erreicht, können Sie dies auf der Registerkarte „Prozesswertüberwachung“ konfigurieren. Siehe Abbildung 9.

    115-9.gif

    Abbildung 9. Prozesswertüberwachung.

    Als nächstes finden Sie in der Einstellungsliste die PWM-Grenzen, siehe Bild 10.

    115-10.gif

    Bild 10. PWM-Grenzen

    Hier können Sie die minimale EIN- und AUS-Zeit Ihres Ausgangs einstellen. Stellen Sie sich vor, Sie haben eine Pumpe oder ein Ventil in Ihrem System, das der PID über einen PWM-Ausgang steuert. Sie möchten nicht, dass der PID Ihrer Pumpe einfach eine Abfolge von sehr schnellem EIN/AUS-Verhalten gibt, da dies wahrscheinlich dazu führen würde, dass Ihre Pumpe durchbrennt. Sie können dem PID also von dieser Einstellung aus sagen, dass er die Pumpe für eine Mindestzeit einschalten soll, bevor er sie schließt, und umgekehrt.

    Sie können die gleiche Steuerung mit Ihrem PID haben, wenn Sie keinen PWM-Ausgang haben, und zwar von der nächsten Einstellung aus, den Ausgangswertgrenzen. Siehe Bild 11.

    115-11.gif

    Bild 11. Ausgangswertgrenzen.

    Sie können die unteren und oberen Grenzen Ihrer Steuerausgabe steuern. Sie können beispielsweise die untere Grenze auf 20 % setzen, wodurch der PID die Pumpe mit mindestens 20 % ihres Durchflusses betreibt. Ihr Steuerbereich liegt also zwischen 20 % und 100 %.

    Zuletzt und am wichtigsten können Sie Ihre PID-Parameter im Konfigurationsmodus auf der nächsten Registerkarte, der Registerkarte „PID-Parameter“, einstellen, siehe Abbildung 12.

    115-12.gif

    Abbildung 12. PID-Parameter.

    Hier können Sie die Abstimmungsparameter für Ihre PID-Verstärkungen P, I und D eintragen, falls Sie diese kennen oder falls Sie die Abstimmung selbst vorgenommen haben und die Parameter von woanders haben. Sie können sich auch entscheiden, ob Sie einen PID- oder nur einen PI-Regler verwenden möchten.

    Wenn Sie diese Parameter nicht haben, können Sie sie automatisch hochladen, nachdem Sie die Abstimmung Ihres PID vorgenommen haben.

    Wie führt man die Abstimmung des PID durch?

    Nachdem Sie nun Ihre PID-Konfiguration abgeschlossen haben, können Sie Ihren Regler ganz einfach über die Registerkarte „Inbetriebnahme“ im Projektbaum abstimmen. Siehe Abbildung 13.

    115-13.gif

    Abbildung 13. Inbetriebnahme Ihres PID

    Auf der Inbetriebnahmeseite ist Ihr Bildschirm in drei Teile unterteilt. Auf der oberen Seite können Sie mit der Vorabstimmung und Feinabstimmung des PID beginnen.

    In der Mitte befindet sich ein Diagrammbereich, der Ihnen die Echtzeitreaktion Ihres Systems zeigt. Sie können die Reglerausgabe und den Prozesswert sehen. Und jedes Mal, wenn sich der Sollwert ändert, sehen Sie das Verhalten Ihres PID, um diesen neuen Sollwert zu erreichen. Selbst wenn sich der Sollwert nicht geändert hat, aber beispielsweise der Bedarf aus unserer Tankversorgung steigt, sehen Sie die PID-Reaktion, um diesen Bedarf zu decken und den Sollwert auf dem erforderlichen Wert zu halten.

    Im dritten Bereich sehen Sie den Online-Status Ihres Reglers und können auch den Betriebsmodus Ihres PID festlegen. Sehen Sie sich das folgende Simulationsvideo an, das den Autotuning-Vorgang des PID im TIA-Portal zeigt.

    Im Video können Sie sehen, dass unser PID nach der Vorabstimmung die P-, I- und D-Parameter gefunden hat, die am besten zu unserem System passen. Sie können sehen, dass der Regler sehr schnell reagiert, wenn sich der Sollwert oder der Abfluss ändert, um den Sollwert wieder auf die erforderlichen Werte zu bringen.

    Sie können Ihre Tuning-Parameter jetzt mit einem einfachen Klick direkt in Ihr Projekt hochladen, siehe Bild 14.

    115-14.gif

    Bild 14. Laden Sie Ihre Parameter hoch.

    Nachdem Sie Ihre Parameter hochgeladen haben, finden Sie sie auf der Registerkarte „PID-Parameter“ in der Konfigurationsansicht. Siehe Bild 15.

    115-15.gif

    Bild 15. PID-Parameter.

    Der nächste Schritt sollte darin bestehen, eine Feinabstimmung des PID aus derselben Inbetriebnahmeansicht heraus durchzuführen. Da wir jedoch kein reales System haben und nur das Verhalten des Tanks und der Pumpe mithilfe mathematischer Berechnungen simulieren, können wir die Feinabstimmung nicht durchführen.

    Wenn Sie ein reales System haben, können Sie die Feinabstimmung vornehmen, bei der Ihr PID versucht, die Parameter zu finden, die dem System eine bessere Reaktion verleihen und sogar das Überschwingen Ihres Prozesswerts verhindern und den Sollwert direkt erreichen.

    Wenn wir in Zukunft ein reales System haben, können wir zeigen, wie es aussieht.

    Welche verschiedenen Abstimmungsmethoden gibt es für PID-Regler?

    Sie müssen die Abstimmung Ihres PID nicht über das TIA Portal vornehmen. Es gibt viele verschiedene Methoden, mit denen versucht wird, die besten PID-Parameter für Ihr System zu finden. Meistens handelt es sich dabei um mathematische Methoden, die auf Versuch und Irrtum basieren. Ich würde empfehlen, die Auto-Tune-Funktion im TIA Portal zu verwenden.

    Aber hier sind einige der Methoden, die verwendet werden, um dieselben Parameter zu erreichen.

    • Heuristische Abstimmung.
    • Ziegler-Nichols-Abstimmungsmethode
    • Cohen-Coon-Abstimmungsmethode
    • Kappa-Tau-Abstimmungsmethode
    • Lambda-Abstimmungsmethode
    • Und einige andere.

    Fazit

    • Verwenden Sie einen zyklischen Interrupt mit Ihren PIDs.
    • Konfigurieren Sie Ihren PID so, dass er am besten zu Ihrem System passt.
    • Die Auto-Tune-Funktion im TIA Portal ist sehr nützlich und effektiv.
    Sign in to follow this  


    User Feedback

    Create an account or sign in to leave a review

    You need to be a member in order to leave a review

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    There are no reviews to display.


Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...