Software-Entwicklung

Echtzeit für Lua-Skripte

7. Juli 2016, 10:53 Uhr |
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Integration in bestehende Anwendungen

Darüber hinaus lässt sich Lua in bestehende Anwendungen integrieren, so wie das beispielsweise Bosch Rexroth mit Indra Motion getan hat. Damit können komplexe Bewegungen mit Hilfe einfacher Skriptbefehle ausgeführt werden, was die Programmierung solcher Anwendungen deutlich vereinfacht. Darüber hinaus können dank RT Lua Teile der SPS-Programmierung entfallen, die nach wie vor eine Sache von Experten ist

Interessant ist RT Lua auch für C- und C++-Entwickler, da sich einzelne Funktionen oder Anwendungen mit Hilfe geeigneter Tools in Lua-Skripte umwandeln zu lassen. Dabei kommen sogenannte Wrapper zum Einsatz, mit denen C/C++-Funktionen auf ihre Echtzeit-Tauglichkeit überprüft werden können. Das spart den Aufwand eines eigenen Test Framework, da sich das Debuggen mit Hilfe von Lua-Skriptbefehlen erledigen lässt.

RT Lua setzt sich aus vier Komponenten zusammen: INtime für Windows bzw. INtime Distributed RTOS, Eclipse als Entwicklungsumgebung, der Lua-Interpreter selbst und drei Add-ons, die standardmäßig zu RT Lua gehören. Dabei handelt es sich um einen Modbus-Server und -Client für die Kommunikationssteuerung zwischen SPS- und PC-Systemen, das quelloffene MQTT-Protokoll (Message Queue Telemetry Transport) für die M2M-Kommunikation und SQLite für das Speichern von Daten. Darüber befindet sich momentan ein EtherCAT Master in Entwicklung, der als Add-on eingebunden werden kann. Auch der für den Intel-Ethernet-Controller I210 angepasste HPE3-Treiber von TenAsys kann in Kombination mit Lua und INtime eingesetzt werden. Das erlaubt beispielsweise das Programmieren von Netzwerk-Scannern für Echtzeit-Umgebungen mit Hilfe weniger Lua-Befehlszeilen. Auch die Hardware der USB-I/Os USB-6008 und -6009 von National Instruments können über RT-LUA angesteuert werden – eine Demonstration war bereits auf der Embedded World 2015 in Nürnberg zu sehen.

Preislich bewegt sich RT Lua bei rund 400 Euro netto. Es lässt sich auf x86-Hardware installieren – sowohl im 32-bit- als auch im 64-bit-Modus. RT Lua wird primär als Download angeboten und wird unter INtime für Windows oder INtime Distributed RTOS installiert. Allerdings ist Lua auch als Standalone-Programm unter Mac OS X und zahlreichen Linux-Distributionen lauffähig. In diesem Fall ist entweder eine TCP- oder eine RPC-basierte Verbindung zwischen einem Lua- und INtime-Rechner erforderlich.

passend zum Thema

Lua-Skripte
Lua-Skripte
© Profimatics

Lua: Einfach programmieren

Einer der großen Vorteile von Lua ist das, was unter den Microsoft-Betriebssystemen seit MS-DOS verloren gegangen ist: der direkte Hardware-Zugriff. Unter Windows muss für die Ansteuerung von Hardware erst ein Treiber programmiert werden, was die entsprechende Einarbeitung in Windows Driver Model (WDM) und Windows Driver Foundation (WDF) sowie gute C/C++-Kenntnisse voraussetzt. Mit Lua geht das einfacher. Ein Signal über einen Pin der seriellen Schnittstelle auszugeben ist mit sechs Zeilen Code erlegt:

while true do
rt.outbyte(COMBase+MCR,0)
rt.sleepex(Sleeptime)
rt.outbyte(COMBase+MCR,0x0b)
rt.sleepex(Sleeptime)
end

Der Befehl outbyte schaltet das Signal um und sleepex definiert die Pause bis zum nächsten Befehl. Der Screenshot zeigt das aufgezeichnete Signal, das mit einer Genauigkeit im Sub-Millisekundenbereich den Programmbefehlen folgt.

 


  1. Echtzeit für Lua-Skripte
  2. Integration in bestehende Anwendungen

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!