Steuerung der automatischen Legostein-Montieranlage: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(139 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Hauptartikel:''' [http://193.175.248.52/wiki/index.php/Automatische_Legostein-Montieranlage Automatische Legostein Montieranlage]
'''Hauptartikel:''' [https://wiki.hshl.de/wiki/index.php/Automatische_Legostein-Montieranlage Automatische Legostein Montieranlage]


'''Autoren:''' [[Benutzer:Philip Struemper|Philip Strümper]], [[Benutzer:Marcel Mertens|Marcel Mertens]]  
'''Autoren:''' [[Benutzer:Philip Struemper|Philip Strümper]], [[Benutzer:Marcel Mertens|Marcel Mertens]]  
Zeile 7: Zeile 7:
== Einleitung ==
== 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.  
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.  
Wir bedanken uns hiermit ganz besonders bei PHOENIXCONTACT für die großzügige Spende der SPS-Komponenten!


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.
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.
Zeile 15: Zeile 17:
== Vorbereitung==
== 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.  
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===  
===Funktionsplan===  
Zeile 122: Zeile 124:
[[Datei:Grafcet.jpg|300px|thumb|Abbildung 4: GRAFCET Plan ]]
[[Datei:Grafcet.jpg|300px|thumb|Abbildung 4: GRAFCET Plan ]]


Der Begriff GRAFCET stammt aus dem Französischen und ist eine Abkürzung und
Der Begriff GRAFCET stammt aus dem Französischen und ist eine Abkürzung, welche für: GRAphe Fonctionnel de Commande Etape Transition. Ins Deutsche
steht für: GRAphe Fonctionnel de Commande Etape Transition. Ins Deutsche
übersetzt bedeutet dies: Darstellung der Steuerungsfunktion mit Schritten und
übersetzt bedeutet dies: Darstellung der Steuerungsfunktion mit Schritten und
Weiterschaltbedingungen. GRAFCET ist die neue
Weiterschaltbedingungen. GRAFCET ist die neue
Zeile 135: Zeile 136:




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 [http://193.175.248.52/wiki/index.php?title=F%C3%B6rderung_der_Legosteine_und_R%C3%BCcktransport_in_den_Vibrationswendelf%C3%B6rderer&action=edit&redlink=1 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.
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 4 sieht man einen GRAFCET Plan für die Gruppe [http://193.175.248.52/wiki/index.php?title=F%C3%B6rderung_der_Legosteine_und_R%C3%BCcktransport_in_den_Vibrationswendelf%C3%B6rderer&action=edit&redlink=1 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. Bei dem abgebildeten GRAFCET Plan handelt es sich um eine vereinfachte Darstellung, welche nur die Station  [http://193.175.248.52/wiki/index.php?title=F%C3%B6rderung_der_Legosteine_und_R%C3%BCcktransport_in_den_Vibrationswendelf%C3%B6rderer&action=edit&redlink=1 Förderung und Rückführung der Legosteine] beinhaltet. Im Dateiverzeichnis findet sich ein vollständiger GRAFCET Plan der gesamten Anlage.




Zeile 214: Zeile 215:


Um das Greiferportal der Gruppe [http://193.175.248.52/wiki/index.php?title=F%C3%B6rderung_der_Legosteine_und_R%C3%BCcktransport_in_den_Vibrationswendelf%C3%B6rderer&action=edit&redlink=1 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
Um das Greiferportal der Gruppe [http://193.175.248.52/wiki/index.php?title=F%C3%B6rderung_der_Legosteine_und_R%C3%BCcktransport_in_den_Vibrationswendelf%C3%B6rderer&action=edit&redlink=1 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
----
== Grundlage SPS ==
=== Geschichte der SPS ===
Ursprünglich wurden Steuerungen von Maschinen und Anlagen mit Relaisschaltungen erstellt. Dabei wurden die Kontakte in Reihe oder parallel geschaltet, um so die gewünschte Steuerung zu realisieren. Vorwiegend wurden dabei binäre und boolesche Signale verarbeitet.
Es entstand der Begriff "Programmierbare Steuerung" durch die amerikanische Bezeichnung für "Programmable Computer" oder abgekürzt PC. Mittlerweile wird die Abkürzung PC für "Personal Computer" verwendet. So musste man einen neuen Namen erfinden. Daraus entstand die Abkürzung SPS und steht für "Speicher Programmierbare Steuerung".
Entstanden ist die Idee der programmierbaren Steuerungen 1968 von General Motors. Man suchte nach anderen Möglichkeiten als die verbindungsprogrammierten (festverdrahteten) Relais-, Schütz- oder Elektroniksteuerungen. Folgende Kriterien sollten ausschlaggebend für die neue Art von Steuerungen sein:
* Eine Steuerung sollte bei Veränderungen möglichst rasch umprogrammierbar sein, beispielsweise wenn die Anlagen umgebaut werden.
* Die Kosten für die Entwicklung einer Steuerung sollte den anderen bekannten Steuerungstypen überlegen sein. Auch sollte die Steuerung zuverlässiger arbeiten.
Die Forderung der "Speicherprogrammierbaren Steuerungen" konnte durch die fortschreitende Technologie erfüllt werden. Eine SPS besteht aus einem bit- oder wortorientiertem Prozessor mit verschiedenen Speichermedien. Es gibt auch spezielle Software um komplexe Steuerungsprogramme in einer anwenderorientierten Programmiersprache zu programmieren (FUP, KOP, AWL, Graph).
Nach und nach wurden fest verdrahtete Relaissteuerungen durch Mikroprozessoren ersetzt. Steuerungsprogramme konnten schnell erstellt und verändert werden. Damit die Techniker bei ihrer Denkweise bleiben konnten, wurde die Programmierung mit Kontaktplan (KOP) entwickelt. Ein Kontaktplan lehnt sich ganz stark an Stromlaufplänen an. Somit wurde den Technikern ein einfacher Umstieg ermöglicht. Später wurde die maschinenorientierte Anweisungsliste (AWL) sowie der grafische Funktionsplan (FUP) entwickelt.
Nachdem man zuerst vorwiegend mit Binärsignalen gearbeitet hatte, entwickelten die Hersteller auch die Möglichkeit, Zeiten, Zahlen oder Gleitkommazahlen zu verarbeiten. Somit war es möglich, auch mit Analogwerten zu arbeiten.
1992 wurde die internationale Norm IEC 61131 definiert. Diese Norm soll eine herstellerunabhängige und einheitliche Programmiersprache für SPS darstellen. Die meisten SPS-Systeme können heutzutage mit dieser internationalen Norm programmiert werden. Als Programmiersprachen werden weitgehend die maschinenorientierten Sprachen AWL, KOP und FUP verwendet.
<ref>
[https://www.sps-lehrgang.de/geschichte-der-sps/  Geschichte der SPS] </ref>.
=== Verwendung SPS [http://193.175.248.52/wiki/index.php/Phoenix_Contact_AXC_Trainer_1050_PN Phoenix Contact AXC Trainer 1050 PN] ===
Nach der Definition der Ein- und Ausgänge kann die Hardware dementsprechend ausgesucht werden.  Durch die Vorgaben des Praktikums wird sich für eine Steuerung der Firma Phönix entschieden.
----
=== Vorstellung Programmiersprachen ===
Die Programmierung der SPS findet am Computer statt. Um dort die Logik in einen Maschinencode zu kompilieren muss eine Schnittstelle mit einem Softwareprogramm erfolgen. Mit unterschiedlichen Programmiersprachen kann dies erfolgen. Nachfolgend werden die wichtigsten und meist verwendete Programmiersprachen dargestellt.
==== AWL ====
Die Anweisungsliste AWL nach der Norm IEC DIN EN 61131-3 ist eine maschinennahe textbasierende Programmiersprache. In der Programmiersprache Anweisungsliste AWL werden einzelne Anweisungen in der Reihenfolge geschrieben wie die CPU diese dann abarbeiten soll. Die Programmiersprache AWL ist Bestandteil der Basissoftware der meisten Speicher Programmierbaren Steuerungen. Mit Hilfe von inkrementellen Editoren können in AWL die Bausteine bearbeitet werden. Mit einem quellorientierten Editor können AWL-Quellen erstellt und in Bausteine übersetzt werden.
<ref>
[https://www.sps-lehrgang.de/anweisungsliste-awl SPS Lehrgang AWL] </ref>.
[[Datei:Bespiel AWL.jpg]]
----
==== KOP ====
Mit der Darstellungsart KOP haben SPS-Programmierer eine Möglichkeit, die Programme grafisch zu erstellen und darzustellen. Damit Elektrikern ein Einstieg oder Umstieg in die SPS-Programmierung erleichtert wird, ist die Programmdarstellung ähnlich wie bei Stromlaufplänen. So wurde eine Brücke für Elektriker geschaffen, die bisher nur mit Verbindungsprogrammierten Steuerungen vertraut waren, bei der eine Steuerung durch Verdrahtung von Schützen und Relais realisiert wird. Die Darstellungsart KOP wurde in der Programmiernorm 61131-3, neben weiteren wie AWL und FUP, als eine Standardprogrammiersprache festgelegt.
Bei der Programmierung in KOP werden Symbole wie Öffner, Schließe, Spulen oder Lampen benutzt, die auch in Stromlaufplänen verwendet werden. In einem Netzwerk bilden sie durch Zusammenfassung zu logischen Strukturen einen Teil des gesamten Programms, das in der Regel aus mehreren Netzwerken besteht. Nachfolgend eine Übersicht in einer Bildergalerie mit den verschiedenen Darstellungsarten FUP, KOP und AWL zum Vergleich.
<ref>
[https://www.sps-lehrgang.de/kontaktplan-kop/ SPS Lehrgang KOP] </ref>.
[[Datei:Bespiel KOP.jpg]]
----
==== FUP ====
Ein SPS-Programm kann mit Graph und KOP grafisch erstellt und dargestellt werden. Die Möglichkeit, die Programmierung grafisch vorzunehmen, gibt es auch mit dem Funktionsplan, kurz FUP genannt. Hierbei werden Bausteine mit Symbolen benutzt, die aus der booleschen Algebra bekannt sind und in Blockdarstellung abgebildet. So wird auch bei komplexen Funktionen der logische Aufbau eines SPS-Programms übersichtlich dargestellt.
Besonders Anfänger beginnen die ersten Programmierschritte mit FUP, da das Verhalten von Ein- und Ausgängen so am besten nachvollziehbar ist. Die Programmierung mit FUP ist in der Programmiernorm 61131-3, neben weiteren als ein Standard festgelegt. Für die Erstellung des Programms wird ein inkrementeller Editor benutzt.
In FUP werden keine Symbole für Öffner wie in KOP benutzt. Stattdessen erfolgt die Darstellung des Öffnerverhaltens durch die Negation der Eingänge. In der nachfolgenden Bildergalerie ist eine Übersicht mit den verschiedenen Darstellungsarten AWL, KOP und FUP zum Vergleich.
<ref>
[https://www.sps-lehrgang.de/funktionsplan-fup/ SPS Lehrgang FUP] </ref>.
[[Datei:Bespiel FUP.jpg]]
----
==== STL ====
Als Standard Template Library (STL) werden verschiedene in der Programmiersprache C++ geschriebene Bibliotheken bezeichnet. Diese Programmiersprache basiert aus der rein textbasierten Programmiersprache von C++. Erfahrende Programmierer nutzen diese Sprache um komplexe Schaltungen oder Abläufe zu programmieren.
[[Datei:Bespiel STL.png|500px]]


== Programmierung Legostein-Montieranlage==
== 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. Nachfolgend sind die wichtigsten Bausteine genauer erleutert:
====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. &
[[Datei:AND-Baustein.jpg |400px|]]
==== 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.
[[Datei:OR-Baustein.jpg | 400px]]




==== SR-Glied====
Die Programmierung wird mit einer [http://193.175.248.52/wiki/index.php/Speicherprogrammierbare_Steuerung_SPS SPS] durchgeführt. Für die Programmierung wird mit einer [http://193.175.248.52/wiki/index.php/Phoenix_Contact_AXC_Trainer_1050_PN Phoenix Contact AXC Trainer 1050 PN] gearbeitet. In den folgenden Schritten wird auszugsweise das Programm erläutert.
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.
<ref>
[https://www.xplore-dna.net/mod/page/view.php?id=173 Logikfunktionen SR] </ref>.


[[Datei:SR.png|350px]]
----
----


Zeile 343: Zeile 228:
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).
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).


[[Datei:Farbsensor.jpg]]
[[Datei:Farbsensor.jpg|gerahmt|zentriert|Abbildung 6: Programmierung Farbsensor]]


=== Ablaufsteuerung ===
===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.
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.
Zeile 354: Zeile 239:




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.
Um die Ablaufsprache zu implementieren, werden interne Schritte gesetzt. Dies geschiet mit der FUP-Programmiersprache 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 =1 gesetzt. Somit fährt der Greifer in Rictung Aufnahmeposition. Erreicht der Greifer diese, wird der SR-Baustein für den Motor (Aufnahme_Band) 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.  
Wenn 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.  


[[Datei:Schritt1.jpg]]
[[Datei:Schritt1.jpg|gerahmt|zentriert|Abbildung 7: Schrittsteuerung Schritt 1]]


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 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 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.
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.


[[Datei:Schritt2.jpg]]
[[Datei:Schritt2.jpg|gerahmt|zentriert|Abbildung 8: Schrittsteuerung Schritt 2]]


=== Ansteuerung Greifer ===
=== Ansteuerung Greifer ===
Zeile 370: Zeile 255:
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.
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.


[[Datei:Greifer Lego.png]]
[[Datei:Greifer Lego.png|gerahmt|zentriert|Abbildung 9: Programmierung Greifer]]


=== Ansteuerung Förderband ===  
=== Ansteuerung Förderband ===  
Zeile 376: Zeile 261:
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.  
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.  


[[Datei:Förderband Lego.png]]
[[Datei:Förderband Lego.png|gerahmt|zentriert|Abbildung 10: Programmierung Förderband]]


=== Ansteuerung Vibrationswendelförderer ===  
=== 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.  
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 [https://de.wikipedia.org/wiki/Hysterese#Zweipunktregler 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.
Der [https://de.wikipedia.org/wiki/Hysterese#Zweipunktregler 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.
Zeile 392: Zeile 277:
Dieses Prinzip wird ebenfalls hier angewendet. Die Ein-und Ausschalthyterese liegt bei 2 Sekunden.
Dieses Prinzip wird ebenfalls hier angewendet. Die Ein-und Ausschalthyterese liegt bei 2 Sekunden.


[[Datei:Vibrationswendelförderer.png]]
[[Datei:Vibrationswendelförderer.png|gerahmt|zentriert|Abbildung 11: Programmierung Vibrationswendelförderer]]


=== Ansteuerung Schrittmotor ===
=== Ansteuerung Schrittmotor ===
Zeile 399: Zeile 284:
[https://de.wikipedia.org/wiki/Signalflanke Signalflanke] </ref>.
[https://de.wikipedia.org/wiki/Signalflanke Signalflanke] </ref>.


 
Durch die beiden Zeitverzögerungen wird ein Flankensignal in Form einer Rechteckspannung generiert. Abbildung 13 zeigt schematisch den generierten Spannungsverlauf über die Zeit. Der Parameter Zeit1 beschreibt die jeweilige Länge der high und low Signale. 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 [http://193.175.248.52/wiki/index.php/Geckodrive_Schrittmotortreiber GeckoDrive] gelegt.
[[Datei:Signalflanke.png]]
[[Datei:Signalflanke.png|gerahmt|zentriert|Abbildung 12: Programmierung Schrittmotor]]
 
[[Datei:Rechteckspannung.png|gerahmt|zentriert|Abbildung 13: Rechtecksignal]]
 
Durch die beiden Zeitverzögerungen wird ein Flankensignal in Form einer Rechteckspannung generiert. Abbildung x 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 [http://193.175.248.52/wiki/index.php/Geckodrive_Schrittmotortreiber GeckoDrive] gelegt.
 
[[Datei:Rechteckspannung.png]]


== Schaltschrankbau ==
== Schaltschrankbau ==
Zeile 411: Zeile 292:
===Schaltschrankmontage===
===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.
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 14 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.


[[Datei:Schaltschrank Montage.jpg|400px]]
[[Datei:Schaltschrank Montage.jpg|gerahmt|zentriert|Abbildung 14: Schaltschrank Montage]]


===Schaltschrankausbau===
===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 [http://193.175.248.52/wiki/index.php/Phoenix_Contact_AXC_Trainer_1050_PN 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.
In der folgenden Abbildung 15 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 [http://193.175.248.52/wiki/index.php/Phoenix_Contact_AXC_Trainer_1050_PN 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.


[[Datei:Schaltschrank innen.jpg]]
[[Datei:Schaltschrank innen.jpg|gerahmt|zentriert|Abbildung 15: Schaltschrank Innenansicht]]


===Belegung der Reihenklemmen===
===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".
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. Abbildung 16 zeigt den Belegungsplan der Reihenklemmen für die Ein- und Ausgänge der SPS. Ein vollständiger Belegungsplan findet sich unter "Dateien". Abbildung 17 und Abbildung 18 zeigen jeweils die Variablenbelegung für die Ein- und Ausgänge der SPS.
 


[[Datei:Belegung_SPS.jpg]]
[[Datei:Belegung_SPS.jpg|gerahmt|zentriert|Abbildung 16: Belegung der Reihenklemmen]]
[[Datei:Belegung_Ausgänge.png|gerahmt|zentriert|Abbildung 17: Belegung der Ausgänge der SPS]]
[[Datei:Belegung_Eingänge.png|gerahmt|zentriert|Abbildung 18: Belegung der Eingänge der SPS]]


== Zusammenfassung ==
== Zusammenfassung ==

Aktuelle Version vom 22. Oktober 2019, 14:40 Uhr

Hauptartikel: Automatische Legostein Montieranlage

Autoren: Philip Strümper, Marcel Mertens

Betreuer: Prof. Dr. Mirek Göbel

Abbildung 1: Steuerung der automatischen Legostein-Montieranlage

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.

Wir bedanken uns hiermit ganz besonders bei PHOENIXCONTACT für die großzügige Spende der SPS-Komponenten!

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

Abbildung 2: Funktionsplan der Lego-Montieranlage

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

Abbildung 3: Variablendefinition der Lego-Montieranlage

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

Abbildung 4: GRAFCET Plan

Der Begriff GRAFCET stammt aus dem Französischen und ist eine Abkürzung, welche 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 4 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. Bei dem abgebildeten GRAFCET Plan handelt es sich um eine vereinfachte Darstellung, welche nur die Station Förderung und Rückführung der Legosteine beinhaltet. Im Dateiverzeichnis findet sich ein vollständiger GRAFCET Plan der gesamten Anlage.




































Relaisschaltungen

Abbildung 5: Relaisschaltung Umpolung

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

Die Programmierung wird mit einer SPS durchgeführt. Für die Programmierung wird mit einer Phoenix Contact AXC Trainer 1050 PN gearbeitet. In den folgenden Schritten wird auszugsweise das Programm erläutert.



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).

Abbildung 6: Programmierung Farbsensor

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. [2].


Um die Ablaufsprache zu implementieren, werden interne Schritte gesetzt. Dies geschiet mit der FUP-Programmiersprache 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 =1 gesetzt. Somit fährt der Greifer in Rictung Aufnahmeposition. Erreicht der Greifer diese, wird der SR-Baustein für den Motor (Aufnahme_Band) wieder deaktiviert. Intern wird der Schritt 1 gesetzt.

Wenn 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.

Abbildung 7: Schrittsteuerung Schritt 1

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 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.

Abbildung 8: Schrittsteuerung Schritt 2

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.

Abbildung 9: Programmierung Greifer

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.

Abbildung 10: Programmierung Förderband

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.[3].

Dieses Prinzip wird ebenfalls hier angewendet. Die Ein-und Ausschalthyterese liegt bei 2 Sekunden.

Abbildung 11: Programmierung Vibrationswendelförderer

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.[4].

Durch die beiden Zeitverzögerungen wird ein Flankensignal in Form einer Rechteckspannung generiert. Abbildung 13 zeigt schematisch den generierten Spannungsverlauf über die Zeit. Der Parameter Zeit1 beschreibt die jeweilige Länge der high und low Signale. 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.

Abbildung 12: Programmierung Schrittmotor
Abbildung 13: Rechtecksignal

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 14 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.

Abbildung 14: Schaltschrank Montage

Schaltschrankausbau

In der folgenden Abbildung 15 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.

Abbildung 15: Schaltschrank Innenansicht

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. Abbildung 16 zeigt den Belegungsplan der Reihenklemmen für die Ein- und Ausgänge der SPS. Ein vollständiger Belegungsplan findet sich unter "Dateien". Abbildung 17 und Abbildung 18 zeigen jeweils die Variablenbelegung für die Ein- und Ausgänge der SPS.


Abbildung 16: Belegung der Reihenklemmen
Abbildung 17: Belegung der Ausgänge der SPS
Abbildung 18: Belegung der Eingänge der SPS

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

Dateien

Datei:Funktionsplan PDF.pdf

Datei:Funktionsplan VSDX.vsdx

Datei:Variablendefinition XLSX.xlsx

Datei:GRAFCET PDF.pdf

Datei:GRAFCET VSDX.vsdx

Datei:Reihenklemmenbelegung Schaltschrank XLSX.xlsx

Datei:Programm SPS.zip

Hinweis zum Einbinden des SPS Programms:

  1. .zip Archiv herunterladen
  2. .zip Archiv entpacken
  3. 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