Produktion eines HSHL-Getränkeuntersetzers: Montage (Station 3)

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren:
M. Anas Habbaba (Diskussion) 11:30, 18. Januar. 2022 (CET)
Timo Wortmann (Diskussion) 11:30, 18. Januar. 2022 (CET)
Betreuer:
Prof. Dr. Mirek Göbel
Herr Ebmeyer

Abbildung 1: Parallel-Roboter Quattro s650H und CX SmartController[1]


Einführung

In dem Modul "Global Production Engineering III" (GPE3) ist ein Praktikum in dem Bereich Produktionstechnik zu absolvieren. Der Hauptgedanke dieses Praktikums besteht darin, eigenständig mit einer systematischen Vorgehensweise praxisnahe Projekte umzusetzen. Zusätzlich wird der Umgang mit einer Speicherprogrammierbare Steuerung (SPS) sowie die Ansteuerung von Sensorik und Pneumatik gelehrt.

  • Die Station Montage

Die Station Montage stellt die dritte Station des Gesamtkonzeptes, nach den Stationen Kommissionierung und Kleben, dar. In dieser Station werden die Einzelteile des HSHL-Untersetzers mit dem Parallelroboter Quattro 650 (H/HS) von dem Warenträger entnommen und in die Grundplatte des Untersetzers eingefügt. Auf der linken Seite der Abbildung 2 sind die einzelnen Bauteile des Untersetzers vor der Montage zu sehen, welche durch die Montage zusammengefügt werden. Das fertige Endprodukt ist auf der rechten Seite zu betrachten.

Abbildung 2: Zusammenfügen der Einzelteile zu einem Untersetzer [2]

Originaldatei von Abbildung 2: Zusammenbaudarstellung.


Vorgehensweise nach V-Modell

Abbildung 3: Projektstand des V-Modells[3]

Bei der Durchführung unseres Projektes sind wir systematisch nach dem V-Modell vorgegangen, welches wir in Abbildung 3 sehen können. Die Vorgehensweise nach dem V-Modell bietet den Vorteil, dass dadurch strukturierter und übersichtlicher gearbeitet werden kann.
Zusätzlich haben wir in dem V-Modell unseren aktuellen Projektstand grafisch dargestellt. Zuerst haben wir die Entwicklungsphasen absolviert. Bei jedem Schritt, der im V-Modell durchlaufen wird, ist eine anschließende Verifizierung der vorherigen Schritte notwendig. Es muss überprüft werden, ob die Ergebnisse der vorherigen Schritte zum aktuell erreichten Projektstand umsetzbar sind. Der Schritt "Entwicklung" im V-Modells ist sehr zeitaufwendig. In dieser haben wir die Hardware miteinander verkabelt und Programme im TIA-Portal, zum Ansteuern der Siemens ET200SP, und in ACE, zum Ansteuern des Roboters, erstellt. Zusätzlich musste die Siemens ET 200SP komplett neu aufgesetzt werden.
Die Testphasen konnten wir leider nicht vollständig durchlaufen. Dies hat den Grund, dass mangels Zeit die Programmierung und Einbindung der MPS 500 sowie die Einbindung der Kameraüberwachung nicht vervollständigt werden konnte.

Originaldatei: Endpräsentation, Folie 5


Anforderungen

Für das Pflichtenheft wurden die in den Abbildungen 4 und 5 zu sehenden Anforderungen erstellt.
Die Anforderungen-Bereiche sind nach Kapiteln gegliedert. Jede Anforderung hat eine eigene ID-Nummer. Die Pflichte werden als Typ "I" für Informationen bzw. Typ "A" für Anforderungen bezeichnet.

Originaldatei: Anforderungsliste

funktionaler Systementwurf

Abbildung 6: Funktionaler Systementwurf Station Montage [5]

Die Abbildung 6 zeigt den funktionalen Systementwurf unserer Station Montage. Mit dem funktionalen Systementwurf wird der grobe Ablauf des Montagevorgangs deutlich. Rot gezeichnete Kästchen beschreiben die Ein- und Ausgänge der Station. Grüne Kästchen sind ein Symbol eines Vorgangs, z.B. Schlitten positionieren. Beide gelbe Kästchen bilden den Rahmen einer Schleife, in der die Einzelteile in Reihenfolge montiert werden. Die gelbe Raute ist eine Verzweigung für die Qualitätsüberwachung, ob die Einzelteile auf der Grundplatte richtig montiert sind.

Von der zweiten Station, der Station Kleben, wird der Warenträger mit den Einzelteilen und der Grundplatte mit aufgetragenem Klebstoff übergeben. Der Schlitten, auf dem der Warenträger transportiert wird, kommt an der Station Montage an und wird dort in einer bestimmten Lage positioniert. Anschließend werden die Einzelteile A, B und C (A=HSHL-Schriftzug, B=HSHL-Logo-Links, C=HSHL-Logo-Rechts) nacheinander montiert. Nach der Montage wird mit einer Kamera überprüft, ob die Einzelteile richtig auf der Grundplatte platziert wurden. Ist dies der Fall, dann wird der Schlitten mit dem fertigen Untersetzer an die Station Verpackung übergeben. Sind die Einzelteile allerdings nicht richtig platziert, so wird der Untersetzer in einer, neben dem Förderband stehende, Kiste aussortiert.

Originaldatei mit dem Tool PapDesigner: funktionaler Systementwurf.


Die Abbildung 7 stellt den Versuchsaufbau unserer Station Montage dar und dient zum besseren Verständnis des Systementwurfes. Es wird dort sichtbar, wie die einzelnen Komponenten miteinander interagieren und verknüpft sind.

Abbildung 7: Versuchsaufbau der Station Montage [6]


Originaldatei von dem Versuchsaufbau: Endpräsentation, Foliennummer 6.

technischer Systementwurf

Mit Hilfe des technischen Systementwurfes wird der Ablauf des Montagevorgangs detailliert beschrieben. Unser technische Systementwurf besteht aus einem Hauptprogramm und zwei Unterprogrammen. Das Hauptprogramm wird in der Abbildung 8 gezeigt.
Für die Ausführung des Montagevorgangs vom Roboter wird das Unterprogramm "Fügen_Montieren_des_Untersetzers_mit_Ansaugroboter" aufgerufen. Dieses wird in der Abbildung 9 dargestellt.
Um die Fehlererfassung nach der Montage durchzuführen, wird das Unterprogramm "Sortieren" aufgerufen. Die Abbildung 10 zeigt dieses Unterprogramm. Hiermit werden fehlerhaft montierte Untersetzer aussortiert.


Originaldatei von den Abbildungen 8, 9 und 10: technischer Systementwurf.

Komponentenspezifikation

Nach dem Erstellen der Systementwürfe ist es wichtig herauszufinden, welche Komponenten für die Umsetzung des Projektes am besten geeignet sind. Die technischen Daten der jeweiligen Komponenten müssen die Anforderungen vollständig erfüllen. Zum Realisieren unseres Projektes haben wir folgende Komponenten verwendet:

  • Hardware-Komponenten:
    • Siemens ET 200SP
    • MPS 500
    • CX SmartController
    • 4-Achsen Parallel-Roboter Quattro 650 (H/HS)
    • induktive Sensoren (SIEN-M8NB-PS-S-L #150395)
    • Druckluftzylinder (AEVUZ-16-10-P-A)
  • Software-Komponenten:
    • TIA Portal
    • ACE

Die detaillierten technischen Daten zu den einzelnen Komponenten finden Sie in unserer Komponentenspezifikation.

Entwicklung

Hardware

Abbildung 11: Verkabelung des XDIO-Anschlusses [8]

Der Anschluss XDIO ist einer von mehreren Peripheriemodulen, welche der SmartController CX aufweist. Über diesen Anschluss kann der CX SmartController 12 digitale Eingänge lesen und 8 digitale Ausgänge steuern. Außerdem hat er mehrere Pins für Masse und Versorgungsspannung 24 VDC. Die Ein- und Ausgänge werden in unserer Station für die Kommunikationen zwischen dem Roboter und Siemens ET 200SP benötigt. Die Abbildung 11 zeigt, wie der Anschluss mit den gelöteten und geschilderten Drähten aussieht. Wichtig zu beachten, dass alle Geräte eine gemeinsame Masse haben müssen. Die Abbildung 12 zeigt die Pin-Nummern des XDIO-Anschlusses vom CX SmartController. Die Pinbelegung sowie Anwendungsbeispiele hierzu sind in dem CX SmartController Guide auf den Seiten 61 bis 66 zu finden.




Abbildung 12: Pin-Belegung des XDIO-Anschlusses [9]

Originaldatei der Abbildung 12: CX Smartcontroller - User Guide, S. 66.

Software

Um den Signaltransfer zwischen den verschiedenen Komponenten zu steuern, verwenden wir die zwei Softwares TIA-Portal und ACE. Mit der Software TIA-Portal steuern wir die digitalen Ein- und Ausgangssignale der Siemens ET 200SP. Die Software ACE dient zur Ansteuerung eines oder mehrerer Roboter. Zusätzlich können die digitalen Ein- und Ausgänge des CX SmartControllers, welche sich am XDIO-Anschluss befinden, angesteuert werden. Der CX SmartController kann die digitalen Eingänge 1001 bis 1012 abgreifen und die digitalen Ausgänge 1 bis 8 ansteuern. Ein Tutorium zum Erstellen eines Pick-&-Place-Programmes, zu den wichtigsten Befehlen der Software ACE und der Bedienung des Roboters Quattro 650(H/HS) finden Sie in unserem Lernbrief.

ACE

Der folgende Programmcode ist das Hauptprogramm rob.main zur vollständige Montage sowie zur Kommunikation mit der Siemens ET 200SP und der MPS 500. Die Zeilen 01 und 41 bilden den Programmrahmen. In Zeile 06 wird die Sicherheitsposition angefahren. Anschließend wird von Zeile 10 bis 38 eine Endlosschleife ausgeführt. Dort wird zuerst abgefragt, ob ein digitales Eingangssignal vom induktiven Sensor über die MPS 500 am Eingang 1001 eintrifft. Solange dies nicht der Fall ist und somit kein Warenträger an der Station steht, wartet das Programm (Zeile 13 bis 15). Wenn ein Warenträger in der Station eintrifft, läuft das Programm weiter und ein Timer mit einer Laufzeit von 2 Sekunden startet. Dieser Timer wird dafür benötigt, damit der Roboter mit der Montage erst dann beginnt, wenn der Warenträger vom Zylinderkolben gestoppt wurde und er sich in der definierten Position befindet (Zeile 18 bis 19). Der Montagevorgang wird von Zeile 23 bis 27 durchgeführt. Für den Montagevorgang werden Unterfunktionen wie zum Beispiel "rob.picka()" (Zeile 22) und "rob.placea()" (Zeile 23) aufgerufen. Das Unterprogramm "rob.picka()" ist dafür zuständig, dass der Roboter die Position "picka.loc" anfährt, um das Einzelteil A (HSHL-Schriftzug) aus dem Warenträger zu entnehmen. Zusätzlich wird der Ausgang 1 aktiviert, um die Vakuumansaugdüse einzuschalten und das Einzelteil anzusaugen. Mit dem Unterprogramm "rob.placea()" wird die Position "placea.loc" angefahren, wo das Einzelteil in die Grundplatte des Untersetzers eingesetzt werden soll. Nach dem Anfahren dieser Position wird der Ausgang 1 wieder deaktiviert, wodurch die Vakkumansaugdüse wieder ausgeschaltet wird. Diese Vorgange geschehen ebenfalls mit den für die Einzelteile B (HSHL-Logo links) und C(HSHL-Logo rechts). Nach der Montage fährt der Roboter wieder in die Sicherheitsposition (Zeile 29). Die Bewegungsgeschwindigkeit des Roboters für den Montagevorgang wird in dem Unterprogramm rob.init() festgelegt. Hierfür wird der Syntax "SPEED v ALWAYS" verwendet. Die Bewegungsgeschwindigkeit v ist eine reele Zahl aus dem Interval von 0 bis 100. Abschließend wird über einen Zeitraum von 5 Sekunden ein Signal über den digitalen Ausgang 2 an die Siemens ET 200SP gesendet. Dieses Signal wird an das Druckluftventil weitergegeben, sodass nach vollendeter Montage der Zylinderkolben für 5 Sekunden eingefahren ist, um den Warenträger auf dem Förderband zur nächsten Station weiterzuleiten (Zeile 33 bis 36).


01 .PROGRAM rob.main()
02 
03        GLOBAL REAL run.rob
04        CALL rob.init()
05        CALL err.init()
06        CALL rob.move.safe()
07
08
09        ;Endlosschleife
10        WHILE (rob.run) DO
11
12            ;es wird gewartet bis ein digitales Eingangssignal von der SPS gesendet wird
13            WHILE NOT SIG(1001) DO
14                WAIT
15            END
16
17            ;Warten bis der Zylinderkolben ausgefahren ist 
18            TIMER (1) = 0
19            WAIT TIMER(1) > 2
20
21            ;die Montage wird durchgeführt
22            CALL rob.picka()
23            CALL rob.placea()
24            CALL rob.pickb()
25            CALL rob.placeb()
26            CALL rob.pickc()
27            CALL rob.placec()
28
29            CALL rob.move.safe()
30
31            ;ein digitales Signal wird am Ausgang 2 ausgegeben
32            ;es wird 5 Sekunden lang gesendet, sodass der Schlitten genug Zeit hat, die Station zu verlassen
33            SIGNAL 2
34            TIMER (1) = 0
35            WAIT TIMER(1) > 5
36            SIGNAL -2
37
38        END
39
40        RETURN
41 .END

Programmcode für die Station Montage in der Software ACE [10][11]

  • Ermittung der Koordinaten

Um den Montagevorgang auszuführen ist es notwendig die richtigen Positionen des Roboters zu ermitteln, welche angefahren werden müssen. Hierfür haben wir zuerst das Förderband parallel zur X-Achse des Roboters positioniert. Anschließend sind wir mit Hilfe des Adept T1 Pendant die Position des HSHL-Schriftzuges auf dem Warenträger angefahren. Das Adept T1 Pendant lässt sich frei verfahren, wenn mit dem Button "MODE" der Modus "JOINT" aktiviert ist. Die exakte Position des Roboters lässt sich anzeigen, indem der Button "DISP" und im Anschluss daran "position" betätigt wird. Um die restlichen anzufahrenden Positionen zu ermitteln, haben wir die Abstände, von der Position des HSHL-Schriftzuges aus, gemessen. Die Messungen haben wir im CAD-Modell durchgeführt. Die ermittelten Positionen, welche in der unten abgebildeten Tabelle zu finden sind, müssen in dem ACE-Programm als "Location" unter dem Tab "V+ Benutzervariablen" abgespeichert werden. Die Locations, oder auch Positionen genannt, weisen die Endung ".loc" auf und lauten beispielsweise "safe.loc" oder "picka.loc".[12]

Location X-Achse Y-Achse Z-Achse
Tabelle 1: Koordinaten des Montagevorgangs [13]
safe -150,000 -100,000 -796,000
picka -178,938 -492,468 -846,600
pickb -196,467 -443,493 -846,600
pickc -208,034 -395,489 -846,600
placea -119,521 -390,902 -842,000
placeb -101,953 -435,128 -842,000
placec -148,054 -435,128 -842,000


TIA-Portal

Das folgende Programm in der Abbildung 13, welches mit dem TIA Portal in der Programmiersprache FUP erstellt wurde, hat zwei zentrale Aufgaben.
Im Netzwerk 1 wird dafür gesorgt, dass der Zylinderkolben eingefahren wird, wenn die Montage vollständig abgeschlossen ist. Während der Zylinderkolben eingefahren ist, wird der Warenträger mit dem fertig montierten HSHL-Untersetzer über das Förderband an die Station Verpackung weitergegeben. Das SR-Glied funktioniert nach einem simplen Prinzip. Wenn beim Eingang S (Set) ein Signal und gleichzeitig bei R1 (Reset) kein Signal ankommt, so wird der am Ausgang ein Signal ausgegeben. Sobald allerdings am Eingang R1 (Reset) ein Signal empfangen wird, so wird der Ausgang auf null zurückgesetzt und sendet kein Signal mehr aus. Der Eingang R1 (Reset) ist somit ein dominanter Eingang.
Das Netzwerk 2 ist für das Starten der Montagesequenz vom Roboter erforderlich. Wenn der induktive Sensor einen Warenträger an unserer Station erkennt und gleichzeitig kein Montagevorgang abgeschlossen ist, so wird ein Signal zum Start der Montagesequenz an den CX SmartController gesendet.

Abbildung 13: Programm im TIA Portal - Montage des HSHL-Untersetzers [14]

Originaldatei vom TIA-Programm: TIA-Programm - Untersetzer-Montage.

Komponententest

Um die in der Entwicklung erstellte Programmierung anwenden zu können, ist es wichtig, dass alle benötigten Komponenten einwandfrei funktionieren.

Komponente Status Datum getestet von
Tabelle 2: Komponentenstatus
Software ACE betriebsbereit 28.10.2022 Habbaba, Wortmann
Software TIA betriebsbereit 04.11.2022 Habbaba, Wortmann
4-Achsen Parallel-Roboter Quattro 650 (H/HS) betriebsbereit 28.10.2021 Habbaba, Wortmann
Siemens ET 200SP betriebsbereit 02.12.2022 Habbaba, Wortmann
CX SmartController betriebsbereit 09.12.2022 Habbaba, Wortmann
Druckluftzylinder betriebsbereit 13.01.2022 Habbaba, Wortmann
induktive Sensoren betriebsbereit 13.01.2022 Habbaba, Wortmann
Basler Kamera nicht getestet --- ---
MPS 500 zu bearbeiten --- ---


Integrationstest

Zum Testen der Integration zwischen der Siemens ET 200SP und dem Parallel-Roboter haben wir ein Programm mit der Software ACE und ein Programm mit der Software TIA Portal erstellt. In diesem Programm sollen die beiden genannten Komponenten miteinander interagieren. Das Zusammenspiel der beiden dafür erstellten Programme, welche wir in Abbildung 14 und dem darauffolgendem Programmcode in ACE sehen, kann wie folgt beschrieben werden:
Das ACE-Programm schickt ein Signal über den digitalen Ausgang 2 des CX SmartControllers an die SPS, nachdem die Montage vollständig durchgeführt wurde. Dieses Signal wird von dem digitalen Eingang der SPS mit der Eingangsadresse 8.1 entgegengenommen. Nun läuft das Programm der Software TIA-Portal. Dort wird durch den FUP-Baustein "TON" eine Einschaltverzögerung aktiviert. Diese Verzögerung zählt von 3 Sekunden runter. Wenn diese 3 Sekunden abgelaufen sind, wird ein Signal über den digitalen Ausgang Q4.1 an den digitalen Eingang 1001 des SmartController geschickt. Sobald dieses Eingangssignal registriert wird, läuft das ACE-Programm wieder weiter und der Montageablauf erfolgt erneut.

Abbildung 14: Programm im TIA Portal - Integrationstest zwischen Siemens ET200SP und dem CX SmartController [15]

Originaldatei von Abbildung 14: TIA-Programm - Test SmartController.

01.PROGRAM rob.main()
02
03        GLOBAL REAL run.rob
04        CALL rob.init()
05        CALL err.init()
06        CALL rob.move.safe()
07
08
09        ;Endlosschleife
10        WHILE (rob.run) DO
11
12            ;die Montage wird durchgeführt
13            CALL rob.picka()
14            CALL rob.placea()
15            CALL rob.pickb()
16            CALL rob.placeb()
17            CALL rob.pickc()
18            CALL rob.placec()
19
20            CALL rob.move.safe()
21
22            ;ein digitales Signal wird am Ausgang 2 ausgegeben
23            SIGNAL 2
24            TIMER (1) = 0
25            WAIT TIMER(1) > 0.1
26            SIGNAL -2
27
28            ;es wird gewartet bis ein digitales Eingangssignal von der SPS gesendet 29wird
30            WHILE NOT SIG(1001) DO
31                WAIT
32            END
33
34
35        END
36
37        RETURN
38.END

Programmcode für den Integrationstest mit der Software ACE [16]

Systemtest

Video: Systemtest zum Montieren des HSHL-Untersetzers [17]

In dem Video, welches Sie auf der rechten Seite sehen, wird der Montagevorgang des HSHL-Untersetzers durchlaufen. Zuerst fährt der Roboter die Sicherheitsposition (safe.loc). Anschließend beginnt der Montagevorgang bei dem die Einzelteile entnommen und auf der Grundplatte platziert werden. Zum Abschluss der Montage fährt der Roboter wieder in die Sicherheitsposition. Die Roboterbewegungen werden in diesem Video mit einer Geschwindigkeit von v = 0.75 ausgeführt. Mit diesem Roboter sind aber auch weitaus höhere Geschwindigkeiten möglich. Die Bewegungsgeschwindigkeit v kann aus einem Intervall von 0 bis 100 ausgewählt werden.

Eine passende Programmierung der MPS 500 zum Ansteuern des Druckluftzylinders war aus zeitlichen Gründen und fehlenden Wissen über die Verschaltung der einzelnen Stationen nicht möglich. Daher ist die Interaktion mit dem induktiven Sensor und dem Druckluftzylinder über die MPS 500 nicht in dem Video zu sehen.

Originaldatei vom Video: Montage eines HSHL-Untersetzers.


Abnahmetest

Ein Abnahmetest konnte aufgrund der fehlenden Ansteuerung des Druckluftzylinders mit der MPS 500 nicht durchgeführt werden.

Fazit

  • Unsere Herausforderungen
    • Verbindung zwischen TIA Portal und SPS
      Am Anfang konnten wir keine Verbindung herstellen, weil wir eine falsche IP-Adresse eingegeben haben. Danach haben wir erkannt, dass jeder Anschluss in der SPS eine eigene IP-Adresse hat. Zudem muss die IP-Adresse in dem Computer angepasst werden. Die Informationen darüber befinden sich hier.
    • Initialisierung der Peripheriemodule
      Nach Initialisierung der Peripheriemodulen muss man auf den Button "Übersetzen" in TIA-Portal drücken, um die Informationen vom Computer auf die SPS zu übertragen.
    • XDIO-Anschluss
      Pin-Muster ist von der richtigen Seite zu betrachten (Draufsicht auf den Anschluss des SmartControllers in Abbildung 11).
    • Automatisches Startprogramm vom Roboter
      Der Roboter führt nach dem Start ein automatisches Programm durch. Das Programm wird in einem kleinen Bereich durchgeführt. Um eine Kollision mit dem Förderband zu vermeiden, haben wir den Roboter kurz verschoben. Eine bessere Lösung wäre eine Ausschaltung des automatischen Programms.
    • Kommunikation mit der MPS 500
      Die MPS 500 ist eine Schnittstelle zwischen allen Stationen (1 bis 4). Die SPS leitet die Signale zwischen den Stationen, Sensoren und Aktoren weiter. Das geschieht aber nicht direkt, sondern über ein Bussystem. Außerdem gibt es mehrere Peripheren für die Ein- und Ausgänge, die adressiert werden müssen. Hier finden Sie weitere Informationen über MPS 500-Architektur.
  • Erworbenes Wissen
    • Verinnerlichung des V-Modells.
    • Umgang mit einer SPS sowie dessen Programmierung.
    • Ansteuern eines OMRON Parallel-Roboters.
    • Vorher erlernte Kenntnisse auffrischen, z.B. Logikgatter.
    • Gruppenarbeit sowie die Kommunikation mit den Kollegen.
  • Projektstand
    • Kommunikation zwischen Siemens ET200SP, MPS 500 und ACE konnte hergestellt werden.
    • Roboter hat auf induktien Sensor reagiert und den Montagevorgang vollständig vollzogen.
    • Programmierung des Roboter sowie der Siemens ET500SP für die Montage vollständig abgeschlossen.
    • Programmierung der MPS 500 muss noch angepasst werden.


  • Mögliche Optimierungen
    • Kameraüberwachung: Kamera zur Verbesserung der Präzision des Roboters über ACE einbinden (Lichtblenden notwendig, sodass die Kamera die Konturen und Farben erkennen kann).
    • Durch das ruckartige Stoppen des Schlittens auf dem Förderband verschieben sich die Teile des Untersetzers innerhalb der vorgesehenen Plätze. Dies kann vermieden werden durch
      - Anpassen der Konturen des Untersetzers
      - Anpassen der Toleranzen zwischen Grundplatte des Untersetzers, der Einzelteile und des Warenträger


Literatur