Steuerung Roboter spielerisch leicht programmieren

Redakteur: Jan Vollmuth

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

Anbieter zum Thema

Roboter lassen sich mit Lua schnell und unkompliziert in Betrieb nehmen.
Roboter lassen sich mit Lua schnell und unkompliziert in Betrieb nehmen.
(Bild: Cama)

Skriptsprachen wie Java Script oder PHP haben einen festen Platz in der modernen Informationstechnologie. Sie sind überall dort zu finden, 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 besonders schlanke und einfache Skriptsprache Lua Einzug in die Fabrikautomation.

Bei Programmierern von Computerspielen beliebt

Ursprünglich in Brasilen entwickelt und nach dem portugiesischen Wort für „Mond“ benannt, zählt die heute von einer Open Source Community gepflegte Skriptsprache zu den beliebtesten weltweit. Dank ihrer überschaubaren Grammatik findet sich Lua in vielfältigsten und hochaktuellen Anwendungen wieder: im Gaserkennungssystem des Space Shuttle, in Druckern, Routern oder in Bildbearbeitungsprogrammen. Entwickler von Computerspielen nutzen Lua unter anderem zur Bewegungssteuerung komplexer Spielfiguren. Diese vereinfachende Eigenschaft von Lua nutzt auch Bosch Rexroth für das Steuerungssystem Indra Motion MLC, um Achsbewegungen von Robotern und anderen Maschinen als effiziente Alternative zur SPS-Programmierung bzw. ohne gesonderte Entwicklungs- oder Engineeringumgebung zu definieren.

Um solche Mehrachsbewegungen, beispielsweise 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 500 KB sehr schlanken Lua-Interpreter in das Open Core Interface seiner Indra-Motion-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.

Beschleunigte Inbetriebnahme

Ist der kundenspezifische SPS-Code einmal in einfache, gut zugängliche Skripte verlagert, wird die Logik letztendlich 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 nochmals zu steigern, stellt Bosch Rexroth mit dem Software Development Kit (SDK) des Open Core Interface zusätzlich eine 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 Softwareversionen. So lassen sich mit selbsterklärenden Kommandos beliebige Robotertypen steuern: DeltaRobot.MoveAbs oder DeltaRobot.MoveCircular beispielsweise kommandiert 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 % des Fremdcodes lassen sich auf diese Art unverändert weiterverwenden.

(ID:43257591)