Motion Control extended
Eine für alle
Programmierung in einem System. Mit einem Softwaretool, einer Programmiersprache und einem Multi-Tasking-Betriebssystem verschmelzen bei Jetter die Steuerungs- und Antriebstechnologien hardware- und softwareseitig: Aus Motion Control mit CNC-Funktionen wird die Steuerung Motion Control extended MCX.
Seit der Unternehmensgründung 1980 setzt Jetter auf eine einzige Software für die Programmierung aller automatisierungstechnischen Aufgaben, seien es SPS, Motion Control- oder Bahn- und Robotik-Steuerungen für individuelle Achskinematiken. So sollen von vornherein bei der Ansteuerung von Achsen und Achsverbunden schwierige Anpassungen zwischen den verschiedenen Steuerungstechnologien und mehreren Software-Tools ausgeschlossen werden. Die Lösung bei Jetter: Motion Control extended MCX, ein System und eine Sprache.
Multi-Tasking-Betriebssystem
„Die Jetter-Steuerung funktioniert etwas anders als eine klassische SPS“, erklärt Produktmanager Industrieautomation Willi Berresheim. „Wir haben ein Multi-Tasking-Betriebssystem, das es erlaubt, bis zu 100 Tasks parallel ablaufen zu lassen. Jeder einzelne Task läuft solange, bis er auf eine Wartebedingung trifft oder seine einstellbare Zeitscheibe abgelaufen ist. Anschließend wird auf den nächsten Task umgeschaltet“.
Das Multi-Tasking-Betriebssystem habe einige Vorteile, findet das Unternehmen: So lässt sich in einem Task eine Schrittkette zum Beispiel für eine Pick&Place-Aufgabe einfach programmieren: Wird die Schrittkette oder ein Teil davon mit der When-Bedingung (sobald) abgefragt, dann wartet dieser Task, bis die Bedingung erfüllt ist. Die anderen Tasks sind von der when-Bedingung nicht betroffen und werden weiter abgearbeitet. In einer klassischen SPS mit zyklischer Programmabarbeitung würde mit dem when-Befehl das ganze Programm stehen bleiben und warten bis die Bedingung erfüllt ist, was dazu führen kann, dass der Watchdog anspricht.
Bei einer klassischen SPS entstehen auch Konflikte, wenn in Programmschleifen (beispielsweise For..To) die benötigte Zeit für die Berechnungen größer ist als die zulässige Zykluszeit. Dies muss dann umständlich mit zusätzlicher Programmierung gelöst werden (Schleifenwert merken, Schleife neu aufsetzen). Im Vergleich dazu übernimmt das Betriebssystem einer Multi-Tasking-Steuerung diese Aufgaben automatisch und arbeitet die Tasks entsprechend ihrer Priorität und unabhängig von den benötigten Rechenzeiten sequenziell ab.
Viele Anbieter von Automatisierungslösungen bieten heute Hardwarelösungen, in denen die SPS und CNC- oder Motion-Control-Funktionen integriert sind. Allerdings werden für die Programmierung der jeweiligen Funktionen manchmal separate Tools und Programmiersprachen eingesetzt. Dadurch wird eine Programmierung der Kommunikation zwischen den Rechenkernen erforderlich, und es ist beispielsweise aufwändig, auf Parameter in Echtzeit zuzugreifen. „Zur Laufzeit besteht nicht ohne Weiteres die Möglichkeit, beispielsweise Ist-Werte aus dem Antriebsregler im SPS-Programm direkt abzufragen“, so Steffen Schwips, Leiter Innovationsmanagement. Dafür hat Jetter das Programmiertool Jetsym.
Ein System für alle Automatisierungsaufgaben
Jetsym basiert auf der IEC-61131-3-konformen Programmiersprache STX und decke in einem einzigen Tool die Programmierung aller Automatisierungsaufgaben ab: SPS, Motion Control (Technologiefunktionen), CNC (Bahnsteuerung), Robotik mit individuellen Achskinematiken sowie beliebige Achsverbunde. Die Programmiersprache ist objektorientiert aufgebaut, und einzelne Achsen und auch Achsverbunde werden jeweils als ein Objekt verwaltet. Für die Bewegung eines Achsverbundes muss man daher nicht mehr jede einzelne Achse ansprechen und sich um deren Koordination kümmern (Bahnkurve, Anfangspunkt, Endpunkt, Start, Stopp). Die Befehle werden im Objekt Achsverbund programmiert. Alle Funktionen und Variablen zum Beispiel für lineare und rotative Achsen seien bereits standardmäßig angelegt und jedes Objekt der gleichen Klasse habe die gleichen Funktionen. Virtuelle Achsen verhalten sich daher genauso wie reale Achsen.
Im Jetsym-Hardware-Manager kann jede Achse einem oder mehreren Bahnverbunden (kartesisch, Scara) oder Motion-Control-Verbunden (elektronische Getriebe, Kurvenscheibe, Synchronachse) zugeordnet werden. Diese Achsverbunde stellt man im Hardware-Manger offline nach Bedarf zusammen und kann sie zur Laufzeit aktivieren oder deaktivieren.
Ein Beispiel ist ein Vier-Achs-Scara-Roboter, der mit einem Zuführband und einem Abführband verbunden ist. Der Scara-Roboter muss auf beide Bänder aufsynchronisiert werden, bevor er das Teil greifen oder loslassen kann. Er wird also mit zwei Motion-Control-Verbunden dynamisch gekoppelt. Tritt in einer einzelnen Achse zum Beispiel ein Schleppfehler auf, so hat das zugehörige Objekt Bahnverbund den Schleppfehler und hält den gesamten Verbund an. Eine aufwändige Überwachung jeder einzelnen Achse entfällt somit.
Die Objektverwaltung im Hardware-Manager und Motion-Setup umfasst alle Achsverbunde, Achsen, Sensoren, Antriebsregler und Antriebe und bietet so einen leichten und einheitlichen Zugriff auf alle Systemkomponenten. Durch den taskorientierten Programmablauf und die Verwaltung der Achsen als Objekte ist die Verwendung von mehreren Achsen in Schleifenbefehlen effizient möglich. Diese Durchgängigkeit bei der Programmierung führt kaut Hersteller zu kürzeren Programmier- und Inbetriebnahmezeiten.
Bei Bahn-Achsverbunden erfolgt die Programmierung der Bewegung in Jetsym aus Sicht des Werkzeuges, nicht aus Sicht einzelner Achsen. Mit dieser Tool-Center-Point (TCP)-Betrachtung sind für den vierachsigen Scara-Robotor mit Greifer lediglich die End-Koordinaten im Raum festzulegen. Die Koordination der einzelnen Achsen übernimmt die Jetter-Steuerung.
Bei einfacheren Motion-Control-Steuerungen als MCX ohne Bahnsteuerung kann diese Bahnkurve theoretisch auch mit einem Motion-Verbund (Kurvenscheibenfunktionen) realisiert werden.
Dann fehlt jedoch die TCP-Betrachtung und die Koordinierung der Achsen muss manuell erarbeitet und programmiert werden. Im Vergleich dazu stellt eine CNC- oder Robotersteuerung per se eine Bahnsteuerung dar, hat aber oft keine Motion-Control-Funktionen. Gerade die Mischung verschiedener Bewegungsanforderungen werde mit dem Jetcontrol-MCX-System effizient behandelbar, so Steffen Schwips.
Darüberhinaus biete die Jetter-Steuerung dem Maschinenbau weitere Features, die Produktivität, Flexibilität und Produktqualität erhöhen, verspricht das Unternehmen: Kurvenscheiben sollen in der Steuerung nicht mit offline berechneten, statischen Tabellen abgefahren, sondern mit zur Laufzeit berechneten Polynomen bis zu siebten Grades abgebildet werden. Bei dieser Online-Berechnung müssen nur wenige Stützstellen vorgegeben werden. Durch ein Nachladen neuer Stützstellen kann so sofort eine neue Kurvenscheibe gefahren werden. Mit diesem Prinzip lassen sich Formatwechsel und kleine Stückzahlen leicht umsetzen.
Der gepufferte Betrieb von Bahnkurven ermöglicht außerdem eine Look-ahead-Funktion: übersteigt die Dynamik in einer Bahnkurve beispielsweise bei engen Radien die maximale Beschleunigung, fährt die Steuerung den Bahnverbund gerade soweit herunter, dass kein Schleppfehler entsteht. Zusätzlich können Ruckbegrenzungen definiert werden, um Maschinenschwingungen zu reduzieren. as










