Cadida stellt um auf
erneuerbare Energien

Cadida Software Softwareentwicklung CAD Bildverarbeitung

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench)

Was ist LabVIEW?

LabVIEW ist eine seit 1986 bestehende Entwicklungsumgebung von National Instruments, die für die Erstellung von Anwendungen zur Erfassung, Verarbeitung und Darstellung von Daten und Signalen entwickelt wurde. Haupteinsatzgebiete sind dabei die Mess-, Regel-, Prüf-, Steuer- oder Automatisierungstechnik. Auf diesen Gebieten hat sich LabVIEW heute in unterschiedlichsten Branchen der Wissenschaft und Technik als bevorzugtes Entwicklungswerkzeug etabliert. Dies beruht zum Einen auf einer sukzessiven Erweiterung des Funktionsumfanges, als auch auf der Tatsache, dass sich mit der LabVIEW-internen grafischen Programmiersprache, Ideen und Lösungen schnell umsetzen lassen ohne dabei an Flexibilität und Performance einzubüßen.

Die LabVIEW Entwicklungsumgebung

Programmiersprache G

Bei der Entwicklung mit LabVIEW kommt die grafische, datenflussorientierte Programmiersprache G zum Einsatz. Diese Programmiersprache ermöglicht es dem Anwender sehr einfach im sogenannten Blockdiagramm, welches die Logik der Anwendung enthält, grafische, vordefinierte Funktionsblöcke mit Datenleitungen zu verbinden, um somit die gewünschte Funktionalität zu erhalten. Die Datenflussorientierung von G erlaubt weiter eine einfache Realisierung von paralleler Programmierung, da Programmabschnitte die datenunabhängig sind automatisch in mehreren Threads ausgeführt werden.

Bibliotheken

LabVIEW stellt eine Vielzahl an Bibliotheken unterschiedlichster Funktionalität zur Verfügung. Neben den gängigen Basisfunktionalitäten einer Programmiersprache werden auch spezielle, dem Anwendungsbereich angepasste, Funktionsblöcke und Algorithmen angeboten. Es werden interaktive, vorgefertigte Bedien- und Anzeigeelemente, wie zum Beispiel Diagramme, Graphen und Buttons, mitgeliefert, die zur Darstellung der Daten und Signale auf der Bedienoberfläche (Frontpanel) verwendet werden können.
Des Weiteren werden für unterstützte Geräte Hardware Treiber mitgeliefert. Dies ermöglicht die konsistente Nutzung eines einzigen Entwicklungswerkzeugs für die Realisierung der Kommunikation mit dem Gerät und der anschließenden Weiterverarbeitung und Darstellung der Daten. Hier zeigt sich das Potential einer effizienten Entwicklung mit LabVIEW.
Für bereits geschriebene Module in C# oder C/C++ besteht die Möglichkeit, diese über .NET, ActiveX, DLLs und XML zu integrieren.

Integrierte Entwicklungsumgebung

Die integrierte Entwicklungsumgebung bringt eine Vielzahl von Einstellmöglichkeiten und Tools mit, die eine effiziente Entwicklung erlauben. So können auch hier für die Fehlerbehandlung Haltepunkte und Datensonden eingesetzt werden, um ausgewählte Funktionsknoten sowie den Dateninhalt von Objekten zu untersuchen.
Bei der Übersetzung der Blockdiagramme kommt der integrierte Compiler zum Einsatz. Dieser übersetzt die Blockdiagramme direkt in Maschinencode, sodass auch in LabVIEW erstellte Anwendungen sehr performant sind.

Entwicklung mit LabVIEW

Auch in LabVIEW gelten die gängigen Softwareentwicklungszyklen. Allerdings muss sowohl bei der Anforderungsanalyse als auch beim Softwaredesign die Datenflussorientierung von LabVIEW berücksichtigt werden. So ist es praktikabler das System mittels Zustandsdiagrammen zu analysieren, dessen Darstellung des abstrahierten Problems eine einfache und schnelle Umsetzung mittels der grafischen Programmiersprache G ermöglicht. Für das Systemdesign werden je nach Problemstellung von National Instruments Design Patterns empfohlen, die den Aufbau einer skalierbaren, modularen und leicht erweiterbaren LabVIEW Anwendung erlauben. Übliche Pattern sind das Master/Slave, Producer/Consumer, Event Driven User Interface aber auch komplexere, kombinierte Pattern, wie das Queued State Machine - Event Driven Producer/Consumer (QSM-PC). Hier muss in Abhängigkeit der Funktionalität und den Rahmenbedingungen der Anwendung, das geeignetste Pattern gewählt werden.

Vorteile

  • Grafische Programmierung setzt keine tieferen Programmierkenntnisse voraus und reduziert Einarbeitungszeit
  • Mitgelieferte Hardwaretreiber und Geräteschnittstellen erleichtern das direkte Arbeiten mit angeschlossenen Geräten in einer einzigen Entwicklungsumgebung
  • Möglichkeiten der Simulation von Hardware/Geräten
  • Umfangreiche Bibliotheken vorhanden, die speziell für bestimmte Anwendungsbereiche zugeschnitten sind, z. B. Vision & Motion, Automation, etc.
  • Umfangreiche Dokumentation der Funktionen
  • Schnelle, effiziente Entwicklung und dennoch flexibel, wiederverwendbar und performant
  • Sehr schneller Prototypenbau möglich

Nachteile

  • Umsetzung von komplexen Algorithmen in LabVIEW selbst sehr umständlich bis unmöglich. Hier bedarf es einer textbasierten Programmiersprache, die in LabVIEW eingebunden wird. Letzteres kann sich als sehr schwierig herausstellen.
  • Denkweise bei grafischer Programmierung nicht intuitiv
  • Speicherbedarf von LabVIEW sehr hoch
  • Blockdiagramme schnell unübersichtlich
  • Laufzeitumgebung auf dem Zielrechner nötig
  • Projekte können nur mit der Version geöffnet werden, in der entwickelt wurde
     

Wir erweitern für Sie LabVIEW und binden Ihre Hardware an LabVIEW an.
Weitere Informationen zu grafischen Programmiersystemen und Simulationen.