Steuern & Regeln (News)

Günter Herkommer,

Motion Control à la PLCopen

Das Erstellen und Verändern von komplexen Bewegungsabläufen mittels Servoantrieben und SPS erfordert einen hohen Programmieraufwand. Funktionsbausteine nach PLCopen Teil 1 und 2, veröffentlicht im Jahr 2001 beziehungsweise 2005, vereinfachen dem Anwender schon seit längerem diese Arbeit und machen die Programme übersichtlicher. Der neue Teil 4 geht noch einen Schritt weiter und bietet dieselbe Funktionsvielfalt jetzt auch bei Bahnbewegungen.

Von Jürgen Hipp, Klas Hellmann

Neben einfacheren Antrieben für drehzahlvariabel ausgelegte Pumpen, Lüfter, Transportbänder und andere Maschinenteile erfordern viele Maschinen koordinierte und präzise Bewegungsabläufe. Bei Werkzeugmaschinen sorgen elektronisch geregelte Antriebe seit vielen Jahren für komplexe und von mehreren Achsen durchgeführte Bewegungen. In anderen Anwendungen sind allerdings vielfach noch mechanische Lösungen mit Getrieben, mechanischen Kurvenscheiben, Hebeln und anderen mechanischen Elementen im Einsatz. Zwar zeichnen sich derartige Lösungen durch ihre Konstanz beziehungsweise Robustheit aus; in einer Zeit, in der häufige Produktwechsel und Produktvariationen immer mehr den Fertigungsablauf bestimmen, wirken sich die mit solchen Lösungen verbundenen hohen Umrüstzeiten beziehungsweise die häufig erforderlichen Wartungsarbeiten negativ auf die Produktivität einer Anlage aus.

Moderne Servotechnik schafft hier die notwendige Flexibilität hinsichtlich der durchzuführenden Anpassungen innerhalb der Maschine: Vormals mechanisch über Kurvenscheiben und Hebel erzeugte Bewegungen werden durch Software beziehungsweise programmierbare Funktionen ersetzt; die Synchronität der Abläufe untereinander realisiert die elektrische Welle, welche das Gebersignal der Master-Achse an die Folge-Achsen weitergibt und somit einen „festen Verbund“ wie bei der mechanischen Königswelle herstellt. Bei Produkt- oder Formatwechseln sind lediglich die Programme oder die Parameter in den Antrieben entsprechend zu verändern.

Im Vergleich zur mechanischen Lösung verschiebt sich der Aufwand zur Einrichtung der Maschine dabei stark in die SPS-Programm-Erstellung. Hier sind neben der reinen Logik die einzelnen Bewegungen unabhängig in den einzelnen Antrieben zu parametrieren oder zu programmieren und anschließend diese beiden Funktionseinheiten miteinander zu verbinden. Neben der Definition der notwendigen Schnittstellen und der Verwendung unterschiedlicher Werkzeuge gilt es, weitere Herausforderungen zu bewältigen – etwa wenn bestimmte Funktionen während der Laufzeit der Maschine anzupassen sind und die Parametrierung der verwendeten Antriebe durch die Steuerung während des Maschinenbetriebes verändert werden muss, um beispielsweise den Produktvorschub im Einrichtbetrieb anzupassen.

Anzeige

Funktionsbausteine sorgen für Übersicht

Eine deutliche Vereinfachung ergibt sich bei Verwendung der Funktionsbausteine für Motion Control nach PLCopen. Mit ihnen lassen sich unterschiedlichste Bewegungsfunktionen in einer standardisierten Form direkt und verständlich aus dem SPS-Programm aufrufen. Auf diese Weise entfällt nicht nur die Definition von eigenen Schnittstellen; die aufwendige Antriebsparametrierung und das SPS-Programm gewinnen auch an Übersichtlichkeit.

Das Problem beim Umfahren von Störkanten besteht darin, eine möglichst zeit- und ruckeffiziente Bahn zu fahren und auch bei Störsituationen nicht am Hindernis hängen zu bleiben.

Zu den in der PLCopen beschriebenen Funktionsbausteinen für achsbezogene Bewegungen gehören Positionierbefehle und verkettete Bewegungen, wie das „elektronische Getriebe“ oder die „elektronische Kurvenscheibe“. Neben einfachen Verstellachsen lassen sich auch Anwendungen wie „fliegende Säge“, „Druckmarkenregelung“ oder „Querschneider“ mit den Funktionsbausteinen realisieren. Die Zuordnung der einzelnen Achsen erfolgt über die Anbindung der relevanten Achsvariablen an die entsprechenden Parameter der Funktionsbausteine. Außerdem wurden zahlreiche administrative Funktionsbausteine definiert, um das Handling in allen Implementierungen der unterschiedlichen Hersteller sowie die Einarbeitung in Systeme verschiedener Anbieter zu vereinfachen.

Viele Applikationen, wie Pick-and-Place-Anwendungen oder Montagemaschinen, erfordern zusätzlich koordinierte Bewegungen mit mehreren Achsen. Um in solchen Fällen eine zeit- beziehungsweise ruckoptimale Bewegung vom Start- zum Zielpunkt zu erhalten, werden häufig optimierte Verfahrwege in zwei oder drei Dimensionen durchfahren. Wie das Beispiel einer Störkante in Bild 1 zeigt, hat der Anwender hier die Wahl zwischen unterschiedlichen Lösungsmöglichkeiten:

  • Die X-Achse startet, wenn die ZAchse im Ziel ist.
  • Die X-Achse startet, wenn die Z-Achse eine bestimmte Höhe erreicht hat.
  • Kreisbogen-Bahn und
  • ruckbegrenztes Bahnüberschleifen.

Beschriften einer Torte auf dem Förderband: Nach der Synchronisierung der Spritzeinheit auf die Bewegung der Torte per „MC_TrackConveyorBelt”œ lässt sich mit zusätzlichen Funktionsbausteinen wie „MC_MoveLinearAbsolute”œ und „MC_MoveCircularAbsolute”œ der Schriftzug aufbringen.

Mit den bisherigen PLCopen-Bausteinen aus Teil 1 und 2 (Function blocks for motion control + extensions) ist die Beschreibung derartiger Bewegungen jedoch nur eingeschränkt realisierbar, da sich mit ihnen nur einzelne Achsen beauftragen lassen.

Was damit gemeint ist, verdeutlicht das in Bild 2 dargestellte Applikationsbeispiel: Die Aufgabe besteht darin, Torten auf einem Förderband mit einem Schriftzug zu versehen. Dazu ist die 2-Achs-Kinematik mit dem Förderband zu synchronisieren und dann überlagert ein Programm zu starten, um die Buchstaben aufzuspritzen. Derzeitige Lösungsansätze für solche Aufgabenstellungen sind in der Regel steuerungsbasiert und enthalten Roboter oder CNC-basierte Systeme. Die Schwierigkeit ist, dass diese zwar die jeweiligen Anforderungen bezüglich der Funktionalität erfüllen, hinsichtlich der SPS-basierten Bewegungsprogrammierung und des Engineering jedoch noch keine Standards verfügbar sind und nicht zuletzt unterschiedliche Systeme – SPS und CNC – zusammenarbeiten müssen.

Ein praktischer Lösungsansatz für die aufgezeigte Problematik ist die Verwendung handlungsorientierter Funktionsbausteine der Teile 1 und 2 von PLCopen, ergänzt um bahnorientierte Bewegungsfunktionen. Ein SPS-Programmierer versteht schnell, was er mit einem Baustein machen kann und was passiert, wenn er ihn aktiviert und in einer Sequenz mit anderen Bausteinen verwendet. Bahnorientierte Bewegungen werden hingegen mit Roboter-Programmiersprachen oder dem „G-Code“ nach DIN 66025 in Verbindung gebracht. Diese Sprachen kennt zwar nur ein kleiner Anwenderkreis; sie sind aber genau das, was im aufgezeigten Beispiel wünschenswert ist. Ergo bestand die Aufgabe für die Mitglieder der PLCopen darin, die aus der Roboter- und CNC-Welt bekannten Funktionen so zu übersetzen, dass sie in die Welt von PLCopen passen.

Der Übergang von Achsen zu Achsgruppen

Eine Bahnbewegung kennzeichnet sich durch koordinierte Bewegung von zwei oder mehreren Achsen über die Angabe von einem Startpunkt zu einem Zielpunkt gemäß einer Wegbeschreibung und einer Angabe der gewünschten Bahngeschwindigkeit aus. Als Wegbeschreibung kann die Vorgabe beispielsweise „längs einer Verbindungsgeraden“ oder „längs eines Kreisbogens“ lauten. Die Definition einer Bahnbewegung im Raum setzt die Definition eines Bezugskoordinatensystems voraus.

Bewegung im Einklang: Einzel und Multiachsfunktionen werden durch die Teile 1 bis 3 der PLCopen abgedeckt, während sich mit Teil 4 Raumbewegungen transparent realisieren lassen. Beide Bewegungsarten sind über neue Master-Slave-Kopplungen miteinander synchronisierbar.

Bei kartesischen Maschinenaufbauten, deren Achsen direkt den Richtungen X, Y und Z zugeordnet sind, ist dies sehr einfach. In der CNC-Welt nennt man eine solche Gruppe von Achsen „Kanal“. Die PLCopen fand den Begriff „Achsgruppe“ geeigneter und definierte somit den Bezeichner „AxesGroup“. Dieser generiert aus Achsreferenzen (Typ: AXIS_REF) eine Achsgruppenreferenz vom Typ AXES_GROUP_REF, über die dann das Bewegungskommando erfolgt. Nachdem mit einer gültigen AXES_GROUP_REF ein Bezugskoordinatensystem vorhanden ist, lassen sich Bewegungsaufträge formulieren. Für die einfachste Bewegungsform im Raum, die geradlinige Bewegung, wurde der Baustein MC_MoveLinearAbsolute entworfen. Eine einfache Kreisbewegung zwischen zwei kartesischen Achsen lässt sich mit dem FB MC_MoveCircularAbsolute realisieren. Analog zum Axis-State-Diagramm gibt es in PLCopen Teil 4 – auch „Coordinated Motion“ genannt – ein AxesGroup-State-Diagramm. Die einzelnen Zustände beziehen sich darin auf die gesamte Gruppe (zum Beispiel GroupStandby, GroupMoving, Group-Stopping, GroupErrorStop).

In manchen Fällen ist die Bewegung einer Achsgruppe auf die Bewegung einer Einzelachse, wie im obigen Beispiel gezeigt, oder auf die Bewegung einer anderen Achsgruppe im Sinne einer „Synchronized Motion“ abzustimmen. Dafür hat PLCopen die Funktionsbausteine „MC_SyncAxisToGroup“, „MC_MovePath-Synchronized“ und weitere zum Teil recht applikationsnahe Funktionsbausteine definiert. Das Einsatzgebiet solcher komplexen „Muliple-Axes-Bausteine“ sind das „Pick-and-Place“ vom Band, die fliegende Lastübergabe oder kooperierende Handhabungssysteme.

Die kinematische Transformation

Eine kartesische Achsanordnung, bei der die Koordinatenachsen des Bezugskoordinatensystems deckungsgleich zu den Maschinenachsen liegen, ist aber nicht die Regel. Bei Scara-, Knickarm-, oder Stabkinematik-Konstruktionen bilden die physikalischen Achsen ebenfalls die Achsgruppe. Allerdings haben sie ein nichtkartesisches Koordinatensystem – auch Achsen-Koordinaten-System (ACS) genannt. Die Bewegungsdefinition findet hingehen im Maschinen-Koordinaten-System (MCS) statt. Beide Koordinatensysteme sind über die so genannte „Kinematische Transformation“ verbunden.

Soll eine Bewegung unabhängig von der Aufstellsituation der Maschine (MCS) beschrieben werden, geschieht dies im „Programmierer-Koordinaten-System“ – üblicherweise ebenfalls ein kartesisches, oder ein zylindrisches Koordinatensystem. Beide Koordinatensysteme sind durch eine weitere Transformation verbunden. PLCopen Teil 4 stellt für solche Transformationen einen Bausteinrahmen bereit, der dem SPS-Programmierer die Komplexität der Transformationen in der täglichen Arbeit verbirgt.

Eine weitere Vereinfachung für die SPS-Programmierer wird sich mit der Bereitstellung von Applikationsbausteinen in PLCopen Teil 3 ergeben. In diesen „User Guidelines“, mit deren Veröffentlichung im Laufe des Jahres zu rechnen ist, werden die elementaren PLCopen-Funktionsbausteine gekapselt und für die jeweilige Anwendung zugeschnittene Schnittstellen definiert. Am Beispiel der Tortenbeschriftung wäre somit ein „MC_WriteLetter“ denkbar, mit welchem sich auf einfache Weise ein per Input-Pin vorgegebener Buchstabe abfahren lässt.

Autoren

Jürgen Hipp ist Projektleiter Motion Control Systeme bei ISG – Industrielle Steuerungstechnik, Stuttgart.

 

Klas Hellmann ist Head of System Marketing Automation Systems bei Phoenix Contact in Bad Pyrmont.

 

  • Xing Icon
  • LinkedIn Icon
Anzeige
Anzeige

Das könnte Sie auch interessieren

Anzeige
Anzeige
Anzeige
Anzeige

Grossenbacher Systeme

Embedded KI als Servicetechniker

Teure Ausfallzeiten und Servicetickets gehören zu den zentralen Herausforderungen eines effizienten Fertigungsbetriebs. Embedded KI kann dazu beitragen, Kosten zu senken und die "Overall Operating Effectiveness (OEE)" zu verbessern, indem sie im...

mehr...
Anzeige
Anzeige
Anzeige
Jetzt Newsletter abonnieren