defekter Lüfter von ebmpapst


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Niveauregelung mit PID_Compact

In dem Versuch verwenden wir die gleichen Wasserbehälter, die im Versuch „Zweipunktregler mit Ultraschall“

Zweipunktregler mit Ultraschall

zum Einsatz kamen. Auch die Aufgabenstellung ist identisch: Es soll ein voreingestelltes Wasser-Niveau erreicht und möglichst konstant gehalten werden. Die Aufgabe soll in diesem Versuch der im TIA Portal integrierte Regler PID_Compact meistern.
Der gewünschte Sollwert wird mit einem Potenziometer eingestellt. Mit einem Keyence Laser wird der aktuelle Niveaustand überwacht. Zwei Pumpen sollen die notwendige Wassermenge, die der Regler anfordert, nachliefern. Die Aufgabe erschwert ein Loch, durch das aus dem Versuchsbehälter kontinuierlich Wasser abfließt. Die Pumpen werden hier nicht nur einfach ein- und ausgeschaltet. Die Drehzahl der Pumpen wird mit einem PWM-Signal gesteuert. Dank dessen sollen sie zu jedem Zeitpunkt in der Lage sein, nur die benötigte Wassermenge zu liefern. Zwei Balkenanzeigen visualisieren die aktuelle Situation. Sie zeigen den aktuellen Soll- und Istwert an. Das Ganze koordiniert eine Siemens SPS mit der 1215-CPU (S7-1200). Während des Versuchs werden zusätzlich Daten gesammelt und abgespeichert. Eine Excel-Grafik soll anschließend die Aufgabe und das Ergebnis dokumentieren.

CPU 1215C

CPU 1215C (S7-1200)

Wasserpumpen

Wasserpumpen

Da das Abflussloch in dem Versuchsbehälter etwas zu groß geraten ist, sind zwei Pumpen notwendig, um genügend Wasser nachliefern zu können.

Wasserpumpen


Abstandssensor

Wasserpumpen

Das aktuelle Wasserniveau wird mit dem Keyence-Laser überwacht. Damit die Messergebnisse nicht verfälscht werden, schwimmt auf dem Wasser ein schwarzes Plättchen, das dem Laser als Reflexionskörper dient.

Spannungsregler

Spannungsregler

Die Schaltung arbeitet mit drei Spannungen. Die Hauptversorgung beträgt 24 VDC. Die 10 VDC Spannung wird für das Potenziometer und die Balkenanzeigen benötigt. Mit 5 VDC werden die beiden Pumpen eingespeist.

Spannungsregler mit LM2596


Anzeigen

Balkenanzeige

Mit zwei Balkenanzeigen werden die aktuellen Soll- und Istwerte angezeigt.

Balkenanzeige


LM3914 Treiber

Anzeigetreiber

Um die Verdrahtung in kleinen Rahmen zu halten, werden die Balkenanzeigen mit den Treibern LM3914 zusammen verschaltet.

LM3914


Transistor

Transistor

Die Spannung an Ausgängen der SPS beträgt 24 V. Die Wasserpumpen vertragen lediglich 5 V. Der Transistor fungiert an dieser Stelle als Zwischenschalter.

BD135


SPS
Konfiguration und Programm

Bevor das Programm erstellt werden kann, muss die CPU (215-1AG40-0XB0) konfiguriert werden. Die Einstellungen führt man in der „Gerätekonfiguration“ durch:

Taktmerker

Um die Daten im Sekundentakt zu speichern, kommt der Taktmerker „Clock_1Hz“ zum Einsatz.

Die Pumpen werden mit PWM-Signal gesteuert. So wird es möglich sein, die Drehzahl der Pumpen zu beeinflussen, um exakt die Wassermenge zu liefern, die notwendig ist. Dazu werden zwei digitale Ausgänge der SPS als PWM-Ausgänge definiert und parametriert:

Impulsgenerator aktivieren

Impulsgenerator aktivieren

Impulsoptionen

Impulsoptionen

Hardwareausgang

Hardwareausgang

E/A Adressen

E/A Adressen

Genauso verfahren wir auch für die Pumpe 2 (Impulsgenerator PWM2). Für die Pumpe 1 wurde hier der Ausgang Q0.0 definiert. Die Pumpe 2 wird an den Ausgang Q0.2 angeschlossen.
In der Ansicht PLC-Variablen/Systemkonstanten können die HW-Werte eingesehen werden:

HW-Adressen

HW-Adressen

Im nächsten Schritt können die PLC Variablen definiert werden.

PLC Variablen

PLC Variablen

Im Programm werden zwei digitale Eingänge für "Programm Start" und "Regler Reset" verwendet. Die analogen Signale von Potenziometer (Sollwert) und Abstandssensors (hier ein Laser) gehen jeweils auf die analogen Eingänge mit den Adressen %IW200 und %IW202. Mit einem digitalen Ausgang (Q0.1) schalten wir die blaue „Programm läuft“- Leuchtdiode. Bei den zwei weiteren Ausgängen (Adressen %QW1000 und %QW1002 handelt es sich um zwei digitale Ausgänge, die als PWM-Ausgänge definiert wurden. Die „Clock“-Adressen erscheinen automatisch in der Liste, nachdem in der Konfiguration der Taktmerker Byte aktiviert wurde.
Im nächsten Schritt können die notwendigen Variablen angelegt werden. Dazu wird ein Datenbaustein „Var“ angelegt:

Globale Variablen

Variablen

In der Variable „Poti_Sollwert“ wird die aktuelle Einstellung des Soll-Potenziometers festgehalten (erster analoger Eingang). "Laser_Istwert" bezieht sich auf den zweiten analogen Eingang. In „PID_Ausgang“ wird der von PID_Compact berechnete Wert gespeichert. In „Ausgang_Pumpen“ ist der skalierte Endwert für die Pumpen-Ausgänge enthalten. Die Variablen „Daten_Zähler“, „Daten“ und „Merker_Daten_Schreiben“ werden für Datenspeicherung benötigt.
Das vorgefertigte Technologieobjekt „PID_Compact“ wird in dem Organisationsbaustein „Cyclic interrupt“, der alle 100 ms aufgerufen wird, untergebracht.

PID Compact

PID Compact

Ebenfalls in diesem Baustein kommt im Netzwek 2 noch ein kurzes Programm hinzu. Das Programm skaliert den von PID_Compact errechneten Wert für die Pumpen Ausgänge. Die Skalierung ist notwendig, da die kleinen Pumpen erst ab dem Spannungswert von 1-1,5 V anlaufen können. Der entsprechende Peripherie Wert liegt bei ca. 6000. Die Variable "Wert_Real" ist eine als Real definierte Zwischenvariable, die für die Rechenaufgaben benötigt wird. Das Programm sieht dann wie folgt aus:

                                   // Ausgänge Nullen beim Stop
"Soll_Pumpe_1" := 0;
"Soll_Pumpe_2" := 0;

                                   // Programm läuft
IF "Programm_Start" THEN
    #Wert_Real := INT_TO_REAL("Var".PID_Ausgang);
    #Wert_Real := #Wert_Real * 0.782986 + 6000;
    "Var".Ausgang_Pumpen := REAL_TO_INT(#Wert_Real);
    "Soll_Pumpe_1" := INT_TO_WORD("Var".Ausgang_Pumpen);
    "Soll_Pumpe_2" := INT_TO_WORD("Var".Ausgang_Pumpen);
END_IF;
        

Mit diesen zwei Netzwerken ist der Cyclic_interrupt fertig.

Im nächsten Schritt schreiben wir ein Programm, mit dem die Werte aus den analogen Eingängen ausgelesen werden und die Datenspeicherung durchgeführt wird. Das Programm wird in einem separaten Funktionsbaustein „Mein_Programm“ erstellt:

Mein Programm

Mein Programm

Das Programm in dem Baustein „Mein Programm“:

// Niveauregelung mit PID Compact
// Stetig
// TIA Portal V16
                              
                                  // SOLLWERT
                                  // Der gewünschte Sollwert wird mit dem Potenziometer P1 eingestellt.
                                  // Der Peripherie Wert nimmt die Werte zwischen 0 - 27648 an.
                                  // Die Variable "Var".Poti_Sollwert geht auf Eingang Setpoint (PID)
"Var".Poti_Sollwert := "Eingang_Poti_Sollwert";
IF "Var".Poti_Sollwert < 0 THEN
    "Var".Poti_Sollwert := 0;
END_IF;
IF "Var".Poti_Sollwert > 27648 THEN
    "Var".Poti_Sollwert := 27648;
END_IF;

                                  // ISTWERT
                                  // Der tatsächliche Wasserstand
                                  // Geht auf Eingang Input (PID)
"Var".Laser_Istwert := "Laser_Istwert";

                                  // PROGRAMM STOP
IF NOT "Programm_Start" THEN
    "LED_Programm_läuft" := FALSE;
    "Var".Daten_Zähler := -1;
END_IF;

                                  // PROGRAMM START
                                  // Mit Datenspeicherung für 3 Min
IF "Programm_Start" THEN
    "LED_Programm_läuft" := TRUE;
    IF "Clock_1Hz" AND NOT "Var".Merker_Daten_Schreiben THEN
        "Var".Merker_Daten_Schreiben := TRUE;
        "Var".Daten_Zähler := "Var".Daten_Zähler + 1;
        IF "Var".Daten_Zähler < 180 THEN
            "Var".Daten.Soll["Var".Daten_Zähler] := "Var".Poti_Sollwert;
            "Var".Daten.Ist["Var".Daten_Zähler] := "Var".Laser_Istwert;
        END_IF;
    END_IF;
END_IF;

IF NOT "Clock_1Hz" THEN
    "Var".Merker_Daten_Schreiben := FALSE;
END_IF;
        

Anschließend wird der Funktionsbaustein „Mein_Programm“ in den Organisationsbaustein "Main" eingefügt. Im zweiten Schritt werden zwei Anweisungen CTRL_PWM (Erweiterte Anweisungen) eingefügt und mit den PWM-Ausgängen verknüpft:

Main

Main

Damit sind die SPS - Konfiguration und Programmierung abgeschlossen. Im letzten Schritt widmen wir uns dem Software Regler PID_Compact.
Zunächst muss der Regler konfiguriert werden:

PID Compact

PID Regelungsart

PID Regelungsart

PID e/a

PID e/a

Istwertgrenzen

Istwertgrenzen

Überwachung

Überwachung

Ausgangswertgrenzen

Ausgangswertgrenzen

Die PID Parameter lassen wir erst mal unverändert und achten darauf, dass das Kästchen „Manuelle Eingabe aktivieren“ nicht angewählt wird. Sie werden mithilfe der Optimierungsfunktionen automatisch ermittelt.
Um die Parameter des Reglers zu ermitteln, muss die gesamte Versuchsanordnung (Regelstrecke) komplett aufgebaut und in Betrieb genommen werden.

Der Schaltplan

Schaltplan

Schaltplan

Die Spannungen Sollwert und Istwert, die maximal 10V betragen, werden zur SPS und den beiden Anzeigen geführt. Mit den Spannungsteilern P2/R5 und P3/R7 werden sie jeweils auf 1,25V heruntergeregelt. Das ist die maximale Spannung, die an Pin 5 des Anzeigetreibers LM3914 ankommen darf. Die Potenziometer – Einstellung liegt folglich bei 70 kOhm.

Wasserbehälter

Wasserbehälter

Wasserbehälter

Die Testschaltung

Testschaltung

Testschaltung

PID Parameter

Sobald alles vorbereitet wurde, kann das Fenster Technologieobjekte/PID_Compact/Inbetriebnahme geöffnet werden. Mithilfe dieses Hilfswerkzeugs werden die Reglerparameter ermittelt. Hierzu muss die Optimierungsart ausgewählt und mit dem Button „Start“ der Vorgang gestartet werden:

PID Optimierung

PID Optimierung

Für unsere Regelstrecke wurden mit dem Verfahren folgende PID Parameter ermittelt:

Parameter

Parameter

Mit diesem Schritt wurde die Inbetriebnahme abgeschlossen und der Regler ist jetzt einsatzbereit. Auf dem Diagramm zum Versuch (unten, erste 3 Minuten) kann man sehen, dass der Istwert dem Sollwert wie erwartet folgt. Die IST-Kurve ist noch etwas unruhig. Durch weitere Optimierungen, Signalstabilisierung usw. kann man das Regelverhalten noch weiter verbessern.

Diagramm

Diagramm

Kurzvideo

Kurzvideo: Niveauregelung mit PID_Compact


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz