Steuerung der automatischen Legostein-Montieranlage: Unterschied zwischen den Versionen
Zeile 227: | Zeile 227: | ||
[[Datei:OR-Baustein.jpg |400px|thumb|Abbildung 7: OR-Baustein]] | [[Datei:OR-Baustein.jpg |400px|thumb|Abbildung 7: OR-Baustein]] | ||
[[Datei:SR.png|400px|thumb|Abbildung 8: SR-Glied]] | [[Datei:SR.png|400px|thumb|Abbildung 8: SR-Glied]] | ||
Der folgende Artikel beschäftigt sich mit der Programmierung der[http://193.175.248.52/wiki/index.php/Phoenix_Contact_AXC_Trainer_1050_PN SPS]. Zunächst werden die Grundlagern der verwendeten Funktionsbausteine erleutert, um die nachfolgende Programmierung besser nachvollziehen zu können. | Der folgende Artikel beschäftigt sich mit der Programmierung der [http://193.175.248.52/wiki/index.php/Phoenix_Contact_AXC_Trainer_1050_PN SPS]. Zunächst werden die Grundlagern der verwendeten Funktionsbausteine erleutert, um die nachfolgende Programmierung besser nachvollziehen zu können. | ||
=== Grundlagen FUP & Funkltionsbausteine=== | === Grundlagen FUP & Funkltionsbausteine=== |
Version vom 26. Februar 2018, 13:35 Uhr
Hauptartikel: Automatische Legostein Montieranlage
Autoren: Philip Strümper, Marcel Mertens
Betreuer: Prof. Dr. Mirek Göbel
Einleitung
Dieser Artikel ist im Rahmen des Praktikums "Produktionstechnik" im 7. Semester MTR WS 17/18 entstanden. Der Artikel dient zur Dokumentation der Arbeitsergebnisse des Praktikums zum Thema "Steuerung der automatischen Legostein-Montieranlage" und soll einer schnellen Einarbeitung in das Thema dienen.
Das Ziel dieser Gruppe ist es, die einzelnen Komponenten der Legostein-Montieranlage mithilfe einer SPS zum Leben zu erwecken. Der Artikel dokumentiert die hierzu notwendigen Vorbereitungen und Schritte.
Dieser Artikel ist Teil des Hauptartikels Automatische Legostein Montieranlage
Vorbereitung
Vor Beginn der Programmierung müssen Vorbereitungen getroffen werden, um die Programmstruktur festzulegen bzw. den Arbeitsablauf beim programmieren zu vereinfachen. Hierbei ist eine gute Kommunikation mit den weiteren Gruppen entscheidend, um Schnittstellen bzw. Ein- und Ausgänge der einzelnen Module und Komponenten zu definieren. Nach Rücksprache mit den Gruppen entstand der Funktionsplan.
Funktionsplan
Der Funktionsplan ist eine schematische Darstellung der gesamten Lego-Montieranlage. Innerhalb des Funktionsplans sind alle benötigten Ein- und Ausgänge auf der SPS und deren zugeordnete Position in der Anlage aufgetragen. Dabei sind die Eingänge in Blau und die Ausgänge in Rot eingefärbt. Für die Anlage werden folgende Ein- und Ausgänge benötigt:
Station | Eingänge | Ausgänge |
---|---|---|
Vibrationswendelförderer | Sensor "Förderband voll" | Ansteuerung Vibrationswendelförderer |
Förderung und Rückführung der Legosteine | Endlage Schrottposition | Ansteuerung Motor Förderband |
Endlage Position Vibrationswendelförderer | ||
Endlage Greifer oben/unten | ||
Farbsensor | ||
Lichtschranke | ||
Sortierung/ Pufferung/ Übergabe an den Roboter | Erkennung Legostein auf dem "Hubschrauber-Landeplatz" | Ansteuerung Linearachse (Rutschen) |
Ansteuerung Linearachse (Übergabe Roboter) | ||
Spannzylinder (1x pro Rutsche) | ||
UR3 Roboter | Farbanfrage des Roboters | Aktuelle Farbe (1x pro Farbe) |
Variablendefinition
Um den Funktionsplan im Programm der SPS abbilden zu können, müssen entsprechende Variablen für jede Funktion deklariert werden. Für eine bessere Übersicht wurden diese nach Ein- und Ausgängen angeordnet. Zu beachten ist, dass die Variablennamen auf eine Länge von maximal 16 Zeichen beschränkt sind. Aus diesem Grund wurde darauf verzichtet, den Variablentyp im Namen zu verwenden. Der Variablentyp wird bei Deklaration der Variablen festgelegt und ist im späteren Programm einsehbar.
Programmablaufplan
Der Begriff GRAFCET stammt aus dem Französischen und ist eine Abkürzung und steht für: GRAphe Fonctionnel de Commande Etape Transition. Ins Deutsche übersetzt bedeutet dies: Darstellung der Steuerungsfunktion mit Schritten und Weiterschaltbedingungen. GRAFCET ist die neue Norm für Ablaufbeschreibungen, Nachfolger der Ablaufbeschreibung "Funktionsplan". Die internationale DIN EN 60848 (GRAFCET) ersetzt in Deutschland die nationale DIN 40719, Teil 6 (Funktionsplan). Die Übergangsfrist, in der beide Normen angewendet werden dürfen, endet am 31. März 2005. [1]
Beim GRAFCET Plan wird zwischen Schritten und Transitionen unterschieden. Dabei beschreiben die Transitionen die Bedingungen, welche eintreten müssen, damit ein Schritt (Änderung des Ausgangs) erfolgen kann. Zum Beispiel kann die "Ausgangsbedingung" (Schritt) erst verlassen werden, sobald der Schalter zum Starten (Transition) umgelegt wurde. In der Abbildung sieht man einen GRAFCET Plan für die Gruppe Förderung und Rückführung der Legosteine. Der GRAFCET Plan dient dazu, den Programmablauf zu strukturieren und einen "Roten Faden" für das Programm zu erstellen. Die Benennungen der Schritte und Transitionen orientieren sich an der Variablendefinition, um eine einfache Zuordnung im Programm zu schaffen.
Relaisschaltungen
Da die anzusteuernden Motoren eine zu hohe Last für die SPS hat, werden zusätzliche Relaisschaltungen benötigt. Der Motor des Förderbandes der Gruppe Förderung und Rückführung der Legosteine benötigt ein Relais als Schließer, um eine separate Stromversorgung zu realisieren.
Relaisschaltung zum Umpolen eines Gleichstrommotors
Um das Greiferportal der Gruppe Förderung und Rückführung der Legosteine in beide Richtungen anzusteuern, wird eine weitere Relaisschaltung benötigt. Bei dem Greiferportal handelt es sich um einen zweiphasigen Gleichstrommotor. Die Schaltung wurde innerhalb des Schaltschrankes mit vier Relais aufgebaut. Zum Ansteuern in die jeweilige Richtung werden entweder die Relais A1 oder A2 für die entgegengesetzte Richtung geschlossen. Um die Schaltung zukünftig mit zwei Relais realisieren zu können, wurden zuästlich zwei neue Relais mit zwei Wechslern auf die Einkaufsliste gesetzt
Programmierung Legostein-Montieranlage
Der folgende Artikel beschäftigt sich mit der Programmierung der SPS. Zunächst werden die Grundlagern der verwendeten Funktionsbausteine erleutert, um die nachfolgende Programmierung besser nachvollziehen zu können.
Grundlagen FUP & Funkltionsbausteine
Der Funktionsplan (FUP) wurde als Programmsprache für das Programm genutzt. Diese Programmierung ist sehr benutzerfreundlich und leicht zu verstehen. Im Funktionsplan gibt es Funktionsbausteine die unterschiedlichste Funktionen besitzten. In den Abbildungen 6-8 sieht man die wichtigsten Bausteine, deren Schaltzeichen und Wahrheitstabellen. Nachfolgend werden die Bausteine erläutert.
AND-Baustein
Der AND-Baustein ist in der elektrotechnik eine Reihenschaltung. Alle Aktionen müssen ausgeführt werden damit der nächste Schritt gesetzt wird. Auf der nachfolgen Abbildung ist die gut durch die angefügte Wahrheitstabelle zur erkennen. Dieser Baustein ist mit einem Kaufmänischen UND zu kennzeichnen.
OR-Baustein
Der OR-Baustein ist in der elektrotechnik eine Parallelschaltung. Nur eine Bedingung muss erfüllt werden, damit der Ausgang gesetzt wird. In der nachfolgenden Abbildung ist dieser genauer beschrieben. Auch hier wird das Verhalten der Funktion mit einer Wahrheitstabelle dargestellt.
SR-Glied
Mit der Operation "Flipflop setzen rücksetzen" können Sie das Bit eines angegebenen Operanden abhängig vom Signalzustand an den Eingängen S und R setzen oder rücksetzen. Wenn der Signalzustand am Eingang S "1" und am Eingang R "0" ist, wird der angegebene Operand auf "1" gesetzt. Wenn der Signalzustand am Eingang S "0" und am Eingang R "1" ist, wird der angegebene Operand auf "0" zurückgesetzt.
Der Eingang R dominiert den Eingang S. Bei einem Signalzustand "1" an beiden Eingängen S und R wird der Signalzustand des angegebenen Operanden auf "0" zurückgesetzt. Bei einem Signalzustand "0" an beiden Eingängen S und R wird die Operation nicht ausgeführt. Der Signalzustand des Operanden bleibt in diesem Fall unverändert. Der aktuelle Signalzustand des Operanden wird auf den Ausgang Q übertragen und kann an diesem abgefragt werden. [2].
Farbsensor
Die Programmierung startet mit der Abfrage des Farbwertes. Hierzu wird bei jedem Zyklus die aktuelle Farbe abgefragt. Sollte der Farbsensor eine Farbe erkennen, speichert er die Farbe durch ein SR-Glied ab. Der SR-Baustein ist solange aktiv bis eine neue Farbe erkannt wird. Auf dem nachfolgenden Bild ist ein Ausschnitt aus der Programmierung zu sehnen. So ist sichergestellt, dass immer nur eine Farbe aktiv ist (Farbe_xy = 1).
Ablaufsteuerung
Die Grundlage der Programmierung ist eine Ablaufsteuerung. Eine Ablaufsteuerung (englisch: sequential control) oder auch Schrittkette ist eine Steuerung, die schrittweise abläuft. Dieser Ablauf erfolgt zwangsläufig, wobei das Weiterschalten von Schritt A zu Schritt B durch Weiterschaltbedingungen (Transitionen) erfolgt, z. B. ein Zylinder fährt aus, transportiert ein Werkstück, dieses wird dann gespannt.
Der Entwurf von Ablaufsteuerungen kann nach DIN EN 60848 mit GRAFCET erfolgen, die Implementierung nach IEC 61131-3 mit Sequential Function Chart (SFC). Wird eine Ablaufsteuerung durch eine SPS realisiert, dann bietet sich zur Programmierung die Ablaufsprache an. [3].
Um die Ablaufsprache zu implementieren, werden interne Schritte gesetzt. Angefangen wird mit dem Initaialschritt 0. Auf der folgenen Abbildung ist der Auszug aus dem Programm zu sehen. Die erste Transition die erfüllt werden muss ist eine große UND-Verknüpfung. Wenn diese erfüllt ist, wird der Motor von dem Greifer bestromt. Somit fährt der Greifer in Rictung Aufnahmeposition. Erreicht der Greifer diese, wird der SR-Baustein für den Motor wieder deaktiviert. Intern wird der Schritt 1 gesetzt.
Im Schritt 1 aktiviert worden ist, kann der Greifer nun nach unten fahren. Auch dies wird mit einer UND-Verknüfung durchgeführt. Erreicht der Greifer die Endlage unten läuft eine Zeit ab. Um Zeitfunktionen zu nutzen wird ein TON-Baustein verwendet. Dies ist eine Zeitverzögerung. In dem Parameter Time_Greifer kann die Wartezeit in der unteren Endlage definiert werden. In dieser Wartezeit greift der Greifer unten den Legostein. Nach Ablauf der Wartezeit wird intern der Schritt 2 gesetzt.
Nach dem intern setzten des zweiten Schrittes erfolgt nun die Rückführung der Legosteine. Wenn der Greifer in der oberen Endlage ist, entscheidet sich das Programm zu welcher Position der Greifer fahren soll. Zur Auswahl stehen zwei Möglichkeiten. Die erste Möglichkeit ist sind die " Schlechtteile " und die andern " Gutteile ". In dem Probelauf wurden die blauen, gelben und roten Legosteine als Gutteile betrachtet. Die schwarzen Legosteine sind in diesm Fall die Schlechtteile.
Nach der Entscheidung der Farbe wird der Motor nun in die Gegenseitige Richtung bewegt. Dies passiert wieder durch ein SR-Glied. Ist die korrekte Position erreicht, so bleibt der Motor stehen und der Greifer öffnet sich. Nun kan der Greifer den nächsten Legostein aufsammeln.
Ansteuerung Greifer
Die Ansteuering des Greifers erfolgt in einem Zwischenschritt zwischen zwei und drei. Dieser ist sehr simpel aufgebaut. Auch dies ist ein SR-Grundstein. Dieser wird gesetzt wenn der Hubarm des Greifers sich in der unteren Endlage befindet. Dieser bleibt solange geschlossen, bis sich der Greifer über der richtigen Abwurfstelle befindet. Der Greifer lässt im ersten Fall über der Schrottposition los, falls er ein Schwarzen Stein hat. Bei jeder anderen Farbe fährt das Portal bis zum Vibrationswendelförderer.
Ansteuerung Förderband
Das Förderband startet durch den Start-Taster. Dies Fördert so lange, bis sich ein Legostein in der Endlage befindet. Eine Sonderbedingung zur Demonstration der Anlage ist mit eingeflossen. Blaue Steine werden nicht erkannt und werden weitergefördert.
Ansteuerung Vibrationswendelförderer
Um den Vibrationswendelförder abschalten zu können wird dieser ebenfalls in die Programmierung mit einbezogen. Da sich am Auslass des Wendelförderers eine Lichtschranke befindet, wird diese eingelesen. Um den Wendelförderer nicht immer einzuschalten wird mit einer Hysterese gearbeitet.
Der Zweipunktregler ist ein typisches Beispiel. Trägt man die Ursache (Eingangsgröße) auf einer horizontalen Achse auf, sowie die Wirkung (Ausgangsgröße) auf der vertikalen Achse, so weist die Kurve zwei waagerechte Level auf. Der Übergang vom oberen auf den unteren Level findet bei einem niedereren x-Achsen-Punkt statt als der Übergang von unten nach oben, wodurch eine Hysterese erkennbar wird.
Als Beispiel dient das Ausklappen des Heckspoilers bei einem Auto: Diese „Luftklappe“ soll bei geringer Geschwindigkeit eingefahren und oberhalb von 80 km/h ausgefahren sein, um den Anpressdruck der Hinterräder zu erhöhen. Wenn das Auto in einer Kolonne fährt, deren Geschwindigkeit ständig zwischen 78 km/h und 83 km/h schwankt, würde das ständige Ein- und Ausfahren die Spoiler-Mechanik unnötig beanspruchen. Das wird durch ein hysteresebehaftetes Schaltverhalten vermieden:
- Oberhalb von 80 km/h wird ausgefahren, untere Linie auf der Hysteresekurve.
- Unterhalb von 60 km/h wird eingefahren, obere Linie auf der Hysteresekurve.[4].
Dieses Prinzip wird ebenfalls hier angewendet. Die Ein-und Ausschalthyterese liegt bei 2 Sekunden.
Ansteuerung Schrittmotor
Zum Ansteuern des Schrittmotors benötigt dieser eine Signalflanke. Bei Digitalsignalen sind Signalflanken die Übergänge zwischen den Signalzuständen high (H) und low (L), bezeichnet als steigende und fallende Flanke.[5].
Durch die beiden Zeitverzögerungen wird ein Flankensignal in Form einer Rechteckspannung generiert. Abbildung 15 zeigt schematisch den generierten Spannungsverlauf über die ZeitDer Parameter Zeit1 beschreibt die jeweilige Länge der high und low. Der Zähler gibt vor wie viele Flanken er generiern soll. Je nach Farbe wird ein neuer Wert in den Zähler geschrieben. Der verwendete Zähler ist ein Abwärtszähler. Erreicht der Zähler null so werden keine Flanken mehr generiert. Die Variabel Testausgang wird auf den GeckoDrive gelegt.
Schaltschrankbau
Schaltschrankmontage
Ein weiterer Meilenstein ist der Schaltschrank. Hierzu wurde ein Schaltschrank in den Maßen 600mm x 500mm x 210mm beschafft. Dieser wurde auf einer Holzplatte direkt am Tisch montiert. Die Abbildung zeigt die Anbringung des Schaltschrankes direkt am Tisch. Um die Spannungsversorgung im Notfall zu unterbrechen ist ein Not-Aus Schalter montiert. Um das Programm zu starten ist auf dem Schaltschrank ein An-Aus Wippschalter montiert.
Schaltschrankausbau
In der folgenden Abbildung ist der fertige Schaltschrank von innen zu sehen.Die SPS wurde auf Hutschienen montiert. Der Analog-Baustein ist ebenfalls montiert, da ansonsten ein "Bus-Fehler" entsteht. Auf den untenliegenden Reihenklemmen gibt es jeweils zehn Steckplätze für die Versorgungsspannung +24V und zehn weitere für 0V. Die folgenden 21 Reihenklemmen bilden elf Ausgänge und zehn Eingänge der SPS ab und dienen als Schnittstelle zu den einzelnen Komponenten. Für die Spannungsversorgung ist ein Netzteil im Schaltschrank verbaut. Links neben dem Netzteil finden sich die Relais für die Relaisschaltungen des Greiferportals und des Förderbandes.
Belegung der Reihenklemmen
Die im unteren Bereich des Schaltschranks befindlichen Reihenklemmen bieten die Schnittstelle zwischen den einzelnen Modulen und Komponenten und der SPS. Der Belegungsplan trägt die Reihenklemmen von links nach rechts aufsteigend nummeriert mit deren Funktionen auf. Klemmen 1-20 dienen der Spannungsversorgung der Module. Die folgende Abbildung zeigt den Belegungsplan der Reihenklemmen für die Ein- und Ausgänge der SPS. Ein vollständiger Belegungsplan findet sich unter "Dateien".
Zusammenfassung
Im Praktikum geleistete Themen:
- Inbetriebnahme der Phoenix Contact AXC Trainer 1050 PN
- Programmierung der einzelnen Stationen und Module der automatischen Legostein-Montiernanlage
- Bereitstellung von Schnittstellen für noch fehlende Komponenten (Bsp. Farbsensor)
- Anbringung des Schaltschranks
- Ausbau des Schaltschranks
- Dokumentation der Arbeitsergebnisse
Ausblick
Weitere Schritte zur Vervollständigung des Projektes:
- Einbindung des UR3 Roboter
- Ansteuerung der Zahnriemenachse mithilfe des GeckoDrive
- Auswahl und Einbindung eines geeigneten Farbsensors
Schnittstellen zu anderen Gruppen
- Zuführung der Legosteine mittels Vibrationswendelförderer
- Förderung der Legosteine und Rücktransport in den Vibrationswendelförderer
- Sortierung/Pufferung der Legosteine und Übergabe an den Roboter
- Montage der Legosteine mit dem UR3-Roboter
Dateien
Datei:Variablendefinition XLSX.xlsx
Datei:Reihenklemmenbelegung Schaltschrank XLSX.xlsx
Hinweis zum Einbinden des SPS Programms:
- .zip Archiv herunterladen
- .zip Archiv entpacken
- gesamten Ordner in PC WORX einbinden
Editierte Bilder:
Datei:Schaltschrank Montage Original PDF.pdf
Datei:Schaltschrank innen Original PDF.pdf
Literaturverzeichnis
Hauptartikel: Automatische Legostein Montieranlage