Skriptsprache Lua

Komplexe Bewegung, schlanke Kommandos

Mit der jüngsten Erweiterung des Open Core Engineering von Bosch Rexroth lassen sich Achsbewegungen einfach und verständlich mit der Skriptsprache Lua programmieren. Davon profitieren auch Endanwender, weil sie Roboter und Maschinen ohne SPS-Kenntnisse an ihre Bedürfnisse anpassen können.

Skriptsprachen wie JavaScript oder PHP haben einen festen Platz in der modernen Informationstechnik. Sie finden sich überall dort, wo es native Programmiersprachen, die direkt als Maschinencode kompiliert werden, durch übersichtliche Befehlsketten zu ergänzen gilt. Der Code von Skriptsprachen wird in der Regel über Interpreter verarbeitet. Mit der jüngsten Erweiterung für das Open Core Interface von Rexroth hält nun die schlanke und einfache Skriptsprache Lua Einzug in die Fabrikautomation.

Programmierung von Achsbewegungen

Ursprünglich in Brasilien entwickelt und nach dem portugiesischen Wort für Mond benannt, ist die heute von einer Open Source Community gepflegte Skriptsprache weltweit im Einsatz. Durch ihre überschaubare Grammatik findet sich Lua in vielfältigen aktuellen Anwendungen wieder: im Gaserkennungssystem des Space Shuttle genauso wie in Druckern und Routern oder Bildbearbeitungsprogrammen. Entwickler von Computerspielen nutzen Lua unter anderem zur Bewegungssteuerung komplexer Spielfiguren. Die vereinfachende Eigenschaft von Lua nutzt Bosch Rexroth für das Steuerungssystem IndraMotion MLC, um Achsbewegungen von Robotern und anderen Maschinen als effiziente Alternative zur SPS-Programmierung bzw. ohne gesonderte Entwicklungs- oder Engineering-Umgebung zu definieren. Um Mehrachsbewegungen wie einen Pick&Place-Vorgang in Lua zu definieren, schreibt der Konstrukteur lediglich ein simples Skript in einem gewöhnlichen Texteditor, das er anschließend per Filetransfer an die Steuerung überträgt. Die einfache Syntax von Lua ist an die Standardprogrammiersprache C angelehnt. Schon allein daraus ergibt sich gegenüber der zyklusbasierten SPS-Programmierung mit ihren typischen State-Maschinen ein deutlicher Effizienzgewinn. Weil Bosch Rexroth den mit 500KB schlanken Lua-Interpreter in das Open Core Interface seiner IndraMotion-MLC-Steuerungen integriert hat, kann mit Ausnahme der zyklischen Verarbeitung der E/A-Module auf SPS-Code verzichtet werden. Im Rahmen der Weiterentwicklung wird auch das browserbasierte Editieren und Testen auf dem integrierten Webserver der Steuerung ermöglicht.

Maschinenbauer und Endkunde

Ist der kundenspezifische SPS-Code einmal in gut zugängliche Skripte verlagert, wird die Logik auch für den Endkunden transparent, verständlich und adaptierbar. Die Inbetriebnahme kann nun deutlich schneller erfolgen. Bei Bedarf lädt der Endkunde das Skript einfach aus der Steuerung, um beispielsweise die Programmierung von Achsbewegungen im Texteditor zu finalisieren. Darüber hinaus verringert sich der Serviceaufwand vor Ort. Denn auch künftige Anpassungen kann entweder der Kunde selbst oder ein Techniker vornehmen – gegebenenfalls auch per Fernwartung. Um die Effizienz im Engineering zu steigern, stellt Bosch Rexroth mit dem Software Development Kit des Open Core Interface eine zusätzliche Abstraktionsschicht bereit. In einer Funktionsbibliothek findet der Anwender vordefinierte und ausführlich kommentierte Befehle, deren Syntax sich an objektorientierten Programmiersprachen orientiert. Das erleichtert Anwendern der bislang verwendeten Programmiersprache Robot Control Language (RCL) von Rexroth den Umstieg auf Lua in Verbindung mit neuen Software-Versionen. So lassen sich mit selbsterklärenden Kommandos beliebige Robotertypen steuern: DeltaRobot.MoveAbs oder DeltaRobot.MoveCircular beispielsweise kommandieren einen Delta-Roboter. Alternativ oder ergänzend dazu können Projektierer bei Bedarf die Syntax anderer Robotersprachen mit Lua nachbauen. Als Entwicklungsumgebung dient das kostenfrei verfügbare Lua Development Toolkit (LTD). 90 bis 95 Prozent des Fremdcodes lassen sich auf diese Art unverändert weiterverwenden.

Praxisbeispiel Roboterzelle

Die vereinfachende Wirkung der Skriptsprache Lua zeigt sich beispielsweise in der Robotik mit deren komplexen Bewegungen. Ein typischer Fall aus der Praxis: Ein Maschinenbauer erstellt für seinen Endkunden eine vorkonfigurierte Roboterzelle mit einem Delta-Roboter. Um den Roboter mit möglichst wenigen Zeilen Code zu bewegen und dem Endkunden ein finales Parametrieren zu ermöglichen, wird lediglich das Steuerungssystem IndraMotion MLC und das Open Core Interface benötigt. Die Programmierung erfolgt in Lua – ohne schwergewichtige Entwicklungsumgebung mit Compiler/Linker. Unmittelbar vor Inbetriebnahme der Zelle komplettiert ein Servicetechniker oder der Endanwender selbst das Lua-Skript. In wenigen Minuten ist das kurze Programm aus der Steuerung auf den PC oder ein Smart Device geladen und mittels Texteditor finalisiert. Dabei werden lediglich die Befehle vom Typ DeltaRobot.MoveAbs mit den endgültigen Parametern für Position, Ruck und Geschwindigkeit versehen. Nach der Rückübertragung in die Steuerung kann der Roboter in Betrieb gehen.

Blick auf Industrie 4.0

Die Kombination aus Open Core Interface und der schlanken, leicht erweiterbaren Skriptsprache Lua führt im Maschinenbau zu einer Vereinfachung und Reduzierung des gesamten Engineering-Aufwands wie für Programmierung, Inbetriebnahme und Service. Dies kommt in Verbindung mit dem weitgehenden Verzicht auf kundenspezifischen SPS-Code auch dem Anwender zugute, der Mehrachsbewegungen ab sofort ohne einschlägiges Know-how bedarfsgerecht anpassen kann. Auch im Hinblick auf Industrie 4.0 will der Anbieter mit der jüngsten Erweiterung um die Skriptsprache Lua neue Impulse in Richtung modulare Fertigung geben. Die diesbezügliche Vision: Die Werkstücke führen die kompletten Anweisungen zur Bearbeitung mittels RFID-Chip mit sich durch die Produktion oder verlinken auf ein MES-System oder eine Datenbank, wo der Code hinterlegt ist oder ad hoc generiert wird. Somit weiß die Maschine zu jedem Zeitpunkt, was mit dem jeweiligen Werkstück zu tun ist, ohne dass das Programm fertig auf der Maschine hinterlegt sein muss.

Open Core Engineering und Open Core Interface bieten die Basis für eine Vielzahl neuer Software-Lösungen. Um Produktideen schnell zu realisieren, müssen spezifische Fragen der Programmierung auch schnell gelöst werden. Hierzu bietet das Engineering Network von Rexroth Anwendern ein modernes Informationsportal – von Entwickler zu Entwickler. In einem Diskussionsforum finden sich Antworten zu allgemeinen oder anwendungsbezogenen Themen rund um Tools, Funktionen und Schnittstellen. Praxisnahe Beispielprogramme und Online-Dokumentationen zu Open Core Interface vereinfachen den Einstieg und bieten wertvolle Hinweise in der Programmierung mit unterschiedlichen Hochsprachen. Open Core Engineering und das Engineering Network ermöglichen damit effizientes Engineering und die schnelle Umsetzung innovativer Produkte.

Bosch Rexroth
http://www.boschrexroth.com

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: Ceratizit Deutschland GmbH
Bild: Ceratizit Deutschland GmbH
Werkzeuge – immer passend

Werkzeuge – immer passend

Eine digitalisierte Fertigung hat viele Gesichter… und Recker Technik aus Eschweiler setzt ihr auf jeden Fall einen Smiley auf. Dort bringt die Produktion mit digitalen Zwillingen mehr Effizienz in den Alltag sowie gleichzeitig mehr Überblick über das Toolmanagement und die Werkzeugkosten. Mit dabei: Zwei Tool-O-Maten, die intelligenten Werkzeugausgabesysteme von Ceratizit – dank denen immer das passende Werkzeug für den Job zur Hand ist.

mehr lesen