TIA Automatische Aufgabenplanung für einen Manipulator

Tmbiz

Level-2
Beiträge
590
Reaktionspunkte
15
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

in meinem aktuellen Projekt geht es um den Materialtransport und die Bearbeitung von Werkstücken. Die Fertigungszelle besteht aus 8 Stationen und zwei Manipulatoren (Roboter). Je nach Kunde kann es sein, dass alle 8 Stationen die gleiche Bearbeitung durchführen. Es kann aber auch sein, dass jede Station eine individuelle Bearbeitung durchführt. Es ist aber auch möglich, dass zwei Stationen eine identische Bearbeitung durchführen, da der Prozess in der Station sehr lange dauert. Wichtig ist, dass die Bearbeitung unter Schutzgas erfolgt. Deshalb gibt es mehrere Schleusen.

Die Werkstücke kommen von einem Logistiksystem in einem Träger (es können mehrere Werkstücke im Träger sein) und werden in Reichweite des ersten Manipulators platziert. Dieser nimmt die Werkstücke auf und legt sie in eine Messstation. Möglicherweise gibt es noch eine Station zum Reinigen oder Vorbereiten. Anschließend legt der erste Manipulator das Werkstück in eine von zwei Schleusen. Von dort übernimmt der zweite Manipulator das Werkstück und bestückt die Bearbeitungsstationen. Wenn die Werkstücke bearbeitet sind, müssen sie je nach Anforderung durch eine der Schleusen und den ersten Manipulator zurück in den Träger oder erste zu einer anderen Bearbeitungsstation und erst dann zurück über die Schleuse usw..

Wichtig ist, dass es Kunden gibt, die noch eine Sonderform haben. Es gibt Kunden, die die Stationen reinigen müssen. Dazu wird ein sogenanntes Reinigungswerkstück aus einer speziellen Station entnommen und in eine der Bearbeitungsstationen transportiert. Das Magazin für diese Reinigungswerkstücke befindet sich in Reichweite des ersten Manipulators. Die Reinigung hängt von verschiedenen Faktoren ab und kann im normalen Planungszyklus nicht berücksichtigt werden. Es kann jedoch berechnet werden, dass nach x Bearbeitungszyklen eine Reinigung erforderlich ist. Es kann also sein, dass ein Werkstück aus der Station muss, dann die Reinigung und dann das Werkstück zurück in der Station und die Bearbeitung beenden.

Auf einer externen Applikation gibt es ein Programm, in dem der Vorarbeiter die Bearbeitungsschritte für die Werkstücke festlegen kann. Er kann auch sagen, in welcher Station das passieren soll. Die Idee ist aber, dass die Planung nun von einem Verwaltungssystem erstellt werden soll. Die Logik soll nun frei entscheiden, über welchen Weg und zu welcher Station das Werkstück gefördert werden soll. Wichtig ist, dass es so schnell wie möglich abläuft und die Logik immer den optimalen Weg berechnet.

Wir könnten als Beispiel auch eine Firma mit verschiedenen Hallen und Arbeitsplätze verwenden. Es gibt verschiedene Tore, welche belegt sind können und dann alternative Wege gefunden werden müssen usw.


Frage:
- Habt ihr eine Idee, wie man ein solches System auf einer SPS programmieren kann?
- Könnte es sein, dass eine SPS dazu nicht geeignet ist?
- Wenn ja, warum ist die SPS dazu nicht geeignet?
 
Zuletzt bearbeitet:
Wie soll man darauf antworten?
Natürlich lässt sich sowas auch auf einer SPS umsetzen.
Neben der Vorwahl ist auch die Werkstückverfolgung genauso Thema.
Je nach Komplexität kann es dann auch sinnvoll sein, ein MES-System oder einen Materialflussrechner zu verwenden.

Am besten mal ein Datenmodell erstellen und danach beurteilen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Im Grunde sehe ich es ähnlich wie @Blockmove , ich bin allerdings der Ansicht, dass dieses "freie Erstellen eines Auftrags" auf einer HMI oder einen MES nicht wirklich umsetzbar ist - das ist aus meiner Sicht eine speziell erstellte Software.

Was ist übrigens ein Manipulator ? Ein Roboter ?
 
Im Grunde sehe ich es ähnlich wie @Blockmove , ich bin allerdings der Ansicht, dass dieses "freie Erstellen eines Auftrags" auf einer HMI oder einen MES nicht wirklich umsetzbar ist - das ist aus meiner Sicht eine speziell erstellte Software.

Was ist übrigens ein Manipulator ? Ein Roboter ?
Ich widersprech zumindest mal in Hinsicht auf das HMI.
Heutige HMI-Systeme können da schon viel. Zum Beispiel Kommunikation mit einer Datenbank.

Beim MES ist es halt vom Hersteller / Produkt abhängig.
Die Aufgabenstellung von @Tmbiz ist jetzt nicht so aussergewöhnlich.
Verteilung von x Teilen mit y Varianten auf z Anlagen.

Deshalb auch der Hinweis auf das Erstellen eines Datenmodells
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Je nach Komplexität kann es dann auch sinnvoll sein, ein MES-System oder einen Materialflussrechner zu verwenden.
Dazu würde ich vorschlagen einen rudimentären UML-Plan zu erstellen welche Stationen es alles gibt & welche Schnittstellen diese haben.
Wenn du weißt was du brauchst, kannst du dich an die Planung machen mit was du das realisieren willst => Entscheidung MES/MFR/SPS.

Ich hab sowas was du beschreibst z.B. bei Kammerofenlinien (Härtereiöfen).
- Produkte werden vom Bediener in einem Hochregallager abgesetzt & die SPS mit Auftragsdaten für das entsprechende Fach versorgt.
- Je nach Prio und Rezept holt sich die Anlage die Produkte und packt diese in den passenden Ofen, bzw. den Ofen der für diesen Auftrag umparametriert wurde. Dabei werden auch Aufträge entsprechend ihrer Prio je nach Rezeptdaten gesammelt (dauert immer einen Ofen umzustellen).
- Nach dem Härten packt ein weiterer Manipulator das Material in eine Waschmaschine.
- Nach dem Waschen werden die Produkte ggf. noch in einen Anlassofen gepackt & kommen danach in ein Ausgabe-Hochregallager.
- Ab da holen dann automatisierte Stapler die Teile zu weiteren Produktion ab.

Aufteilungstechnisch läuft jede Einheit (Lager/Härteofen/Waschmaschine/Anlassofen) mit einer eigenen SPS & besitzt nur eine "dumme" Schnittstelle für die Übergabe von Soll-Prozessparametern und Auftragsdaten (Materialidentifikation).
Das Management des Anlagenverbunds macht dann eine übergeordnete SPS, also die Verwaltung von Aufträgen, wo welches Material wann hin soll, welche Einheit welche Soll-Prozesswerte bekommt, Prozessaufzeichnung für jedes einzelne Produkt.
Hat den großen Vorteil die Einheiten standardisiert entwickeln zu können und nur die Management-SPS auf die Kundenanlage anpassen zu müssen.

Die physische Trennung der SPSen zwischen Management und Einheiten ist geschmackssache.
Könntest das z.B. auch in SoftwareUnits untergliedern.
Wir haben so gemacht, weil wir die Linien in ihrer Lebenszeit oft erweitern/anpassen oder umbauen.
Da liegen zwischen dem Baujahr der jüngsten und ältesten Teileinheit schonmal 30 Jahre.

Betreffend der Management-SPS könntest du dir mal das hier anschauen:
 
Heutige HMI-Systeme können da schon viel. Zum Beispiel Kommunikation mit einer Datenbank.
Warum genau wäre ein Zugriff auf eine Datenbank nötig? Welche Funktionen könnte ich nicht nutzen oder erstellen, wenn das HMI keinen Zugriff auf eine Datenbank hat? Mit der Frage möchte ich den Aufbau besser verstehen. Aus meiner Sicht ist das Panel "nur" eine dumme Mensch-Maschine-Schnittstelle.
Verteilung von x Teilen mit y Varianten auf z Anlagen.
Hast du da bedacht, dass es auch dynamische Anforderungen gibt? Z.B. die Reinigung usw.
Aufteilungstechnisch läuft jede Einheit (Lager/Härteofen/Waschmaschine/Anlassofen) mit einer eigenen SPS & besitzt nur eine "dumme" Schnittstelle für die Übergabe von Soll-Prozessparametern und Auftragsdaten (Materialidentifikation).
Das mit der dummen Schnittstelle sehe ich auch so. Die Übergabe der Daten erachte ich als relativ unproblematisch. Die Verfolgung der Daten ist dann wieder so eine Sache.
Hat den großen Vorteil die Einheiten standardisiert entwickeln zu können und nur die Management-SPS auf die Kundenanlage anpassen zu müssen.
Wäre für uns auch sehr wichtig.
Betreffend der Management-SPS könntest du dir mal das hier anschauen:
Kann das System von Siemens mit dynamischen Anforderungen umgehen? Ich habe es so verstanden, dass die Bibliothek "nur" das Aufzeichnen der Daten ausführt. Nicht die Logik, was wann so sein muss. Habe ich das richtig verstanden?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Produkte werden vom Bediener in einem Hochregallager abgesetzt & die SPS mit Auftragsdaten für das entsprechende Fach versorgt.
Dieser Schritt würde automatisch laufen und vom externen System vorgegeben werden.
Je nach Prio und Rezept holt sich die Anlage die Produkte und packt diese in den passenden Ofen, bzw. den Ofen der für diesen Auftrag umparametriert wurde. Dabei werden auch Aufträge entsprechend ihrer Prio je nach Rezeptdaten gesammelt (dauert immer einen Ofen umzustellen).
Ich habe gerade noch Mühe damit eine Lösung für die Priorisierung zu erstellen. Mein erster Gedanke ist eine Datenbank aus den verschiedenen Jobs, welche erledigt werden müssen. Dann muss aus der Datenbank ein Job gewählt werden. Das Auswahlkriterium ist dann von verschiedenen Dingen abhängig.

Man kann ja z.B. ein Array in der PLC umsortieren. Meine erste Idee ist, das Register nach jedem Job neu nach Prio zu sortieren und dann immer den wichtigsten auszuführen.

Wenn du's berechnen kannst, dann kannst du es auch einplanen.
Ja, das ist verständlich.
 
Ich habe gerade noch Mühe damit eine Lösung für die Priorisierung zu erstellen. Mein erster Gedanke ist eine Datenbank aus den verschiedenen Jobs, welche erledigt werden müssen. Dann muss aus der Datenbank ein Job gewählt werden. Das Auswahlkriterium ist dann von verschiedenen Dingen abhängig.

Man kann ja z.B. ein Array in der PLC umsortieren. Meine erste Idee ist, das Register nach jedem Job neu nach Prio zu sortieren und dann immer den wichtigsten auszuführen.
Die Kriterien müssen eben gewichtet werden.. da kommst du eventuell auch schon in den Bereich von mathematischen Optimierungen (MIP).. gibts da jemanden bei euch, der sich mit Optimierungen auskennt?
 
Kann das System von Siemens mit dynamischen Anforderungen umgehen? Ich habe es so verstanden, dass die Bibliothek "nur" das Aufzeichnen der Daten ausführt. Nicht die Logik, was wann so sein muss. Habe ich das richtig verstanden?
Definiere: dynamisch.
Definiere: Anforderungen.

Diese Bibliothek ist für dich evtl eine Teillösung für die Management-SPS, nicht mehr und nicht weniger.
Eine Übersicht über die Siemens-Bibliotheken findest du hier:
Ob für dich was passendes dabei ist musst du selber schauen.
Für die Logik wirst du wohl kaum etwas fertiges finden.

Man kann ja z.B. ein Array in der PLC umsortieren. Meine erste Idee ist, das Register nach jedem Job neu nach Prio zu sortieren und dann immer den wichtigsten auszuführen.
Das ist die Frage, ob das so einfach geht.
Mach dir mal eine Liste mit Parametern, die die Verarbeitungsreihenfolge beeinflussen können.
Speziell auch betreffend Rüstzeiten bei Produktumstellungen & dem aktuellen Prozesszustand.

Bei uns kann es beispielsweise passieren, dass ein nieder-Prio Auftrag trotzdem zuerst verarbeitet wird, weil ich für den hochpriorisierten Auftrag beispielsweise den Härteofen prozesstechnisch umrüsten müsste (Temperatur, athmosphärische Zusammensetzung, ...).
Genauso dürfen/sollen niederprio-Aufträge nicht ewig im Lager versauern oder in der Anlage Parkplätze belegen, weil sich hochprio Aufträge vorbeidrängeln.

Die Kriterien müssen eben gewichtet werden.. da kommst du eventuell auch schon in den Bereich von mathematischen Optimierungen (MIP)..
Genau diese Gewichtung ist die "dark magic" an dem ganzen Thema.
Diese Priorisierungs-Zusammenhänge mathematisch zu definieren wäre aber auch für ein MES-System/Materialflussrechner notwendig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zumindest habe ich jetzt mal ein paar Begriffe mit denen ich etwas anfangen kann. Ich habe auch erkannt, dass es bei so einem Materialflussrechner mehrere Elemente gibt. Zum einen eine Logik, welche die Auswahl von Jobs ermöglicht. Dann noch die Priorisierung der Jobs und die Gewichtung der Kriterien. Bzw. nach welchen Attributen die Auswahl erfolgen soll. Ein weitere Punkt ist die Wahl des Weges in der Maschine. Denn wenn eine Schleuse belegt ist, muss ja die andere genommen werden. Es kann aber sein, dass in übernächsten Schritt (Ausfördern aus der Maschine) die Schleuse gebraucht wird. Aber das ist dann eher eine Frage wie der Job selber geplant wird. Es kann natürlich auch sein, dass ein Job gelöscht werden muss, da er durch eine neue Situation überflüssig ist. Fehler und Eingriffe von Hand sind dann auch noch nicht abgedeckt.
 
Je nach größe/Komplexität deiner Anwendung wäre evtl das Stichwort "Shopfloor Management" eine Konsultation des großen G wert.
Es gibt zwar auch fertige Sftware in diesem Bereich, was aber für die interne Verwartung einer einzelnen Maschine ggf. etwas overkill sein könnte.
Trotzdem könntest du die in diesem Bereich gängigen Konzepte mal auf brauchbarkeit prüfen.
 
Danke euch für die Hilfe. Mir ist bewusst, dass meine Fragen teilweise sehr unqualifiziert sind und noch viele offene Fragen beinhalten. Aber dieser oberflächliche Austausch gibt mit immer sehr viele Begriffe, welche ich dann weiterverfolgen kann. Ich werde das Thema nun mal so weiter verfolgen. Danke euch.
 
Zurück
Oben