Startseite » Mess- & Prüftechnik »

LabVIEW oder C?

Simon Hogg von NI zur Programmierung von Mess-, Steuer- und Regelsystemen
LabVIEW oder C?

Die Frage ‚Warum ist LabVIEW besser als C?‘ hört Simon Hogg von National Instruments (NI), häufiger – hält die Fragestellung aber für unpräzise. Solange die zu lösende Aufgabe nicht klar definiert sei, könne eine Antwort nur so befriedigend sein wie die ‚42‘, die Douglas Adams den Lesern von ‚Per Anhalter durch die Galaxis‘ mit auf den Weg gebe. Simon Hogg gibt deswegen Antworten im jeweiligen Kontext.

Der Autor Simon Hogg ist Product Marketing Manager NI LabVIEW bei NI.

‚Warum ist LabVIEW besser als C?‘ ist eigentlich die falsche Frage, eine pauschale Antwort nicht möglich. So wie in ‚Per Anhalter durch die Galaxis‘ die Antwort ‚42‘ keinen Sinn ergibt, bevor man nicht weiß, welche Frage gestellt wurde oder welches Problem gelöst werden soll. LabVIEW und C sind beide sehr nützlich – LabVIEW ist häufig besser für High-Level-Test-, -Mess-, -Steuer- und -Regelanwendungen geeignet, während sich C eher für Low-Level-Implementierungen rechenintensiver Aufgaben anbietet. Die eingangs gestellte Frage lässt sich also nur beantworten, wenn der Kontext und die jeweiligen Anforderungen bekannt sind. Ohne dieses Details könnte man genauso gut fragen, ob Brot besser ist als Mehl.
Das Verhältnis zwischen LabVIEW und C ist ähnlich dem zwischen Brot und Mehl. Wer sich ein belegtes Brot machen möchte, nimmt sich eine Scheibe Brot. Wer einen Kuchen backen möchte, beginnt mit dem Mehl. Brot aus Mehl selbst zu backen, kann teuer und zeitaufwendig sein – vor allem dann, wenn man nur schnell ein belegtes Brot essen möchte –, doch für einen Kuchen ist das Mehl unverzichtbar. Entscheidend ist die Wahl passend zur Aufgabenstellung – und für den Ingenieur die Wahl des jeweils passenden Werkzeugs.
Wer ein Mess-, Steuer- oder Regelsystem erstellen möchte, für den ist die Systemdesignsoftware NI LabVIEW die erste Wahl, denn sie minimiert Risiko, Kosten und Aufwand der individuellen Systementwicklung mit Low-Level-Programmiersprachen wie C. Das heißt nicht, dass LabVIEW eine ‚bessere‘ Programmiersprache ist als C – besonders vor dem Hintergrund, dass große Teile von LabVIEW nicht nur in ‚G‘ (der grafischen Programmiersprache), sondern ebenfalls in C und C++ geschrieben wurden. Beide Sprachen haben jedoch unterschiedliche Stärken, die sich der Programmierer vor Augen führen sollte.
Effizienz oder Kontrolle?
  • C ermöglicht die Low-Level-Steuerung: C eignet sich häufig besser für Anwendungen mit knappen Ressourcen, die engmaschig verwaltet werden müssen. Da C eine Low-Level-Sprache ist, müssen Anwender alles bis ins kleinste Detail überdenken und spezifizieren, etwa die Speicherzuweisung und Threads. Ein guter Programmierer kann diese niedrige Steuerebene nutzen, um den Overhead zu vermeiden, den die meisten Implementierungen auf höherer Ebene mit sich bringen. Auf dieser Ebene lassen sich auch die Systemeigenschaften von Zielarchitekturen oder Host-Betriebssystemen nutzen, um die Leistung zu steigern. Aus diesem Grund haben die Programmierer von LabVIEW die meisten LabVIEW-Bibliotheken in C oder C++ geschrieben. Operationen wie Datei-I/O und -Analyse sind in LabVIEW genauso schnell wie in C, weil sie in Low-Level-Sprachen geschrieben und für jede der von LabVIEW unterstützten Plattformen und Betriebssysteme optimiert wurden.
  • LabVIEW ermöglicht die effiziente Systementwicklung: In vielen Fällen ist allerdings die Effizienz bei der Entwicklung wichtiger als die Möglichkeit, Code manuell zu optimieren. Auf etwas Kontrolle zu verzichten und dafür das Know-how zu nutzen, das andere bereits in eine Programmiersprache wie LabVIEW eingebracht haben, bringt vielen Projekten im Hinblick auf Qualität und Produktivität große Vorteile. Zudem nimmt die Abstraktion solcher Programmiersprachen kontinuierlich zu: So können sich Anwender auf ihre Aufgabenstellung konzentrieren, statt sich mit den Details der Programmierung herumschlagen zu müssen.
LabVIEW: parallele Ausführung und reale I/Os
Ganz gleich, welche Sprache zur Implementierung genutzt wird: High-Level-Systemdesign und Low-Level-Implementierung sind zwei Paar Stiefel. Bei Mess-, Steuer- und Regelanwendungen stellt das Programmieren nur eine von vielen Aufgaben eines Systementwicklers dar. Deshalb haben Ingenieure in diesem Bereich meist nicht die Zeit, ihre Software umzuschreiben, um Fortschritte bei Rechen- und Messhardware und/oder Betriebssystemen nutzbar zu machen. Einen Mehrwert erreichen sie allerdings für ihr System, indem sie die Erfassung, Bearbeitung und Darstellung realer Daten umsetzen und optimieren – und nicht, indem sie neue Arten der Speicherzuweisung oder Thread-Pools einsetzen. Mit LabVIEW können Anwender deshalb auf bewährten, unterstützten und gewarteten Bibliotheken mit Low-Level-Code von NI aufbauen. Wer sich dagegen für C entscheidet, muss seine eigenen Low-Level-Bibliotheken implementieren und warten oder diese von einem entsprechenden Anbieter beziehen. NI selbst bietet für diesen Fall übrigens die Software-Produkte NI LabWindows/CVI und NI Measurement Studio an.
Im Hinblick auf die Syntax ist C dafür optimiert, Befehle sequenziell und so schnell wie mit der CPU möglich auszuführen. Für reine Berechnungen, bei denen nur ein Task ausgeführt wird und die Befehle relativ einfach sind, ist das vollkommen ausreichend. Die grafische Syntax von LabVIEW ist dagegen für die parallele Ausführung von Tasks mit realen Zeitvorgaben optimiert. LabVIEW ist mehr als nur eine Programmiersprache und dazugehörige Bibliotheken. Wer die integrierte Entwicklungsumgebung mit NI-Hardware nutzt, erhält eine Designumgebung, die sogar noch besser ist als die Summe ihrer Bestandteile. Die Software erkennt verfügbare Hardware und kann I/O-Kanäle und Ausführungsziele als Drop-down-Menüs oder Projektelemente darstellen. Noch während der Bearbeitung können Konfigurationsfehler vermieden oder behoben und damit kostspielige und schwer zu beseitigende Laufzeitfehler verhindert werden. Messhardware der nächsten Generation – etwa der Vektorsignal-Transceiver NI PXIe-5644R – erlauben LabVIEW sogar, die Firmware der Hardware neu zu definieren, um Leistungssteigerungen zu erreichen, die mit herkömmlichen Programmiersprachen und Messgeräten nicht möglich sind.
Fazit
Zu viele Projekte können Deadlines oder Budget nicht einhalten, weil die Entwickler den Aufwand unterschätzen, den das Zusammenfügen von Teilen aus verschiedenen Quellen mit sich bringt. Mit LabVIEW geben die Hardwaretreiber Daten gleich in dem Format aus, das für die Analysebibliotheken benötigt wird. Widgets auf der Benutzeroberfläche stellen technische Daten wiederum im selben Format dar, in dem auch die Analysebibliotheken Daten ausgeben – es müssen also keine verschiedenen Komponenten auf einen gemeinsamen Nenner gebracht werden. Zusammenfassend lässt sich also sagen, dass LabVIEW und C beide sehr nützlich sind, da sie in der Hand von kompetenten Anwendern fast jedes Problem lösen können. co
ni.com/labview/d
ni.com/lwcvi/d
ni.com/mstudio/d
Hannover Messe: 9-G24
„Im Hinblick auf die Syntax ist C dafür optimiert, Befehle sequenziell und so schnell wie mit der CPU möglich auszuführen. Die grafische Syntax von LabVIEW ist dagegen für die parallele Ausführung von Tasks mit realen Zeitvorgaben optimiert.“

INFO-TIPP

Anlässlich der SPS IPC Drives sprach die elektro AUTOMATION mit Rahman Jamal, Technology & Marketing Director Europe bei National Instruments. Ein Thema dabei: das grafische Systemdesign mit LabVIEW.
Newsletter

Abonnieren Sie unseren Newsletter

Jetzt unseren Newsletter abonnieren

Webinare & Webcasts

Technisches Wissen aus erster Hand

Whitepaper

Hier finden Sie aktuelle Whitepaper

Videos

Hier finden Sie alle aktuellen Videos


Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de