Parkhaus mithilfe einer Siemens SPS
zurück zum Hauptartikel: Praktikum Produktionstechnik
Betreuer Prof. Dr. M. Wibbeke & Marc Ebmeyer
Wintersemester 2025/2026
Autor: Bartos Schwichtenberg

SEITE IM AUFBAU 12.2025
Einleitung
Im Rahmen des Praktikums „Produktionstechnik II“ im Studiengang Ba. Mechatronik, mit dem Schwerpunkt „Global Production Engineering“, wird ein Projekt aus dem Bereich der praktischen Automatisierungstechnik mit Hilfe einer speicherprogrammierbaren Steuerung (SPS) realisiert. In diesem Projekt wird das HSHL-Parkhaus umgesetzt, dessen Steuerung über eine Siemens Simatic SPS in Verbindung mit einem HMI-Bedienelement erfolgt. Ziel ist die automatisierte Ansteuerung und Überwachung der Parkhausfunktionen, wie z. B. das Steuern von Motoren, Sensoren und Anzeigen.
Vorgehensweise nach V-Modell
Anforderungsdefinition
Zu Beginn des Projekts wurden die grundlegenden Anforderungen an das System festgelegt. Der Aufbau soll kompakt und von zwei Personen gut transportierbar sein. Außerdem soll das System sowohl digital als auch analog bedienbar sein. Entsprechend dieser Anforderungen wurde eine Einkaufsliste erstellt, um die benötigten Materialien für den Aufbau zu beschaffen.
Anforderungen
| Systementwurf | Funktionaler Systementwurf | Technischer Systementwurf |
|---|---|---|
| Die gezeigten Systementwürfe (funktional und technisch) beinhalten die detaillierten Spezifikationen der im Projekt verwendeten Bauteile und Schnittstellen. | Der funktionale Systementwurf beschreibt die geplanten Verbindungen der einzelnen Komponenten und deren Zusammenspiel im System. Im Fokus steht die Funktionsweise der Signalverarbeitung. Die SPS soll die Signale des digitalen oder analogen Bedienelements (HMI) empfangen und entsprechend verarbeiten. Der GeckoDrive (Motortreiber) erhält anschließend die von der SPS ausgegebenen Steuersignale und steuert damit den Schrittmotor an, welcher über eine Kupplung den Riementrieb der Linearachse antreibt. Am Motor ist ein Encoder vorgesehen, der die Drehbewegung des Motors als digitale Signale ausgibt. | Der technische Systementwurf legt fest, welche Daten und Signale die Systemkomponenten benötigen, erzeugen oder austauschen. Die SPS soll dabei sowohl digitale als auch analoge Signale verarbeiten und an den GeckoDrive ein Stepsignal (Schrittanzahl) und ein Directionsignal (Drehrichtung) übermitteln. Diese Signale dienen zur Ansteuerung des Schrittmotors.
Die Drehimpulse des Encoders werden gemäß RS422-Protokoll ausgegeben und später zur Positionsbestimmung genutzt. |
|
|
|
Komponentenspezifikation
In der Komponentenspezifikation werden die Schnittstellen, Aufgaben und technischen Eigenschaften der verwendeten Bauteile beschrieben.
Für das geplante System sollen folgende Komponenten eingesetzt werden (basierend auf den Datenblättern der Hersteller):
In diesem Projekt wurden folgende Komponenten verbaut und genutzt (Auszug aus den Datenblättern):
Hardware:

SPS-Aufbau
| Netzteil (6) | SIMATIC ET 200SP (T.Nr. 6EP7133-6AE00-0BN0) |
| Steuerung (1+2) | SIMATIC CPU 1515SP PC2 (T.Nr. 6ES7677-2DB40-0AA0) |
| Mensch-Maschinen Schnittstelle | SIMATIC HMI Comfort Panel (T.Nr. 6AV2-124-0GC01-0AX0) |
| Analoges Eingangsmodul (3) | T.Nr. 6ES7134-6HB00-0DA1 |
| Analoges Ausgangsmodul (4) | T.Nr. 6ES7135-6HB00-0DA1 |
| Digitales Eingangsmodul (5) | T.Nr. 6ES7131-6BF00-0CA0 |
| Digitales Ausgangsmodul (6) | T.Nr. 6ES7132-6BF00-0CA0 |
- SIEMENS Hutschiene
- Widerstände 1,2 kOhm um die Eingänge des GeckoDrive mit den Ausgängen der SPS beschalten zu können
Anforderungen
| Schrittmotor: Igus NEMA 23
MOT-AN-S-060-020-056-L-D-AAAD ändern zu MOT-AN-S-060-020-056-M-D-AAAD + Parameter ändern |
Parameter | Encoder | Parameter | Bremse | Parameter | GekoDrive | Parameter |
|---|---|---|---|---|---|---|---|
| Nennspannung | 24-48 V DC | Impulse/Umdrehung | 1/min 500 | Nennspannung | 24V DC | Eingangsspannung | 18-80 VDC |
| max. Eingangsspannung | 60 V DC | Index | Ja | Leistung | 8-11W | maximale Stromaufnahme des angeschl. Motors | 7A |
| Nennstrom | 4,2 A | Line Treiber | RS422 Protokoll | Haltemoment | 0,4 - 2,0 Nm | Induktivität des Motors | 1-50mH |
| Haltemoment | 2.0Nm | Pin 1 | Signal A (weiß) | Massenträgheitsmoment | 0,01 - 0,07 kgcm² | Eingangsfrequenz des Step-Input | 0-200kHz |
| Schrittwinkel | 1.8° | Pin 2 | Signal A/ (braun) | Pin 1 | Signal Bremse (24V) (braun) | Spannung der Inputs | 3,3-5 VDC |
| Widerstand pro Phase | 0,5 Ω ± 10% | Pin 3 | Signal B (grün) | Pin 2 | Signal 0V (blau) | Inputs | Spannungsversorgung, Disable, Direction, Step, Common, Current Set |
| Induktivität pro Phase | 1,9 mH ± 20% | Pin 4 | Signal B/ (gelb) | Pin 3 | Signal - (schwarz) | Output | Winding A+B (1 Schrittmotor) |
| Pin 1 | Signal A/ (braun) | Pin 5 | 0V (grau) | ||||
| Pin 2 | Signal A (weiß) | Pin 6 | Signal N/ (rosa) | ||||
| Pin 3 | Signal B/ (blau) | Pin 7 | Signal N (blau) | ||||
| Pin 4 | Signal B (schwarz) | Pin 8 | 5V DC (rot)* | ||||
| Pin 5 | PE | ||||||
| Pin 6 | Signal A (weiß) | ||||||
| Pin 7 | Signal A (weiß) | ||||||
| Pin 8 | Signal A (weiß) |
Hinweis: Netzteil für den Encoder: Mean Well DR-15-5 Hutschienen-Netzteil (DIN-Rail) 5 V/DC 2.4 A 12 W 1[1]
Hinweis: Netzteil für den GeckDrive: Tisch- und Wand-Festspannungsgeräte Serie PS-500 (PS 524-05 R)[2]
GeckoDrive am 24V Ausgang der SPS betreiben
Um die Eingänge des GeckoDrives nicht zu beschädigen, mussten Widerstände an den Ausgängen des digitalen Ausgangsmoduls benutzt werden. Der Wert der Widerstände wurde mit der Formel [3] berechnet, was einen Widerstandswert von 1,2kOhm ergab.
Software:
- SIEMENS Totally Integrated Automation Portal (TIA-Portal) Version 15.1
- Simatic Software Pack: PLC F+HMI
- In Heimarbeit wurde TIA16 und TIA17 getestet, durch fehlgeschlagene Lizenz war eine weiterarbeit an diesen TIA's nicht möglich,
es wurde weiter mit TIA15 am Hochschulrechner gearbeitet.
Entwicklung
Erstellen eines Stromlaufplans mit SEE Electrical
Die verwendeten Komponenten wurden in einem Stromlaufplan dargestellt und den Datenblättern entsprechend verbunden. Der Stromlaufplan wurde mit der Software SEE Electrical 7 erstellt. Wurde neu überarbeitet im Projekt vom 12.2025 und als Grafik eingefügt.
Zum Einsatz kommt der Mikrokontroller.
| SEE Electrical 7 Stromlaufplan Seite 1 | SEE Electrical 7 Stromlaufplan Seite 2 |
|---|---|
| (Schrittmotor, GeckoDrive, Bremse, Encoder) überarbeitet 12.2025 | (Eingänge und Ausgänge der SPS) überarbeitet 12.2025 |
Entwicklung im TIA Portal - Möglichkeit der Programmierung nach Projekt von Ansteuerung einer Schrittmotorachse mit SPS und HMI
Link: https://wiki.hshl.de/wiki/index.php/Ansteuerung_einer_Schrittmotorachse_mit_SPS_und_HMI#cite_note-4
Autoren: Matthias Stork, Lukas Kriete - Wintersemester 20/21 - Hinweis: Die Textformatierung ist angepasst.
Erstellung der Hardware im TIA-Portal
-
Damit die Schrittmotorachse mithilfe des TIA Portals programmiert werden kann, muss zuerst in dem TIA Portal von Siemens ein neues Projekt erstellt werden. Für dieses Projekt wird der Projektname "Projekt_Schrittmotorachse" vergeben. Durch das Klicken auf "Erstellen" wird diese Projekt erstellt.
-
Unter dem Abschnitt "Geräte & Netze" kann eine Speicherprogrammierbare (kurz SPS) in dem TIA Portal hinzugefügt werden. In diesem Fall handelt es sich um ein PC-System -> Open Controller -> CPU 1515SP PCF. Durch Klicken auf die Schaltfläche "Hinzufügen" wird der Open Controller in dem Projekt hinzugefügt.
-
Da das System aus einer SPS und einem Human Maschine Interface (kurz HMI) besteht, muss dieses zusätzlich hinzugefügt werden. In dem diesem Fall handelt es sich um ein TP700 Comfort HMI.
-
In dem TIA Portal muss zudem die Verbindung der SPS und des HMIs konfiguriert werden. Unter dem Abschnitt "Netzsicht" wird durch "Drag and Drop" (ziehen und loslassen) die Ethernet-Verbindung von dem PC-System und des HMIs gemäß des tatsächlichen Anschlusses erstellt.
-
Bei der SPS werden die verwendeten Ein- und Ausgangskarten hinzugefügt. Im letzten Schritt werden zudem die IP-Adressen der SPS und des HMIs konfiguriert. Um eine korrekte Projektierung der Hardware sicherzustellen, wird dies im TIA Portal zuerst übersetzt und anschließend in die Hardware heruntergeladen. Wenn die Leuchten der SPS und der Ein- und Ausgangskarten grün leuchten, ist die Projektierung der Hardware korrekt.
Programmierung im TIA Portal
Variablen
Als erstes werden die PLC-Variablen in dem TIA-Portal erstellt. Dieses sind die Eingänge und Ausgänge, die mit den Ein- und Ausgangskarten eingelesen werden können.
-
Dieses sind die Analogen Eingänge (Analogen Inputs = AI) von dem Bedienelementen und dem Encoder. Unter der ersten Spalte befindet sich dazu der Variablenname, welcher im Programm später verwendet werden kann. Bei allen Variablen handelt es sich um die Datentypen „Bool“. Diese haben somit den Zustand „false“ (z.B. Taster.links := 0) oder den Zustand „true“ (z.B. Taster.links := 1). Die ersten drei Variablen kommen von dem Bedienelement, welches das analoge Steuern ermöglicht. Mit diesen Variablen wird eingelesen, ob der Bediener den Taster links, rechts oder Stopp betätigt. Die nächsten vier Variablen kommen von dem Encoder und werden zur Bestimmung der Ist- Position verwendet.
Hier können die HMI-Variablenangepasst werden in Taster_hoch, Taster_runter, Taster_stopp. -
Die digitalen Ausgänge werden für Ausgabe an den Encoder verwendet. Diese können den Zustand „true“ (Ausgang = 24 Volt) oder den Zustand „false“ (Ausgang = 0 Volt) an der digitalen Ausgangskarte ausgeben. Die Signale Schritte und Richtung gehen an den Geckodrive. Mit dem Ausgang Bremse kann die Bremse des Schrittmotors gelöst werden. Dabei ist zu beachten, dass bei 24 Volt die Bremse gelöst ist.
-
Alle Daten werden in dem Datenbaustein (kurz DB) „All_data“ gespeichert. Die Variablen werden in den Bereichen für HMI und Motor eingeteilt. Unter der Struktur „HMI“ befinden sich die Variablen, die von dem HMI kommen. Diese sind zum Beispiel die Variablen für den Taster links, rechts und Stopp. Unter der Struktur „Motor_Logik“ werden alle Variablen aufgeführt, die für die Logik des Motors intern als Variable benötigt werden. Dieses ist zum Beispiel ein Zähler (=counter), der für das Zählen der Steps benötigt wird.
Hier können die Eingänge angepasst werden in Taster_hoch, Taster_runter, Taster_stopp. -
Hier werden alle Variablen des HMIs aufgeführt. Diese Variablen sind alle mit der Variable unter den DB „All_data.HMI“ verbunden. Für die Verbindung ist die internen Verbindung „HMI_Verbindung“ zuständig. Zudem Beispiel ist der Wert des rechten Tasters mit der PLC-Variable „All_data.HMI.taster_rechts“ verbunden.
Hier können die Standard-Variablenangepasst werden in Taster_hoch, Taster_runter, Taster_stopp.
SPS-Programm
Im folgenden wird anhand der selbst programmierten Funktionsbausteines "AnsteuerungMotor" die Funktionsweise der Ansteuerung erklärt. Dieser Baustein kann für die analoge und digitale Steuerung verwendet werden.
-
Der Funktionsbaustein "Ansteuerung_Baustein" dient zur Ansteuerung des Motors mithilfe von Eingaben des HMIs. Dieser wird links mit den Eingängen und rechts mit den Ausgängen verknüpft. Gesteuert wird dieser Baustein mit den Tastern des HMIs. So wird für den linken Taster das Signal der HMI von dem linken Taster verknüpft. Die Soll- Position ist die Position, die in dem HMI vorgeben wird. Zu dieser Position wird der Schrittmotor verfahren. Die Länge der Schrittmotorachse beträgt 110 cm. Damit der Schlitten nicht an das linke und rechte Ende verfahren wird, werden die obere und untere Grenze mit den Positionen 90 cm und 10 cm angegeben. Dadurch kann der Schlitten nur zwischen den Grenzen 10 cm und 90 cm verfahren werden.
Hier kann die Ansteuerung angepasst werden in HMItaster_hoch, HMItaster_runter, HMIHstop_taster. -
Die Verfahrrichtung des Motors abhängig von HMI-Eingabe steuern: Der Motor verfährt, je nach betätigtem Taster, in eine bestimmte Richtung. Die Steps werden hierzu über die Soll-Position berechnet, welche über einen festen Faktor von Distanz in Zentimeter in Steps umgerechnet wird (1cm entspricht ca. 285 Steps).
-
Einhaltung der Grenzen prüfen: Es wird geprüft, ob die aktuelle Position die Grenzen der Schrittmotorachse einhält und der Stop-Taster nicht aktiv ist. Ist dies der Fall, verfährt der Motor mit einer Verzögerung von 2ms zwischen den Steps in die gewünschte Richtung.
-
Schlitten nach links verfahren lassen bei zeitgleicher Aktualisierung der Ist-Position: Da der Motor nach links verfährt, muss von der aktuellen Position der Verfahrweg subtrahiert werden. Um Rundungsfehler zu vermeiden, passiert dies nicht nach jedem Step, sondern erst nach dem 28ten Steps.
-
Schlitten nach rechts verfahren lassen bei zeitgleicher Aktualisierung der Ist-Position: Da der Motor nach rechts verfährt, muss von der aktuellen Position der Verfahrweg subtrahiert werden. Um Rundungsfehler zu vermeiden, passiert dies nicht nach jedem Step, sondern erst nach dem 28ten Steps.
Alle verbauten Komponenten müssen im TIA-Portal korrekt ausgewählt und konfiguriert werden. Hierbei sind die in der Hardwareliste angegebenen Teilenummern zur eindeutigen Identifizierung der Komponenten von großer Bedeutung.
Komponententest
Um die verbauten Komponenten zu testen, wurde zunächst eine Sichtprüfung der Anlage durchgeführt. Die richtige Auswahl der Betriebsmittel und Sicherheitseinrichtungen und der Schutz gegen direktes Berühren wurden überprüft. Da ein Not Aus zu diesem Zeitpunkt nicht vorhanden war, konnte dieser nicht getestet werden. Im Anschluss wurden die ausgegebenen Spannungen der verschiedenen Netzteile mit Hilfe eine Spannungsmessgeräts überprüft.
Der GeckoDrive wird über ein externes Netzteil mit 24V versorgt, der Encoder mit 5V, was im Stromlaufplan kenntlich gemacht wurde. Die Anlage wurde nun des Plan entsprechend verdrahtet, so dass weitere Tests durchgeführt werden konnten.
Mit Hilfe eines Oszilloskops wurde der Spannungsverlauf des Schrittmotors und des Encoders überprüft. Beide lieferten die erwarteten Rechtecksignale.
Ein einfaches SPS-Programm, welches ein Drehrichtungssignal (Direction) und ein Schrittsignal (Step) an den GeckoDrive übermittelte, diente zur Überprüfung der korrekten Funktion des Schrittmotors. Die Bremse des Motors wurde zunächst durch den Direktanschluss an das 24V Netzteil danach durch Beschaltung über einen digitalen Ausgang der SPS auf Funktion geprüft. Die Bremse stoppt den Motor sobald keine Spannung anliegt. Der Signalverlauf wurde mittels der Beobachtungsfunktion des TIA-Portals überwacht.
Limitationen der SPS - Auslesen des Encoders
-
Die Ausgänge des Encoders sind in dem TIA-Portal gemessen worden. Damit die Drehrichtung und Geschwindigkeit mit dem Encoder bestimmt werden können, werden vier Signale des Encoders eingelesen. Das Datenblatt des Encoders gibt an, dass das Signal A/ das negierte Signal A darstellt. In dem TIA-Portal werden dazu die Signale des Encoders eingelesen. Dazu wird der Wert ("0" oder "1") des Signals über die Zeit betrachtet. Dabei ist ersichtlich, dass nicht der Verlauf des Datenblatts gemessen werden kann. Grund dafür ist, dass die Eingänge nicht schnell genug eingelesen werden können. Somit können die Drehrichtung und Geschwindigkeit nicht mit den gemessenen Signalen bestimmt werden. Eine Alternative stellt das Eingangsmodul TM (Time Based) von Siemens dar. Dieses kann auch schnellere Signale messen.
Maximale Verfahrgeschwindigkeit
Aufgrund der Limitationen ist eine maximale Verfahrgeschwindigkeit von 5,71mm pro Sekunde realisierbar, was maximal 162 Steps pro Sekunde entspricht.
Integrationstest
Bedienungsanleitung

Der Benutzer bedient die Anlage ausschließlich über das Interface des HMI. Die dargestellte Schrittmotorachse wird in Echtzeit aktualisiert und zeigt somit immer die aktuelle Position des Schlittens an.
- Der Benutzer trägt einmalig die aktuelle Position des Schlittens in das entsprechende Feld im Interface ein. Die Achse ist nun einsatzbereit.
- Der gewünschte Verfahrweg des Schlittens kann nun eingetragen werden oder mit Hilfe der [+] [-] Schaltflächen in 5cm-Schritten eingestellt werden.
- Nach Eingabe des Verfahrwegs muss nun die Fahrtrichtung durch Druck auf die Schaltfläche [Links] oder [Rechts] ausgewählt werden.
- Die Schaltfläche [Stop] hält den Motor umgehend an und muss zum Deaktivieren erneut gedrückt werden.
Sollte die eingegebene Endposition das Achsenlimit von 0 bzw. 100cm unter- oder überschreiten, verfährt der Schlitten bis zur maximal möglichen Position und stoppt dort automatisch. Wird eine Soll-Position von 0cm eingegeben, fährt der Motor im Handbetrieb, d.h. solange die Richtungstaste gedrückt ist, verfährt der Motor.
Hinweis: Grafik vom HMI ist ein Entwurf wie diese Steuerung aussehen kann.
Abnahmetest & Systemtest
Hinweis: Hier wird das Video des Probelaufs hintugefügt.
|
|
Fazit
Die Schrittmotorachse kann mit einer ansprechenden Bedienoberfläche über das HMI gesteuert werden. Der GeckoDrive-Schrittmotortreiber erhält hierzu von der SPS die Informationen zur Drehrichtung und Anzahl der auszuführenden Motorschritte. Die Achse lässt sich über eine Strecke von 100cm verfahren. Der Benutzer hat die Möglichkeit den Schlitten auf 0,1cm genau zu positionieren und kann auf dem Display jederzeit die aktuelle Position des Schlittens ablesen.
Zum überarbeiten!
Lessons Learned
- Bearbeitung eines Projekts nach Vorgabe des V-Modells
- Dimensionierung und Verdrahtung von Komponenten nach Datenblattvorgabe
- Inbetriebnahme und Programmierung einer Speicherprogrammierbaren Steuerung von Siemens
- Dokumentation eines umfangreichen Projekts
Zum überarbeiten!
Blick in die Zukunft
Da der Großteil der bestellten Komponenten nicht rechtzeitig geliefert worden ist, fehlt dem Projekt die analoge Ansteuerung. Diese könnte in der Zukunft implementiert werden, wodurch auch die Limitation der SPS in Bezug auf die Verfahrgeschwindigkeit des Motos umgangen werden könnte. Über den GeckoDrive soll laut Datenblatt eine Einstellbarkeit der Geschwindigkeit durch Anschluss eines Potentiometers möglich sein. Neben dem Handbetrieb und Geschwindigkeitsregelung des Motors kann auf dem analogen Bedienelement der Not-Aus untergebracht werden.
Eine Halterung für die SPS und das HMI würden sowohl die Handhabung als auch den Transport der Anlage deutlich vereinfachen.
Zum überarbeiten!
Projektunterlagen
Projektplan
Hier wird der GANT-Plan eingepflegt. Datei:Gantt .PNG
Quellen
ZIP-Archiv mit allen notwendigen Daten zum Nachbau
→ zurück zur Übersicht: Praktikum Produktionstechnik