-
Die Erfindung betrifft ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie als Führungsgröße mittels einer Bewegungssteuerung anzusteuern, wobei die Bewegungstrajektorie auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Bewegungsanweisung folgenden zweiten Bewegungsanweisung eines von der Steuervorrichtung ausführenden Maschinenbewegungsprogramms mittels eines Bahnplanungsprogramms automatisch erzeugt wird, wobei im Maschinenbewegungsprogramm in Ablaufrichtung zwischen der ersten Bewegungsanweisung und einer folgenden zweiten Bewegungsanweisung sich eine bedingte Programmabzweigung befindet, die in Abhängigkeit eines auslösenden Ereignisses eine erste Alternative einer zweiten Bewegungsanweisung oder wenigstens eine zweite Alternative einer zweiten Bewegungsanweisung vorgibt. Die Erfindung betrifft außerdem ein zugehöriges Computerprogrammprodukt.
-
Die
DE 10 2007 056 117 A1 betrifft einen Industrieroboter und ein Verfahren zum Steuern der Bewegung eines Industrieroboters. Insoweit offenbart dieser nächstliegende Stand der Technik in gattungsgemäßem Sinne ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie als Führungsgröße mittels einer Bewegungssteuerung anzusteuern, wobei die Bewegungstrajektorie auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Bewegungsanweisung folgenden zweiten Bewegungsanweisung eines von der Steuervorrichtung ausführenden Maschinenbewegungsprogramms mittels eines Bahnplanungsprogramms automatisch erzeugt wird.
-
Die
DE 10 2014 226 789 B1 beschreibt ein Verfahren zum bedingten Anhalten zumindest eines Manipulators, wobei der zumindest eine Manipulator eine Bahn abfährt, welche Bahn einen Haltepunkt aufweist. Das dortige Verfahren umfasst ein Berechnen eines dem Haltepunkt zugeordneten Bremspunktes in Abhängigkeit einer Geschwindigkeit des Manipulators, wobei der Bremspunkt ein Punkt der Bahn ist.
-
EP 2 022 608 B1 beschreibt ein Verfahren zum Erzeugen einer Trajektorie eines Bewegungssystems, bei dem eine Trajektorie als eine Folge von einem oder mehreren Pfadsegmenten (Bewegungsschritten) festgelegt ist, wobei ein Ausblenden eines Ausblendgebietes eines ersten Geschwindigkeitsprofils erfolgt und ein Einblenden eines Einblendgebiets eines nachfolgenden zweiten Geschwindigkeitsprofils innerhalb eines dort sogenannten Mischungsradius erfolgt.
-
Ein solches Ausblenden eines ersten Geschwindigkeitsprofils und ein solches Einblenden eines nachfolgenden zweiten Geschwindigkeitsprofils wird im Allgemeinen auch als „Überschleifen“ bezeichnet. Ein Überschleifen wird beispielsweise in der Robotertechnik und bei Werkzeugmaschinen in Rahmen einer sogenannten PTP-Steuerung (engl.: point-to-point) angewendet, bei der als Bewegungsanweisungen beispielsweise Punkt-zu-Punkt-Bewegungsanweisungen ausgeführt werden. Bei der Ausführung von Bewegungsanweisungen wird ein Bezugspunkt der anzusteuernden Maschine (beispielsweise ein Roboterarm oder eine Werkzeugmaschine) schrittweise von einem ersten Raumpunkt zu einem zweiten Raumpunkt und gegebenenfalls nacheinander zu weiteren folgenden Raumpunkten bewegt. Neben einer asynchronen PTP-Steuerung ist eine synchrone PTP-Steuerung allgemein bekannt, bei der nicht nur alleine die anzufahrenden Zielpunkte der einzelnen Bewegungsanweisungen rücktransformiert werden, um die Achsen der Maschine dann allein auf dieser Grundlage auf Achskoordinateneben anzusteuern, sondern auch die Bewegungsprofile von Startpunkt zu Zielpunkt in einem Bahnplanungsprogramm geplant werden und zwar hinsichtlich ihrer Geschwindigkeitsprofile und/oder Beschleunigungsprofile. So kann beispielsweise bei einer Bahnplanung bei Bewegungsanweisungen vorgesehen sein, dass für jeden angetriebenen Freiheitsgrad der Maschine, beispielsweise jedes angetriebene Gelenk eines Roboterarms, die maximale Geschwindigkeit und unter Berücksichtigung von Startpunkt zu Zielpunkt der Bewegung eine Bewegungsdauer für das jeweilige Gelenk berechnet wird, das Gelenk mit der längsten Bewegungsdauer als eine Leitachse definiert wird und die jeweils anderen, verbleibenden Freiheitsgrade oder Gelenke in ihren Geschwindigkeitsprofilen und/oder Beschleunigungsprofilen so angepasst werden, dass alle Freiheitsgrade oder Gelenke gleichzeitig mit ihren individuellen Bewegungen beginnen und auch gleichzeitig mit ihren individuellen Bewegungen enden. Um dies zu ermöglichen werden die Bewegungsanweisungen des Maschinenbewegungsprogramms, welches in einer Ablaufsteuerung implementiert sein kann, an eine Bewegungssteuerung übergeben und dort in einem Bahnplanungsprogramm transformiert in einzelne Geschwindigkeitsprofile und/oder Beschleunigungsprofile der Freiheitsgrade der Maschine oder Gelenke des Roboterarms, um die Antriebe der Maschine bzw. die angetriebenen Gelenke des Roboterarms den Geschwindigkeitsprofilen und/oder den Beschleunigungsprofilen entsprechend von einer Bewegungssteuerung angesteuert zu bewegen. Die Bewegungssteuerung kann insoweit das Bahnplanungsprogramm, d.h. eine Bahnsteuerung umfassen und eine die Bewegungen ausführende Bewegungsausführungssteuerung umfassen. Das Maschinenbewegungsprogramm hingegen kann Teil der Ablaufsteuerung sein. Je nach Systemarchitektur der Steuerung bzw. der Steuerungen können die Bewegungssteuerung und die Ablaufsteuerung separate Steuerungsteile sein oder in einer gemeinsamen Steuerung zusammengefasst sein. Üblicherweise ist die Ablaufsteuerung jedoch in einem vorzugsweise nicht-echtzeitfähigem Steuerungsteil implementiert, wo hingegen zumindest die Bewegungsausführungssteuerung oder die gesamte Bewegungssteuerung, umfassen die Bewegungsausführungssteuerung und die Bahnsteuerung, in einem echtzeitfähigen Steuerungsteil implementiert ist.
-
Maschinenbewegungsprogramme können ganz allgemein bedingte Programmabzweigungen enthalten. Bei einer bedingten Programmabzweigung, die beispielsweise eine IF-Anweisung oder eine WHILE-Anweisung sein kann, ist der als nächster anzufahrende Zielpunkt von dem auslösenden Ereignis abhängig, so dass zeitlich vor dem Eintritt des Ereignisses nicht eindeutig vorbestimmt ist, welcher Zielpunkt von ggf. mehreren alternativ möglichen Zielpunkten tatsächlich zur Anwendung kommen soll. Aufgrund dieser Unbestimmtheit im Vorhinein können Zielpunkte von Bewegungsanweisungen über eine Programmabzweigung hinweg im Allgemeinen nicht angefahren werden. Bekannt ist es, in einem solchen Fall die Planung eines Überschleifens zu unterbrechen, beispielsweise im Rahmen eines sogenannten Vorlaufstopps, d.h. eines Abbruchs einer rechnerischen zeitlichen Vorausplanung von tatsächlich durch den Roboter noch nicht erreichten, aber im Programm vorgesehenen anzufahrenden Punkten, um den letzten vor der bedingten Programmabzweigung liegenden Zielpunkt ohne Überschleifen direkt anzufahren, um nach der bedingten Programmabzweigung eine neue Sequenz eines Überschleifens zu beginnen. In vielen Fällen ist jedoch ein Unterbrechen des Überschleifens nachteilig, da es dadurch zu Zeitverzögerungen, zu Rucken und/oder zu unstetigen Bahnverläufen kommen kann.
-
Aufgabe der Erfindung ist es, ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine zu schaffen, mit dem ein Überschleifen der Zielpunkte von Bewegungsanweisungen auch über bedingte Programmabzweigungen hinweg möglich wird.
-
Diese Aufgabe wird erfindungsgemäß gelöst durch Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie als Führungsgröße mittels einer Bewegungssteuerung anzusteuern, wobei die Bewegungstrajektorie auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Bewegungsanweisung folgenden zweiten Bewegungsanweisung eines von der Steuervorrichtung auszuführenden Maschinenbewegungsprogramms mittels eines Bahnplanungsprogramms automatisch erzeugt wird, wobei im Maschinenbewegungsprogramm in Ablaufrichtung zwischen der ersten Bewegungsanweisung und der folgenden zweiten Bewegungsanweisung sich eine bedingte Programmabzweigung befindet, die in Abhängigkeit eines auslösenden Ereignisses eine erste Alternative der zweiten Bewegungsanweisung oder wenigstens eine zweite Alternative der zweiten Bewegungsanweisung vorgibt, aufweisend die Schritte:
- - Bestimmen von Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind,
- - Bestimmen eines Zeitpunkts, an dem eine Überschleifbewegung spätestens beginnen muss, aus allen Startzeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss,
- - Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren alternativen zweiten Bewegungsanweisungen an das Bahnplanungsprogramm, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt,
- - wenn das auslösende Ereignis für die bedingte Programmabzweigung stattgefunden hat, Auswählen desjenigen vorausgeplanten Bewegungstrajektorien-Abschnitts, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Bewegungsanweisung der bedingten Programmabzweigung entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird,
- - Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts an eine Bewegungsausführung zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine entsprechend dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt automatisch bewegt.
-
Die mittels des Verfahrens automatisch anzusteuernde Maschine kann eine Werkzeugmaschine oder insbesondere ein Roboter sein. Der Roboter kann einen Roboterarm aufweisen, der mehrere Glieder aufweist, die über Gelenke verbunden sind, wobei die Gelenke mittels Antrieben bewegbar sind, um die Glieder des Roboterarms automatisch gemäß eines Roboterprogramms gegeneinander verstellen zu können.
-
Die Antriebe der Maschine, insbesondere des Roboters können insbesondere elektrische Motoren umfassen, die von einer Steuervorrichtung, insbesondere einer Antriebsteuerung der Steuervorrichtung, gesteuert, insbesondere geregelt antreibbar sind. Die Motoren können mit Getrieben versehen sein.
-
Die Steuervorrichtung kann die Antriebsteuerung, eine Bewegungssteuerung und eine Ablaufsteuerung umfassen. Die Steuerungskomponenten können, wie bereits erwähnt, in einer gemeinsamen Steuerungseinheit zusammengefasst sein oder als separate Steuerungskomponenten ausgebildet und über Kommunikationsverbindungen miteinander verbunden sein. Auf der Steuervorrichtung, insbesondere auf der Ablaufsteuerung kann wenigstens ein Maschinenbewegungsprogramm gespeichert und zur Ausführung eingerichtet sein. Insoweit kann die Steuervorrichtung ein Computerprogrammprodukt aufweisen, das einen maschinenlesbaren Träger umfasst, auf dem Programmcode gespeichert ist, der von der Maschine, insbesondere von einer Robotersteuerung des Roboters auslesbar ist, sodass die Maschine bzw. der Roboter ausbildet und/oder einrichtet ist, ein erfindungsgemäßes Verfahren durchzuführen, wenn der Programmcode von der Maschine oder dem Roboter bzw. dessen Steuerung ausgeführt wird.
-
Das Maschinenbewegungsprogramm, das insoweit ein Roboterprogramm sein kann, enthält Bewegungsanweisungen, insbesondere die Bewegungsanweisungen, gemäß denen ein vorab definierter Bezugspunkt im Raum durch die Maschine bzw. den Roboterarm bewegt werden soll. Der Bezugspunkt kann ein Werkzeugbezugspunkt sein, der unter anderem auch als TCP (Tool-Center-Point) bezeichnet wird. Ein Werkzeugbezugspunkt kann ein realer oder virtueller Punkt an einem Werkzeug sein, das von der Maschine, insbesondere dem Roboterarm gehandhabt wird. In einem einfachen Fall kann der Bezugspunkt beispielsweise auch ein mit dem Flansch des Roboterarms fest verbundenes Handflanschkoordinatensystem sein.
-
Das Bahnplanungsprogramm der Bahnsteuerung stellt Algorithmen, Modelle und/oder Rechenvorschriften bereit, die auf Grundlage der im Maschinenbewegungsprogramm enthaltenen Bewegungsanweisungen eine Bewegungstrajektorie für den Bezugspunkt unmittelbar erstellen oder mittelbar dadurch erstellen, dass Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile achsbezogen oder kartesisch durch das Bahnplanungsprogramm generiert werden. Die entsprechenden Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile werden dann insbesondere in achsbezogener Form an die Bewegungsausführungssteuerung übergeben, welche ihrerseits die Antriebe d.h. die Motoren der Maschine oder des Roboterarms auch auf Antriebsebene ansteuern oder regeln.
-
Im Falle von Bewegungsanweisungen, die grundsätzlich mit asynchronen Achsbewegungen oder mit synchronen Achsbewegungen durchgeführt werden können, wird die Bahn der Trajektorie zwar nicht in ihrem genauen Bahnverlauf exakt geplant, allerdings findet insoweit eine Bewegungsplanung statt, bei der die Geschwindigkeitsprofile und/oder die Beschleunigungsprofile der einzelnen Achsbewegungen durchaus geplant werden, wodurch sich in Abhängigkeit des jeweiligen Startpunktes und des angenommenem Zielpunktes bzw. der angenommenen mehreren aufeinanderfolgenden Zielpunkten ein reproduzierbarer stetiger Bahnverlauf ergibt. Wie bereits erwähnt, werden in einem Überschleifmodus die von den Bewegungsanweisungen definierten genauen Zielpunkte nicht exakt angefahren, sondern unter Vermeiden eines Anhaltens in einem parametrierbaren Abstandsbereich von dem jeweiligen Zielpunkt umfahren, um eine Bewegungstrajektorie mit einem stetigen Geschwindigkeitsverlauf zu erhalten.
-
Die Bewegungstrajektorie ist eine grafische Repräsentation des Verlaufs der Bewegung, die der Bezugspunkt im Raum durchläuft. Die Bewegungstrajektorie ist insoweit die Spur auf der sich der Bezugspunkt bewegt, wenn die Maschine oder der Roboter gemäß dem Maschinenbewegungsprogramm automatisch angesteuert wird. Die Bewegungstrajektorie kann auch Geschwindigkeitsdaten, insbesondere bezogen auf Interpolationspunkte des Verlaufs der Bewegung bzw. der Spur umfassen.
-
Ein Bewegungstrajektorien-Abschnitt stellt im Allgemeinen eine Teilstrecke der gesamten Bewegungstrajektorie dar. Im Speziellen werden erfindungsgemäß unter den jeweiligen Bewegungstrajektorien-Abschnitten diejenigen Teile von mehreren möglichen Bewegungstrajektorien verstanden, die im Maschinenbewegungsprogramm aufgrund der bedingten Programmabzweigung alternativ auftreten können, solange das für die bedingten Programmabzweigung auslösende Ereignis noch nicht stattgefunden hat und es deshalb noch nicht feststeht, welche der zwei oder mehreren möglichen Bewegungstrajektorien-Abschnitte tatsächlich zur Ausführung kommen.
-
Ein Überschleifen wird beispielsweise in der Robotertechnik und bei Werkzeugmaschinen in Rahmen einer sogenannten PTP-Steuerung angewendet, bei der Bewegungsanweisungen ausgeführt werden. Bei der Ausführung von Bewegungsanweisungen wird ein Bezugspunkt der anzusteuernden Maschine (beispielsweise ein Roboterarm oder eine Werkzeugmaschine) schrittweise von einem ersten Raumpunkt zu einem zweiten Raumpunkt und gegebenenfalls nacheinander zu weiteren folgenden Raumpunkten bewegt, wobei in einem Überschleifmodus die jeweiligen Stützpunkte der Bewegungsanweisungen unter Umständen nicht mehr direkt erreicht werden, sondern unter Vermeiden eines vollständigen Anhaltes der Maschine oder des Roboterarms bzw. dessen Bezugspunktes, der Bezugspunkt lediglich in der Nähe eines solcher überschliffenen Stützpunktes vorbeibewegt wird, um sogleich in Richtung des nächsten Stützpunktes der nächsten Bewegungsanweisung zu fahren. Eine solche Überschleifbewegung kennzeichnet sich also dadurch, dass an solchen Zwischenstellungen (überschleifende Stützpunkte) ohne Anhalten des Bezugspunktes vorbeigefahren wird.
-
Die anzufahrenden Zielpunkte sind zwar durch die jeweilige Bewegungsanweisung fest vorbestimmt, allerdings werden diese Zielpunkte im Überschleifmodus demgemäß oftmals tatsächlich nicht erreicht.
-
Maschinenbewegungsprogramme können ganz allgemein bedingte Programmabzweigungen enthalten. Bei einer bedingten Programmabzweigung, die beispielsweise eine IF-Anweisung oder eine WHILE-Anweisung sein kann, ist der als nächster anzufahrende Zielpunkt von dem auslösenden Ereignis abhängig, so dass zeitlich vor dem Eintritt des Ereignisses nicht eindeutig vorbestimmt ist, welcher Zielpunkt von ggf. mehreren alternativ möglichen Zielpunkten tatsächlich zur Anwendung kommen soll. Aufgrund dieser Unbestimmtheit im Vorhinein können Zielpunkte von Bewegungsanweisungen über eine Programmabzweigung hinweg im Allgemeinen nicht durchgeführt werden. Bekannt ist es, in einem solchen Fall die Planung eines Überschleifens zu unterbrechen, beispielsweise im Rahmen eines sogenannten Vorlaufstopps, um den letzten vor der bedingten Programmabzweigung liegenden Zielpunkt ohne Überschleifen direkt anzufahren, um nach der bedingten Programmabzweigung eine neue Sequenz eines Überschleifens zu beginnen. In vielen Fällen ist jedoch ein Unterbrechen des Überschleifens nachteilig, da es dadurch zu Zeitverzögerungen, zu Rucken und/oder zu unstetigen Bahnverläufen kommen kann.
-
Das auslösende Ereignis kann demgemäß ein physikalisches Ereignis sein, auf welches das Maschinenbewegungsprogramm in programmierter Weise reagieren soll und zwar mittels der bedingten Programmabzweigung. Das auslösende Ereignis ist für das Maschinenbewegungsprogramm insoweit eine beliebige zu prüfende Bedingung, bei deren Eintreten oder Vorhandensein in den jeweils vorgesehen Programmzweig abgezweigt wird. Das auslösende Ereignis muss dabei nicht notwendiger Weise erst kurz vor dem zeitlichen Erreichen der Programmabzweigung eintreten, sondern kann ggf. schon länger vorher eingetreten sein und somit schon weit vor dem Erreichen der Programmabzweigung eingetreten sein. Es kann dann unmittelbar vor der Programmabzweigung oder zeitlich kurz vor der Programmabzweigung das auslösende Ereignis bzw. die zu prüfende Bedingung abgefragt und/oder ausgewertet werden, beispielsweise dahingehend, ob die zu prüfende Bedingung oder das Ereignis immer noch vorliegt. Insoweit kann die zu prüfende Bedingung oder das Ereignis schon weit vorher vorhanden sein, aber erst zum Zeitpunkt bzw. kurz vor dem Zeitpunkt des Erreichens der Programmabzweigung abgefragt werden. Das auslösende Ereignis kann insoweit auch schon allein die Abfrage bzw. die Überprüfung einer bereits vorliegenden Bedingung und/oder eines bereits vorliegenden physikalischen Zustands sein. Die Bedingung und/oder der Zustand kann beispielsweise mittels wenigstens eines Sensors erfasst werden, der im einfachsten Fall einen booleschen Zustand liefert, der einen Parameter für eine Wartefunktion im Maschinenbewegungsprogramm bildet, die ein Ergebnis erst dann liefert, wenn der definierte Zeitpunkt für die Programmabzweigung erreicht ist.
-
Indem das erfindungsgemäße Verfahren die folgenden Schritte vorsieht:
- - Bestimmen von Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind,
- - Bestimmen eines Zeitpunkts, an dem eine Überschleifbewegung spätestens beginnen muss, aus allen Startzeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss,
- - Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen an ein Bahnplanungsprogramm, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt,
- - wenn das auslösende Ereignis für die bedingte Programmabzweigung stattgefunden hat, Auswählen desjenigen vorausgeplanten Bewegungstrajektorien-Abschnitts, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Bewegungsanweisung der bedingten Programmabzweigung entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird,
- - Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts an die Ablaufsteuerung zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt entsprechend automatisch bewegt, kann ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine bereitgestellt werden, mit dem ein Überschleifen der Zielpunkte von Bewegungsanweisungen auch über bedingte Programmabzweigungen hinweg möglich ist.
-
Das Bestimmen eines Zeitpunkts, an dem eine Überschleifbewegung spätestens beginnen muss, aus allen Startzeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, und das Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen an ein Bahnplanungsprogramm, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt, können gleichzeitig oder in gewissem Rahmen zeitlich versetzt zueinander ausgeführt werden. Die Reihenfolge kann insoweit nahezu beliebig sein und ggf. auch in der Reihenfolge vertauscht sein.
-
Mit der erfindungsgemäßen Lösung kann die Funktion des Überschleifens bei Bewegungsanweisungen im Rahmen einer adaptiven Bahnführung in einem Onlinebetrieb auch über bedingte Programmabzweigungen hinweg stoppfrei, in einem stetigen Geschwindigkeitsverlauf und/oder ggf. ruckfrei ausgeführt werden.
-
Eine im Allgemeinen mögliche offline-Planung des Überschleifens von Bewegungsanweisungen ist im Falle von bedingten Programmabzweigungen meist nicht möglich, da das die bedingte Programmabzweigung triggernde d.h. auslösende Ereignis im Vorhinein nicht bekannt ist.
-
Mit dem erfindungsgemäßen Verfahren ist auch keine vollständige Planung der Bewegungstrajektorie unter Echtzeitbedingungen nötig. Die mit dem erfindungsgemäßen Verfahren in einer Vorschau über ein, zwei oder mehrere Bewegungsanweisungen hinweg zu planende Überschleifbewegung kann hingegen in einer nicht-echtzeitfähigen Bahnsteuerung erfolgen. Die Bahnsteuerung kann somit auch in einer nicht-echtzeitfähigen Programmiersprache erstellt sein.
-
Die bedingte Programmabzweigung kann in wenigstens einer durch das auslösende Ereignis bestimmten Alternative außer einer zweiten Bewegungsanweisung zusätzlich wenigstens eine weitere Bewegungsanweisung aufweisen, wobei
- - ein Bestimmen des Zeitpunkts, an dem eine Überschleifbewegung spätestens beginnen muss, aus allen Startzeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, erfolgt unter Einbeziehen der jeweils weiteren Bewegungsanweisungen zu der jeweiligen zweiten Bewegungsanweisung erfolgt, und
- - ein Übermitteln der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen und der jeweiligen weiteren Bewegungsanweisungen an das Bahnplanungsprogramm erfolgt, wobei das Bahnplanungsprogramm unter Berücksichtigung der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen und den jeweils weiteren Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt erfolgt.
-
In dieser Ausführungsvariante wird demgemäß nicht nur die im Programmablauf unmittelbar vor der bedingten Programmabzweigung liegende erste Bewegungsanweisung und die unmittelbar nach der bedingten Programmabzweigung liegende zweite Bewegungsanweisung für den Überschleifmodus über die bedingten Programmabzweigung hinweg berücksichtigt bzw. herangezogen, sondern auch mindestens eine weitere Bewegungsanweisung, also beispielsweise eine dritte Bewegungsanweisung und eine vierte Bewegungsanweisung, die der zweiten Bewegungsanweisung unmittelbar nachfolgen. Die Anzahl der hinzuzuziehenden Bewegungsanweisungen kann sich nach der Zeit richten, die bis zur bedingten Programmabzweigung noch zur Verfügung steht, um die zwei oder mehreren möglichen Bewegungstrajektorien-Abschnitte rechtzeitig vor Erreichen der bedingten Programmabzweigung vorausplanen zu können.
-
Das Bahnplanungsprogramm kann demgemäß eingerichtet sein, außer den zu überschleifenden ersten Stützpunkt der ersten Bewegungsanweisung, zusätzlich wenigstens einen zweiten Stützpunkt der zweiten Bewegungsanweisung und/oder jeden dritten oder weiteren Stützpunkt einer im Programmablauf folgenden, weiteren zweiten Bewegungsanweisung überschleifend zu planen.
-
Eine spezielle Ausführungsform des Verfahren kann gekennzeichnet sein durch ein automatisches oder manuelles Referenzieren im Maschinenbewegungsprogramm der zwei oder mehreren alternativen zweiten Bewegungsanweisungen und/oder der weiteren Bewegungsanweisungen, die der bedingten Programmabzweigung im Maschinenbewegungsprogramm in Ablaufrichtung folgen, in einer in Ablaufrichtung vor der Programmabzweigung auftretenden Bewegungsanweisung, insbesondere vor der ersten Bewegungsanweisung oder in der ersten Bewegungsanweisung, die der bedingten Programmabzweigung im Maschinenbewegungsprogramm in Ablaufrichtung unmittelbar vorausgeht.
-
Ein automatisches Referenzieren beispielsweise kann in einer speziellen Variante des Verfahrens dadurch erfolgen, dass das Maschinenbewegungsprogramm Zugriffsfunktionen oder Zugriffsmethoden aufweist, die formale Parameter umfassen, in welche die zu referenzierenden zweiten Bewegungsanweisungen und/oder weiteren Bewegungsanweisungen als aktuelle Parameter automatisch eingetragen werden, welche aktuellen Parameter virtuelle Rückgabewerte bilden, die durch das Maschinenbewegungsprogramm als virtuelle Aufrufparameter der zweiten Bewegungsanweisungen und/oder weiteren Bewegungsanweisungen vor ihrer eigentlichen Ausführung automatisch auslesbar sind.
-
Das manuelle Referenzieren beispielsweise kann in einer anderen Variante des Verfahrens dadurch erfolgen, dass das Maschinenbewegungsprogramm über editierbare Bewegungsanweisungen verfügt, die Attribute umfassen, in denen die Eigenschaften der zu referenzierenden zweiten Bewegungsanweisungen und/oder der weiteren Bewegungsanweisungen als aktuelle Parameter der Bewegungsanweisungen manuell eingetragen werden können.
-
Generell, d.h. in allen Ausführungsformen können die Eigenschaften der jeweiligen Bewegungsanweisung nicht nur Parameter der Bewegungsanweisung sein, wie beispielsweise die Zielpunkte oder Koordinaten, die geforderten Geschwindigkeiten und/oder Beschleunigungen, sondern können auch andere Spezifikationen der Bewegungsanweisung sein, wie insbesondere die Art der Bewegungsanweisung, so z.B. PTP-Befehl, LIN-Befehl oder CIRC-Befehl als solches.
-
In allen entsprechend geeigneten Ausführungsformen kann das Bestimmen der Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind, dadurch erfolgen, dass die in der ersten Bewegungsanweisung referenzierten zwei oder mehreren alternativen zweiten Bewegungsanweisungen und/oder weiteren Bewegungsanweisungen aufgrund der Verweise in der ersten Bewegungsanweisung ausgelesen werden. So können die im Programmablauf zeitlich hinter der bedingten Programmabzweigung liegenden Bewegungsanweisungen bereits zeitlich vor der bedingten Programmabzweigung ausgelesen und damit in der Vorlaufsteuerung berücksichtigt werden. Im Unterschied zum bisher Bekannten wird jedoch nicht nur ein einzelner prädiktiver weiterer Verlauf der Bewegungstrajektorie im Bahnplanungsprogramm bzw. in der Vorlaufsteuerung geplant, sondern alle gemäß der bedingten Programmabzweigung möglichen weiteren Verläufe der mehreren alternativen Bewegungstrajektorien im Bahnplanungsprogramm bzw. in der Vorlaufsteuerung über ein, zwei oder ggf. weitere Bewegungsanweisungen hinweg vorausgeplant.
-
Generell kann das Bestimmen des Zeitpunkts, an dem eine Überschleifbewegung spätestens beginnen muss, aus allen Startzeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, dadurch erfolgen, dass für alle individuellen Überschleifbewegungen eine jeweilige Zeitdauer aus den Bahnparametern und den physikalischen Eigenschaften automatisch bestimmt wird, aus allen entsprechenden Zeitdauern der individuellen Überschleifbewegungen der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, die längste Zeitdauer herausselektiert wird, und auf Grundlage des momentanen Zeitpunkts und der herausselektierten längsten Zeitdauer der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss, bestimmt wird.
-
In Kenntnis des spätesten Zeitpunkts, an dem eine Überschleifbewegung beginnen muss und des momentanen Zeitpunkts kann auch festgestellt werden, ob für alle alternativen zweiten Bewegungsanweisungen, die aufgrund der bedingten Programmabzweigung die Ausführung einer Überschleifbewegung noch sichergestellt werden kann. Falls dies nicht der Fall ist, also festgestellt wird, dass der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss zeitlich bereits verstrichen ist, kann steuerungstechnisch und/oder programmtechnisch vorgesehen werden, dass ein laufender Überschleifmodus beendet, d.h. abgebrochen wird oder ein noch nicht begonnener Überschleifmodus erst gar nicht gestartet wird.
-
Es kann ergänzend vorgesehen sein, dass das Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts an die Bewegungssteuerung zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt entsprechend automatisch bewegt, erst unmittelbar vor dem spätesten Zeitpunkt oder lediglich kurz vor dem spätesten Zeitpunkt ausgeführt wird. Alternativ oder ergänzend kann ein Abfragen und/oder ein Auswerten des auslösenden Ereignisses erst unmittelbar vor dem spätesten Zeitpunkt oder lediglich kurz vor dem spätesten Zeitpunkt ausgeführt werden. Das Abfragen kann beispielsweise ein Einlesen eines Sensorsignals in das Bahnplanungsprogramm oder das Maschinenbewegungsprogramm sein. Ein Auswerten kann einen Vorgang umfassen, bei dem ein eingelesenes Sensorsignal beispielsweise umgewandelt wird und/oder beispielsweise mit anderen Sensorsignalen gemeinsam ausgewertet und/oder kombiniert wird. So kann möglichst lange beispielsweise auf das Eingehen externer Signale gewartet werden, die für die weitere Programmausführung ggf. notwendig sind, bspw. um ein vom Roboter bewegtes Werkzeug prozessabhängig ansteuern zu können. Ganz allgemein können diejenigen Bewegungsanweisungen des Maschinenbewegungsprogramms, die von dem an die Bewegungssteuerung zum Ausführen einer Bewegung der Maschine bereits übermittelten, vorausgeplanten Bewegungstrajektorien-Abschnitt erfasst sind, automatisch mit einer Kennzeichnung versehen werden, derart, dass bei geplantem Erreichen dieser Bewegungsanweisungen während des Ablaufs des Maschinenbewegungsprogramms diese Bewegungsanweisungen nicht erneut an das Bahnplanungsprogramm übermittelt werden.
-
In einer Variante kann bei geplantem Erreichen der Bewegungsanweisungen während des Ablaufs des Maschinenbewegungsprogramms, die mit der Kennzeichnung versehen sind, ein Übermitteln der Stützpunkte und/oder Zielpunkte dieser gekennzeichneten Bewegungsanweisungen an das Bahnplanungsprogramm unterbunden werden und statt dessen derjenige vorausgeplante Bewegungstrajektorien-Abschnitt, welcher auf Grundlage dieser gekennzeichneten Bewegungsanweisungen bereits erzeugt wurde, direkt an die Bewegungssteuerung übergeben werden.
-
Die erfindungsgemäße Aufgabe wird außerdem gelöst durch ein Computerprogrammprodukt aufweisend einen maschinenlesbaren Träger, auf dem Programmcode gespeichert ist, der von einer Maschine auslesbar ist und der die Maschine ausbildet und/oder einrichtet, ein Verfahren wie erfindungsgemäße beschrieben durchzuführen, wenn der Programmcode von der Maschine ausgeführt wird.
-
Konkrete Ausführungsbeispiele der Erfindung sind in der nachfolgenden Figurenbeschreibung unter Bezugnahme auf die beigefügten Figuren näher erläutert. Konkrete Merkmale dieser exemplarischen Ausführungsbeispiele können unabhängig davon, in welchem konkreten Zusammenhang sie erwähnt sind, gegebenenfalls auch einzeln oder auch in anderen Kombinationen der Merkmale betrachtet, allgemeine Merkmale der Erfindung darstellen.
-
Die Figuren zeigen:
- 1 eine schematische Darstellung eines beispielhaften Aufbaus einer Maschinensteuerung, insbesondere Robotersteuerung,
- 2 eine schematische Darstellung einer beispielhaften Bewegungstrajektorie im Bereich einer bedingten Programmabzweigung,
- 3 eine schematische Darstellung eines beispielhaften Verfahrens zum Überschleifen über eine bedingte Programmabzweigung hinweg,
- 4 eine schematische Darstellung eines abgewandelten Verfahrens, bei dem die Zielpunkte der zweiten und weiteren Bewegungsanweisungen automatisch vor die bedingte Programmabzweigung geholt werden, und
- 5 eine schematische Darstellung eines abgewandelten Verfahrens, bei dem die Zielpunkte der zweiten und weiteren Bewegungsanweisungen manuell vor der bedingten Programmabzweigung manuell in eine erste Bewegungsanweisung editiert werden.
-
In der 1 ist eine beispielhafte Steuervorrichtung 1 und von dieser angesteuerte Antriebe M1-M6 gezeigt.
-
Die Antriebe M1-M6 können insbesondere elektrische Motoren umfassen, die von der Steuervorrichtung 1, insbesondere einer Antriebsteuerung der Steuervorrichtung 1, gesteuert, insbesondere geregelt antreibbar sind.
-
Die Steuervorrichtung 1 umfasst im Falle des vorliegend gezeigten Ausführungsbeispiels der 1 ein Ablaufsteuerung AS und eine Bewegungssteuerung BS. Die Ablaufsteuerung AS umfasst eine Programmsteuerung PS. Die Steuerungskomponenten können in einer gemeinsamen Steuerungseinheit zusammengefasst sein oder als separate Steuerungskomponenten ausgebildet und über Kommunikationsverbindungen miteinander verbunden sein. Auf der Steuervorrichtung 1, insbesondere auf der Programmsteuerung PS kann wenigstens ein Maschinenbewegungsprogramm MP gespeichert und zur Ausführung eingerichtet sein. Insoweit kann die Steuervorrichtung 1 ein Computerprogrammprodukt aufweisen, das einen maschinenlesbaren Träger umfasst, auf dem Programmcode gespeichert ist, der von der Maschine, insbesondere von einer Robotersteuerung des Roboters auslesbar ist, sodass die Maschine bzw. der Roboter ausbildet und/oder einrichtet ist, ein erfindungsgemäßes Verfahren durchzuführen, wenn der Programmcode von der Maschine oder dem Roboter bzw. dessen Steuervorrichtung 1 ausgeführt wird.
-
Das Maschinenbewegungsprogramm MP, das insoweit ein Roboterprogramm sein kann, enthält Bewegungsanweisungen z.B. PTP1, PTP2, PTP3, PTP4, gemäß denen ein vorab definierter Bezugspunkt im Raum durch die Maschine bzw. den Roboterarm bewegt werden soll.
-
Ein Bahnplanungsprogramm BP der Steuervorrichtung 1, insbesondere der Bewegungssteuerung BS stellt Algorithmen, Modelle und/oder Rechenvorschriften bereit, die auf Grundlage der im Maschinenbewegungsprogramm MP enthaltenen Bewegungsanweisungen eine Bewegungstrajektorie T (2) für den Bezugspunkt unmittelbar erstellen oder mittelbar dadurch erstellen, dass Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile achsbezogen oder kartesisch durch das Bahnplanungsprogramm BP generiert werden. Die entsprechenden Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile werden dann insbesondere in achsbezogener Form an eine Bewegungsausführung BA übergeben, welche ihrerseits die Antriebe d.h. die Motoren der Maschine oder des Roboterarms auf Antriebsebene mittels Antriebsregler AR ansteuern oder regeln. Insbesondere auf Ebene der Bahnsteuerung BAS kann eine Grobinterpolation GI der anzusteuernden Punkte stattfinden, wo hingegen bereits in der Bewegungsausführung BA und/oder in den Antriebsreglern AR eine weitere Feininterpolation FI durchgeführt werden kann.
-
Im Falle von Bewegungsanweisungen, die grundsätzlich mit asynchronen Achsbewegungen oder mit synchronen Achsbewegungen durchgeführt werden können, wird die Bahn der Trajektorie zwar nicht in ihrem genauen Bahnverlauf exakt geplant, allerdings findet insoweit eine Bewegungsplanung statt, bei der die Geschwindigkeitsprofile und/oder die Beschleunigungsprofile der einzelnen Achsbewegungen durchaus geplant werden, wodurch sich in Abhängigkeit des jeweiligen Startpunktes und des angenommenem Zielpunktes bzw. der angenommenen mehreren aufeinanderfolgenden Zielpunkten ein reproduzierbarer stetiger Bahnverlauf BV ergibt, wie dies durch 2 veranschaulicht ist. Wie bereits erwähnt, werden in einem Überschleifmodus die von den Bewegungsanweisungen definierten genauen Zielpunkte Z nicht exakt angefahren, sondern unter Vermeiden eines Anhaltens in einem parametrierbaren Abstandsbereich von dem jeweiligen Zielpunkt Z umfahren, um eine Bewegungstrajektorie BT mit einem stetigen Geschwindigkeitsverlauf zu erhalten.
-
In der 2 ist die Bewegungstrajektorie BT eine grafische Repräsentation des Verlaufs der Bewegung, die der Bezugspunkt im Raum durchläuft. Die Bewegungstrajektorie BT ist insoweit die Spur auf der sich der Bezugspunkt bewegt, wenn die Maschine oder der Roboter gemäß dem Maschinenbewegungsprogramm MP automatisch angesteuert wird.
-
Ein Bewegungstrajektorien-Abschnitt BA stellt im Allgemeinen eine Teilstrecke der gesamten Bewegungstrajektorie dar. Im Speziellen werden erfindungsgemäß unter den jeweiligen Bewegungstrajektorien-Abschnitten BA1,BA2, BA3 diejenigen Teile von mehreren möglichen Bewegungstrajektorien T2.1, T2.2, T2.3 verstanden, die im Maschinenbewegungsprogramm MP aufgrund der bedingten Programmabzweigung PA (3 - 5) alternativ auftreten können (ALT1, ALT2), solange das für die bedingten Programmabzweigung PA auslösende Ereignis noch nicht stattgefunden hat und es deshalb noch nicht feststeht, welche der zwei oder mehreren möglichen Bewegungstrajektorien-Abschnitte BA1,BA2, BA3 tatsächlich zur Ausführung kommen.
-
Die 2 zeigt schematisch das Bestimmen des frühesten Zeitpunkts t1, an dem eine Überschleifbewegung beginnen muss, aus allen Startzeitpunkten t1, t2, t3 der beispielsweise drei alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss. Dieses Verfahren erfolgt dadurch, dass für alle individuellen Überschleifbewegungen eine jeweilige Zeitdauer vorab parametriert ist, aus allen entsprechenden Zeitdauern der individuellen Überschleifbewegungen der zwei oder mehreren alternativen zweiten Bewegungsanweisungen der späteste Zeitpunkt herausselektiert wird, und auf Grundlage des momentanen Zeitpunkts t0 und der herausselektierten Zeitdauer t1 der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss, bestimmt wird.
-
Die 3 zeigt schematisch das grundlegende Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie BT eines Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe M1-M6 aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch die Steuervorrichtung 1, die ausgebildet ist, die Antriebe M1-M6 der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie BT als Führungsgröße mittels einer Ablaufsteuerung AL anzusteuern, wobei die Bewegungstrajektorie BT auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung P1 und wenigstens einer der ersten Bewegungsanweisung P1 folgenden zweiten Bewegungsanweisung P2.1, P2.2 eines von der Steuervorrichtung 1 ausführenden Maschinenbewegungsprogramms MP mittels eines Bahnplanungsprogramms BP automatisch erzeugt wird, wobei im Maschinenbewegungsprogramm MP in Ablaufrichtung zwischen der ersten Bewegungsanweisung P1 und einer folgenden zweiten Bewegungsanweisung P2.1, P2.2 sich eine bedingte Programmabzweigung PA befindet, die in Abhängigkeit eines auslösenden Ereignisses eine erste Alternative ALT1 einer zweiten Bewegungsanweisung P2.1 oder wenigstens eine zweite Alternative ALT2 einer zweiten Bewegungsanweisung P2.2 vorgibt.
-
Das Verfahren umfasst die Schritte des Bestimmens der zwei oder mehreren Zielpunkte aller alternativen zweiten Bewegungsanweisungen P2.1, P3.1, P4.1 und P2.2, P3.2, P4.2, die gemäß der bedingten Programmabzweigung PA möglich sind,
- - des Bestimmens des frühestens Zeitpunkts t1, an dem eine Überschleifbewegung beginnen muss, aus allen Startzeitpunkten t1, t2, t3 der zwei oder mehreren alternativen zweiten Bewegungsanweisungen P2.1, P2.2, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss,
- - des Übermittelns des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen P2.1, P2.2 an ein Bahnplanungsprogramm BP, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 den zwei oder mehreren alternativen zweiten Bewegungsanweisungen P2.1, P2.2 entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte T2.1, T2.2, T2.3 erstellt,
- - wenn das auslösende Ereignis für die bedingte Programmabzweigung PA stattgefunden hat, Auswählen desjenigen vorausgeplanten Bewegungstrajektorien-Abschnitts T2.1, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Bewegungsanweisung P2.1 der bedingten Programmabzweigung PA entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird,
- - des Übermittelns des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts BA1 an die Ablaufsteuerung AL zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt BA1 entsprechend automatisch bewegt.
-
Wie aus 3 bis 5 ersichtlich kann die bedingte Programmabzweigung PA in wenigstens einer durch das auslösende Ereignis bestimmten Alternative z.B. ALT1 und/oder ALT2 außer einer zweiten Bewegungsanweisung P2.1, P2.2 zusätzlich beispielsweise eine dritte Bewegungsanweisung P3.1, P3.2 und eine vierte Bewegungsanweisung P4.1, P4.2 aufweisen.
-
Ein Bestimmen des frühesten Zeitpunkts t1, an dem eine Überschleifbewegung beginnen muss, erfolgt dann aus allen Startzeitpunkten t1 und t2 der zwei alternativen zweiten Bewegungsanweisungen P2.1, P2.2, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, unter Einbeziehen der jeweils weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 zu der jeweiligen zweiten Bewegungsanweisung P2.1, P2.2.
-
Ein Übermitteln des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 und der zwei oder mehreren Zielpunkte der zwei alternativen zweiten Bewegungsanweisungen P2.1, P2.2 und der jeweiligen weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 erfolgt dabei an das Bahnplanungsprogramm BP, wobei das Bahnplanungsprogramm BP unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 den zwei alternativen zweiten Bewegungsanweisungen P2.1, P2.2 und den jeweils weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 entsprechende zwei vorausgeplante Bewegungstrajektorien-Abschnitte T2.1 und T2.2 erstellt.
-
Das Bahnplanungsprogramm BP kann somit eingerichtet sein, außer den zu überschleifenden ersten Stützpunkt der ersten Bewegungsanweisung P1, zusätzlich wenigstens einen zweiten Stützpunkt der zweiten Bewegungsanweisung P2.1 P2.2 und/oder jeden dritten oder weiteren Stützpunkt einer im Programmablauf folgenden, weiteren Bewegungsanweisung P3.1, P3.2 und P4.1, P4.2 überschleifend zu planen.
-
Die 4 und 5 zeigen eine Variante des Verfahren, gekennzeichnet durch automatisches oder manuelles Referenzieren im Maschinenbewegungsprogramm MP der zwei oder mehreren alternativen zweiten Bewegungsanweisungen P2.1, P2.2 und/oder der weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2, die der bedingten Programmabzweigung PA im Maschinenbewegungsprogramm MP in Ablaufrichtung folgen, in einer in Ablaufrichtung vor der Programmabzweigung PA auftretenden Bewegungsanweisung, insbesondere vor der ersten Bewegungsanweisung P1 oder in der ersten Bewegungsanweisung P1, die der bedingten Programmabzweigung PA im Maschinenbewegungsprogramm MP in Ablaufrichtung unmittelbar vorausgeht.
-
Die 4 zeigt, wie das Referenzieren dadurch erfolgt, dass das Maschinenbewegungsprogramm MP eine Zugriffsfunktion oder Zugriffsmethode Z aufweist, die formale Parameter umfassen, in welche die zu referenzierenden zweiten Bewegungsanweisungen P2.1, P2.2 und/oder weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 als aktuelle Parameter eingetragen werden, welche aktuellen Parameter virtuelle Rückgabewerte bilden, die durch das Maschinenbewegungsprogramm MP als virtuelle Aufrufparameter der zweiten Bewegungsanweisungen P2.1, P2.2 und/oder weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 vor ihrer eigentlichen Ausführung automatisch auslesbar machen.
-
Die 5 zeigt, wie das Referenzieren dadurch erfolgt, dass das Maschinenbewegungsprogramm MP über editierbare Bewegungsanweisungen A verfügt, die Attribute umfassen, in denen die Zielpunkte der zu referenzierenden zweiten Bewegungsanweisungen P2.1, P2.2 und/oder der weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 als aktuelle Parameter der Bewegungsanweisung P1 manuell eingetragen werden können.