Ampel-Demonstrator: Unterschied zwischen den Versionen
(44 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Datei: | [[Datei:Fertige Ampel.jpg|750px|thumb|rechts| |Abbildung 1: Fertige Ampel]] | ||
'''Autoren:''' [[Benutzer:Alexander Hammelbeck|Alexander Hammelbeck]] & [[Benutzer:Alexander Thumann|Alexander Thumann]] | '''Autoren:''' [[Benutzer:Alexander Hammelbeck|Alexander Hammelbeck]] & [[Benutzer:Alexander Thumann|Alexander Thumann]] [[Benutzer:Thomas Datche | Thomas Datche]], [[Benutzer:Mohamed Soliman| Mohamed Soliman]], [[Benutzer:Lukas-Erich Mücke | Lukas Mücke]], [[Benutzer:Markus Belsch| Markus Belsch]]<br/> | ||
'''Betreuer''' [[Benutzer:Mirekgoebel|Prof. Dr. Mirek Göbel]] & [[Benutzer:Marc Ebmeyer|Marc Ebmeyer]] | '''Betreuer''' [[Benutzer:Mirekgoebel|Prof. Dr. Mirek Göbel]] & [[Benutzer:Marc Ebmeyer|Marc Ebmeyer]] | ||
'''Wintersemester 20/21''' | '''Wintersemester 20/21 & 21/22 & 22/23''' | ||
zurück zum Hauptartikel: [[Praktikum Produktionstechnik]] | zurück zum Hauptartikel: [[Praktikum Produktionstechnik]] | ||
Zeile 11: | Zeile 12: | ||
Im Rahmen des Studiengangs Mechatronik der Hochschule Hamm-Lippstadt wird im 7.Semester das Praktikum Produktionstechnik durchgeführt. Das Praktikum ist Teil des Schwerpunktes Global Production Engineering. | Im Rahmen des Studiengangs Mechatronik der Hochschule Hamm-Lippstadt wird im 7.Semester das Praktikum Produktionstechnik durchgeführt. Das Praktikum ist Teil des Schwerpunktes Global Production Engineering. | ||
In diesem Praktikum geht es um die Realisierung eines mechatronischen Systems mit Hilfe einer speicherprogrammierbaren Steuerung (SPS) von Siemens. Diese SPS soll einen eigens entwickelten Ampel-Demonstrator steuern. | In diesem Praktikum geht es um die Realisierung eines mechatronischen Systems mit Hilfe einer speicherprogrammierbaren Steuerung (SPS) von Siemens. Diese SPS soll einen eigens entwickelten Ampel-Demonstrator (siehe Abbildung 1) steuern. | ||
==='''Aufgabenstellung'''=== | ==='''Aufgabenstellung'''=== | ||
Die Aufgabe des Praktikums war es, ein Ampelmodell zu konstruieren und dies mit einer Siemens SPS (ET200SP) zu steuern. Die Ampelanlage soll den Verkehrsfluss für Autos, Fußgänger und Fahrradfahrer regeln. Die Grünphase der Fußgänger soll durch ein Tastsignal angefordert werden. Des Weiteren sollen Fahrzeuge durch entsprechende Sensorik erkannt werden (Näherungssensoren). | Die Aufgabe des Praktikums war es, ein Ampelmodell zu konstruieren und dies mit einer Siemens SPS (ET200SP) zu steuern. Die Ampelanlage soll den Verkehrsfluss für Autos, Fußgänger und Fahrradfahrer regeln. Die Grünphase der Fußgänger soll durch ein Tastsignal angefordert werden. Des Weiteren sollen Fahrzeuge durch entsprechende Sensorik erkannt werden (Näherungssensoren). | ||
Außerdem wurde die Ampelanlage im WS 21/22 mithilfe von induktiven und kapazitiven Sensoren erweitert. Hierdurch sollten Fahrradfahrer und Fußgänger, sowie wartende Autos erkannt werden und die Ampel entsprechend geschaltet werden. | |||
Im WS 22/23 wurde die Ampelanlage um einen Infrarotsensor und einen Krankenwagen erweitert. Die Ampelanlage schaltet damit die Straße auf grün, auf der der Krankenwagen fährt. Hierdurch soll eine Notfallsituation simuliert werden. | |||
Allen Ausarbeitungen gemein war eine ausführliche Dokumentation im Wiki und im SVN, inklusive Verdrahtungsplänen, Aufzeigen der Software etc. | |||
=='''Vorgehensweise nach V-Modell'''== | =='''Vorgehensweise nach V-Modell'''== | ||
Zeile 79: | Zeile 82: | ||
*Test, ob das Projekt wie gewünscht umgesetzt worden ist | *Test, ob das Projekt wie gewünscht umgesetzt worden ist | ||
=='''CAD- | |||
== Funktionaler Systementwurf== | |||
Mit Hilfe der TIA-Portal 15.1 Software konnte die Ampelanlage erfolgreich funktionieren. Die Signale werden von der Steuerungseinheit(SPS) empfangen und bearbeitet. Das wiederholt sich, bis ein Stop-Befehl eintritt. | |||
[[Datei:Funktionaler Systementwurf WS22 23 Ampel.png|500px|thumb|links| Abbildung 2.1:Ampel-Demonstrator-Anforderungsliste.PNG|Abbildung 3:Funktionaler Systementwurf]] | |||
<br clear=all> | |||
== Technischer Systementwurf == | |||
Bei dem technischen Systementwurf wurde auf einer genaueren und detaillierteren Beschreibung und Darstellung des Systems. Um ein besseres Verständnis für das System zu bekommen, wurden ganzen Funktionen der Ampelanlage wurden als Funktionspackete hinterlegt und im technischen Systementwurf dargestellt. | |||
[[Datei:Ampel-Technischer_Systementwurf.PNG|600px|thumb|links| Abbildung 2.2:Ampel-Technischer_Systementwurf.PNG|Abbildung 4:Technischer Systementwurf]] | |||
<br clear=all> | |||
=='''CAD-Modelle'''== | |||
Die acht Ampeln bestehen jeweils aus zwei Bauteilen, zum einen aus dem Standfuß (vgl. Abbildung 3) und zum anderen aus der Säule (vgl. Abbildung 4). Der Standfuß dient einerseits zur Befestigung der Ampel auf der (50 x 50) cm großen Grundplatte und zur Halterung des Tasters. Die Säule dient als Aufnahme für die LED-Module. Beide Bauteile können formschlüssig durch leichten Druck gefügt werden, sodass eine Miniaturampel entsteht. Alle Teile wurden zuvor additiv (generative Fertigung) mit Hilfe eines 3D-Druckers gefertigt. Dafür wurden die Bauteile (Standfuß und Säule) mit SOLIDWORKS konstruiert und in einem entsprechendem Dateiformat (STL) gespeichert, welches vom 3D-Drucker weiterverwendet werden kann. | Die acht Ampeln bestehen jeweils aus zwei Bauteilen, zum einen aus dem Standfuß (vgl. Abbildung 3) und zum anderen aus der Säule (vgl. Abbildung 4). Der Standfuß dient einerseits zur Befestigung der Ampel auf der (50 x 50) cm großen Grundplatte und zur Halterung des Tasters. Die Säule dient als Aufnahme für die LED-Module. Beide Bauteile können formschlüssig durch leichten Druck gefügt werden, sodass eine Miniaturampel entsteht. Alle Teile wurden zuvor additiv (generative Fertigung) mit Hilfe eines 3D-Druckers gefertigt. Dafür wurden die Bauteile (Standfuß und Säule) mit SOLIDWORKS konstruiert und in einem entsprechendem Dateiformat (STL) gespeichert, welches vom 3D-Drucker weiterverwendet werden kann. | ||
Im Folgenden sind die Darstellungen der CAD-Modelle zu erkennen. Die Originaldateien können [https://svn.hshl.de/svn/MTR_GPE_Praktikum/trunk/Fachthemen/Ampel_Kreuzungsdemonstrator/05_Entwicklung/CAD/ hier] | Der Krankenwagen besteht aus mehreren Einheiten. Das Seitenteil wurde als 1 Block mit 8 Löchern gefertigt (4 für je ein Rad und die anderen 4 als Aufnahme für das Unterteil des Krankenwagens) Mittels Lötkolben wurden Gewindeeinsätze in die Löcher gepresst. Damit konnte der gesamte Aufbau verschraubt werden. Dieses Vorgehen bietet den Vorteil, den Krankenwagen durch lösen der 4 unten liegenden Schrauben öffnen zu können. | ||
Bei der Konstruktion des Krankenwagens und des IR-Empfängers wurde auf Autodesk Fusion360 zurückgegriffen - Die Dateien liegen aber ebenfalls im STL-Format vor. Dadurch können sie direkt in ein Slicer-Programm gegeben werden und mittels 3D-Druck gefertigt werden. | |||
Im Folgenden sind die Darstellungen der CAD-Modelle zu erkennen. Die Originaldateien können [https://svn.hshl.de/svn/MTR_GPE_Praktikum/trunk/Fachthemen/Ampel_Kreuzungsdemonstrator/05_Entwicklung/CAD/Ampel hier] | |||
und | |||
[https://svn.hshl.de/svn/MTR_GPE_Praktikum/trunk/Fachthemen/Ampel_Kreuzungsdemonstrator/05_Entwicklung/CAD/Krankenwagen hier] | |||
eingesehen werden. | |||
{| class="wikitable" | {| class="wikitable" | ||
Zeile 89: | Zeile 112: | ||
| [[Datei:Säule_Ampel.PNG|800px|thumb|left|Abbildung 4: Säule Ampel]] | | [[Datei:Säule_Ampel.PNG|800px|thumb|left|Abbildung 4: Säule Ampel]] | ||
| [[Datei:Zeichnung_Ampel.PNG|800px|thumb|left|Abbildung 5: Bemaßung Ampel]] | | [[Datei:Zeichnung_Ampel.PNG|800px|thumb|left|Abbildung 5: Bemaßung Ampel]] | ||
| | |||
|- | |||
| [[Datei:HalterungIRMEmpfängerUnten.png|600px|thumb|left|Abbildung 6: Halterung-IR-Empfänger-Unterteil]] | |||
| [[Datei:HalterungIREmpfänger Oben.png|600px|thumb|left|Abbildung 7: Halterung-IR-Empfänger-Oberteil]] | |||
|- | |||
| [[Datei:Krankenwagen Seite.png|800px|thumb|left|Abbildung 8: Krankenwagen Seitenteil]] | |||
|} | |} | ||
Zeile 214: | Zeile 243: | ||
==='''PLC-Variablentabelle'''=== | ==='''PLC-Variablentabelle'''=== | ||
Die Programmierung des Ampel-Demonstrators wurde mit einer Siemens SPS ET200SP und der dazugehörigen TIA-Portal Software (Version 15.1) realisiert. Zu beginn der Programmierung mussten alle Ein- bzw. Ausgänge und Merker implementiert werden. Die Implementierung wurde in der PLC Variablentabelle (vgl. Abbildung 17 | Die Programmierung des Ampel-Demonstrators wurde mit einer Siemens SPS ET200SP und der dazugehörigen TIA-Portal Software (Version 15.1) realisiert. Zu beginn der Programmierung mussten alle Ein- bzw. Ausgänge und Merker implementiert werden. Die Implementierung wurde in der PLC Variablentabelle (vgl. Abbildung 16/17) durchgeführt. Hier wurde jedem Ein-/Ausgang und Merker ein Name zugewiesen sowie eine Adresse. | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:Ein-Ausgänge.PNG|700px|thumb|left|Abbildung | | [[Datei:Ein-Ausgänge.PNG|700px|thumb|left|Abbildung 16: Ein- und Ausgänge implementieren]] | ||
| [[Datei:Merker.PNG|700px|thumb|left|Abbildung | | [[Datei:Merker.PNG|700px|thumb|left|Abbildung 17: Merker implementieren]] | ||
|} | |} | ||
==='''Übersicht Bausteine'''=== | ==='''Übersicht Bausteine'''=== | ||
Das Programm für den Ampeldemonstrator besteht aus mehreren Bausteinen, dem Organisationsbaustein (OB1), Startupbaustein (OB100) und vier Funktionsbausteinen (FC3-6) (vgl. Abbildung | Das Programm für den Ampeldemonstrator besteht aus mehreren Bausteinen, dem Organisationsbaustein (OB1), Startupbaustein (OB100) und vier Funktionsbausteinen (FC3-6) (vgl. Abbildung 18). | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:Übersicht_Bausteine.PNG|800px|thumb|left|Abbildung | | [[Datei:Übersicht_Bausteine.PNG|800px|thumb|left|Abbildung 18: Übersicht Bausteine]] | ||
|} | |} | ||
===='''Organisationsbaustein OB1'''==== | ===='''Organisationsbaustein OB1'''==== | ||
Der Organisationsbaustein (OB1) ruft die einzelnen Funktionen (FC3-6) nacheinander im Intervall von 150 Millisekunden auf. Die Funktionen wurden für eine bessere Programmübersicht aufgeteilt und haben demnach alle eine unterschiedliche Aufgabe. Die Programmierung des Organisationsbausteins ist dem folgendem Bild zu entnehmen. | Der Organisationsbaustein (OB1) ruft die einzelnen Funktionen (FC3-6) nacheinander im Intervall von 150 Millisekunden auf. Die Funktionen wurden für eine bessere Programmübersicht aufgeteilt und haben demnach alle eine unterschiedliche Aufgabe. Netzwerk 1 ruft die Zählfunktion auf, Netzwerk 2 die Merkerbausteine für die Autoampeln, Netzwerk 3 die Ausgabebausteine für die Autoampeln und Netzwerk 4 die Ausgabebausteine für die Fußgängerampeln. Die Programmierung des Organisationsbausteins ist dem folgendem Bild zu entnehmen. | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:Main_OB1.PNG|800px|thumb|left|Abbildung | | [[Datei:Main_OB1.PNG|800px|thumb|left|Abbildung 19: Organisationsbaustein OB1]] | ||
|} | |} | ||
===='''Startup-Baustein OB100'''==== | ===='''Startup-Baustein OB100'''==== | ||
Der Startup-Baustein (OB100) ist ein besonderer Organisationsbaustein. Er wird nur einmalig zum Programmstart aufgerufen und aktiviert sich selber. Dieser wird dafür genutzt, um in die Schrittkette der Ampelsteuerung zu gelangen und den Zähler bei Programmstart zu nullen. Sobald die Schrittkette aktiv ist, wird der Startup-Baustein deaktiviert. Die Programmierung des OB100 ist dem folgendem Bild zu entnehmen. | Der Startup-Baustein (OB100) ist ein besonderer Organisationsbaustein. Er wird nur einmalig zum Programmstart aufgerufen und aktiviert sich in diesem Fall (durch die Negierung am Eingang) selber. Dieser wird dafür genutzt, um in die Schrittkette der Ampelsteuerung zu gelangen und den Zähler bei Programmstart zu nullen. Sobald die Schrittkette aktiv ist, wird der Startup-Baustein deaktiviert. Die Programmierung des OB100 ist dem folgendem Bild (Abbildung 20) zu entnehmen. | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:Startup_OB100.PNG|800px|thumb|left|Abbildung | | [[Datei:Startup_OB100.PNG|800px|thumb|left|Abbildung 20: Startup-Baustein OB100]] | ||
|} | |} | ||
===='''Funktionsbaustein FC3'''==== | ===='''Funktionsbaustein FC3'''==== | ||
Die vier Funktionsbausteine steuern den Ablauf des Ampel-Demonstrators. Der erste Funktionsbaustein FC3 enthält einen Zähler, welcher zyklisch von 0 bis 110 zählt. Der Wert des Zählers ist eine Bedingung für die jeweiligen Schritte der Schrittkette. Der Ablauf der Schrittkette und demnach auch der Ablauf der Schaltreihenfolge der Auto- bzw. Fußgängerampeln wird vom Zähler gesteuert. Weitere Informationen zum Zähler, sind dem folgendem Programmausschnitt zu entnehmen. | Die vier Funktionsbausteine steuern den Ablauf des Ampel-Demonstrators. Der erste Funktionsbaustein FC3 enthält einen Zähler, welcher zyklisch von 0 bis 110 zählt. Der Wert des Zählers ist eine Bedingung für die jeweiligen Schritte der Schrittkette. Der Ablauf der Schrittkette und demnach auch der Ablauf der Schaltreihenfolge der Auto- bzw. Fußgängerampeln wird vom Zähler gesteuert. Die Zählgeschwindigkeit kann durch den Clock-Merker M40 eingestellt werden. In diesem Fall ist der Clock-Merker auf 2 Hz eingestellt, wodurch sich der Zähler pro Sekunde um zwei erhöht. Er wird zurückgesetzt wenn der Startup-Baustein aktiv ist (beim Einschalten der SPS) oder wenn der Zählwert 110 erreicht. Weitere Informationen zum Zähler, sind dem folgendem Programmausschnitt (Abbildung 21) zu entnehmen. | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:Zähler0-110.PNG|800px|thumb|left|Abbildung | | [[Datei:Zähler0-110.PNG|800px|thumb|left|Abbildung 21: Zähler 0-110]] | ||
|} | |} | ||
===='''Funktionsbaustein FC4'''==== | ===='''Funktionsbaustein FC4'''==== | ||
Der zweite Funktionsbaustein FC4 | Der zweite Funktionsbaustein FC4 enthält die Merkerbausteine M1 bis M6, welche jeweils für einen Schritt der Schrittkette stehen. Die Merker werden zu bestimmten Zeitpunkten durch den Zähler aus FC3 und durch Bedingungen gesetzt oder auch wieder zurückgesetzt. Sie bilden die Schrittkette für die Steuerung der Autoampeln und Fußgängerampeln. Ist ein Merker aktiv, setzt er unter bestimmten Bedingungen in FC5 oder FC6 einen Ausgang auf eins oder null. Im ersten Netzwerk wird der erste Schritt (M1) der Schrittkette durch den Merker M6 oder durch das Signal des Start-Up-Bausteins gesetzt, wenn der Zählwert zwischen 0 und 5 liegt. Sobald M1 aktiv ist, wird der Start-Up-Baustein deaktiviert (vgl. Abb.: 22). Das zweite Netzwerk Schaltet den zweiten Schritt (M2), wenn M1 aktiv ist und der Zählwert zwischen 6 und 55 liegt. Ist M2 = 1, wird M1 = 0 gesetzt (vgl. Abb.: 23). Die Netzwerke 3, 4, 5, und 6 weisen dasselbe Prinzip wie Netzwerk 2 auf. Sie werden jeweils durch den vorherigen Schritt und einem Zählerwert, der in einem bestimmten Intervall liegt, aufgerufen. Das nächste Netzwerk setzt dann jeweils das vorherige auf 0 (vgl. Abb.: 24-27). Nähere Informationen zu den einzelnen Merkern und deren Setztbedingungen, sind den folgenden Abbildungen der Merkerbausteine M1 bis M6 (Abbildung 22 bis 27) zu entnehmen. | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:M1.PNG|800px|thumb|left|Abbildung | | [[Datei:M1.PNG|800px|thumb|left|Abbildung 22: Merkerbaustein M1]] | ||
|- | |- | ||
| [[Datei:M2.PNG|800px|thumb|left|Abbildung | | [[Datei:M2.PNG|800px|thumb|left|Abbildung 23: Merkerbaustein M2]] | ||
|- | |- | ||
| [[Datei:M3.PNG|800px|thumb|left|Abbildung | | [[Datei:M3.PNG|800px|thumb|left|Abbildung 24: Merkerbaustein M3]] | ||
|- | |- | ||
| [[Datei:M4.PNG|800px|thumb|left|Abbildung | | [[Datei:M4.PNG|800px|thumb|left|Abbildung 25: Merkerbaustein M4]] | ||
|- | |- | ||
| [[Datei:M5.PNG|800px|thumb|left|Abbildung | | [[Datei:M5.PNG|800px|thumb|left|Abbildung 26: Merkerbaustein M5]] | ||
|- | |- | ||
| [[Datei:M6.PNG|800px|thumb|left|Abbildung | | [[Datei:M6.PNG|800px|thumb|left|Abbildung 27: Merkerbaustein M6]] | ||
|} | |} | ||
===='''Funktionsbaustein FC5'''==== | ===='''Funktionsbaustein FC5'''==== | ||
Der dritte Funktionsbaustein FC5 enthält die Ausgabebausteine für die Autoampeln. Die Setz- und Rücksetzbedingungen sind den Programmausschnitten zu entnehmen. | Der dritte Funktionsbaustein FC5 enthält die Ausgabebausteine für die Autoampeln. Die Netzwerke 1, 2, 3 schalten die Autoampeln der Bundesstraße (rot, gelb, grün) und die Netzwerke 4, 5, 6 schalten die Autoampeln der Hauptstraße (rot, gelb, grün). Die Setz- und Rücksetzbedingungen sind den Programmausschnitten (Abbildung 28 bis 33) zu entnehmen. Die jeweiligen Ausgangs-LED's schalten (Ein oder Aus) wenn bestimmte Bedingungen durch die Merker M1 bis M6 in FC4 erzeugt wurden. | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:BArot.PNG|800px|thumb|left|Abbildung | | [[Datei:BArot.PNG|800px|thumb|left|Abbildung 28: Bundesstraße rot]] | ||
|- | |- | ||
| [[Datei:BAgelb.PNG|800px|thumb|left|Abbildung | | [[Datei:BAgelb.PNG|800px|thumb|left|Abbildung 29: Bundesstraße gelb]] | ||
|- | |- | ||
| [[Datei:BAgrün.PNG|800px|thumb|left|Abbildung | | [[Datei:BAgrün.PNG|800px|thumb|left|Abbildung 30: Bundesstraße grün]] | ||
|- | |- | ||
| [[Datei:HArot.PNG|800px|thumb|left|Abbildung | | [[Datei:HArot.PNG|800px|thumb|left|Abbildung 31: Hauptstraße rot]] | ||
|- | |- | ||
| [[Datei:HAgelb.PNG|800px|thumb|left|Abbildung | | [[Datei:HAgelb.PNG|800px|thumb|left|Abbildung 32: Hauptstraße gelb]] | ||
|- | |- | ||
| [[Datei:HAgrün.PNG|800px|thumb|left|Abbildung | | [[Datei:HAgrün.PNG|800px|thumb|left|Abbildung 33: Hauptstraße grün]] | ||
|} | |} | ||
===='''Funktionsbaustein FC6'''==== | ===='''Funktionsbaustein FC6'''==== | ||
Der vierte Funktionsbaustein FC6 enthält die Ausgabebausteine für die Fußgängerampeln. Die | Der vierte Funktionsbaustein FC6 enthält die Ausgabebausteine für die Fußgängerampeln. Dem ersten Netzwerk (Abb.: 34) ist zu entnehmen, dass die Fußgängerampel der Bundesstraße immer rot ist, solange nicht alle Bedingungen/Anforderungen erfüllt sind, um sie grün zu schalten. Netzwerk 2 (Abb.: 35) definiert die Anforderungen der grünen Fußgängerampel auf der Bundesstraße. Sie schaltet grün wenn: | ||
- eine Grünanforderung mittels Tastsignal von einem Fußgängerüberweg der Bundesstraße eingegangen ist, | |||
- der Zählwert zwischen 61 und 96 liegt. | |||
Das Rücksetzten von grün auf rot erfolgt durch den Zählwert. ist dieser bei 101 angekommen Schaltet die Fußgängerampel um. | |||
Die Netzwerke 3 und 4 Funktionieren nach dem Selben Prinzip wie die Netzwerke 1 und 2. Netzwerk 3 (Abb.: 36) schaltet demnach die Fußgängerampeln der Hauptstraße rot, solange nicht alle Anforderungen zur grünen Fußgängerampel erfüllt sind. Netzwerk 4 (Abb.: 37) definiert die Anforderungen einer grünen Fußgängerampel auf der Hauptstraße. Diese Schaltet grün wenn: | |||
- eine Grünanforderung mittels Tastsignal von einem Fußgängerüberweg der Hauptstraße eingegangen ist, | |||
- der Zählwert zwischen 0 und 41 liegt. | |||
Das Rücksetzten von grün auf rot erfolgt, wenn der Zählwert die Zahl 56 annimmt. | |||
{| class="wikitable" | {| class="wikitable" | ||
| [[Datei:FGBrot.PNG|800px|thumb|left|Abbildung | | [[Datei:FGBrot.PNG|800px|thumb|left|Abbildung 34: Bedingung und Setzbefehl Fußgängerampel Bundesstraße rot]] | ||
|- | |- | ||
| [[Datei:FGBgrün.PNG|800px|thumb|left|Abbildung | | [[Datei:FGBgrün.PNG|800px|thumb|left|Abbildung 35: Bedingung und Setzbefehl Fußgängerampel Bundesstraße grün]] | ||
|- | |- | ||
| [[Datei:FGHrot.PNG|800px|thumb|left|Abbildung | | [[Datei:FGHrot.PNG|800px|thumb|left|Abbildung 36: Bedingung und Setzbefehl Fußgängerampel Hauptstraße rot]] | ||
|- | |- | ||
| [[Datei:FGHgrün.PNG|800px|thumb|left|Abbildung | | [[Datei:FGHgrün.PNG|800px|thumb|left|Abbildung 37: Bedingung und Setzbefehl Fußgängerampel Hauptstraße grün]] | ||
|- | |- | ||
|} | |} |
Aktuelle Version vom 2. März 2023, 11:50 Uhr
Autoren: Alexander Hammelbeck & Alexander Thumann Thomas Datche, Mohamed Soliman, Lukas Mücke, Markus Belsch
Betreuer Prof. Dr. Mirek Göbel & Marc Ebmeyer
Wintersemester 20/21 & 21/22 & 22/23
zurück zum Hauptartikel: Praktikum Produktionstechnik
Einleitung
Im Rahmen des Studiengangs Mechatronik der Hochschule Hamm-Lippstadt wird im 7.Semester das Praktikum Produktionstechnik durchgeführt. Das Praktikum ist Teil des Schwerpunktes Global Production Engineering.
In diesem Praktikum geht es um die Realisierung eines mechatronischen Systems mit Hilfe einer speicherprogrammierbaren Steuerung (SPS) von Siemens. Diese SPS soll einen eigens entwickelten Ampel-Demonstrator (siehe Abbildung 1) steuern.
Aufgabenstellung
Die Aufgabe des Praktikums war es, ein Ampelmodell zu konstruieren und dies mit einer Siemens SPS (ET200SP) zu steuern. Die Ampelanlage soll den Verkehrsfluss für Autos, Fußgänger und Fahrradfahrer regeln. Die Grünphase der Fußgänger soll durch ein Tastsignal angefordert werden. Des Weiteren sollen Fahrzeuge durch entsprechende Sensorik erkannt werden (Näherungssensoren).
Außerdem wurde die Ampelanlage im WS 21/22 mithilfe von induktiven und kapazitiven Sensoren erweitert. Hierdurch sollten Fahrradfahrer und Fußgänger, sowie wartende Autos erkannt werden und die Ampel entsprechend geschaltet werden.
Im WS 22/23 wurde die Ampelanlage um einen Infrarotsensor und einen Krankenwagen erweitert. Die Ampelanlage schaltet damit die Straße auf grün, auf der der Krankenwagen fährt. Hierdurch soll eine Notfallsituation simuliert werden.
Allen Ausarbeitungen gemein war eine ausführliche Dokumentation im Wiki und im SVN, inklusive Verdrahtungsplänen, Aufzeigen der Software etc.
Vorgehensweise nach V-Modell
Damit eine strukturierte Vorgehensweise zur Bearbeitung des Projektes sichergestellt werden kann, wird dieses nach den Vorgaben des V-Modells (vgl. Abbildung 2) durchgeführt.
Zur Datenabspeicherung wurde der Client TortoiseSVN[1] verwendet. Die nachfolgenden Punkte sind als Link zum SVN hinterlegt.
In den Anforderungsdefinitionen wird festgelegt, welche grundlegende Dinge im Voraus an das Projekt gestellt werden und auch einzuhalten sind.
Die Anforderungsdefinitionen sind in fünf Hauptpunkte unterteilt.
- Geometrie & Gewicht
- Aufbau
- Schnittstellen
- Software & Werkzeuge
- Dokumentation
- Lösungsneutraler Entwurf des Ampel-Demonstrators
- Definition der Schnittstellen und die Zerlegung des Systems in überschaubarere Teilsysteme
- Funktion der einzelnen Komponenten sowie deren Schnittstellen untereinander
- Grafcet-Entwicklung
- CAD-Modell der Ampel erstellen und additiv fertigen
- Programmierung der gesamten Ampelanlage
- E-Pläne erstellen
- Inbetriebnahme der Komponenten
- Fehlersuche und Behebung
- Programmverbesserung
- Test, ob die Komponenten wie geplant miteinander kommunizieren
- Test, ob das implementierte System mit den spezifischen Anforderungen übereinstimmt
- Test, ob das Projekt wie gewünscht umgesetzt worden ist
Funktionaler Systementwurf
Mit Hilfe der TIA-Portal 15.1 Software konnte die Ampelanlage erfolgreich funktionieren. Die Signale werden von der Steuerungseinheit(SPS) empfangen und bearbeitet. Das wiederholt sich, bis ein Stop-Befehl eintritt.
Technischer Systementwurf
Bei dem technischen Systementwurf wurde auf einer genaueren und detaillierteren Beschreibung und Darstellung des Systems. Um ein besseres Verständnis für das System zu bekommen, wurden ganzen Funktionen der Ampelanlage wurden als Funktionspackete hinterlegt und im technischen Systementwurf dargestellt.
CAD-Modelle
Die acht Ampeln bestehen jeweils aus zwei Bauteilen, zum einen aus dem Standfuß (vgl. Abbildung 3) und zum anderen aus der Säule (vgl. Abbildung 4). Der Standfuß dient einerseits zur Befestigung der Ampel auf der (50 x 50) cm großen Grundplatte und zur Halterung des Tasters. Die Säule dient als Aufnahme für die LED-Module. Beide Bauteile können formschlüssig durch leichten Druck gefügt werden, sodass eine Miniaturampel entsteht. Alle Teile wurden zuvor additiv (generative Fertigung) mit Hilfe eines 3D-Druckers gefertigt. Dafür wurden die Bauteile (Standfuß und Säule) mit SOLIDWORKS konstruiert und in einem entsprechendem Dateiformat (STL) gespeichert, welches vom 3D-Drucker weiterverwendet werden kann.
Der Krankenwagen besteht aus mehreren Einheiten. Das Seitenteil wurde als 1 Block mit 8 Löchern gefertigt (4 für je ein Rad und die anderen 4 als Aufnahme für das Unterteil des Krankenwagens) Mittels Lötkolben wurden Gewindeeinsätze in die Löcher gepresst. Damit konnte der gesamte Aufbau verschraubt werden. Dieses Vorgehen bietet den Vorteil, den Krankenwagen durch lösen der 4 unten liegenden Schrauben öffnen zu können. Bei der Konstruktion des Krankenwagens und des IR-Empfängers wurde auf Autodesk Fusion360 zurückgegriffen - Die Dateien liegen aber ebenfalls im STL-Format vor. Dadurch können sie direkt in ein Slicer-Programm gegeben werden und mittels 3D-Druck gefertigt werden.
Im Folgenden sind die Darstellungen der CAD-Modelle zu erkennen. Die Originaldateien können hier und hier eingesehen werden.
Ampeldemonstrator - Planung & Aufbau
Die Aufgaben, welche zur Planung und zum Aufbau des Ampel-Demonstrators gehören, sind in den nächsten Unterpunkten aufgelistet:
Planung
- Komponenten auswählen und auflisten für HSHL-interne Bestellung
- Maßstabsgetreue Skizze der Kreuzung anfertigen (mit allen Fahrwegen und Ampelpositionen)
- Größe der Holzplatte definieren (dient als Grundplatte für Kreuzungsaufbau)
- Bemaßungen der Fahr- und Fußgängerwege sowie der Grünflächen
Aufbau
- SPS Hardware aufbauen und verkabeln
- Digitale und analoge Ein-und Ausgänge mit 24 V / DC Spannung versorgen
- 230 V / 50 Hz AC Zuleitung für SPS anschließen
- Layout der Kreuzung erstellen
- Grundplatte zuschneiden
- Folierung der Wege auf der Grundplatte
- Grünflächen kleben
- Kantenschutz anbringen
- Kabelkanal montieren
- Reihenklemmen montieren
- Standfüße montieren
- Zusätzliche Holzplatte für 50 poligen Sub-D Anschlussblock anbringen
- 50 poligen Sub-D Anschlussblock montieren
- Ampelkreuzung aufbauen und verkabeln
- Schaltdrähte verlegen und verlöten
- Widerstände vor LED-Module löten
- 50 poligen Sub-D Stecker verlöten
- Additiv gefertigten Ampelgehäuse montieren und Taster anschließen
Schaltpläne
Der Schaltplan wurde mit der kostenlosen Software SEE Electrical erstellt, welche hier[11] heruntergeladen werden kann. Die Dateien können unter diesem Link[12] eingesehen werden.
Tabelle Pinbelegung
Die Pinbelegung des Sub-D-Steckers kann in dieser Tabelle eingesehen werden. Des Weiteren befindet sich eine Exceltabelle im SVN, die hier[13] eingesehen werden kann.
Ein- und Ausgänge | Pinbelegung Sub-D | Farbe Sub-D | Adresse SPS |
---|---|---|---|
Spannungsversorgung 0 V | 1 | blau | 0 V |
Spannungsversorgung 24 V | 2 | rot | 24 V |
BA-rot | 3 | schwarz | A 4.1 |
BA-gelb | 4 | grau | A 4.2 |
BA-grün | 5 | lila | A 4.3 |
BF-1-rot | 6 | braun | A 4.4 |
BF-1-grün | 7 | rosa | A 4.5 |
BF-2-rot | 6 | braun | A 4.4 |
BF-2-grün | 7 | rosa | A 4.5 |
HA-rot | 8 | weiß | A 5.1 |
HA-gelb | 9 | grün | A 5.2 |
HA-grün | 10 | gelb | A 5.3 |
HF-1-rot | 11 | weiß-rosa | A 5.4 |
HF-1-grün | 12 | grau-braun | A 5.5 |
HF-2-rot | 11 | weiß-rosa | A 5.4 |
HF-2-grün | 12 | grau-braun | A 5.5 |
BFT-1 | 13 | braun-rot | E 8.4 |
BFT-2 | 14 | weiß-grau | E 8.5 |
HFT-1 | 15 | weiß-rot | E 9.4 |
HFT-2 | 16 | gelb-braun | E 9.5 |
BIS | 17 | grün-braun | E 8.1 |
HIS | 18 | rot-blau | E 9.1 |
SPS-Programmierung mit TIA-Portal V15.1
Vorbereitungen für die Programmierungen
Bevor die Funktionen des Ampel-Demonstrators in der Software von Siemens TIA-Portal V15.1[14] programmiert werden können, müssen alle Komponenten (Ein- und Ausgänge) ein bestimmten Namen und eine Adresse erhalten. Dafür wurden alle Komponenten des Systems aufgelistet (vgl. Abbildung 12) und anschließend zusammengefasst, da viele Komponenten (bspw. die vier Autoampeln auf der Bundesstraße) gleich schalten. Die zusammengefasste Liste ist in Abbildung 13 dargestellt. Die Originaldateien sind über diesen Link[15] erreichbar.
Des Weiteren muss der Ablauf des Programms im Vorfeld definiert werden. Dafür wurde ein handschriftliches Diagramm erstellt, welches die Schaltreihenfolge der Ampeln über der Zeit darstellt. Das Ampelsystem für die Autos hat sechs unterschiedliche Schaltzustände. Diese werden im STEP 7 Programm als Merker M1 bis M6 gespeichert. Das Diagramm ist in Abbildung 15 dargestellt. Die sechs unterschiedlichen Schaltzustände sind blau gekennzeichnet.
Mit Hilfe des Ampelphasendiagramms (vgl. Abbildung 14) wurde ein Ablaufplan (vgl. Abbildung 15) in der kostenlosen Software PapDesigner erstellt, welcher als Programmiergrundlage dient. Das Programm kann hier[16] heruntergeladen werden. Die Originaldatei ist unter diesem Link[17] gespeichert.
PLC-Variablentabelle
Die Programmierung des Ampel-Demonstrators wurde mit einer Siemens SPS ET200SP und der dazugehörigen TIA-Portal Software (Version 15.1) realisiert. Zu beginn der Programmierung mussten alle Ein- bzw. Ausgänge und Merker implementiert werden. Die Implementierung wurde in der PLC Variablentabelle (vgl. Abbildung 16/17) durchgeführt. Hier wurde jedem Ein-/Ausgang und Merker ein Name zugewiesen sowie eine Adresse.
Übersicht Bausteine
Das Programm für den Ampeldemonstrator besteht aus mehreren Bausteinen, dem Organisationsbaustein (OB1), Startupbaustein (OB100) und vier Funktionsbausteinen (FC3-6) (vgl. Abbildung 18).
Organisationsbaustein OB1
Der Organisationsbaustein (OB1) ruft die einzelnen Funktionen (FC3-6) nacheinander im Intervall von 150 Millisekunden auf. Die Funktionen wurden für eine bessere Programmübersicht aufgeteilt und haben demnach alle eine unterschiedliche Aufgabe. Netzwerk 1 ruft die Zählfunktion auf, Netzwerk 2 die Merkerbausteine für die Autoampeln, Netzwerk 3 die Ausgabebausteine für die Autoampeln und Netzwerk 4 die Ausgabebausteine für die Fußgängerampeln. Die Programmierung des Organisationsbausteins ist dem folgendem Bild zu entnehmen.
Startup-Baustein OB100
Der Startup-Baustein (OB100) ist ein besonderer Organisationsbaustein. Er wird nur einmalig zum Programmstart aufgerufen und aktiviert sich in diesem Fall (durch die Negierung am Eingang) selber. Dieser wird dafür genutzt, um in die Schrittkette der Ampelsteuerung zu gelangen und den Zähler bei Programmstart zu nullen. Sobald die Schrittkette aktiv ist, wird der Startup-Baustein deaktiviert. Die Programmierung des OB100 ist dem folgendem Bild (Abbildung 20) zu entnehmen.
Funktionsbaustein FC3
Die vier Funktionsbausteine steuern den Ablauf des Ampel-Demonstrators. Der erste Funktionsbaustein FC3 enthält einen Zähler, welcher zyklisch von 0 bis 110 zählt. Der Wert des Zählers ist eine Bedingung für die jeweiligen Schritte der Schrittkette. Der Ablauf der Schrittkette und demnach auch der Ablauf der Schaltreihenfolge der Auto- bzw. Fußgängerampeln wird vom Zähler gesteuert. Die Zählgeschwindigkeit kann durch den Clock-Merker M40 eingestellt werden. In diesem Fall ist der Clock-Merker auf 2 Hz eingestellt, wodurch sich der Zähler pro Sekunde um zwei erhöht. Er wird zurückgesetzt wenn der Startup-Baustein aktiv ist (beim Einschalten der SPS) oder wenn der Zählwert 110 erreicht. Weitere Informationen zum Zähler, sind dem folgendem Programmausschnitt (Abbildung 21) zu entnehmen.
Funktionsbaustein FC4
Der zweite Funktionsbaustein FC4 enthält die Merkerbausteine M1 bis M6, welche jeweils für einen Schritt der Schrittkette stehen. Die Merker werden zu bestimmten Zeitpunkten durch den Zähler aus FC3 und durch Bedingungen gesetzt oder auch wieder zurückgesetzt. Sie bilden die Schrittkette für die Steuerung der Autoampeln und Fußgängerampeln. Ist ein Merker aktiv, setzt er unter bestimmten Bedingungen in FC5 oder FC6 einen Ausgang auf eins oder null. Im ersten Netzwerk wird der erste Schritt (M1) der Schrittkette durch den Merker M6 oder durch das Signal des Start-Up-Bausteins gesetzt, wenn der Zählwert zwischen 0 und 5 liegt. Sobald M1 aktiv ist, wird der Start-Up-Baustein deaktiviert (vgl. Abb.: 22). Das zweite Netzwerk Schaltet den zweiten Schritt (M2), wenn M1 aktiv ist und der Zählwert zwischen 6 und 55 liegt. Ist M2 = 1, wird M1 = 0 gesetzt (vgl. Abb.: 23). Die Netzwerke 3, 4, 5, und 6 weisen dasselbe Prinzip wie Netzwerk 2 auf. Sie werden jeweils durch den vorherigen Schritt und einem Zählerwert, der in einem bestimmten Intervall liegt, aufgerufen. Das nächste Netzwerk setzt dann jeweils das vorherige auf 0 (vgl. Abb.: 24-27). Nähere Informationen zu den einzelnen Merkern und deren Setztbedingungen, sind den folgenden Abbildungen der Merkerbausteine M1 bis M6 (Abbildung 22 bis 27) zu entnehmen.
Funktionsbaustein FC5
Der dritte Funktionsbaustein FC5 enthält die Ausgabebausteine für die Autoampeln. Die Netzwerke 1, 2, 3 schalten die Autoampeln der Bundesstraße (rot, gelb, grün) und die Netzwerke 4, 5, 6 schalten die Autoampeln der Hauptstraße (rot, gelb, grün). Die Setz- und Rücksetzbedingungen sind den Programmausschnitten (Abbildung 28 bis 33) zu entnehmen. Die jeweiligen Ausgangs-LED's schalten (Ein oder Aus) wenn bestimmte Bedingungen durch die Merker M1 bis M6 in FC4 erzeugt wurden.
Funktionsbaustein FC6
Der vierte Funktionsbaustein FC6 enthält die Ausgabebausteine für die Fußgängerampeln. Dem ersten Netzwerk (Abb.: 34) ist zu entnehmen, dass die Fußgängerampel der Bundesstraße immer rot ist, solange nicht alle Bedingungen/Anforderungen erfüllt sind, um sie grün zu schalten. Netzwerk 2 (Abb.: 35) definiert die Anforderungen der grünen Fußgängerampel auf der Bundesstraße. Sie schaltet grün wenn:
- eine Grünanforderung mittels Tastsignal von einem Fußgängerüberweg der Bundesstraße eingegangen ist,
- der Zählwert zwischen 61 und 96 liegt.
Das Rücksetzten von grün auf rot erfolgt durch den Zählwert. ist dieser bei 101 angekommen Schaltet die Fußgängerampel um. Die Netzwerke 3 und 4 Funktionieren nach dem Selben Prinzip wie die Netzwerke 1 und 2. Netzwerk 3 (Abb.: 36) schaltet demnach die Fußgängerampeln der Hauptstraße rot, solange nicht alle Anforderungen zur grünen Fußgängerampel erfüllt sind. Netzwerk 4 (Abb.: 37) definiert die Anforderungen einer grünen Fußgängerampel auf der Hauptstraße. Diese Schaltet grün wenn:
- eine Grünanforderung mittels Tastsignal von einem Fußgängerüberweg der Hauptstraße eingegangen ist,
- der Zählwert zwischen 0 und 41 liegt. Das Rücksetzten von grün auf rot erfolgt, wenn der Zählwert die Zahl 56 annimmt.
Zusammenfassung / Ausblick
Der Ampel-Demonstrator konnte im Wintersemester 20/21 weitestgehend fertiggestellt werden. Leider kam es bei der Bestellung der Näherungssensoren zu Verzögerungen. Somit konnten diese nicht eingebaut und implementiert werden. Des Weiteren ist uns im späteren Verlauf des Semesters aufgefallen, dass gelbe Blinklichter, welche Autofahrer darauf hinweisen, dass Fußgänger die Straße überqueren, fehlen, und dass die LED's der bestellten Fußgängerampeln getauscht werden müssen (gelieferter Artikel entspricht nicht dem Abgebildeten auf der Reichelt[18] Website). Dies könnte eine Aufgabe für die nachfolgenden Studenten sein. Darüber hinaus könnte noch ein Nachtmodus mit Hilfe der Näherungssensoren programmiert werden und eine unabhängige Stromversorgung mit Schaltrelais, die bei Ausfall der SPS alle gelben Lampen des Ampel-Demonstrators blinken lassen. Im weiteren Verlauf könnte auch das HMI zur Darstellung des Ampel-Demonstrators mit eingebunden werden.
Lessons Learned
Bei der Bearbeitung des Projektes konnten Studieninhalte aus früheren Semestern, wie auch Ausbildungsinhalte wiederholt und angewendet werden. Dazu zählen:
- erarbeiten und anfertigen von Schaltplänen
- Verdrahtung nach Schaltplan durchführen
- konstruieren der Ampel mithilfe von SolidWorks (CAD-Programm)
- strukturiertes Vorgehen nach V-Modell
- Dokumentensicherungen via SVN (gleichzeitige Bearbeitung möglich)
- Programmieren der SPS via TIA-Portal
Darüber hinaus war es ein Erfolgserlebnis, die mit SolidWorks erstellten Ampeln, nach der additiven Fertigung selbst in der Hand zu halten. Es ist außerdem schön zu sehen, dass die Programmierung der Software nicht nur im Programm funktioniert, sondern auch am Modell.
Probleme / Schwierigkeiten
- Komponentenauswahl gestaltete sich durch zeitnahe Bestelldeadline schwierig
- Modellplan musste in kurzer Zeit aufgestellt werden
- Eine Vielzahl an Komponenten waren nötig, da das Projekt von Grund auf erstellt werden musste
- Bau des Ampeldemonstrators war sehr zeitintensiv
- verlöten der LED´s und Widerstände
- genaue Planung der Verkabelung
- 3D-Druck der Ampeln sehr zeitintensiv
- Einarbeitung in TIA-Portal
- Funktion der Ampelanlagen softwaretechnisch umzusetzen erforderte viel Recherche
Literaturverzeichnis
- ↑ TortoiseSVN Client
- ↑ Anforderungsdefinition
- ↑ Funktionaler Systementwurf
- ↑ Technischer Systementwurf
- ↑ Komponentenspezifikation
- ↑ Programmierung/Entwicklung
- ↑ Komponententest
- ↑ Integrationstest
- ↑ Systemtest
- ↑ Abnahmetest
- ↑ SEE Electrical
- ↑ Schaltpläne
- ↑ Pinbelegung Sub-D
- ↑ Siemens TIA-Portal V15.1
- ↑ Originaldateien für Beschriftungen im Ampeldemonstrator
- ↑ Download PapDesigner
- ↑ Originaldatei des Pap-Diagramms
- ↑ Reichelt LED-Modul rot grün
→ zurück zum Hauptartikel Praktikum Produktionstechnik