chevron_left
chevron_right

LabVIEW im Serienprodukt

Ob winziges Embedded-System mit Mikrocontroller, smarter Sensor am Internet-of-Things, IoT, oder dezentrales Messnetzwerk. Hat der Entwickler die Machbarkeit seiner Idee mit LabVIEW geprüft, soll diese – meist auf kundenspezifischer Hardware – zum Serienprodukt reifen. Doch es gibt verschiedene Wege zu diesem Ziel.

 

Für den Entwickler bedeutet dies, dass er die embedded Hard- und -Software mithilfe von C auf einem Mikrocontroller neu entwickeln muss. Wie man aus diesem Raster ausbrechen und mit LabVIEW als Embedded-Programmiersprache den direkten Weg wählen kann, zeigt dieser Zweiteiler.

Zeit als neue Währung

In der physikalischen Welt passiert vieles auf einmal. Embedded-Systeme mit ihren Sensoren und Aktoren treffen als digitale, künstliche Recheneinheiten auf analoge, natürliche Prozesse. Das macht sie von Natur aus komplex und fehleranfällig. Deshalb muss eine Methode her, die unsere Denkweise optimal unterstützt. Das System soll von Beginn an «richtig» entworfen werden, schon lange vor der Aufteilung in Hard- und Software. Es soll das tun, was es soll, nämlich korrektes Verhalten, bezogen auf Funktion, Kommunikation und Zeit. Der Schlüssel dazu sind flexible Rechenmodelle, welche unterschiedliche Zeitaspekte abstrahieren. Diese werden in das Framework LabVIEW eingefügt und auf einer passenden Hardwareplattform in Echtzeit ausgeführt.

Die Software macht den wahren Unterschied

Viele Ingenieure schätzen den Charme und kennen die Vorteile des Entwicklungsbeschleunigers LabVIEW, sind aber skeptisch, ihn gerade im sensiblen Embedded-Umfeld einzusetzen. Was aber, wenn sich die «softe» grafische Programmierung mit «harten» Embedded-Funktionen wie Echtzeit, Interrupts, DMA, Low-Level-Treiber, ausfallsichere Speicher, Watchdog, Fehlererkennung und -behebung für robusten 24/7-Betrieb sowie skalierbarer Strombedarf kombinieren liesse?

Der Nutzen ist dreifach: erstens mächtige LabVIEW-Funktionen und Bibliotheken für Mathematik und Signalverarbeitung, zweitens eine komfortable Abstraktion von unterlegter Hardware und Timing und drittens verschiedene Rechenmodelle, die das Entwicklerleben erleichtern.

Modelle unterstützen unsere Denkweise

Bei Embedded-Systemen sind dezentrale Mess- und Regeltechnik und Synchronisierung stark ausgeprägt und Parallelität, sowie Timing das Mass für formale Korrektheit der Software. Genau hier bieten flexible Rechenmodelle Unterstützung. Sie geben uns ein Verständnis für physikalische und zeitliche Zusammenhänge und beschreiben das Systemverhalten auf hohem Abstraktionsgrad, weitgehend unabhängig von Programmiersprache und unterlegter Hardware. Eine Analogie zur Literatur: Ein Rechenmodell entspräche einem Rezept oder einem Gedicht. Damit beschreibt der kreative «Entwickler» das, was der Kunde (lesen) will, was ihm wichtig ist. Die «Programmiersprache» hingegen wäre dann Deutsch, Französisch oder Englisch.

Rechenmodelle lassen sich grob in text-, datenfluss-, simulations-, zustands- und taskorientierte Modelle unterteilen. Eine Regeltechnik-Idee lässt sich etwa sehr aussagekräftig in der textorientierten Matlab-Notation umsetzen (Bild 3 oben). Sie kann ebenso wie Differentialgleichungen nach dem Simulationsmodell (Bild 3 Mitte) im LabVIEW-Framework eingefügt werden wie Statecharts, welche die zustandsorientierte Applikationslogik vereinfachen (Bild 4). Die textbasierte C-Notation hingegen erlaubt z.B. das Einbinden bestehender Algorithmen oder direkten Zugriff auf Hardware. Multitasking wiederum abstrahiert Funktionen des Betriebssystems (Bild 5).

Skalierbare Hardware für jede Aufgabenstellung

Derzeit bieten sich drei Klassen von Embedded-Boardlevel-Hardware an, die LabVIEW mit seinen Rechenmodellen unterstützen:

  • Singleboard-Computer sind in Formfaktoren von der Europakarte über das PC104-Format bis zur Hutschiene verfügbar (Bild 1 rechts). Ihr Vorteil liegt auf der Hand: Sie sind ohne weitere Hardwareentwicklung sofort betriebsbereit. Deshalb eignen sie sich für Funktionsmuster, Rapid Prototyping oder wenn im Projekt keine Hardwareentwicklung vorgesehen ist. Die Hardwarefunktionalität ist an Klemmen direkt abgreifbar, und reicht vom Analog- und Digital-I/O über alle Standard-Kommunikationskanäle bis zum Farb-TFT mit Multi-Touch.
  • Einsteckmodule bieten zusammen mit Baseboards die sehr beliebte Zweiplatinen- oder Sandwich-Hardware (Bild 1 links). Diese ist ein Mix aus Standard und kundenspezifischer Lösung und eignet sich für kleine und mittlere Serien in zwei- bis dreistelliger Stückzahl. Die Formfaktoren reichen vom Briefmarken- bis zum Scheckkartenformat. Nahezu jeder am Markt verfügbare I/O-Baustein lässt sich flexibel an das System anbinden, z.B. über digitales I/O, synchrone (SPI) und asynchrone (UART) serielle Schnittstellen oder parallele High-Speed-Bussysteme. Von der Funktionalität her bietet diese Lösung ähnliches wie bei Singleboard-Computern, lässt sich im Vergleich aber beliebig erweitern. Diese Flexibilität hat jedoch ihren Preis: im Vergleich zum SBC muss beim Zweiplatinenansatz immer zuerst Hardware in Form eines Baseboards entwickelt werden.
  • Kompletthardware integriert Mikrocontroller und I/Os auf kleinen oder speziellen Formfaktoren mit sensiblen Preisvorgaben (Bild 2). Sie wird beim EMS-Anbieter (Electronic Manufacturing Service) gefertigt und eignet sich für zwei- bis dreistellige Losgrössen. Seine spezifische LabVIEW-Hardware kann der Kunde bei Schmid Elektronik entwickeln, produzieren und testen lassen oder dies in Lizenz selbst tun.

Reif für den rauen Feldeinsatz

Diese drei Hardwareklassen sind als Plattform ausgelegt. Hardware wird so abstrahiert, dass sich eine LabVIEW-Applikation mit wenig Aufwand portieren lässt. Damit erhält man die Freiheit, Entscheidungen zu Hardware und Implementierungsdetails hinauszuzögern und je nach Funktions-, Leistungs- oder Kosten- bedarf die nächst höhere oder tiefere Stufe zu wählen. Die Methode mit den eingebetteten Rechenmodellen im LabVIEW-Framework ist ein mächtiges Tool, um etwas entspannter an komplexe Aufgaben heranzugehen.

Auf die Hauptaufgabe konzentrieren

Die Möglichkeit, eigene LabVIEW-Hardware für ein Serienprodukt zu entwickeln, ist der Traum vieler Entwickler und Entscheidungsträger. Mit Schmid Elektroniks Entwicklungs-, Produktions- und Testdienstleistungen wird dieser Traum Wirklichkeit. Vom individuellen Baseboard mit anwendungsspezifischer, industrieller Elektronik über Kompletthardware bis zum eigenen cRIO-Modul. Softwareseitig gehören Anpassungen des Linux-Kernels ebenso dazu, wie das Entwickeln individueller Gerätetreiber mit C/C++ in Eclipse und deren Einbinden in die LabVIEW-Umgebung. Schmid gehört von den über 900 weltweiten National Instruments (NI) Allianzpartnern zu den 13 ausgesuchten «Electronic-Design-Specialties» mit Fokus auf kundenspezifischer Embedded-Hardware. Seit über 10 Jahren arbeitet Schmid Elektronik mit NI R&D im amerikanischen Austin zusammen und entwickelte über die Jahre ein zum NI-Produktkatalog komplementäres Produktportfolio, um LabVIEW für Serienprodukte nutzen zu können. Der Entwickler erhält auf diese Weise eigene Hardware mit einem Programmierkomfort, den er von NI-Produkten gewohnt ist und kann sich damit voll und ganz auf seine Hauptaufgabe konzentrieren.

Im zweiten Teil des Berichts geht es um den Einsatz in der Praxis anhand reeller Projektbeispiele:

  • Condition Monitoring von Teilentladungen an Hochspannungsanlagen
  • Wireless HF-Messnetzwerk am Auto mit Synchronisierung über GPS
  • Zustandserfassung von Bauwerken mit Wireless FTP und SMS-Meldefunktion
  • Mobiles Ultraschall-Handmessgerät zur Festigkeitsberechnung von Werkstoffen
  • Smarte Laser-Lichtquelle für OCT (Optical Coherence Tomography)-Anwendungen
  • Regelung einer kompakten Solaranlage mit einem Wirkungsgrad von 80 Prozent

Der Einsatz in sensiblen Bereichen wie Luftfahrt, Verteidigung, Automotive und Bahntechnik wird ebenfalls kurz angesprochen.

Infoservice


Schmid Elektronik AG
Mezikonerstrasse 13, 9542 Münchwilen
Tel. 071 969 35 80, Fax 071 969 35 99
info@schmid-elektronik.ch
www.schmid-elektronik.ch