Lua-Skriptinterpreter ermöglicht individuelle Analysen

|

Wie der optimale Ablauf ihrer Tests aussehen sollte und welche Analysen durchgeführt werden sollten wissen unsere Kunden selbst am besten. Aus diesem Grund haben wir unsere Prozessbaugruppen MCM Main Control V1 und V2 sowie MCM IntelliProbe Master mit einem Skriptinterpreter ausgestattet.

Die Skriptsprache Lua wurde speziell für ressourcenlimitierte Controller entwickelt. Sie ist vergleichsweise schlank, nimmt also nicht so viel Rechenzeit und Ressourcen in Anspruch. Gleichzeitig ist Lua der Programmiersprache C sehr ähnlich, die Ingenieure in der Regel aus dem Studium kennen.

Die Integration der Skriptsprache in die Prozess-Baugruppen ermöglicht es den Anwendern, das jeweilige Messsystem beziehungsweise die Auswertung der Messdaten auf ihre individuellen Bedürfnisse anzupassen. Beispielsweise können sie Grenzwertvergleiche implementieren und bedingte Reaktionen hinterlegen – zum Beispiel einen Alarm. Oder sie können einen zusätzlichen Parameter definieren, der mit zwei bestehenden kombiniert werden soll.

Das Lua-Skripting ermöglicht aber auch, Datenaustauschprotokolle für die Kommunikation mit dem übergeordneten Prüfstand anzupassen und eigenständig Datenkanäle zu definieren. Zum Beispiel können Daten via Ehternet ausgeliefert, zudem aber auch noch ein CAN-Kanal aufgesetzt werden, über den nur bestimmte Daten übertragen werden.

Lua schafft Unabhängigkeit vom Prüfstand

Und schließlich können über Lua auch Strategien für das Logging der Messdaten definiert werden, was besonders für Systeme sinnvoll ist, die im verbauten Zustand nur schwer zugänglich sind oder keine dauerhafte Verbindung zu einem Prüfstand haben. Bei der Brennstoffzellenüberwachung spielt das zum Beispiel für den Einsatz in Erprobungsfahrzeugen eine große Rolle. Hier können die Automobilhersteller detailliert festlegen, welche Messdaten in welchem Zyklus gespeichert werden sollen.

ABS-Planschlag-Prüfgerät: Gesamter Testablauf in Lua

Natürlich muss der Kunde die Lua-Skripte nicht zwingend selbst schreiben. Wir übernehmen das gerne für Sie. Beispielsweise haben wir für einen Nutzfahrzeughersteller ein ABS-Planschlag-Prüfgerät entwickelt und dabei den gesamten Testablauf in Lua implementiert.

Aufgabe war es, durch Messung von Luftspalten die Qualität der Geberrädern zu prüfen, die an den Nutzfahrzeugachsen im ABS-System zum Einsatz kommen. Gelöst haben wir sie, indem wir mit einem Induktionssensor die magnetischen Impulse der sich drehenden Räder in Spannung übersetzten und vom Amplitudenverlauf auf die Qualität schließen. Die Grenzwerte für die Amplituden sind im Lua-Skript hinterlegt. Da an beiden Seiten der Achse jeweils ein Geberrad sitzt, hat das Prüfgerät zwei Kanäle. Die Prüfung läuft parallel für beide unabhängig voneinander. Das heißt für das Lua-Skript: es gibt zwei Instanzen, die nebeneinander laufen.

Lua ist leicht erlernbar und führt schnell zum Ziel

Natürlich hätte diese Aufgabe auch durch ein C oder C++-Programm lösen können, das direkt auf dem echtzeitfähigen Linux-Betriebssystem unserer Prozessbaugruppen läuft. Das jedoch erfordert tiefgehende Kenntnisse in den Programmiersprachen. Lua hat den großen Vorteil, dass man sich mit ein wenig Erfahrung in Programmierung und Skriptsprachen schnell einarbeiten kann und schnell zum Ziel kommt. Außerdem muss man sich nicht um Problemfelder wie das Speichermanagement kümmern, denn das übernimmt Lua durch eine automatische Speicherbereinigung, welche von Zeit zu Zeit alle nicht länger benötigten Speicherbereiche identifiziert und diese wieder freigibt.

Die Testabläufe für dieses ABS-Planschlag-Prüfgerät wurden in Lua geschrieben.

Diesen Beitrag teilen