-
Die Erfindung betrifft ein System zur Steuerung mindestens eines Betriebsmittels zur Herstellung und/oder Montage von Werkstücken. Bei den Werkstücken kann es sich um verschiedenste Elemente handeln an denen mehrere Arbeitsaufgaben nacheinander durchgeführt werden müssen. So kann ein Werkstück beispielsweise eine Fahrzeugtür sein, an der mehrere Fügevorgänge, wie z.B. Schweißen oder Kleben und mehrere Montageaufgaben als Arbeits- und Montageaufgaben durchgeführt werden sollen.
-
Zur Automatisierung von Anlagen oder Maschinen werden gemeinhin Automatisierungsgeräte als dafür ausgebildete Betriebsmittel eingesetzt. Solche Automatisierungsgeräte verfügen häufig über mindestens einen eigenen Prozessor, der die Berechnung logischer und arithmetischer Funktionen beherrscht.
-
Zur Kommunikation mit Peripheriebaugruppen weisen Automatisierungsgeräte Schnittstellen zur Signalübertragung auf. Solche Schnittstellen können als Ein- und/oder Ausgänge ausgeführt sein, die digitale oder analoge Signale entweder einlesen oder ausgeben können. Außerdem können Schnittstellen für die telegrammbasierte Kommunikation mit Peripheriebaugruppen in Netzwerken vorgehalten werden.
-
Das Anwenderprogramm eines Automatisierungssystems enthält einen Befehlssatz, der den technischen Prozess in einer systemnahen Programmiersprache abbildet. Der Befehlssatz kann Speicherzugriffe, logische Verknüpfungen und arithmetische Operationen enthalten, die das Verhalten von Signalen am Ausgang des Automatisierungsgeräts als Funktion eines oder mehrerer Signale am Eingang des Automatisierungsgeräts darstellen.
-
Der Speicher eines Automatisierungsgeräts enthält in der Regel einen Bereich für das Prozessabbild der Eingangsschnittstellen sowie das Prozessabbild der Ausgangsschnittstellen, die die Zustände an den Eingängen bzw. den Ausgängen des Geräts repräsentieren. Zum Beginn eines jeden Programmzyklus werden die Signale und Zustände an den Eingängen in das Prozessabbild der Eingänge geschrieben. Zum Ende eines jeden Prozesszyklus werden die Zustände im Prozessabbild der Ausgänge in physische Signale an den Ausgängen gewandelt.
-
Die Programmierung des Anwenderprogramms kann direkt in einer systemnahen Programmiersprache geschehen. Ferner existieren textbasierte oder grafische Programmierwerkzeuge, die eine Abstrahierung des Befehlssatzes zulassen. Solche Abstrahierungen können in der Form von Stromlaufplänen, Ablaufdiagrammen, Blockschaltbildern oder aber in der Abstrahierung des Befehlssatzes in einer höheren Programmiersprache bestehen.
-
Die Programmierung eines Anwenderprogramms erfolgt in der Regel statisch, sodass sich die Funktionsmuster innerhalb eines Programms in jedem Zyklus wiederholen.
-
Roboter als mögliche einsetzbare Betriebsmittel können je nach der Art ihres Aufbaus ortsfest oder mobil sein. Das Gesamtsystem eines Roboters umfasst in der Regel mindestens eine eigene Steuerung sowie mindestens einen Aktor.
-
Ein Aktor eines Roboters ist dadurch gekennzeichnet, dass er mechanische Arbeit verrichten kann. Er besteht meist aus mindestens einem Antrieb und kann Gelenke oder Getriebe aufweisen. Beispielshaft für einen robotischen Aktor ist der Kettentrieb eines mobilen Roboters oder die Gelenkkinematik eines stationären Roboters.
-
Die Robotersteuerung ist dabei häufig so ausgelegt, dass sie die Antriebe eines robotischen Aktors sowie die Kommunikation mit Peripheriegeräten steuert. Das Anwenderprogramm einer Robotersteuerung umfasst insbesondere Befehlssätze, die die Bewegung eines Aktors und/oder die seine Bewegung in seinem Arbeitsraum festlegen.
-
Anwenderprogramme für Robotersteuerungen können entweder online oder offline programmiert werden.
-
Die Online-Programmierung einer Robotersteuerung beschreibt ein Vorgehen, bei dem der Bediener zur Erstellung eines Anwenderprogramms Koordinaten im Arbeitsraum des Roboters als Anfahrpunkte vorgibt. Der Bediener kann den Roboter dazu im Raum verfahren. Die Programmierung erfolgt hierbei meist textuell.
-
Die Offline-Programmierung einer Robotersteuerung basiert in der Regel auf Simulationsprogrammen. Derartige Programme können die Reaktion des Roboters auf Steuerbefehle realitätsnah abbilden und gegebenenfalls die Struktur des Befehlssatzes hinsichtlich einer Zielgröße (Energieverbrauch, Geschwindigkeit, ...) optimieren. Ferner sind solche Simulationsprogramme häufig in der Lage, die simulierten Befehlssätze in lauffähige Anwenderprogramme für die Robotersteuerung zu übersetzen.
-
Eine Anlage kann über mehrere Betriebsmittel verfügen, die mit Hilfe von Netzwerken miteinander verbunden sind. Die Koordination der Betriebsmittel folgt in solchen Szenarien meist einer Hierarchie, in der einige Betriebsmittel anderen Betriebsmitteln sowie Peripheriegräten übergeordnet sind.
-
Fertigungsprozesse werden mit Hilfe von Freigabebedingungen logisch geordnet, sei es, um die Prozessstabilität zu gewährleisten oder um Schäden für Mensch, Maschine und Umwelt auszuschließen. Solche Freigabebedingungen werden zur Inbetriebnahme statisch festgelegt und gelten bis zu ihrer expliziten Änderung.
-
Obwohl teilweise Regelwerke und Richtlinien bestehen, obliegt die Definition von Freigabebedingungen dem subjektiven Empfinden des jeweiligen Inbetriebnehmers oder Bedieners.
-
Ein Inbetriebnehmer oder ein Bediener legt dabei die Reihenfolge von nacheinander durchzuführenden Arbeitsaufgaben fest. Für die Erfüllung der jeweils durchzuführenden Arbeitsaufgaben stehen ihm entsprechende Programme zur Verfügung. Aufgrund seiner persönlichen Erfahrungen wählt er eine aus seiner Sicht geeignete Reihenfolge der von mindestens einem Betriebsmittel, bevorzugt mehreren Betriebsmitteln, durchzuführenden Arbeitsaufgabe(n) für die Herstellung oder Montagearbeiten an einem Werkstück fest.
-
Dabei kommt es häufig vor, dass keine optimale Reihenfolge gewählt wird. Dies führt dann zu unnötigen Stillstandszeiten eines Betriebsmittels, da es zu einem Zeitpunkt nicht genutzt wird, zu dem es aber tätig sein könnte. Dabei spielt es eine Rolle, dass unbedingt Kollisionen eines Betriebsmittels mit einem anderen Betriebsmittel oder einem statisch im Arbeitsbereich des jeweiligen Betriebsmittels und Werkstück angeordneten Element vermieden werden.
-
Außerdem erfordert es von einem Bediener ein großes Maß an Erfahrung, die Reihenfolge der Durchführung von Arbeitsaufgaben so zu wählen, dass es zu keinen Verlustzeiten infolge eines Wartens eines Betriebsmittels kommt, weil eine eigentlich vorab durch zu führende Arbeitsaufgabe noch nicht oder nicht vollständig erledigt worden ist.
-
Selbstverständlich gelingt dies nicht immer. Außerdem kann eine einmal festgelegte Reihenfolge nicht mehr verändert werden und ein gleiches Werkstück wird immer wieder in dieser Reihenfolge bearbeitet werden, so dass sich die unerwünschten Zeitverluste aufsummieren..
-
Dementsprechend kommt es zu Stillstandszeiten, die eigentlich prozessbedingt nicht erforderlich sind oder eine Bearbeitung oder Montage erfolgt so, dass unnötig viel Zeit für Bewegungen eines Betriebsmittels erforderlich ist, wenn ein Betriebsmittel beispielsweise Wege um ein Werkstück herum oder für die Entnahme von Gerätschaften oder Bauelementen, die für die Durchführung einer Arbeitsaufgabe erforderlich sind, zurück legen muss und dies in nicht optimaler Form erfolgt.
-
Insbesondere in Fertigungszellen, die über mindestens einen Roboter verfügen, sind Schäden auf Grund der Roboterbewegung auszuschließen. Ein übergelagertes Automatisierungsgerät oder eine zentrale Steuerung sollte daher die Koordination der Roboter als Betriebsmittel sowie anderweitiger Prozessgeräte übernehmen.
-
Der Erfindung liegt die Aufgabe zu Grunde, Möglichkeiten anzugeben, mit denen die Effektivität bei der automatisierten Durchführung mehrerer Arbeitsaufgaben, die mit mindestens einem , bevorzugt mehreren Betriebsmitteln, beispielsweise Industrierobotern oder anderweitigen Maschinen oder Vorrichtungen, durchgeführt werden, erhöht und insbesondere die erforderliche Zeit für die Herstellung und/oder Montage von Werkstücken verkürzt wird.
-
Erfindungsgemäß wird diese Aufgabe mit einem System, das die Merkmale des Anspruchs 1 aufweist, gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung können mit in untergeordneten Ansprüchen bezeichneten Merkmalen realisiert werden.
-
Bei dem erfindungsgemäßen System zur Steuerung mindestens eines Betriebsmittels zur Herstellung und/oder Montage von Werkstücken ist mindestens ein Betriebsmittel mit einer elektronischen Auswerte- und Steuereinheit über mindestens eine Schnittstelle für einen Austausch von Steuerdaten für den Betrieb des mindestens einen Betriebsmittels und/oder für die Eingabe von Sensorsignalen, die für die Steuerung der elektronischen Auswerte- und Steuereinheit zugeführt werden, verbunden.
-
In die elektronische Auswerte- und Steuereinheit ist mindestens ein elektronischer Speicher integriert oder ein Speicher ist mit der elektronischen Auswerte- und Steuereinheit verbunden. In dem Speicher sind Programmabläufe für die Durchführung vorgegebener Arbeitsabläufe zumindest teilweise unsortiert gespeichert. Dabei können alle Programmabläufe unsortiert gespeichert sein. Es können aber auch mehrere Programmabläufe für Arbeitsaufgaben bereits sortiert gespeichert sein. Die vorsortierten Programmabläufe können dabei Arbeitsaufgaben repräsentieren, die zwangsweise in einer bestimmten Reihenfolge abgearbeitet werden müssen. In jedem Fall sind aber einige Programmabläufe für die Durchführung von Arbeitsaufgaben unsortiert gespeichert und können mittels eines Steuerungsprogramms bei der Herstellung und/oder Montage eines entsprechenden Werkstücks in der Reihenfolge ihrer Durchführung gewählt und diese Reihenfolge mit dem Steuerprogramm festgelegt werden.
-
Die einzelnen gespeicherten Programmabläufe definieren jeweils einen bestimmten Arbeits- und/oder Montageablauf, der/die an einem Werkstück für die Durchführung mindestens einer Arbeitsaufgabe, die bei der Fertigung und/oder Montage eines Werkstücks durchgeführt werden muss, bestimmt.
-
Arbeitsaufgaben können Teilprozesse darstellen, die nicht vorsortiert sein müssen. Die Sortierung oder die Auswahl einer durchzuführenden Arbeitsaufgabe, kann durch den Start des entsprechenden Progarmmablaufs, der aus dem Speicher abgerufen werden kann, kann quasi im Prozess/online durch das Steuerprogramm -je nach Bedingungen, Betriebsmittelverfügbarkeit, Raumbelegung und ggf. der Priorität erfolgen. Dabei kann für jede Arbeitsaufgabe oder jeden Teilprozess ein Programmablauf in einer Weise „programmiert“ werden, dass stets der gleiche Befehlssatz in mindestens einem Programmablauf abgebildet ist. Ein Befehlssatz sollte dabei charakteristisch für den jeweiligen Teilprozess bzw. die jeweilige Arbeitsaufgabe sein. Beispielsweise besteht das Schweißen von fünf Punkten aus jeweils fünf Mal dem Befehl „Punkt anfahren“, Schweißpunkt setzen“. Die zehn Befehle benötigen natürlich eine Art „Sortierung“, was insbesondere die Reihenfolge ihrer Durchführung betrifft. Teilprozesse können beispielsweise mehrere Arbeitsaufgaben betreffen, die gleich oder unterschiedlich sein können. Sie sollten jedoch einen logischen Zusammenhang haben. So kann ein Teilprozess, wie bereits angesprochen die Wiederholung einer gleichen Arbeitsaufgabe jedoch an einem anderen Ort darstellen. Ein Teilprozess kann aber auch mehrere Arbeitsaufgaben beinhalten, die zwangsläufig in einer bestimmten Reihenfolge abgearbeitet werden müssen.
-
Die elektronische Auswerte- und Steuereinheit weist ein Steuerprogramm auf, das so ausgebildet ist, dass das mindestens eine Betriebsmittel entsprechend einer ausgewählten zeitlichen Reihenfolge betrieben wird, indem eine gezielte Auswahl von in dem mindestens einen Speicher gespeicherten Programmabläufen getroffen wird, die nacheinander durchgeführt werden.
-
Dabei soll einmal eine Verkürzung der insgesamt erforderlichen Zeit für die Herstellung und/oder Montage eines Werkstückes erreicht werden und zum Anderen soll die Einhaltung vorgegebener Randbedingungen und/oder Voraussetzungen ermöglicht werden.
-
Es kann also eine Auswahl eines Betriebsmittels für die Durchführung eines Programmablaufs unter Berücksichtigung der dem jeweiligen Betriebsmittel aufgrund seiner Ausstattung zur Verfügung stehenden Bearbeitungs-, Montagemöglichkeiten erfolgen. Allein oder zusätzlich dazu kann die momentane Position eines jeweiligen Betriebsmittels in Bezug zum jeweiligen Werkstück und/oder einem weiteren mit dem Steuerprogramm steuerbaren Betriebsmittels berücksichtigt werden.
-
Als Einhaltung einer Randbedingung und/oder Voraussetzung kann insbesondere mindestens die erfolgreich abgeschlossene Durchführung mindestens eines Programmablaufs überprüft werden, der vor der Durchführung eines nachfolgend durchzuführenden Programmablaufs erfolgreich durchgeführt werden muss.
-
Für die Einhaltung von Randbedingungen und/oder Voraussetzungen können mit Sensoren erfasste Signale über eine Schnittstelle dem Steuerprogramm zugeführt werden. Dazu kann bevorzugt mindestens ein Sensor an einem Betriebsmittel angeordnet oder darin integriert sein. Es kann aber auch eine optische Überwachung mit einer Bilderkennung dazu herangezogen werden.
-
Vorteilhaft kann das System über eine Einrichtung zur Erkennung des jeweiligen Werkstücks, eines Bauteils oder Bauelements, das mit dem Werkstück verbunden werden soll, und/oder eines Bearbeitungszustandes des jeweiligen Werkstücks verfügen. Dazu kann insbesondere eine Einrichtung zur Erkennung eines Bar- oder QR-Codes, eines RFID-Signales oder ein Bilderkennungssystem, als Bestandteil des Systems eingesetzt werden. Für die Erkennung eines Bar- oder QR-Codes kann ein geeigneter optischer Sensor vorhanden sein. RFID-Signale können von einem zum drahtlosen Empfang und/oder zum Senden ausgebildeten Element (z.B. RFID-Tag) an die elektronische Auswerte- und Steuereinheit übermittelt werden.
-
Die mit dem optischen Sensor erfassten Signale oder die übertragenen RFID-Signale können dann der elektronischen Auswerte- und Steuereinheit übermittelt und bei der Auswahl bzw. der Bestimmung einer Reihenfolge zur Durchführung bestimmter geeigneter Programmabläufe genutzt werden.
-
Das System und insbesondere das Steuerprogramm kann einer zyklusorientierten und/oder einer ereignisorientierten Arbeitsweise folgen.
-
Bei der zyklusorientierten Arbeitsweise besteht jeder Programmzyklus aus einer Abfolge von Eingabe, Verarbeitung und Ausgabe.
-
Zum Beginn jedes Programmzyklus können Sensorinformationen aus dem Prozess eingelesen werden. Dazu werden die Signale an einer Eingangsschnittstelle des Systems eingelesen, digitalisiert und im Prozessabbild der Eingänge abgespeichert. Sie können dann vom Steuerprogramm für die Auswahl der Reihenfolge der durchzuführenden Programmabläufe für die Durchführung der einzelnen Arbeitsaufgaben genutzt werden.
-
Die Verarbeitung des Steuerprogramms stellt den zentralen Teil jedes Programmzyklus dar. Die Verarbeitung ist dadurch gekennzeichnet, dass das erfindungsgemäße System selbstständig einen zeitlichen Ablauf aus vordefinierten aber zumindest teilweise unsortiert gespeicherten Programmabläufen erstellt und die gespeicherten Programmabläufe in optimierter Reihenfolge ausführen lässt.
-
Zum Ende der Durchführung eines Programmablaufs für die Ausführung einer Arbeitsaufgabe können Ausgangssignale gebildet werden, die Steuerinformationen für Aktoren oder andere Peripheriebaugruppen von Betriebsmitteln enthalten. Dazu werden die Zustände innerhalb des Prozessabbildes einer Ausgangsschnittstelle des Systems geladen, interpretiert und als physische Signale an den Ausgangsschnittstellen des jeweiligen Betriebsmittels ausgegeben.
-
Sobald das erfindungsgemäße System einer ereignisorientierten Arbeitsweise folgt, kann das Eintreten einer bestimmten Bedingung eine direkte oder indirekte Reaktion hervorrufen. Solche Bedingungen können beispielsweise die Freigabebedingungen verschiedener Aufgabendefinitionen darstellen, wodurch sich eine implizite Ordnung der Ausführungsreihenfolge von Arbeitsaufgaben mit entsprechenden Programmabläufen realisieren lässt, die zuvor ohne Ordnung im Speicher vorlagen. Mischformen aus einer zyklus- und einer ereignisorientierten Arbeitsweise sind möglich.
-
Die Programmierung des Systems kann mit Hilfe modular gekapselter Aufgabenbeschreibungen, die der Bediener im Inbetriebnahmeprozess konfiguriert und die nach der Konfiguration ungeordnet als Programmabläufe in einem Stapelspeicher abgelegt werden. Jede Aufgabenbeschreibung eines Programmablaufs für die Durchführung einer jeweiligen Arbeitsaufgabe kann mindestens Informationen bezüglich erforderlicher Freigabebedingungen, dem zugeordneten Betriebsmittel und der eigentlichen Funktion der Aufgabe beeinhalten. Ferner können Aufgabenbeschreibungen eines jeweiligen Programmablaufs mit Zielgrößen oder Gütekriterien für die jeweils durchzuführende Arbeitsaufgabe versehen werden, wodurch sich im Prozess beispielsweise die Anpresskraft einer Poliermaschine bei der Durchführung einer Arbeitsaufgabe zum Polieren an einem Werkstück regeln lässt.
-
Als Freigabebedingungen zur Durchführung einer Arbeitsaufgabe mit dem Start des entsprechenden Programmablaufs können eine beliebige Anzahl von Bedingungen, die zur Ausführung der modularisierten jeweiligen Arbeitsaufgabe zwingend erforderlich sind, definiert werden. Solch eine Bedingung kann beispielsweise das Erkennen der Anwesenheit eines für die Herstellung oder der Montage erforderlichen Bauteils sein, das beispielsweise von einem Sensor erfasst worden ist.
-
Ein Betriebsmittel ist eine Gerätschaft, die mindestens eine, bevorzugt mehrere Arbeitsaufgabe(n) ausführen kann. Es kann sich entweder um einen einzelnen Aktor oder aber um mehrere Aktoren einer Maschine handeln, die mit einander in einer Funktionsbeziehung stehen. Ein Betriebsmittel kann natürlich auch ein Roboter sein, der eine Bearbeitung oder Montage mit bevorzugt mehreren Freiheitsgraden und/oder Funktionalitäten möglich macht.
-
Das Steuerprogramm kann mit den ihm zur Verfügung stehenden Steuerdaten der Programmabläufe und mit von Sensoren erfassten Daten die Reihenfolge der Durchführung von Arbeitsaufgaben bestimmen, ohne dass ein Bediener Einfluss darauf ausüben muss. Lediglich ein technischer Teilprozess, mit einer begrenzten Anzahl von nacheinander abzuarbeitenden Programmabläufen, kann von einem Bediener festgelegt werden. Solch ein Befehlssatz kann beispielsweise alle Bahnpunkte eines Klebeprozesses sowie die Ansteuerung der Klebedüse enthalten. Funktionen von Arbeitsaufgaben oder Sensoren bzw. eine Einrichtung können Eingangs- und Ausgangssignale enthalten oder übermitteln.
-
Im Betrieb übernimmt ein Steuerprogramm die Verwaltung der Aufgaben im mindestens einen Speicher. Das Steuerprogramm kann dabei prüfen, ob die Einhaltung von Randbedingungen und/oder Voraussetzungen bzw. Freigabebedingungen von Arbeitsaufgaben erfüllt sind. Sobald das der Fall ist, gibt das Steuerprogramm die Ausführung der Arbeitsaufgabe durch Start des entsprechenden Programmablaufs frei. Es kann so eine situationsabhängige Planung, die die Befehlsfolge des Steuerprogramms im entsprechenden Programmzyklus beeinflusst, erfolgen. Die Ablaufplanung der Reihenfolge des Beginns von Programmabläufen zur Durchführung der einzelnen Arbeitsaufgaben kann beispielsweise über graphenbasierte Verfahren realisiert werden.
-
Es ist möglich, dass das Steuerprogramm mehrere Arbeitsaufgaben parallel und gleichzeitig zur Ausführung durch gleichzeitigen oder zeitversetzten Start von Programmabläufen bringt. Dadurch können mehrere Arbeitsaufgaben gleichzeitig durchgeführt werden. So kann beispielsweise ein Roboter an einer Seite und ein anderer Roboter als Beispiele für Betriebsmittel an gegenüberliegend angeordneten Seiten eines Werkstücks unterschiedliche Arbeitsaufgaben durchführen, ohne dass sie sich gegenseitig stören und es können so Kollisionen vermieden werden. Dabei können sie die jeweiligen Arbeitsaufgaben über den gesamten für die Durchführung der jeweiligen Arbeitsaufgabe erforderlichen Zeitraum gemeinsam durchführen. Es kann aber auch lediglich eine zeitweise Überlappung bei der Durchführung der Arbeitsaufgaben auftreten.
-
Zur Ausführung kann das Steuerprogramm Aufgaben einer Berechnungseinheit, etwa einem Prozessorkern, zuweisen. Gemäß der Befehlsfolge, die der Bediener mit der Funktion vorgegeben hat oder die mittels des Steuerprogramms bestimmt worden ist, werden Steuerbefehle der einzelnen Programmabläufe gebildet, die über eine Ausgangsschnittstelle des Systems an die jeweiligen einem Programmablauf zugeordneten Betriebsmittel ausgegeben werden können.
-
Das erfindungsgemäße System kann als zentralisierte Einheit agieren, die sämtliche Betriebsmittel einer Anlage kontrolliert und dabei koordiniert. In Verbindung mit einer geeigneten Technologie zur funktionsgerechten Steuerung oder Regelung von Betriebsmitteln kann auf zusätzliche Automatisierungsgeräte, beispielsweise Robotersteuerungen, verzichtet werden. Ferner kann das erfindungsgemäße System als Client-Server-Applikation agieren. In solch einem Fall können verteilte, diversifizierte Betriebsmittel über eine assoziierte Programmplanungslogik mit geeigneten Programmabläufen für die Durchführung von Arbeitsaufgaben, beispielsweise in Form von Befehlssätzen versorgt werden.
-
Das erfindungsgemäße System kann derart konzipiert sein, dass es seine einwandfreie Funktion selbstständig überprüfen und sicherstellen kann.
-
In Verbindung mit einer geeigneten Technologie zur Verwaltung von Betriebsmittelposen und -positionen kann eine Raumbelegungskarte erstellt werden. Sollten Aufgaben eine Bewegung des Betriebsmittels im Arbeitsraum erfordern, kann mit Hilfe der Raumbelegungskarte des aktuell durchgeführten sowie folgender Zyklen geprüft werden, ob ausgehend von der derzeitigen Geometrie, Dimensionierung, Lage und Orientierung des jeweiligen Betriebsmittels eine Bewegung in den Zielzustand möglich ist. Weiterhin lassen sich aufgrund der globalen Raumbelegungskarte sowie der Kenntnis über die parallel ausgeführten Arbeitsaufgaben Optimierungen, insbesondere für die Bahnbewegungen ortsfester Betriebsmittel sowie die Routen mobiler Betriebsmittel realisieren. In der Regel bestimmt die aktuelle Position des jeweiligen Betriebsmittels dabei den Startpunkt der Bewegung, die erste Anfahrposition der zugeteilten Arbeitsaufgabe bestimmt den Zielpunkt. Sobald mindestens zwei Aufgaben gleichzeitig bearbeitet werden, besteht die Möglichkeit, dass sich die zugeordneten Betriebsmittel in ihren Bewegungen beeinflussen. In solchen Fällen kann auf Grund der Kenntnis über die Arbeitsaufgaben sowie der Raumbelegung in folgenden Zyklen die Lösung des Konkurrenzproblems gefunden werden, die den Fertigungsprozess am schnellsten ablaufen lässt.
-
Eine einmal erfasste Raumbelegungskarte sollte in einem Speicher des Systems gespeichert und bei der Durchführung des Steuerprogramms berücksichtigt werden. Dabei ist auch eine ständige Aktualisierung der Raumbelegungskarte sinnvoll, wobei mindestens die Position, Form und Größe von Objekten und Betriebsmitteln innerhalb des Arbeitsraums berücksichtigt werden sollte. Es können aber auch vorteilhaft dynamische Änderungen von Positionskoordinaten von Betriebsmitteln in Echtzeit, zumindest aber zeitnah berücksichtigt werden, die beispielsweise mit mindestens einem Kamerasystem, Positionsbestimmungs- und/oder Bewegungssensor(en) erfasst werden können.
-
Das erfindungsgemäße System kann zur Lösung von Automatisierungsaufgaben beispielsweise in der Herstellung oder Montage von Werkstücken eingesetzt werden.
-
Jedem Programmablauf sollte mindestens ein dazu geeignetes Betriebsmittel zugeordnet sein. Es ist vorteilhaft, dass Arbeitsaufgaben, die für die Herstellung und/oder Montage eines Werkstücks erforderlich sind, autonom vom Steuerprogramm dem/den jeweiligen Betriebsmittel(n) zugeteilt werden. Also kann beispielsweise automatisch das jeweilige Betriebsmittel ausgewählt werden, das sich besonders nah zum Werkstück befindet und/oder zur Durchführung der entsprechenden Arbeitsaufgabe prinzipiell oder besser besonders geeignet ist. Insbesondere gilt das für mobile Roboter, die auch zu Logistikzwecken eingesetzt werden können.
-
Programmabläufe zur Durchführung einer Arbeitsaufgabe können keine bestimmten Freigabebedingungen enthalten. Es könnte dann ein System genutzt werden, das den Prozess kennt und automatisch Freigaben für den Start von solchen Programmabläufen erteilt. Beispielsweise könnte ein Werkstück mittels eines Barcode oder RFID bzw. optisch mit einer Bilderkennung identifiziert werden. Ein ggf. übergelagertes Produktionssteuerungssystem kennt bzw. erkennt den aktuellen Bearbeitungs- bzw. Montagezustand des Werkstücks und fordert Programmabläufe zur Bearbeitung von Arbeitsaufgaben an. Gleiches gilt, falls die Baugruppe selbst eine Art Logik trägt, die Prozesse anfordern kann. Dabei kann ein Werkstück, ein Bauelement oder eine Komponente ein elektronisches Element aufweisen, das über einen Speicher und logische elektronische Bauelemente aufweist. Damit können an die elektronische Auswerte- und Steuereinheit Signale übertragen, die für den Start mindestens eines Programmablaufs genutzt werden können. So kann beispielsweise eine Aufforderung zur Durchführung der Montage eines Schlosses oder eines anderen an einer Fahrzeugtür zu montierenden Elements übermittelt werden, die dann von einem mittels der elektronischen Auswerte- und Steuereinheit zu einem geeigneten Betriebsmittel übermittelten aus dem Speicher ausgewählten passenden Programmablauf erledigt werden kann.
-
Jedes Werkstück kennt entweder seinen eigenen Herstellungs- oder Fügezustand oder der Zustand ist mit Hilfe eines Kennzeichens (z.B. Barcode, RFID, oder einer Bilderkennung) identifizierbar.
-
Der Speicher in dem die Programmabläufe zur Durchführung von Arbeitsaufgaben gespeichert sind, und dem Steuerungsprogramm zugewiesen werden, ist zumindest teilweise unsortiert. Es wäre denkbar, dass eine Vorsortierung vorgeschalten werden kann, wodurch die Geschwindigkeit der Berechnung erhöht werden könnte.
-
Ein Steuerprogramm sollte prinzipiell so ausgebildet sein, dass die unsortierten Programmabläufe hinsichtlich ihrer Ausführbarkeit geprüft und zur Laufzeit, im gesamten Zyklus für eine Herstellung und/oder Montage eines Werkstücks in eine optimierte Reihenfolge gebracht werden können.
-
Mit der Erfindung kann eine verbesserte Lösung von Automatisierungsaufgaben, die an einem Werkstück durchgeführt werden sollen, erreicht werden. Mit Hilfe von modularen Aufgabenbeschreibungen, die Teilprozesse in maschinengerechten Befehlssätzen als durchzuführende Programmabläufe repräsentieren und vom Bediener festgelegt wurden, können zur Laufzeit selbstständig Anwenderprogramme erstellt und variiert werden. Die Grundlage dafür bildet ein Steuerprogramm, das die vordefinierten modularen Arbeitsabläufe selbstständig verwaltet und einer möglichst optimierten Reihenfolge zuführt.
-
Nachfolgend soll ein Beispiel eines erfindungsgemäßen Vorgehens erläutert werden.
-
Ein Werkstück mit der ID #756A2 (Fahrzeugtür vorne links) trägt einen Microcontroller inklusive Speicher, der sowohl die Standard-„Blech“-Konfiguration als auch Individualumfänge verwaltet - also die Durchführung von Arbeitsaufgaben anfordert und gegebenenfalls den korrekten Verbau bei einer Montage dokumentiert.
-
Ein Beispiel für Standardkonfiguration von zu montierenden Komponenten an der Fahrzeugtür sind:
- • Scharnier GS3
- • Verstärkung GV9
- • Abdeckung GA2
-
Diese Teile sind für alle Werkstücke (Türen) des Typs „Fahrzeugtür vorne links“ der Baureihe identisch.
- • Lautsprecher „Sound“ GL8
- • Elektrische Fensterheber GF3
- • Innendekorverkleidung GI4
-
Diese Teile stellen spezifische Komponenten für die individuelle Ausführung der Fahrzeugtür dar.
-
Beispiele für bei der Durchführung der erforderlichen Arbeitsaufgabe geeignete Betriebsmittel sind:
• Betriebsmittelgruppen „Förderer 1“ und „Förderer 2“
○ | BM/Aktor: | Antrieb |
○ | BM/Sensor: | Drehzahl |
○ | BM/Sensor: | Positionierung (linear) |
○ | BM/Sensor: | Bauteilanwesenheit pro Wagen |
○ | BM/Sensor: | Bauteilinformation |
• Betriebsmittelgruppe „Hub 1“
○ | BM/Aktor: | Fixierspanner |
○ | BM/Aktor: | Hubeinrichtung |
○ | BM/Sensor: | Bauteilanwesenheit |
○ | BM/Sensor: | Status Spanner |
○ | BM/Sensor: | Positionierung (Aushub) |
• Betriebsmittelgruppen „Behälter“, „Band 1“, „Band 2“ und „Band 3“
○ | BM/Sensor: | Bauteilanwesenheit |
• Betriebsmittelgruppen „Roboter 1“, „Roboter 2“ und „Roboter 3“
○ | BM/Aktor: | Antrieb Achse 1 |
○ | BM/Aktor: | Antrieb Achse 2 |
○ | BM/Aktor: | Antrieb Achse 3 |
○ | BM/Aktor: | Antrieb Achse 4 |
○ | BM/Aktor: | Greifer |
○ | BM/Aktor: | Drehwinkel Achse 1 |
○ | BM/Aktor: | Drehwinkel Achse 2 |
○ | BM/Aktor: | Drehwinkel Achse 3 |
○ | BM/Aktor: | Drehwinkel Achse 4 |
○ | BM/Aktor: | Status Greifer |
• Betriebsmittelgruppe „Roboter 4“
○ | BM/Aktor: | Antrieb Achse 1 |
○ | BM/Aktor: | Antrieb Achse 2 |
○ | BM/Aktor: | Antrieb Achse 3 |
○ | BM/Aktor: | Antrieb Achse 4 |
○ | BM/Aktor: | Schrauber |
○ | BM/Aktor: | Drehwinkel Achse 1 |
○ | BM/Aktor: | Drehwinkel Achse 2 |
○ | BM/Aktor: | Drehwinkel Achse 3 |
○ | BM/Aktor: | Drehwinkel Achse 4 |
○ | BM/Aktor: | Status Schrauber |
-
Beispiele für durchzuführende Arbeitsaufgaben und dabei zu beachtende sind:
-
Arbeitsaufgabe 03 „Werkstückzuführung“
-
- • Randbedingung(en): Diverse Aufgabe (Förderer beladen o.ä.)
- • Betriebsmittel: Förderer 1
- • Funktion:
- a) Förderer 1: Drehzahlregelung auf 0.1m/s (Online-Drehzahlregelung)
-
Arbeitsaufgabe 06 „Aufnehmen“
-
- • Randbedingung(en): Aufgabe 03
- • Betriebsmittel: Roboter 1
- • Funktion:
- a) Roboter 1: Förderwagen / Werkstückposition anfahren (Online-Positionsregelung)
- b) Roboter 1: Werkstück aufnehmen
- c) Roboter 1: Position „Einbau Lautsprecher“ anfahren
-
Arbeitsaufgabe 07 „Bauteilinformation lesen“
-
- • Randbedingung(en): Diverse Arbeitsaufgabe (Förderer beladen o.ä.)
- • Betriebsmittel: Förderer 1
- • Funktion:
- a) Förderer 1: Bauteilinformationen auslesen
-
Arbeitsaufgabe 11 „Lautsprecher fördern“
-
- • Randbedingung(en): Diverse Arbeitsaufgabe (Lautsprecher einlegen o.ä.)
- • Betriebsmittel: Band 3
- • Funktion:
-
Arbeitsaufgabe 12 „Lautsprecher verbauen“
-
- • Randbedingung(en): Arbeitsaufgabe 06 Arbeitsaufgabe 11
- • Betriebsmittel: Roboter 2
- • Funktion:
-
Arbeitsaufgabe 17 „Einlegen“
-
- • Randbedingung(en): Arbeitsaufgabe 12
- • Betriebsmittel: Roboter 1
- • Funktion:
- a) Diverse Funktion
-
Arbeitsaufgabe 19 „Dekorbereitstellung“
-
- • Randbedingung(en): Diverse Arbeitsaufgabe (Dekor einlegen o.ä.)
- • Betriebsmittel: Roboter 3
- • Funktion:
- a) Diverse Funktion
-
Arbeitsaufgabe 28 „Verschrauben“
-
- • Randbedingung(en): Arbeitsaufgabe 17 Arbeitsaufgabe 19
- • Betriebsmittel: Roboter 3 Roboter 4
- • Priorität (optional) normal
- • Funktion:
- a) Roboter 3:Position „Dekorpositionierung“ anfahren
- b) Roboter 4:Schraubposition 1 anfahren
- c) Roboter 4:Schraube anfädeln
- d) Roboter 4:Schraube verschrauben (Online-Drehmomentregelung)
- e) Roboter 4: Schraubposition n anfahren
-
Alle Arbeitsaufgaben sind im Grunde modular definiert und können einen in sich geschlossenen Teilprozess darstellen. Für die Bearbeitung von Arbeitsaufgaben sind Berechnungseinheiten, wie beispielsweise die Kerne eines Prozessors erforderlich, der Bestandteil einer elekronischen Auswerte- und Steuereinheit und/oder einer elektronischen Steuerung eines Betriebsmittels sein kann. Darüber hinaus besitzt jede Arbeitsaufgabe bestimmte Randbedingungen und benötigt zur Ausführung physische Betriebsmittel in der Anlage (z.B. Antriebe) sowie häufig Bewegungsraum (z.B. für Fahrbewegungen Roboter).
-
Es können auch solche Arbeitsaufgaben, die entweder keinen Vorgänger oder keinen Nachfolger aufweisen, durchgeführt werden. Bei anderen Arbeitsaufgaben können sowohl vorher als auch nachher durchzuführende Arbeitsaufgaben erforderlich sein. Das Ziel des Steuerprogramms besteht darin, die einzelnen programmierten Programmabläufe für die Durchführung von Arbeitsaufgaben oder auch Teilprozessen derart in eine Reihenfolge zu bringen, dass mindestens eine Zielgröße wie beispielsweise der Energieverbrauch oder die Bearbeitungszeit minimiert werden kann. Es sollen also beispielsweise so viele Arbeitsaufgaben in so kurzer Zeit wie möglich ausgeführt werden. Da Arbeitsaufgaben jedoch über Randbedingungen sowie die Verfügbarkeit der physischen Betriebsmittel nur in bestimmten Anordnungen aufgereiht werden können, sucht das Steuerprogramm also die Reihenfolge, die in erster Linie auf Grund der Bedingungen und Abhängigkeiten möglich ist und zweitens die jeweilige(n) Zielgröße(n) optimiert.
-
Bei einem sich stets exakt wiederholenden Prozessablauf werden dabei sehr wahrscheinlich stets die vorgängerlosen Arbeitsaufgaben am Beginn, die nachfolgerlosen Arbeitsaufgaben am Ende und die Arbeitsaufgaben dazwischen stets an gleicher Stelle in der zeitlichen Reihenfolge ihrer Durchführung stehen. Sobald aber eine Varianz oder Dynamik Einzug hält, besteht stets eine andere optimale Reihenfolge. Gründe dafür können beispielsweise durch die Anlage laufende Menschen oder individuell, stets anders gefertigte Werkstücke sein. In derartigen Szenarien können sich optimale Lösungen augenblicklich ändern. Das Steuerprogramm erkennt und überwacht also stets den Zustand sowie ausgeführte Arbeitsaufgaben und kann im Fall einer dynamischen Beeinflussung sofort die Reihenfolge modifizieren. Damit kann das System nahezu optimal und situationsgemäß handeln.