Spricht LabVIEW auch C?

Inhalt

Einleitung

Seit Jahren gilt die grafische Programmiersprache NI LabVIEW mit ihrer integrierten grafischen Benutzeroberfläche als einfach bedienbares Entwicklungswerkzeug für die Erstellung von Datenerfassungs- und Gerätesteuerungsanwendungen und v. a. auch für die schnelle Prototypisierung von Systemen. Jedoch wurde durch die mit LabVIEW einfache und schnelle Systementwicklung die Tatsache in den Hintergrund gedrängt, dass es sich bei LabVIEW eigentlich um eine vollwertige Programmiersprache handelt, mit der auch die umfangreichsten Anwendungen, die Ingenieure und Wissenschaftler heutzutage entwickeln müssen, zu bewältigen sind.

LabVIEW besitzt mehrere Komponenten, die denen von C ähneln und darüber hinaus ist es so flexibel, dass Entwickler bestehenden C-Code oder andere externe Codemodule in ihre LabVIEW-Anwendungen integrieren können. Außerdem bietet LabVIEW eine optimierte Entwicklungsmethodik mit diversen integrierten und einfach zu nutzenden Messfunktionen, so dass Messungen bereits nach kurzer Zeit durchgeführt werden können. Dieser Artikel beleuchtet ähnliche C- und LabVIEW-Funktionalitäten und erläutert, wie diese Standardprogrammierstrukturen und -methoden verwendet werden. Da hier die allgemeinen Programmierfunktionen von LabVIEW diskutiert werden, beziehen sich die unten aufgeführten Beispiele nicht auf eine spezielle Branche.

Hinweis:

  • Leistungsfähigkeit: Auch wenn die Leistung an geeigneter Stelle erwähnt wird, soll hier kein Leistungsvergleich zwischen C und LabVIEW erfolgen.
  • Benutzeroberfläche: Viele Entwicklungswerkzeuge in C enthalten einen Editor zur Erstellung von Benutzeroberflächen. Allerdings umfassen die hierin verwendeten ANSI-C-Beispiele keine Benutzeroberfläche, so dass eine maximale Portierbarkeit gegeben ist. Außerdem enthält dieser Beitrag ausführbare LabWindows/CVI-Programme, die Benutzeroberflächen umfassen, welche mit denen von LabVIEW vergleichbar sind.


Empfohlene Software

Nach oben

Beispiel 1: Grundlegende Strukturen und Methoden

LabVIEW beinhaltet alle auch in C verfügbaren grundlegenden Programmierstrukturen und -methoden, wie etwa Schleifen und Arrays. Folgende Application Note (engl.) vergleicht C- und LabVIEW-Beispiele, die einen Array von Zufallszahlen erzeugen und sortieren. Diese Beispiele verdeutlichen Konzepte wie Schleifen, Arrays und Datenmanipulation in C und in LabVIEW.

Application Note (engl.): Spricht LabVIEW auch C? – Beispiel 1: Grundlegende Strukturen und Methoden

Beispielcode (engl.) : Erzeugung und Sortierung von Zahlen in LabVIEW und C


Nach oben

Beispiel 2: Komplexere Programmierkonzepte

Die folgende Application Note (engl.) stellt die Konzepte von Datenstrukturen, Modularisierung von Code, Datei-I/O und Datenanalysen in C und LabVIEW gegenüber. Die Beispiele führen insbesondere Aufgaben durch, die z. B. in einer Schule notwendig sind, um etwa Daten und Noten von Schülern einzugeben und diese zu analysieren.

Application Note (engl.): Spricht LabVIEW auch C? – Beispiel 2: Komplexere Programmierkonzepte

Beispielcode (engl.): Verwaltung von Schülerdaten in LabVIEW und C


Nach oben

Beispiel 3: Wiederverwendung von Programmcode in LabVIEW

Die beiden vorigen Beispiele zeigten Ähnlichkeiten von LabVIEW und C sowie die Fähigkeiten von LabVIEW als vollwertige Programmierumgebung. Darüber hinaus ermöglichen die in LabVIEW integrierten Funktionen und grafischen Programmiertechniken oftmals eine schnellere und effizientere Problemlösung.

Gleichzeitig gibt es Aufgaben, für die sich eine traditionelle Programmiersprache wie C besser eignet. Auch kommt es vor, dass ein Anwender in manchen Fällen auf eine bestimmte Programmiersprache festgelegt ist, aber trotzdem die einzigartigen Funktionen von LabVIEW nutzen möchte.

Für beide Fälle hat LabVIEW Lösungen parat. LabVIEW kann externen, in Dynamic Link Libraries (DLLs) oder Shared Libraries enthaltenen Code sowie Code von ActiveX- oder .NET-Schnittstellen aufrufen. Darüber hinaus kann LabVIEW-Code in anderen Programmiersprachen wieder verwendet werden. Dazu wird eine LabVIEW-DLL oder Shared Library erstellt oder ActiveX genutzt. Die folgende Application Note (engl.) besteht aus zwei Teilen: Der erste Teil behandelt das Aufrufen einer in C erstellen DLL aus LabVIEW. Im zweiten Teil geht es um das Aufrufen einer in LabVIEW erstellten DLL aus C.

Application Note (engl.): Spricht LabVIEW auch C? – Beispiel 3: Die passenden Werkzeuge für LabVIEW

Beispielcode (engl.): Aufrufen einer in C erstellten DLL aus LabVIEW zur Erzeugung und Sortierung eines Zahlenarrays

Beispielcode (engl.): Aufrufen einer in LabVIEW erstellten DLL aus C zur Datenerfassung, -analyse und -darstellung

Nach oben

Anspruchsvolle Programmiertechniken

LabVIEW-Anwender müssen oft dieselben Prozeduren befolgen wie Entwickler, die mit traditionellen Sprachen wie C arbeiten. Manchmal stehen ihnen allerdings Werkzeuge und Methoden zur Verfügung, die den Entwicklungsprozess vereinfachen. So kann LabVIEW manche Aufgaben lösen, die in C nicht so einfach möglich sind, z. B. objektorientierte und parallele Programmierung. Im Hinblick auf die parallele Programmierung hat die zunehmende Verbreitung von Multicore-Prozessoren vielen Softwareentwicklern vor Augen geführt, dass eine bessere Methode für den Entwurf parallelen Codes nötig ist.

Als eine grafische Programmiersprache, basierend auf den Grundprinzipen der Datenflussprogrammierung, bietet LabVIEW dem Anwender einen vereinfachten Ansatz für die parallele Programmierung. Dabei profitiert der Entwickler unmittelbar von der Verarbeitungsleistung, die die neueste Generation von Multicore-Prozessoren zur Verfügung stellt.

Weitere Informationen bietet die Whitepaper-Serie zu den „Grundlagen der Multicore-Programmierung“.

Nach oben

Fazit

In diesem Artikel wurde ein kleiner Auszug der Programmierfähigkeiten von LabVIEW behandelt, die auch in C verfügbar sind, darunter die Array-Manipulation sowie die Unterstützung von DLLs. Mehr über anspruchsvolle Programmiertechniken in LabVIEW, wie die objektorientierte Programmierung und die Implementierung von Standardmethoden für die Softwareentwicklung in LabVIEW bietet die Website zur Entwicklung großer Anwendungen in LabVIEW.

Mit dem in LabVIEW einzigartigen Programmieransatz unter Verwendung von Blockdiagrammen und Datenfluss sowie betriebsbereiten Funktionen wie Messanalysebibliotheken können Anwender im Vergleich mit traditionellen Sprachen wie C viel Zeit einsparen. Interessenten können die Fähigkeiten von LabVIEW jederzeit online testen.

 

Nach oben