-
Technisches Gebiet
-
Die Erfindung betrifft ein Verfahren
zur Ablaufsteuerung insbesondere eines Roboters mit definierter
Behebung von Ausnahmezuständen
sowie eine Steuerung zur Durchführung
des Verfahrens. Ferner betrifft die Erfindung einen Roboter sowie
ein Robotersystem.
-
Robotersysteme sind im Stand der
Technik in vielfältigen
Ausführungen
bekannt. Solche Robotersysteme umfassen üblicherweise zumindest ein,
in der Regel jedoch eine Vielzahl von beweglichen Roboterelementen,
wie beispielsweise dreh- und/oder schwenkbare Achsen oder angelenkte
Elemente, die von einer oder mehreren Steuerungen so ablaufgesteuert
werden, daß sie
in einer vorbestimmten Weise einen aufeinander abgestimmten Bewegungsablauf
durchführen.
Oftmals wird hierbei in einem Bewegungs- oder Verfahrensschritt
von einem Greifarm des Roboters ein zu bearbeitendes oder transportierendes
Werkstück
beispielsweise von einem Laufband aufgegriffen und in einer Reihe
von Bewegungs- oder Bearbeitungsschritten des Roboters weitertransportiert
oder bearbeitet. In vielen Anwendungsfällen arbeiten hierbei mehrere
Roboter zusammen, wobei die Bewegungs- und Verfahrensschritte der
Roboter zeitlich aufeinander abgestimmt erfolgen müssen.
-
Der Steuerung zur Ablaufsteuerung
des Bewegungs- und/oder Verfahrensablaufs eines Roboters oder eines
Robotersystems kommt somit eine zentrale Bedeutung für den Betrieb
eines Roboters oder Robotersystems zu. Neben der Steuerung eines ordnungsgemäßen, gewünschten
Bewegungs- und Verfahrensablaufs eines Roboters oder Robotersystems
muß die
Steuerung hierbei aber auch in der Lage sein, Ausnahmezustände und
Fehler im Bewegungs- oder Verfahrensablauf des Roboters oder Robotersystems
zu erkennen und dem jeweiligen Fehler entsprechende Reaktionen auszulösen. Insbesondere
bei Robotersystemen, bei denen mehrere Roboter zeitlich abgestimmt
aufeinander zusammenarbeiten, ist es erforderlich, bei einem auftretenden Fehler
während
des Betriebs eines Roboters eine definierte Reaktion zur Behebung
des aufgetretenen Fehlers auszulösen,
die jedoch den Betrieb der anderen Roboter mit berücksichtigt.
-
Üblicherweise
wird bei einem lokal auftretenden Fehler im Betrieb eines Robotersystems
das Robotersystem auf eine in der Steuerung zuvor festgelegten Weise
angehalten. Hierdurch wird eine Beschädigung des Robotersystems oder
anderer beteiligter Maschinenteile vermieden. Nachteil dieser Lösung ist
jedoch, daß der
Stillstand eines Roboters oder Robotersystems insbesondere in komplexen Anlagen
mit einer Vielzahl von aufeinander abgestimmt arbeitenden Robotern
im Allgemeinen Rückwirkungen
auf weitere beteiligte Roboter oder Robotersysteme hat und oftmals
zu einem Stillstand der gesamten Anlage führt. Die Anlage muß dann nach oftmals
manueller Behebung des Fehlers erneut angefahren werden. Im Ergebnis
führt eine
solche Fehlerreaktion zu einer hohen Ausfallzeit der Anlage bei Auftreten
eines lokalen Fehlers.
-
Um diesem Problem einer nachteiligen
Fehlerreaktion in der Steuerung eines Roboters oder auch einer Werkzeugmaschine
zu begegnen, wird beispielsweise in der deutschen Offenlegungsschrift
DE 195 33 604 A1 vorgeschlagen,
wichtige Parameter ausgehend von einer Fehlerquelle bis hin zur
zugehörigen
Fehlerreaktion parametrierbar auszugestalten. Das hierzu vorgeschlagene
Verfahren sowie die vorgeschlagene Vorrichtung ermöglichen
hierbei eine Maskierung von Fehlerquellen durch Setzen oder Löschen eines
Bits, wodurch die betreffende Fehlerquelle wirksam oder unwirksam
geschaltet wird. Wirksam geschaltete Fehlerquellen lösen bei Auftreten
eine zugehörige
Fehlerreaktion aus, wobei auch die in der Steuerung vorgesehenen
Fehlerreaktionen durch Setzen oder Löschen von Bits wirksam oder
unwirksam geschaltet werden können.
Als Fehlerquellen werden hier Fehler in der Bewegung, der Steuerung
oder externe Fehlerquellen berücksichtigt, die
zu einem Stillsetzen und/oder einem Notrückzug einzelner oder mehrere
Achsen oder Spindeln führen.
Die Notrückzugsbewegungen
können
hierzu über
definierte Steuerungsbefehle programmiert werden. Ferner ist zusätzlich eine
externe Fehlerreaktion vorgesehen, über die im Falle eines Fehlers
an der Maschinenperipherie Signale über Fehlerquelle und Fehlerstatus
weitergeleitet werden können,
um so Bremsen zu öffnen
und zu schließen
oder um Hydraulikbewegungen zu starten.
-
Nachteil der in der
DE 195 33 604 A1 vorgeschlagenen
Lösung
ist, daß Fehlerquellen
als auch die zugehörigen
Fehlerreaktionen weitgehend nur im Rahmen fest vorgegebener Wahlmöglichkeiten
berücksichtigt
werden können.
Die sehr hardwarenahe Programmierung in Bit-Code ist überdies
sehr aufwändig.
Das hardwarenah ausgelegte Steuerungsverfahren und die jeweilige
Steuerungsvorrichtung sind ferner nur für den der Auslegung zugrundegelegten
Roboter oder die der Auslegung zugrundegelegten Maschine anwendbar.
Die ausgelegte Steuerung ist somit also nicht oder nur mit sehr
großem
Anpassungsaufwand auf andere Roboter oder Maschinen übertragbar.
Des weiteren erwiesen sich in vielen Anwendungsfällen die in der
DE 195 33 604 A1 vorgeschlagenen
Fehlerreaktionen des Stillsetzens oder des Notrückzugs einzelner oder mehrerer
Achsen bzw. Spindeln, wodurch es üblicherweise zu einem Stillstand
der gesamten Anlage kommt, als sehr nachteilig.
-
Der Erfindung liegt somit die Aufgabe
zugrunde, ein Verfahren zur Ablaufsteuerung insbesondere eines Roboters
mit definierter Behebung von Ausnahmezuständen sowie eine Steuerung zur
Ablaufsteuerung insbesondere eines Roboters mit definierter Behebung
von Ausnahmezuständen
zur Verfügung
zu stellen, die die Nachteile des Standes der Technik vermeiden.
Insbesondere soll ein Stillstand einer Anlage, in die der Roboter
integriert ist, oder eines gesamten Robotersystems, in das der von
dem Ausnahmezustand betroffene Roboter integriert ist, als Folge
auf das Auftreten eines Ausnahmezustandes und den hierdurch bedingten
Abbruch der Steuerung vermieden werden und der aufgetretene Ausnahmezustand
definiert behoben werden.
-
Des weiteren ist es eine Aufgabe
der Erfindung, ein Verfahren zur Ablaufsteuerung, das einfach strukturiert
ist und mit nur geringem Aufwand an eine Vielzahl unterschiedlicher
Roboter und Robotersysteme anpassbar ist, sowie eine geeignete Steuerung zur
Verfügung
zu stellen.
-
Die Erfindung soll einem Nutzer zweckmäßig auch
ermöglichen,
Ausnahmezustände
sowie geeignete Maßnahmen
zur Behebung aufgetretener Ausnahmezustände in einfacher und komfortabler
Weise frei zu definieren.
-
Ferner ist es eine Aufgabe der Erfindung
einen Roboter, der eine Steuerung zur Ablaufsteuerung mit definierter
Behebung von Ausnahmezuständen
umfaßt,
sowie ein Robotersystem, das einen solchen Roboter umfaßt, zur
Verfügung
zu stellen.
-
Diese Aufgaben werden erfindungsgemäß durch
das Verfahren zur Ablaufsteuerung gemäß Anspruch 1, die Steuerung
gemäß Anspruch
13, den Roboter gemäß Anspruch
21 und das Robotersystem gemäß Anspruch
23 gelöst.
Weitere vorteilhafte Ausgestaltungen der Erfindung finden sich in
den Unteransprüchen.
-
Das erfindungsgemäße Verfahren zur Ablaufsteuerung
insbesondere eines Roboters mit einer definierten Behebung von im
Betrieb auftretenden Ausnahmezuständen umfaßt folgende Verfahrensschritte:
- – Definieren
zumindest eines Ausnahmezustandes und zweckmäßig eines dem Ausnahmezustand
zugeordneten Ausnahmebehebungsprozesses;
- – Starten
der Ablaufsteuerung, wobei zur Ablaufsteuerung ein oder mehrere
Anwenderprozesse gestartet und abgearbeitet werden;
- – im
Falle des Auftretens eines definierten Ausnahmezustandes: Starten
und Abarbeiten eines Ausnahmebehebungsprozesses umfassend die Schritte:
i)
Abarbeiten einer Abfrageprozedur zur Identifikation desjenigen Anwenderprozesses
oder derjenigen Anwenderprozesse, der /die den definierten Ausnahmezustand
erreicht hat/haben ;
ii) für
jeden identifizierten Anwenderprozess, in dem der definierte Ausnahmezustand
erreicht ist: Abarbeiten einer Behebungsprozedur zur Behebung des definierten
Ausnahmezustands des/der identifizierten Anwenderprozesses)
- – Beenden
der Ablaufsteuerung.
-
Das erfindungsgemäße Verfahren zur Ablaufsteuerung
ist besonders zur Steuerung von Robotern oder Robotersystemen in
bandsynchronen Applikationen geeignet.
-
Das erfindungsgemäße Verfahren ermöglicht eine
Ablaufsteuerung beispielsweise eines Roboters, wobei auch im Falle
des Auftretens eines Ausnahmezustandes die Ablaufsteuerung nicht
abgebrochen wird. Die Ablaufsteuerung startet vielmehr im Falle
des Auftretens eines Ausnahmezustandes den betreffenden Ausnahmebehebungsprozess.
Dieser ermittelt welcher Anwenderprozess oder welche Anwenderprozesse
diesen Ausnahmezustand erreicht haben und veranlasst die Abarbeitung
einer Behebungsprozedur zur Behebung des definierten Ausnahmezustands
des/der identifizierten Anwenderprozesse(s). Um die Zeitspanne zwischen Erkennung
eines Ausnahmezustandes und Aktivierung des Ausnahmebehebungsprozesses
auf ein Minimum zu reduzieren, wird eine im Betriebssystem integrierte Erkennungsfunktion
verwendet. Optional kann die Erkennungsfunktion auch in Anwenderprozessen
implementiert werden.
-
Das erfindungsgemäße Verfahren gewährleistet
somit, daß die
Ablaufsteuerung auch im Falle des Auftretens eines Ausnahmezustandes
in einem oder mehreren Anwenderprozessen nicht insgesamt abgebrochen
oder vorzeitig beendet wird, sondern daß die Ablaufsteuerung lediglich
in die Bearbeitung eines definierten Ausnahmebehebungsprozesses zur
Behebung des Ausnahmezustandes eintritt. Die Auswirkungen des Ausnahmezustandes
beschränken
sich somit weitgehend nur auf den betroffenen Anwenderprozess oder
die betroffenen Anwenderprozesse. Dient beispielsweise die erfindungsgemäße Ablaufsteuerung
zur Steuerung eines Roboters, der in einen größeren Systemverbund integriert
ist, so kann der Systemverbund üblicherweise
ohne nachhaltige Störungen
auch bei Auftreten eines Ausnahmezustandes in einem oder mehreren
Anwenderprozessen weiter betrieben werden. Insbesondere ist bei
Auftreten eines Ausnahmezustandes auch kein manueller Eingriff zur
Behebung des Ausnahmezustandes oder zum Wiederstart der Ablaufsteuerung
erforderlich.
-
Eine besonders hohe Flexibilität der Ablaufsteuerung
wird vorteilhaft durch eine freie Definierbarkeit des möglicherweise
auftretenden Ausnahmezustandes oder der möglicherweise auftretenden Ausnahmezustände und/oder
des jeweils zugehörigen
Ausnahmebehebungsprozesses erzielt. Besonders vorteilhaft ist es,
wenn eine Vielzahl von Ausnahmezuständen sowie zugehörige Ausnahmebehebungsprozesse
definiert werden, um so für
eine umfassende Absicherung der Steuerung gegenüber auftretenden Ausnahmezuständen zu
sorgen.
-
In vielen Anwendungsfällen wird
es zweckmäßig sein,
als Ausnahmebehebungsprozess einen Abbruch des betroffenen Anwenderprozesses
verbunden mit einem Neustart des Anwenderprozesses zu definieren.
Von einem solchen Neustart ist im Vergleich zu aus dem Stand der
Technik bekannten Verfahren aber lediglich der betroffene Anwenderprozess
und nicht die gesamte Ablaufsteuerung betroffen.
-
Eine vorteilhafte Ausgestaltung des
Verfahrens sieht vor, daß der
zumindest eine Ausnahmezustand sowie der dem Ausnahmezustand zugeordnete
Ausnahmebehebungsprozess durch einen Bediener oder Programmierer
in einer Programmierhochsprache definiert werden kann. Dies erleichtert
die Bedienung der Ablaufsteuerung für den Bediener oder Programmierer.
-
Zur Definition des zumindest einen
Ausnahmezustandes wird vorteilhaft ablaufsteuerungsintern ein Fehlerkodierungssystem
verwendet, das vorzugsweise jedem definierten Ausnahmezustand eine Integer-Zahl
zuweist.
-
Zweckmäßig wird die Definition des
zumindest einen Ausnahmezustandes sowie des dem Ausnahmezustand
zugeordneten Ausnahmebehebungsprozesses beim Beenden oder beim Neustart
der Ablaufsteuerung gelöscht.
Wird die Ablaufsteuerung erneut gestartet, so muß zunächst wieder eine Neudefinition
der zu berücksichtigenden
Ausnahmezustände
und der zugehörigen
Ausnahmebehebungsprozesse vorgenommen werden. Zur Vereinfachung
des Betriebs wird diese Information in einem im Anwenderspeicher
abgespeicherten Anwenderprogramm programmiert, welches bei einem
Neustart der Ablaufsteuerung aufgerufen wird, um die relevanten
Daten erneut in die Ablaufsteuerung einzulesen.
-
Als zweckmäßige Ausgestaltung des erfindungsgemäßen Verfahrens
kann vor dem Abarbeiten der Abfrageprozedur durch den Ausnahmebehebungsprozess
zusätzlich
ein weiterer zentraler Ausnahmesteuerprozess gestartet und abgearbeitet
werden. Der zentrale Ausnahmesteuerprozess wird hierzu ebenso in
dem Definitionsschritt des Verfahrens in Abhängigkeit des Ausnahmezustandes
definiert. Dieser zentrale Ausnahmesteuerprozess dient üblicherweise
dazu, die aktuelle Verfahrbewegung des Roboters in Form einer unmittelbaren
Reaktion auf das Auftreten des Ausnahmezustandes abzubrechen und
den Roboter vorzugsweise in eine Ausgangsstellung zu verfahren.
-
Tritt in einem oder mehreren Anwenderprozessen
oder auch ausgelöst
durch ein externes Ereignis ein Ausnahmezustand auf, so ist es vorteilhaft, wenn
der Ausnahmebehebungsprozess unmittelbar durch das Auftreten des
definierten Ausnahmezustandes gestartet wird. Dies kann beispielsweise durch
eine interne Interrupt-Generierung
in dem betroffenen Anwenderprozess erfolgen. Durch den generierten
Interrupt und einen hieran verknüpften
Interrupt-Handler wird dann der Ausnahmebehebungsprozess gestartet.
-
Alternativ hierzu kann zur Feststellung,
ob ein definierter Ausnahmezustand aufgetreten ist, auch kontinuierlich
oder auch diskontinuierlich ein vom Anwender programmierter Erkennungsprozess abgearbeitet
werden. Der Erkennungsprozess überprüft vorzugsweise
alle aktiven Anwenderprozesse auf das Vorliegen eines Ausnahmezustandes.
Im Falle des Feststellens des Vorliegens eines definierten Ausnahmezustandes
wird dann der Ausnahmebehebungsprozess durch den Erkennungsprozess gestartet.
Besonders zweckmäßig ist
es, wenn der Erkennungsprozess in dem Verfahrensschritt des Startens
der Ablaufsteuerung gestartet wird. Nach dem Starten des Erkennungsprozesses
wird dieser sodann zweckmäßig bis
zur Beendigung der Ablaufsteuerung kontinuierlich und parallel zu
dem zumindest einen Anwenderprozess abgearbeitet und vorzugsweise
in dem Verfahrensschritt des Beendens der Ablaufsteuerung beendet.
-
In einer besonders vorteilhaften
Ausgestaltung der Erfindung wird das Verfahren zur Ablaufsteuerung
in einem Multitasking-Modus betrieben, so daß die Prozesse, d.h. die Anwenderprozesse,
ein Erkennungsprozess, der Ausnahmebehebungsprozess oder auch andere
Prozesse, parallel zueinander abgearbeitet werden können. Der
Multitasking-Modus basiert üblicherweise
auf der Verwendung eines Multitasking-Betriebssystems.
-
In einer besonders zweckmäßigen Ausgestaltung
der Erfindung können
von der Ablaufsteuerung eine Vielzahl von Anwenderprozessen gestartet und
parallel zueinander betrieben werden. Die Anwenderprozesse übernehmen
hierbei verschiedene Steuerungs- und Überwachungsfunktionen beispielsweise
des Roboters oder des Robotersystems.
-
In einer besonders bevorzugten Anwendung der
erfindungsgemäßen Ablaufsteuerung
wird mittels des Verfahrens ein Schwenkarmroboter synchron zu einem
Förderband
betrieben. Der Schwenkarmroboter wird hierbei von der Ablaufsteuerung
so gesteuert, daß er
mit einem oder mehreren Greifelementen Teile von dem Förderband
entnimmt, weitertransportiert und/oder weiterverarbeitet und/oder
auf das Förderband
zurücklegt.
-
In einem weiteren Aspekt stellt die
Erfindung eine Steuerung zur Ablaufsteuerung insbesondere eines
Roboters zur Verfügung.
-
Die erfindungsgemäße Steuerung umfaßt Mittel
zur Definition und zur Speicherung zumindest eines Ausnahmezustandes
sowie eines dem Ausnahmezustand zugeordneten Ausnahmebehebungsprozesses,
Mittel zum Starten und Abarbeiten der Ablaufsteuerung mit zumindest
einem abzuarbeitenden Anwenderprozess, vorzugsweise einer Vielzahl von
parallel abzuarbeitenden Anwenderprozessen, und Mittel zum Starten
und Abarbeiten eines Ausnahmebehebungsprozesses im Falle des Auftretens
eines definierten Ausnahmezustandes, wobei diese letztgenannten
Mittel zum Starten und Abarbeiten eines Ausnahmebehebungsprozesses
wiederum ein Mittel zum Abarbeiten einer Abfrageprozedur zur Identifikation
desjenigen Anwenderprozesses oder derjenigen Anwenderprozesse, in
dem/denen der definierte Ausnahmezustand erreicht ist, sowie ein
Mittel zum Löschen
und Starten für
jeden identifizierten Anwenderprozess, in dem der definierte Ausnahmezustand
aufgetreten ist, umfassen.
-
Die Vorteile der erfindungsgemäßen Steuerung
gegenüber
den aus dem Stand der Technik bekannten Steuerungen entsprechen
den im Zusammenhang mit dem erfindungsgemäßen Verfahren getroffenen Ausführungen.
Insbesondere ist die erfindungsgemäße Steuerung in der Lage, Ausnahmezustände definiert
zu beheben, ohne daß es
bei Auftreten eines Ausnahmezustandes zu einem Abbruch der Ablaufsteuerung
kommt. Die erfindungsgemäße Steuerung
eignet sich insbesondere zur Durchführung des oben beschriebenen,
erfindungsgemäßen Verfahrens
zur Ablaufsteuerung.
-
Zweckmäßig ist das Mittel zur Definition
und zur Speicherung des zumindest einen Ausnahmezustandes sowie
des dem Ausnahmezustand zugeordneten Ausnahmebehebungsprozesses
ein Speichermittel, das zweckmäßig über eine
Eingabeeinheit vorzugsweise in einer Hochsprache beschreibbar ist. Besonders
zweckmäßig ist
das Speichermittel lösch- und
wiederbeschreibbar.
-
Ferner ist das Mittel zum Starten
und Abarbeiten der Ablaufsteuerung mit zumindest einem abzuarbeitenden
Anwenderprozess vorteilhaft in einem Multitasking-Modus betreibbar.
-
In einer zweckmäßigen Ausführung der Erfindung umfassen
die Mittel zum Starten eines Ausnahmebehebungsprozesses Mittel zur
Prozessbearbeitungssteuerung, vorzugsweise Mittel zur Generierung
und Verarbeitung eines Trap-Signals und/oder Mittel zur Generierung
und Verarbeitung eines Interrupt-Signals. Unter dem Begriff „Trap"
ist ein Steuerungssignal zu verstehen, das bei Auftreten eines Fehlers
während
eines Programmablaufs generiert wird, beispielsweise bei einer im
Programmablauf auftretenden, fehlerbehaften Division durch Null.
Interrupts hingegen werden bei Auftreten externer Ereignisse erzeugt,
wie beispielsweise dem Auftreten von Synchronisationssignalen. Interrupts
können aber
auch aus einem Programm heraus erzeugt werden.
-
Alternativ umfassen die Mittel zum
Starten eines Ausnahmebehebungsprozesses zweckmäßig ein Mittel zur kontinuierlichen
Abarbeitung eines Erkennungsprozesses sowie ein Startmittel zum
Starten des Ausnahmebehebungsprozesses im Falle des Feststellens
des Auftretens eines definierten Ausnahmezustandes. Der Ausnahmebehebungsprozess kann
auch hier durch Generierung eines Interrupts durch den Erkennungsprozess
gestartet werden.
-
Bevorzugt sind das Mittel zur kontinuierlichen
Abarbeitung eines Erkennungsprozesses und das Mittel zum Starten
und Abarbeiten der Ablaufsteuerung mit zumindest einem abzuarbeitenden
Anwenderprozess in einem Mittel ausgeführt, das zur Funktionstrennung
in einem Multitasking-Modus betreibbar ist. So ist es insbesondere
aus Kostengründen
sinnvoll, nur einen Prozessor zu verwenden, der in einem Multitasking-Modus
betrieben werden kann, um so in verschiedenen parallelen Prozessen
den Erkennungsprozess und den Anwenderprozess oder die Anwenderprozesse
zu betreiben.
-
Auch kann es vorteilhaft sein, die
Mittel zum Starten und Abarbeiten eines Ausnahmebehebungsprozesses
und die Mittel zum Starten und Abarbeiten des zumindest einen Anwenderprozesses
in einem Mittel zu realisieren, das zur funktionalen Trennung der
Prozesse in einem Multitasking-Modus betreibbar ist.
-
In einem weiteren Aspekt stellt die
Erfindung einen Roboter zur Verfügung,
der eine wie oben beschriebene, erfindungsgemäße Steuerung umfaßt und/oder
die Steuerung gemäß dem erfindungsgemäßen Verfahren
betrieben wird.
-
In einer besonders zweckmäßigen Ausführung der
Erfindung ist der Roboter als Schwenkarmroboter zum Greifen von
Einzelelementen ausgeführt.
Hierzu umfaßt
der Roboter zumindest ein Greifelement, mit dem die zu greifenden
Einzelelemente gegriffen werden können.
-
In einem weiteren Aspekt stellt die
Erfindung ein Robotersystem zur Verfügung, das einen wie oben beschriebenen,
erfindungsgemäßen Roboter sowie
ein Förderband
zum Fördern
einer Mehrzahl von Einzelelementen umfaßt. Die Einzelelemente sind üblicherweise
auf dem Förderband
verteilt angeordnet und werden von dem Roboter dem Förderband
entnommen. Tritt nun vor oder während
des Greifvorgangs nach einem auf dem Förderband liegenden Element
ein Ausnahmezustand auf, der ein ordnungsgemäßes Greifen durch den Roboter
verhindert, so wird durch die Steuerung ein Ausnahmebehebungsprozess
gestartet und abgearbeitet. Hierbei wird zunächst der von dem Ausnahmezustand betroffene
Anwenderprozess oder die betroffenen Anwenderprozesse identifiziert,
in dem/denen der Ausnahmezustand erreicht ist. Anschließend wird
ein Ausnahmebehebungsprozess zur Behebung des Ausnahmezustandes
des betroffenen Anwenderprozesses oder der Ausnahmezustände der
betroffenen Anwenderprozesse abgearbeitet. Ist es hierbei beispielsweise
erforderlich, zur Behebung der Ausnahmezustände die betroffenen Anwenderprozesse
abzubrechen und neu zu starten, so hat diese Maßnahme üblicherweise einen nur vergleichsweise
geringen Effekt auf den Gesamtbetrieb des Robotersystems. Da es
bei Auftreten eines internen oder externen Ausnahmezustandes zu
keinem Abbruch der Ablaufsteuerung sondern lediglich zu einem definierten
Abarbeiten eines Ausnahmebehebungsprozesses kommt, kann das Robotersystem
ohne Unterbrechung und insbesondere ohne manuellen Eingriff oder
einen Neustart des gesamten Robotersystems weiterbetrieben werden.
Insbesondere muß auch beispielsweise
das Förderband
zur Behebung des aufgetretenen Ausnahmezustandes nicht abgestellt werden.
-
Die Erfindung wird nachfolgend anhand
von Ausführungsbeispielen
im Zusammenhang mit den Zeichnungen näher erläutert. Es zeigen:
-
1 ein
erfindungsgemäßes Robotersystem
mit einem Roboter und einem Förderband;
-
2 ein
Ablaufdiagramm, in dem die Zuweisungen einer Definitionsfunktion
zur Definition eines Ausnahmezustandes dargestellt sind, wobei die Definitionsfunktion
zur Verwendung in einem Datenverarbeitungsprogramm, das zur Ablaufsteuerung
eines Roboters dient und das gemäß dem erfindungsgemäßen Verfahren
arbeitet, vorgesehen ist;
-
3 ein
Ablaufdiagramm einer Definitionsroutine zur Definition von Ausnahmezuständen, in dem
die Definitionsfunktion aus 2 aufgerufen wird;
-
4 ein
Ablaufdiagramm eines Ausnahmebehebungsprozesses zur erfindungsgemäßen Behebung
eines Ausnahmezustandes;
-
5 eine
Programmsequenz, in der der Ausnahmebehebungsprozess aus 4 programmtechnisch ausgeführt ist.
-
In den Figuren sind nur die für das Verständnis der
Erfindung wesentlichen Elemente und Bauteile dargestellt.
-
Wege zur Ausführung der
Erfindung
-
1 zeigt
in schematisierter Darstellung ein Robotersystem 1. Das
Robotersystem 1 umfaßt einen
als Schwenkarmroboter ausgeführten
Roboter 5, der im Kreuzungspunkt des Koordinatensystems 10', 10" angeordnet
ist. In einer gewissen Entfernung zu dem Schwenkarmroboter 5 ist
ein Förderband 6 zum
Fördern
von Einzelelementen 7 angeordnet. Die Einzelelemente 7 werden
hierzu auf das Förderband 6 aufgelegt
(in 1 nicht dargestellt)
und mittels dem Förderband 6 in
Pfeilrichtung 11 gefördert.
Die Verteilung der Einzelelemente 7 auf dem Förderband 6 kann
gleichmäßig oder,
wie in 1 dargestellt,
ungleichmäßig, d.h.
mit unregelmäßigen Abständen zueinander,
sein. Der als Schwenkarmroboter ausgeführte Roboter 5 hat
zunächst
die Aufgabe, die auf dem Förderband 6 angeordneten
Einzelelemente 7 zu greifen und von dem Förderband 6 zu
entnehmen.
-
Der Schwenkarm des Roboters 5 weist
einen Aktionsradius auf, der durch den Kreis 12 angedeutet ist.
Hieraus ergibt sich ein frühester
Greifwert G1, der als eine früheste
Positionsangabe zu verstehen ist, bei dessen Erreichen ein auf dem
Förderband 6 befindliches
Einzelelement 7 unabhängig
von der Lage auf dem Förderband 6 durch
den Schwenkarm des Roboters 5 gegriffen werden kann. Analog
hierzu ergibt sich auch ein spätester
Greifwert G3 als eine späteste
Positionsangabe eines Einzelelements 7 auf dem Förderband 6,
an dem das Einzelelement 7 unabhängig von der Lage auf dem Förderband
durch den Schwenkarm gegriffen werden kann. Ferner ergibt sich in
Abhängigkeit
der Verfahrgeschwindigkeit des Förderbandes
ein spätester
Losfahrwert G2, an dem der Schwenkarm des Roboters 5 aktiviert
werden muß,
um ein Einzelelement 7 auf dem Förderband 6 vor Erreichen
des spätesten
Greifwertes G3 sicher greifen zu können.
-
Um im vorliegenden Fall einen effizienten Betrieb
des Robotersystems unter Verwendung der erfindungsgemäßen Steuerung,
die mit dem erfindungsgemäßen Verfahren
betrieben wird, zu gewährleisten,
werden in dem Definitionsschritt des Steuerungsverfahrens als Ausnahmezustände das Erreichen
und Überschreiten
des spätesten
Losfahrwertes G2 sowie des spätesten
Greifwertes G3 durch ein auf dem Förderband transportiertes, von
dem Schwenkarmroboter zu greifendes Einzelelement definiert. Bei
diesen Ausnahmezuständen
handelt es sich um Ausnahmezustände
des Typus 'Bandart'. Neben solchen Ausnahmezuständen ist es in vielen Anwendungsfällen zweckmäßig, auch
Ausnahmezustände
der internen Prozessverarbeitung, beispielsweise ,Division durch
Null', sowie weitere Ausnahmezustände, beispielsweise das Erreichen
von Verfahrbereichsgrenzen der Roboterachsen, zu definieren. Jedem
Ausnahmezustand wird innerhalb des Definitionsschrittes ferner ein
Ausnahmebehebungsprozess zugeordnet.
-
Im Falle des Auftretens eines Ausnahmezustandes
wird von dem Betriebssystem der Steuerung eine Statusmeldung generiert
und ausgegeben, die im Weiteren dazu genutzt wird, die von dem Ausnahmezustand
betroffenen Anwenderprozesse zu identifizieren. Vorzugsweise wird
bei Eintreten des Ausnahmezustands hierzu von dem Betriebssystem
der Steuerung eine codierte Statusmeldung durch Vergabe einer Integer-Zahlen
erzeugt.
-
Für
den Fall des ,Bandart'-Ausnahmezustandes, daß ein zu greifendes Einzelelement 7 auf
dem Band die Y-Koordinate G3 als spätesten Greifwert des Roboterschwenkarms
erreicht, ist es beispielsweise zweckmäßig, einen Ausnahmebehebungsprozess
so zu definieren, daß die
Verfahrbewegung des Schwenkarms abgebrochen wird und der Schwenkarm
zweckmäßig in seine
Ausgangsstellung zurückgefahren
wird. Ferner soll der betroffene Anwenderprozess, der vor Auftreten
des Ausnahmezustandes die Verfahrbewegung des Schwenkarms steuerte,
in den Zustand ,Fehler' übergehen
und darauf warten, zweckmäßig zunächst gestoppt
und anschließend neu
gestartet zu werden.
-
Erreicht das Einzelelement die Y-Koordinate G2
bevor der Roboter den ersten bandsynchronen Satz verfährt, wird
eine diesbezügliche
Statusmeldung generiert und bevorzugt die Verfahrbewegung nicht
gestartet. Auch hier geht der Anwenderprozess in den Zustand ,Fehler' über und
wartet darauf, zweckmäßig zunächst gestoppt
und anschließend neu
gestartet zu werden.
-
Im Folgenden wird die Erfindung anhand
von Flußdiagrammen,
in denen jeweils ein Abschnitt eines erfindungsgemäß ausgeführten Datenverarbeitungsprogramms
zur Ablaufsteuerung eines Roboters in seiner Struktur wiedergegeben
ist, detailliert erläutert.
Die Datenverarbeitungsprogramme sind bevorzugt in der im Stand der
Technik bekannten Programmiersprache BAPS, die insbesondere für die Programmierung
von Robotersteuerungen geeignet ist, erstellt. Ferner ist es besonders
vorteilhaft, für
die Steuerung ein Multitasking-Betriebssystem, in dem mehrere Anwenderprozesse
oder auch andere Prozesse parallel abgearbeitet werden können, sowie ein
betriebssysteminternes Fehlercodierungssystem, bei dem jedem im
Betrieb aufgetretenen Fehler betriebssystemseitig eine Integer-Zahl
zugewiesen wird, zu verwenden. In dem vorliegenden Ausführungsbeispiel
und insbesondere in der in 5 dargestellten
Programmsequenz wurde hierzu das aus dem Stand der Technik bekannte
,rho4'-Betriebssystem verwendet.
-
In 2 ist
ein Ablaufdiagramm dargestellt, in dem die von einer Definitionsfunktion
durchgeführten
Zuweisungen zur Definition eines Ausnahmezustandes und eines zugehörigen Ausnahmebehebungsprozesses
wiedergegeben sind. Die Definitionsfunktion ist zur Verwendung in
einem gemäß dem Verfahren
der Erfindung arbeitenden Datenverarbeitungsprogramm zur Ablaufsteuerung
eines Roboters vorgesehen. Vorteilhaft lassen sich so in dem Datenverarbeitungsprogramm
bis zu 32 Ausnahmezustände
definieren. Die mittels der Definitionsfunktion definierten Ausnahmezustände und
die zugehörigen Ausnahmebehebungsprozesse
werden in dem Datenverarbeitungsprogramm hierzu zweckmäßig in einer
Tabelle gespeichert.
-
Nach dem Start 20 der Definitionsfunktion weist
die Definitionsfunktion zur Definition eines Ausnahmezustandes in
einem ersten Definitionsschritt 21 jedem neuen Tabelleneintrag zunächst eine
von dem Anwender bestimmbare Nummer, vorzugsweise eine ganzzahlige
Nummer, die zweckmäßig durchlaufend
gewählt
wird, zu. In einem weiteren Zuweisungsschritt 22 wird jedem
zu definierenden Ausnahmezustand ein Fehlercode-Wert oder ein Fehlercode-Wertebereich
zugewiesen. In einem weiteren Zuweisungsschritt 23 erfolgt
eine Zuweisung eines Programm-Namens eines Ausnahmebehebungsprozesses,
der so dem Ausnahmezustand zugeordnet wird.
-
Der zugewiesene, d.h. definierte,
Fehlercode-Wert oder Fehlercode-Wertebereich dient später als
Triggerbedingung für
das Starten eines Ausnahmebehebungsprozesses. Tritt im Roboterbetrieb ein
definierter Fehlercode auf, d.h. erreicht ein Anwenderprozess einen
Zustand mit einem definierten Fehlercode, so wird automatisch der
dem Fehlercode zugeordnete Ausnahmebehebungsprozess gestartet.
-
3 zeigt
in Form eines Ablaufdiagramms den Ablauf einer Definitionsroutine
zur Definition von Ausnahmezuständen
und zugehörigen
Ausnahmebehebungsprozessen. Innerhalb der Definitionsroutine wird
die Definitionsfunktion aus 2 mehrfach aufgerufen.
Die Definitionsroutine wiederum wird innerhalb eines Datenverarbeitungsprogramms,
das gemäß dem erfindungsgemäßen Verfahren
arbeitet, zur Definition von zu berücksichtigenden Ausnahmezuständen sowie
zugehörigen
Ausnahmebehebungsprozessen durchlaufen, wobei die definierten Ausnahmezustände (Fehlercode-Werte)
sowie die Namen der zugehörigen
Ausnahmebehebungsprozesse in der oben beschriebenen Weise in einer
Tabelle abgelegt werden.
-
Bei Ablauf der Definitionsroutine
werden nach dem Start 30 zunächst Vorgabewerte der Zuweisungswerte
(Nummer, Namen sowie Fehlercode-Wert bzw. Fehlercode-Wertebereich)
des zu definierenden Ausnahmezustandes eingelesen (Vorgänge 31, 32, 33).
Diese Vorgabewerte können
hierbei interaktiv oder auch durch Einlesen aus einem Speicher vorgegeben
werden. Mit diesen Vorgabewerten wird in Verfahrensschritt 34 die
Definitionsfunktion aufgerufen, die einen Eintrag in die Tabelle bewirkt.
Diese Definitionssequenz wird für
jeden zu definierenden Ausnahmezustand, wie durch die Abfrage 35 und
die Rückverweisung 36 angedeutet
ist, durchlaufen, bevor die Definitionsroutine beendet wird (Vorgang 37).
-
In dem in 1 dargestellten Anwendungsfall eines
Robotersystems können
so beispielsweise die drei möglicherweise
auftretenden Ausnahmezustands-Typen ,Bandart', ,Verfahrbereichsgrenze'
sowie ,Satzvorbereitung' definiert werden. Tritt ein Ausnahmezustand
auf, so wird von dem Betriebssystem der Robotersteuerung jeweils
ein Fehlercode aus einem dem Ausnahmezustand-Typus entsprechenden Fehlercode-Wertebereich generiert.
So ist dem Ausnahmezustands-Typus ,Bandart' der Fehlercode-Wertebereich 19584
bis 19839, dem Ausnahmezustands-Typus ,Verfahrbereichsgrenze' der
Fehlercode-Wertebereich 22144 bis 22271 und dem Ausnahmezustands-Typus
,Satzvorbereitung' der Fehlercode-Wertebereich 131840 bis 150912
zugeordnet. Demgemäß ist es
auch zweckmäßig, diese Wertebereiche
zur Definition der jeweiligen Ausnahmezustands-Typen in die Tabelle
eintragen zu lassen.
-
Tritt nun im Roboterbetrieb ein Ausnahmezustand
auf, bei dem das Roboter-Betriebssystem einen Fehlercode generiert,
der in einem der definierten Fehlercode-Wertebereiche liegt, so
wird ein Ausnahmebehebungsprozess gestartet, in dem wiederum die
dazugehörige
Abfrageprozedur aufgerufen wird. Die eigentliche Behebung des Ausnahmezustandes
findet in dem Ausnahmebehebungsprozess statt, wobei auch der jeweilige
Ausnahmebehebungsprozess weitgehend von dem Anwender frei vorgebbar
ist. Hierzu hat der Anwender zweckmäßig die Möglichkeit, die jeweils mit
ihrem Programm-Namen vorgegebenen, als Ausnahmebehebungsprozesse
abzuarbeitenden Programme dem Steuerprogramm vorzugeben. In dem
gestarteten Ausnahmebehebungsprozess werden zunächst alle Anwenderprozesse
ermittelt, in denen der aufgetretene Ausnahmezustand erreicht ist.
Anschließend
ist es in vielen Anwendungsfällen
zweckmäßig, die
so identifizierten Anwenderprozesse zu stoppen und neu zu starten.
Dies erfolgt mittels einer vom Betriebssystem zur Verfügung gestellten
Kommandoprozedur, die im Ausnahmebehebungsprozess aufgerufen wird.
Die Robotersteuerung selbst sowie die Anwenderprozesse, die nicht
den Ausnahmezustand erreicht haben, sind von diesem Abbruch- und
Neustartvorgang jedoch nicht betroffen, so daß in vielen Fällen, in
denen ein Ausnahmezustand in einem oder mehreren Anwenderprozessen
auftritt, die Auswirkungen auf den Roboterbetrieb sehr gering gehalten
werden können. Insbesondere
ist in dem in 1 dargestellten
Robotersystem eine Bandabschaltung und ein neues Anfahren des Gesamtsystems
nicht erforderlich.
-
Um nach Auftreten eines Ausnahmezustandes
und Generierung eines Fehlercode-Wertes durch das Betriebssystem
alle Anwenderprozesse zu ermitteln, die den betreffenden Ausnahmezustand
erreicht haben, wird als Abfrageprozedur eine Suchfunktion gestartet
und durchlaufen. Als Eingabeparameter für eine solche Suchfunktion
sind der Fehlercode-Wert oder der Fehlercode-Wertebereich vorzugeben.
Die Suchfunktion meldet die Anzahl und Namen der Prozesse zurück, die
den betreffenden Ausnahmezustand erreicht haben. Sollte der Ausnahmezustand nicht
in einem Hauptprozess sondern in einem Neben- oder Parallelprozess,
der einem Hauptprozess untergeordnet ist, aufgetreten sein, so meldet
die Suchfunktion sowohl den Hauptprozess als auch den Neben- oder
Parallelprozess zurück.
Wurde von dem Betriebssystem ein Fehlercode-Wert generiert, der einem
Fehlercode-Wertebereich
eines Ausnahmezustands-Typus zugehörig ist, so ist es vorteilhaft,
der Suchfunktion den gesamten Fehlercode-Wertebereich vorzugeben.
Die Suchfunktion ihrerseits meldet zweckmäßig zu jedem gefundenen Prozess
auch den zugehörigen
Fehlercode-Wert zurück.
-
Grundsätzlich ist es auch möglich, die
Suchfunktion unabhängig
von der Generierung eines Fehlercode-Wertes durch das Betriebssystem
zu starten und zu durchlaufen. Besonders zweckmäßig ist es jedoch, die Suchfunktion
innerhalb des Ausnahmebehebungsprozesses zu starten, der seinerseits
durch die Generierung des Fehlercode-Wertes des Betriebssystems
gestartet wurde.
-
4 zeigt
ein Ablaufdiagramm eines Prozesses zur erfindungsgemäßen Behebung
eines Ausnahmezustandes, wobei der Ausnahmezustand durch das Erreichen
der Greifgrenze G3 nach 1 erreicht
wurde. Ferner ist in 5 eine
Programmsequenz wiedergegeben, in der der in 4 als Ablaufdiagramm dargestellte Prozess
programmtechnisch ausgeführt
ist. Beispielhaft sei hier das Erreichen der Greifgrenze G3 betrachtet,
das den Prozessstatus ,Greifgrenze' und die Generierung eines Fehlercode-Wertes
auslöst.
Das Auftreten dieses Fehlercode-Wertes dient als Triggerbedingung
zum Starten des Ausnahmebehebungsprozesses, hier des Ausnahmebehebungsprozesses
,ExcptBA4' (Vorgang 40). Innerhalb dieses Prozesses wird
eine geeignete Suchfunktion, hier die Suchfunktion ,EXC DETECT', aufgerufen,
um Anzahl und Namen der Prozesse zu ermitteln, die einen Ausnahmezustand
des Typus ,Bandart' erreicht haben (Vorgang 41). Die durch
die Suchfunktion gelieferten Anwenderprozessnamen werden anschließend direkt
in eine Ausnahmebehebungsfunktion, die Funktion ,KOMMANDO', eingesetzt,
um die betreffenden Anwenderprozesse abzubrechen und neu zu starten
(Vorgänge 42 und 43).
-
Weiterhin ist es zweckmäßig, eine
Ausgabe und Verarbeitung von Statusmeldungen des Ausnahmebehebungsprozesses
vorzusehen, die insbesondere den ordnungsgemäßen Start des jeweiligen Ausnahmebehebungsprozesses
oder einen fehlerbehafteten Start oder eine fehlerbehaftete Abarbeitung
des Suchprozesses oder des Ausnahmebehebungsprozesses anzeigt.
-
Am Ende eines Programmdurchlaufs
ist es zweckmäßig, die
Tabelleneintragungen, die in der in 2 dargestellten
Definitionsroutine getätigt
wurden, aus der Tabelle zu löschen.
Dies kann alternativ auch bei einem Neustart des Programms oder
bei einem Neustart der Robotersteuerung erfolgen. Zweckmäßig können die
in die Tabelle eingetragenen Werte auch durch Eintrag des Wertes
,Null' gelöscht oder
unmittelbar durch die Eingabe von neuen Werten überschrieben werden.