Diese Hausarbeit befasst sich in zwei Teilen mit der Programmierung und Steuerung von Automatisierungsprozessen.
In den ersten fünf Aufgaben dieser Hausarbeit geht es darum, die Steuerung einer Spülmaschine mit Hilfe der bereitgestellten Software CoDeSys, zu entwickeln.
Im zweiten Teil dieser Hausarbeit beschäftigt sich der Autor dann mit der Regelung einer Drosselklappe bei Kraftfahrzeugen. Mit Hilfe der Programme BORIS (Blockorientierte Simulation – Teil von WinFACT7) und dem BODE-Trainer soll dies umgesetzt beziehungsweise dargestellt werden.
Inhaltsverzeichnis2
Abkürzungsverzeichnis Teil 1
Abkürzungsverzeichnis Teil 2
Abbildungsverzeichnis Teil 1
Abbildungsverzeichnis Teil 2
Teil 1: Spiilmaschine
1. Hauptprogramm PLC_PRG(PRG)
2. Uhr
2.1. Uhrwerk
2.2. Ziffernzuordnung
2.3. Ziffernsegmentanzeige.
2.4. Uhr Implementierung und Test
3. Zeitschalter
3.1. Test und Problembehandlung
4. Spiilvorgang
5. Spiilmittel und Trocknung
Teil 2: Drosselklappe
6. Einleitung
6.1 Fiihrungsubertragungsfunktion
6.2 Reglerverstarkung
6.3 Anstiegszeit
6.4 P-Regler Simulation
7. Einleitung
7.1 PDTi-Regler
7.2 PDTi-Regler Simulation
7.3 Anfangsimpuls am Reglerausgang
8 Storungen (Bode-Diagramm)
9 Kaskadenregelung
9.1 Unterlagerter Regelkreis
9.2 Gesamter Regelkreis
9.3 Kaskadenregelung Simulation
9.4 Storungen (BODE-Diagramm)
Literaturverzeichnis
Abkürzungsverzeichnis TEIL 1
Abbildung in dieser Leseprobe nicht enthalten
Abkürzungsverzeichnis TEIL 2
Abbildung in dieser Leseprobe nicht enthalten
ABBILDUNGSVERZEICHNIS TEIL 1
Abb. 1: Technologieschema
Abb. 2: PLC_PRG(PRG)
Abb. 3:Uhr_CTG
Abb. 4: Uhr_MOD_DIV
Abb. 5:ziffer2bin
Abb. 6: ziffer2segment
Abb. 7: 7-Segment-anzeige
Abb. 8: ziffer2segment_OR
Abb. 9: einer_zehner_Implementierung
Abb. 10: uhrjmplementierung
Abb. 11: Zeitanzeige_Test
Abb. 12: Zeitschalter
Abb. 13: timeswitch
Abb. 14: Zeitschalter_Test
Abb. 15: Zeitschalter_Test
Abb. 16: Globale Variablen
Abb. 17: Zeitschalter_Test
Abb. 18: Zeitschalter_Test
Abb. 19: spuelen
Abb. 20: spuelen_Zeitplan
Abb. 21: spuelmittel
Abb. 22: trocknen
ABBILDUNGSVERZEICHNIS TEIL 2
Abb. 23: Schema einer Drosselklappe
Abb. 24: Regelkreis P
Abb. 25: Zeitverlauf P
Abb. 26: Regelkreis PDTl
Abb. 27: Zeitverlauf PDTl
Abb. 28: Zeitverlauf PDTl bei neuer Amplitude
Abb. 29: stoerungen_Blockliste
Abb. 30: Stoerungen_BODE-Diagramm
Abb. 31: Stoerungen_BODE-Diagramm_Zoom
Abb. 32: Regelkreis Kaskadenregelung
Abb. 33: Zeitverlauf Kaskadenregelung
Abb. 34: Kaskadenregelung_Messung_ZOOM
Abb. 35: Stoerung_Blockliste Kaskade
Abb. 36: Stoerung_BODE-Diagramm_Kaskade
Abb. 37: Stoerung_BODE-Diagramm_Kaskade_Zoom
TEIL 1: SPULMASCHINE
In den ersten fiinf Aufgaben dieser Hausarbeit geht es darum sie Steuerung einer Spulmaschine, mit Hilfe der bereitgestellten Software CoDeSys, zu entwickeln.
Der zu entwickelnde Reinigungsprozess des Gerates lasst sich in vier Abschnitte unterteilen, die da waren - Vorspiilen, Reinigungsspiilen, Klarspiilen und Trocknung.
In jedem Spiilgang soil zunachst eine bestimmte Menge Wasser in die Maschine gelassen werden, das dann durch eine Pumpe zum Reinigen des Geschirrs verteilt wird. Anschliefsend wird das Wasser wieder abgepumpt.
Dieser Prozess wiederholt sich dann mit zusatzlicher Hinzugabe des Spulmittels und noch ein drittes Mai zur endgiiltigen Reinigung.
Zum Schluss wird das gereinigte Geschirr mit einem Heifcluftgeblase getrocknet, bevor der Prozess abgeschlossen ist.
Anmerkung der Redaktion: Abbildung 1 wurde aus urheberrechtlichen Griinden entfernt.
ABB. 1: TECHNOLOGIESCHEMA
1. HAUPTPROGRAMM PLC_PRG(PRG)
Zunachst vereinbare ich die benotigten Eingangs- und Ausgangsvariablen entsprechend der, in der Aufgabenstellung gegebenen, Tabelle 1 und 2.
Dafiir werden sowohl den Eingangs-, als auch den Ausgangsvariablen ihre jeweiligen Adressen %MX... als Boolsche Daten zugeordnet.
Abbildung in dieser Leseprobe nicht enthalten
2. UHR
Als nachstes erstelle ich einen Funktionsblock mit dem Namen uhr in der Programmsprache FUP. Dieser Funktionsblock soil die Zeitanzeige im Prozess der Reinigung realisieren. Die einzige Anderung zu einem realen Prozess ist die Zeiteinheit, die ich von Minuten auf Sekunden andere.
2.1. UHRWERK
Hierzu fuge ich zunachst einen standartbaustein CTD mit dem Namen runterzaehlerein. Dieser soil an die Eingange LOAD die Variable startklar und bei CDso\\ takt angeschlossen werden, sofern door_closed=lr\xe ist. Dies realisiere ich mit einer A/VZ?Funktion. Am Ausgang CYwird die globale Variable we/tangeschlossen.
Dieser CTD-Baustein soil abwarts zahlen mit dem Startwert 80.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 3: UHR CTG
Da die Ausgangsvariable wertaus zwei Ziffern bestehen soil muss diese Variable in die Einer- und die Zehnerstelle unterteilt werden. Dafiir erstelle ich in dem 2. Und 3. Netzwerk einen Standartbaustein MOD (fur den Einer) bzw. D/V(fur den Zehner).
Abbildung in dieser Leseprobe nicht enthalten
ABB. 4: UHR_MOD_DIV
2.2. ZIFFERNZUORDNUNG
Nun muss jeder Ziffer z (0-9) ein binarer Wert (null-neun) zugeordnet werden. Dabei sei zdie INT-Eingangsgrofce und die Ausgangsgrofsen null-neun als BOOLsche Grofcen.
Hierfiir erstelle ich einen neuen Funktionsblock namens ziffer2bin, in dem ich den Grundbaustein ^zehnmal nutze. Ich verknupfe jeweils den WORD Eingang (z.B. z=4) mit dem BOOLschen Ausgang (vier=TRUE).
Abbildung in dieser Leseprobe nicht enthalten
ABB. 5: ZIFFER2BIN
2.3. ZIFFERNSEGMENTANZEIGE
Um die sieben Segmente der Zifferndarstellung anzusteuern erzeuge ich einen weiteren Funktionsblock in der Programmsprache FUP. Diese tragt den Namen ziffer2segment In diese integriere ich den zuvor erstellten Funktionsblock ziffer2bin und verbinde die Ein-und Ausgange mit den gleichnamigen Variablen.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 6: ZIFFER2SEGMENT
Um anschliefcend den in der Aufgabenstellung gezeigten Aufbau einer 7-Segment-Anzeige mit den entsprechenden Variablen zu verkniipfen erstelle ich mir zunachst eine Hilfstabelle, in der hervor geht welche Segmente aktiviert sein miissen um eine bestimmte Ziffer darzustellen.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 7: 7-SEGMENT-ANZEIGE
Dies lasst sich im Funktionsblock ziffer2segmentvs\\t einer ODER Funktion fur jedes Segment darstellen.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 8: ZIFFER2SEGMENT_OR
2.4. UHR IMPLEMENTIERUNG UND TEST
Nachdem die Zuordnung der Segmente an die Ziffern erfolgt ist muss diese Funktion einmal fiir die einerund einmal fiir die zehnerSteWe in den Funktionsbaustein i/Arimplementiert werden.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 9: EINER_ZEHNER_IMPLEMENTIERU
Im Anschluss fiige ich diesen fertigen Funktionsblock uhrin das Hauptprogramm PLC_PRG (PRG) ein.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 10: UHRJMPLEMENTIERUNG
Ein Test in der Simulation der Spulmaschine zeigt mir, dass an dieser Stelle die Uhr Funktioniert und von 80 runterzahlt, sobald ich die Tiir schliefce und Start driicke.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 11: ZEITANZEIGE.TEST
3. ZEITSCHALTER
Um die einzelnen Funktionen bzw. Arbeitsschritte der Spulmaschine zu den richtigen Zeitpunkten und in der richtigen Reihenfolge ausfiihren zu lassen miissen diese Zeitpunkte definiert werden.
Um dies zu tun erstelle ich einen Funktionsblock zeitschalterm der Ablaufsprache (AS). In diesem Block definiere ich, bei welcher Wert der Zeit ein bestimmten Zeitpunkt erreich ist.
Abbildung in dieser Leseprobe nicht enthalten
ABB. 12: ZEITSCHALTER
[...]