Ansteuerung einer Schrittmotorachse mit SPS und HMI: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(46 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:SPS]]
zurück zum Hauptartikel: [[Praktikum Produktionstechnik]]
'''Betreuer''' [[Benutzer:Mirekgoebel|Prof. Dr. Mirek Göbel]] & [[Benutzer:Marc Ebmeyer|Marc Ebmeyer]]
'''Wintersemester 20/21'''
'''Autor:''' [[Benutzer:Matthias_Stork|Matthias Stork]], [[Benutzer:Lukas_Kriete|Lukas Kriete]]
'''Autor:''' [[Benutzer:Matthias_Stork|Matthias Stork]], [[Benutzer:Lukas_Kriete|Lukas Kriete]]
[[Datei:SchriMoAufbau.jpg|mini|800px|Schrittmotorachse mit SPS und HMI]]
[[Datei:SchriMoAufbau.jpg|mini|800px|Schrittmotorachse mit SPS und HMI]]
Zeile 16: Zeile 23:


==== Funktionaler Systementwurf ====
==== Funktionaler Systementwurf ====
Der funktionale Systementwurf gibt Aufschluss über die Verbindungen der jeweiligen Komponenten. Hierbei steht die Funktionsweise im Fokus.
Der funktionale Systementwurf gibt Aufschluss über die Verbindungen der jeweiligen Komponenten. Hierbei steht die Funktionsweise im Fokus. Hierbei erhält die SPS Signale von dem digitalen oder analogem Bedienelement und verarbeitet diese. Der GeckoDrive (Motortreiber) erhält die von der SPS ausgegebenen Signale und steuert damit den Motor an, welcher über eine Kupplung den Riementrieb der Linearachse antreibt. An dem Motor ist außerdem ein Encoder montiert, welcher die Rotation des Motors als Signale ausgibt.  


==== Technischer Systementwurf ====
==== Technischer Systementwurf ====
Der technische Systementwurf gibt Aufschluss über die Daten und Signale, welche die Systemkomponenten benötigen bzw. genieren, empfangen oder aussenden.  
Der technische Systementwurf gibt Aufschluss über die Daten und Signale, welche die Systemkomponenten benötigen bzw. genieren, empfangen oder aussenden. Die SPS verarbeitet digitale und analoge Signale und übermittelt dem GeckoDrive ein Step- (Schrittanzahl) und Directionsignal (Drehrichtung). Diese Signale dienen zur Ansteuerung des Motors. Die Drehsignale des Encoders werden im RS422-Protokoll ausgegeben.  


=== Komponentenspezifikation ===
=== Komponentenspezifikation ===
Die Schnittstellen, Aufgaben und Spezifikationen der ausgewählten Bauteile werden in der Komponentenspezifikation beschrieben.
Die Schnittstellen, Aufgaben und Spezifikationen der ausgewählten Bauteile werden in der Komponentenspezifikation beschrieben.
In diesem Projekt wurden folgende Komponenten verbaut und genutzt:
In diesem Projekt wurden folgende Komponenten verbaut und genutzt (Auszug aus den Datenblättern):


'''Hardware:'''
'''Hardware:'''


[[Datei:SPS Aufbau1.jpg|mini|500px|Komponenten der SPS]]
==== SPS-Aufbau ====
==== SPS-Aufbau ====
{| class="mw-datatable"
{| class="mw-datatable"


|-
|-
  |Netzteil
  |Netzteil (6)
  |SIMATIC ET 200SP (T.Nr. 6EP7133-6AE00-0BN0)
  |SIMATIC ET 200SP (T.Nr. 6EP7133-6AE00-0BN0)
   
   
|-
|-
  |Steuerung     
  |Steuerung (1+2)      
  |SIMATIC CPU 1515SP PC2 (T.Nr. 6ES7677-2DB40-0AA0)
  |SIMATIC CPU 1515SP PC2 (T.Nr. 6ES7677-2DB40-0AA0)


Zeile 43: Zeile 51:


|-
|-
  |Analoges Eingangsmodul
  |Analoges Eingangsmodul (3)
  |T.Nr. 6ES7134-6HB00-0DA1
  |T.Nr. 6ES7134-6HB00-0DA1


|-
|-
  |Analoges Ausgangsmodul
  |Analoges Ausgangsmodul (4)
  |T.Nr. 6ES7135-6HB00-0DA1
  |T.Nr. 6ES7135-6HB00-0DA1


|-
|-
  |Digitales Eingangsmodul
  |Digitales Eingangsmodul (5)
  |T.Nr. 6ES7131-6BF00-0CA0
  |T.Nr. 6ES7131-6BF00-0CA0


|-
|-
  |Digitales Ausgangsmodul
  |Digitales Ausgangsmodul (6)
  |T.Nr. 6ES7132-6BF00-0CA0
  |T.Nr. 6ES7132-6BF00-0CA0
|}
|}
*SIEMENS Hutschiene
*SIEMENS Hutschiene  
*Widerstände  1,2 kOhm um die Eingänge des GeckoDrive mit den Ausgängen der SPS beschalten zu können
*Widerstände  1,2 kOhm um die Eingänge des GeckoDrive mit den Ausgängen der SPS beschalten zu können


Zeile 92: Zeile 100:
  |Winding A+B (1 Schrittmotor)
  |Winding A+B (1 Schrittmotor)
|}
|}
 
<ref>[https://www.geckodrive.com/amfile/file/download/file_id/7/product_id/7/ ''Datenblatt GeckoDrive 201x'']</ref>
*Netzteil für den GeckDrive: Tisch- und Wand-Festspannungsgeräte Serie PS-500 (PS 524-05 R)
*Netzteil für den GeckDrive: Tisch- und Wand-Festspannungsgeräte Serie PS-500 (PS 524-05 R)


Zeile 200: Zeile 208:


|}
|}
*Mean Well DR-15-5 Hutschienen-Netzteil (DIN-Rail) 5 V/DC 2.4 A 12 W 1
*Netzteil für den Encoder: Mean Well DR-15-5 Hutschienen-Netzteil (DIN-Rail) 5 V/DC 2.4 A 12 W 1


==== Bremse ====
==== Bremse ====
Zeile 234: Zeile 242:


|}
|}
 
<ref>[https://igus.widen.net/content/wxhmp1gd10/original/MOT-AN-S_DE.pdf?download=true ''Datenblatt IGUS Nema23'']</ref>


'''Software:'''
'''Software:'''
*SIEMENS Totally Integrated Automation Portal (TIA-Portal)  
*SIEMENS Totally Integrated Automation Portal (TIA-Portal) Version 15.1
*Simatic Software Pack: PLC F+HMI
*Simatic Software Pack: PLC F+HMI


'''Sammelordner Datenblätter'''
=== 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 <math>\frac{V_\text{PLC}-5}{0,016}</math> <ref>[https://www.geckodrive.com/support/using-current-source-plc.html ''G201x Current Source PLC'']</ref> berechnet, was einen Widerstandswert von 1,2kOhm ergab.
 
== 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.


<gallery widths = "800" heights = "400" perrow = "1" >
Stromlaufplan1.jpg |  SEE Electrical 7 Stromlaufplan Seite 1 (Schrittmotor, GeckoDrive, Bremse, Encoder) <ref>[https://svn.hshl.de/svn/MTR_GPE_Praktikum/trunk/Fachthemen/Siemens_Schrittmotorachse/05_Entwicklung/Praktikum.sep ''SVN Originaldatei'']</ref>
Stromlaufplan2.jpg | SEE Electrical 7 Stromlaufplan Seite 2 (Eingänge und Ausgänge der SPS) <ref>[https://svn.hshl.de/svn/MTR_GPE_Praktikum/trunk/Fachthemen/Siemens_Schrittmotorachse/05_Entwicklung/Praktikum.sep ''SVN Originaldatei'']</ref>
</gallery>


== Entwicklung im TIA Portal==
=== Entwicklung im TIA Portal===


=== Erstellung der Hardware im TIA-Portal ===
==== Erstellung der Hardware im TIA-Portal ====


<gallery widths = "800" heights = "400" perrow = "1" >
<gallery widths = "800" heights = "400" perrow = "1" >
TIAPortal_Projektherstellung.png | 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_Schrittmototachse" vergeben. Durch das Klicken auf "Erstellen" wird diese Projekt erstellt.
TIAPortal_Projektherstellung.png | 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.
TIAPortal_SPS_Hardware_hinzuzufügen.png | Unter dem Abschnitt "Geräte & Netze" kann eine Speicherprogrammierbare (kurz SPS) in dem TIA Portal hinzu gefügt werden. In diesem Fall handelt es sich um eine PC-System -> Open Controller -> CPU 1515SP PCF. Durch Klicken auf die Schaltfläche "Hinzufügen" wird der Open Controller in dem Projekt hinzugefügt.
TIAPortal_SPS_Hardware_hinzuzufügen.png | 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.
TIAPortal_HMI_Hardware_hinzuzufügen.PNG | 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.
TIAPortal_HMI_Hardware_hinzuzufügen.PNG | 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.
Netzsicht.PNG | In dem TIA Portal muss zudem die Verbindung der SPS und des HMIs konfiguriert werden. Unter dem Abschnitt "Netzsicht" wir durch "Drag and Drop" (ziehen und loslassen) die Ethernet-Verbindung von dem PC System und des HMI gemäß des tatsächlichen Anschlusses erstellt.
Netzsicht.PNG | 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.
01_Übersicht_PLC.PNG | 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.
01_Übersicht_PLC.PNG | 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.
</gallery>
</gallery>


=== Programmierung im TIA Portal ===
==== Programmierung im TIA Portal ====


==== Variablen ====
===== 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.  
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.  
Zeile 265: Zeile 282:


03 PLC AI.PNG | 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.
03 PLC AI.PNG | 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.
PLCDO.png | 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, wenn 24 Volt anliegen die Bremse gelöst ist.
PLCDO.png | 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.
AllDataDB.png | 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. Diese sind zum Beispiel ein Zähler (=counter), die für das Zählen der Steps benötigt wird.
AllDataDB.png | 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.
04 HMI Variablen.PNG | Hier werden alle Variablen des HMI aufgeführt. Diese Variablen sind alle mit der Variable unter den DB „All_data“ 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.
04 HMI Variablen.PNG | 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.
</gallery>
</gallery>


==== SPS-Programm ====
===== 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.
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.
Zeile 277: Zeile 294:
01 Motor Ansteuerung HMI.PNG | 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.
01 Motor Ansteuerung HMI.PNG | 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.


02 Verfahren Richtung Steps.PNG | 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).
02.Verfahren Richtung Steps.PNG | 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).
03 Flanken Steps.PNG | 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.
03 Flanken Steps.PNG | 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.
04 Verfahren Links Counter.PNG | 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.  
04 Verfahren Links Counter.PNG | 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.  
Zeile 285: Zeile 302:
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.
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.


=== GeckoDrive am 24V Ausgang der SPS betreiben ===
== Komponententest ==
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 <math>\frac{V_\text{PLC}-5}{0,016}</math> berechnet, was einen Widerstandswert von 1,2kOhm ergab.


== Komponententest ==
[[Datei:Stromlaufplan1.jpg|mini|500px|Stromlaufplan Seite 1 (Schrittmotor, GeckoDrive, Bremse, Encoder)]]
[[Datei:Stromlaufplan2.jpg|mini|500px|Stromlaufplan Seite 2 (Eingänge und Ausgänge der SPS)]]


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.  
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.  
Zeile 298: Zeile 311:
Mit Hilfe eines Oszilloskops wurde der Spannungsverlauf des Schrittmotors und des Encoders überprüft. Beide lieferten die erwarteten Rechtecksignale.
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.  
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.
Der Signalverlauf wurde mittels der Beobachtungsfunktion des TIA-Portals überwacht.
 
 
 
 


=== Limitationen der SPS - Auslesen des Encoders ===
<gallery widths = "800" heights = "400" perrow = "1" >


Trace Encoder.png |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.
</gallery>


=== Maximale Verfahrgeschwindigkeit ===


Aufgrund der Limitationen ist eine maximale Verfahrgeschwindigkeit von 5,71mm pro Sekunde realisierbar, was maximal 162 Steps pro Sekunde entspricht.


== Integrationstest ==
== Integrationstest ==


=== Bedienungsanleitung ===
=== Bedienungsanleitung ===
[[Datei:HMISchrittmotorachse.png|mini|800px|Benutzeroberfläche des HMI]]
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 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 Benutzer trägt einmalig die aktuelle Position des Schlittens in das entsprechende Feld im Interface ein. Die Achse ist nun einsatzbereit.
Zeile 322: Zeile 337:
   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.
   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.


== Abnahmetest & Systemtest ==


[[Datei: DemoFunktion1.mp4|mini|links|800px|Demonstration der Funktionsweise]]
[[Datei: DemoFunktion2.mp4|mini|mitte|800px|Demonstration: Verfahrweg ist größer als die Endposition]]




Zeile 328: Zeile 346:




== Abnahmetest & Systemtest ==
[[Datei: DemoFunktion1.mp4|mini|links|800px|Demonstration der Funktionsweise]]
[[Datei: DemoFunktion2.mp4|mini|mitte|800px|Demonstration: Verfahrweg ist größer als die Endposition]]




Zeile 378: Zeile 389:


Eine Halterung für die SPS und das HMI würden sowohl die Handhabung als auch den Transport der Anlage deutlich vereinfachen.
Eine Halterung für die SPS und das HMI würden sowohl die Handhabung als auch den Transport der Anlage deutlich vereinfachen.


== Quellen ==
== Quellen ==
[https://svn.hshl.de/svn/MTR_GPE_Praktikum/trunk/Fachthemen/Siemens_Schrittmotorachse/ SVN Projektordner]
[https://svn.hshl.de/svn/MTR_GPE_Praktikum/trunk/Fachthemen/Siemens_Schrittmotorachse/Schrittmotorachse.zip/ ZIP-Archiv mit allen notwendigen Daten zum Nachbau]


→ zurück zur Übersicht: [[Praktikum Produktionstechnik]]
→ zurück zur Übersicht: [[Praktikum Produktionstechnik]]

Aktuelle Version vom 11. Februar 2021, 17:02 Uhr

zurück zum Hauptartikel: Praktikum Produktionstechnik

Betreuer Prof. Dr. Mirek Göbel & Marc Ebmeyer

Wintersemester 20/21

Autor: Matthias Stork, Lukas Kriete

Schrittmotorachse mit SPS und HMI

Einleitung

Im Rahmen des Praktikums „Produktionstechnik“ im Studiengang Mechatronik mit dem Schwerpunkt „Global Production Engineering“ soll ein Projekt der praktischen Automatisierungstechnik mit Hilfe einer Speicherprogrammierbaren Steuerung (SPS)-Anlage realisiert werden. Konkret befasst sich dieses Projekt mit einer Schrittmotorachse, welche von einer Siemens Simatic SPS in Kombination eines HMI angesteuert wird.

Vorgehensweise nach V-Modell

Funktionaler Systementwurf
Technischer Systementwurf

Anforderungsdefinition

Die Anforderungsdefinition legt verbindliche Anforderungen an ein zu entwickelndes System dar. Zu Projektbeginn wurde ein von zwei Personen gut transportierbarer Aufbau, welcher sowohl eine digitale, als auch eine analoge Bedienbarkeit ermöglichen soll, festgelegt. Eine Einkaufsliste zur Bestellung der benötigten Materialien wurde der Anforderungsdefinition entsprechend erstellt.

Systementwurf

Die Systementwürfe (funktional und technisch) beinhalten die detaillierten Spezifikationen der im Projekt verwendeten Bauteile und Schnittstellen.

Funktionaler Systementwurf

Der funktionale Systementwurf gibt Aufschluss über die Verbindungen der jeweiligen Komponenten. Hierbei steht die Funktionsweise im Fokus. Hierbei erhält die SPS Signale von dem digitalen oder analogem Bedienelement und verarbeitet diese. Der GeckoDrive (Motortreiber) erhält die von der SPS ausgegebenen Signale und steuert damit den Motor an, welcher über eine Kupplung den Riementrieb der Linearachse antreibt. An dem Motor ist außerdem ein Encoder montiert, welcher die Rotation des Motors als Signale ausgibt.

Technischer Systementwurf

Der technische Systementwurf gibt Aufschluss über die Daten und Signale, welche die Systemkomponenten benötigen bzw. genieren, empfangen oder aussenden. Die SPS verarbeitet digitale und analoge Signale und übermittelt dem GeckoDrive ein Step- (Schrittanzahl) und Directionsignal (Drehrichtung). Diese Signale dienen zur Ansteuerung des Motors. Die Drehsignale des Encoders werden im RS422-Protokoll ausgegeben.

Komponentenspezifikation

Die Schnittstellen, Aufgaben und Spezifikationen der ausgewählten Bauteile werden in der Komponentenspezifikation beschrieben. In diesem Projekt wurden folgende Komponenten verbaut und genutzt (Auszug aus den Datenblättern):

Hardware:

Komponenten der SPS

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

Schrittmotortreiber: GeckoDrive G201X

Eingangsspannung 18-80 VDC
maximale Stromaufnahme des angeschl. Motors 7 A
Induktivität des Motors 1-50 mH
Eingangsfrequenz des Step-Input 0-200 kHz
Spannung der Inputs 3,3-5 VDC
Inputs Spannungsversorgung, Disable, Direction, Step, Common, Current Set
Outputs Winding A+B (1 Schrittmotor)

[1]

  • Netzteil für den GeckDrive: Tisch- und Wand-Festspannungsgeräte Serie PS-500 (PS 524-05 R)

Schrittmotor: Igus NEMA 23 MOT-AN-S-060-020-056-L-D-AAAD

Nennspannung 24-48 V DC
max. Eingangsspannung 60 V DC
Nennstrom 4,2 A
Haltemoment 2,0 Nm
Schrittwinkel 1,8°
Widerstand pro Phase 0,5 Ω ± 10%
Induktivität pro Phase 1,9 mH ± 20%
Pin 1 Signal A/ (braun)
Pin 2 Signal A (weiß)
Pin 3 Signal B/ (blau)
Pin 4 Signal B (schwarz)
Pin 5 PE

Encoder

M12 8-polig 5 V DC
Impulse/Umdrehung [1/min] 500
Index Ja
Line Treiber RS422 Protokoll
Pin 1 Signal A (weiß)
Pin 2 Signal A/ (braun)
Pin 3 Signal B (grün)
Pin 4 Signal B/ (gelb)
Pin 5 0V (grau)
Pin 6 Signal N/ (rosa)
Pin 7 Signal N (blau)
Pin 8 5V DC (rot)
  • Netzteil für den Encoder: Mean Well DR-15-5 Hutschienen-Netzteil (DIN-Rail) 5 V/DC 2.4 A 12 W 1

Bremse

M8 3-polig 24 V DC
Leistung 8 - 11 W
Haltemoment 0,4 - 2,0 Nm
Massenträgheitsmoment 0,01 - 0,07 kgcm²
Pin 1 Signal Bremse (24V) (braun)
Pin 2 Signal 0V (blau)
Pin 3 Signal - (schwarz)

[2]

Software:

  • SIEMENS Totally Integrated Automation Portal (TIA-Portal) Version 15.1
  • Simatic Software Pack: PLC F+HMI

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.

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.

Entwicklung im TIA Portal

Erstellung der Hardware im TIA-Portal

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.

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.

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

Maximale Verfahrgeschwindigkeit

Aufgrund der Limitationen ist eine maximale Verfahrgeschwindigkeit von 5,71mm pro Sekunde realisierbar, was maximal 162 Steps pro Sekunde entspricht.

Integrationstest

Bedienungsanleitung

Benutzeroberfläche des HMI

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.


  1. Der Benutzer trägt einmalig die aktuelle Position des Schlittens in das entsprechende Feld im Interface ein. Die Achse ist nun einsatzbereit.
  2. Der gewünschte Verfahrweg des Schlittens kann nun eingetragen werden oder mit Hilfe der [+] [-] Schaltflächen in 5cm-Schritten eingestellt werden.
  3. Nach Eingabe des Verfahrwegs muss nun die Fahrtrichtung durch Druck auf die Schaltfläche [Links] oder [Rechts] ausgewählt werden.
  4. 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.

Abnahmetest & Systemtest

Demonstration der Funktionsweise
Demonstration: Verfahrweg ist größer als die Endposition

















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.

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

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.


Quellen

SVN Projektordner

ZIP-Archiv mit allen notwendigen Daten zum Nachbau


→ zurück zur Übersicht: Praktikum Produktionstechnik