Academic Über NI Veranstaltungen NI Developer Zone Support Lösungen Online Store Kontakt MyNI

Dokumententyp: Tutorium
Von NI unterstützt: Ja
Veröffentlichungsdatum: 09.01.2008


Feedback


Ja Nein

Thematisch verwandte Links - Developer Zone

Thematisch verwandte Links - Products and Services

LabWindows™/CVI: Seit 20 Jahren effiziente und produktive Entwicklung von Prüfsystemen

0 Bewertung(en) | 0.00 von 5
Drucken | PDF

Übersicht

LabWindows/CVI von National Instruments ist eine bewährte, auf ANSI C basierende Entwicklungsumgebung, die wesentlich zur Steigerung der Produktivität von Prüf- und Messanwendungen beiträgt. Anwender nutzen NI LabWindows/CVI zur Entwicklung von leistungsstarken, stabilen Applikationen in den Bereichen Produktionsprüfung, Militär, Luft- und Raumfahrt, Telekommunikation, Designvalidierung und Automotive. LabWindows/CVI optimiert die Entwicklung in diesen Bereichen durch Hardwarekonfigurationsassistenten, umfassende Werkzeuge für die Fehlerbeseitigung und interaktive Ausführung. Diese werden von Anwendern zum Ausführen von Funktionen während des Entwicklungsprozesses genutzt. Unter Verwendung von integrierten Messbibliotheken können Entwickler in kurzer Zeit komplexe Anwendungen entwickeln, so beispielsweise Multithreading-fähige Programme und ActiveX-Server/Client-Programme. Aufgrund der Flexibilität von LabWindows/CVI lassen sich getätigte Investitionen wahren, indem bereits bestehender Programmcode in einer bekannten Umgebung wiederverwendet und verteilte Testsysteme, die unter Windows, Linux® oder einer Echtzeitplattform ausgeführt werden, nahtlos integriert werden können.

Zwanzig Jahre Zuverlässigkeit und Innovation

LabWindows/CVI ermöglicht Anwendern durch neue Technologien mehr Flexibilität bei der Programmierung:

  • Darstellung einzelner Quellcodebereiche in einer Baumstruktur zur Verbesserung der Lesbarkeit des Quellcodes und Konturdarstellung
  • Arbeitsbereich mit Registerkarten für sofortigen Zugriff auf Funktionspaletten und Quelldateien
  • Unterstützung für die Bearbeitung von Programmcode während der laufenden Fehlersuche zur Verkürzung des Zeitraums zwischen Feststellung und Behebung eines Fehlers
  • Erweiterte Multicore-Technologie in LabWindows/CVI Real-Time zur Überwachung und Steuerung der Thread-Ausführung auf unterschiedlichen Kernen einer CPU

Erfahren Sie mehr unter Was gibt es Neues in LabWindows/CVI

„NI LabWindows/CVI verhindert ein Veralten von Testsystemen, indem es durchweg abwärtskompatibel bleibt. Wenn ich LabWindows/CVI ... einsetze, kann ich nicht nur C-Code weiterverwenden, den ich vor elf Jahren erstellte, sondern der Programmcode wird jetzt auch mithilfe der neuen optimierenden Compiler-Integration schneller ausgeführt. Die Tatsache, dass National Instruments eine Abwärtskompatibilität bei LabWindows/CVI berücksichtigt, trägt dazu bei, dass es zum Industriestandard für die Testentwicklung im Bereich Militär, Luft- und Raumfahrt gehört.“

Dave Dunham, Senior ATE Systems Engineer
MTI

 

Entwicklungsumgebung

LabWindows/CVI 8.5 erweitert den integrierten Arbeitsbereich, der mit LabWindows/CVI 7.0 zur Verfügung gestellt wurde. Darin wurde das Projektfenster durch ein Arbeitsbereichsfenster ersetzt, das genutzt wird, um mehrere Projekte und Fenster aus einer Umgebung zu verwalten. LabWindows/CVI 8.5 umfasst nun im Arbeitsbereichsfenster Funktionspanels und Fenster für die Fehlerbehebung, darunter Variablen- (Variables), Überwachungs- (Watch) und Speicheranzeigefenster (Memory Display).

Das Arbeitsbereichsfenster ist in fünf Hauptbereiche unterteilt: Projektfenster (Project Tree), Bibliotheksfenster (Library Tree), Editorbereich (Window Confinement Region), Ausgabefenster (Output Region) und Fehlerbehebungsbereich (Debugging Region).

Abb. 1: LabWindows/CVI umfasst einen optimierten Arbeitsbereich mit Registerkarten, in dem große Anwendungen zügig entwickelt, verwaltet und auf Fehler untersucht werden können.

Der integrierte Arbeitsbereich bietet eine intuitive, komfortable Oberfläche zur Erstellung und Verwaltung großer Projekte. Sie können jeden dieser Bereiche individuell anpassen, so dass er Ihrem spezifischen Entwicklungsstil und Ihren Präferenzen entspricht.

  • Das Projektfenster (Project Tree) enthält die Dateien für jedes Projekt in Ihrem Arbeitsbereich. Sie können die Positionen im Projektfenster mit der rechten Maustaste anklicken, um Zugriff auf verschiedene Optionen zu erhalten (z. B. Datei öffnen, Datei kompilieren und Datei aus dem Projekt löschen). Die über den rechten Mausklick zugänglichen Menüoptionen unterscheiden sich je nach der von Ihnen im Projektfenster ausgewählten Datei. Sie haben zudem die Möglichkeit, Informationen zu jeder Datei anzusehen, Projekte und Arbeitsbereiche anzupassen, Projekte hinzuzufügen oder zu löschen und die Reihenfolge, in der die Projekte im Projektfenster erscheinen, festzulegen. Sie können das Dialogfeld Edit Project nutzen, um in einem Projekt Dateien hinzuzufügen, zu löschen oder zu ersetzen. Sie können in diesem Dialogfeld ebenfalls Include-Pfade und Optionen für die Quellcodeverwaltung festlegen.
  • Das Bibliotheksfenster (Library Tree) umfasst eine hierarchische Ansicht aller LabWindows/CVI-Bibliotheksfunktionen, geladenen Zusatzbibliotheken und Gerätetreiber. Die hierarchische Ansicht bietet eine intuitive Schnittstelle für die Suche und Instanzierung von Funktionen. Das Bibliotheksfenster kann auch für den Zugriff auf bekannte Funktionen genutzt werden. Sie können eine Funktion durch Klicken mit der rechten Maustaste auf den Library Tree und Auswahl von Find schnell auffinden. 
  • Der Editorbereich (Window Confinement Region) umfasst alle geöffneten Fenster folgenden Typs: Quellcode, User Interface Editor, Function Panel Editor und Function Tree Editor sowie Funktionspanels. Wenn Sie eines dieser Fenster öffnen, ändern sich Menü und Werkzeugleiste entsprechend der spezifischen Optionen für das Fenster. Wenn Sie den herkömmlichen Stil des LabWindows/CVI-Arbeitsbereichs bevorzugen, können Sie die Fenster vom Editorbereich aus freigeben.

Modernste Hardwarefunktionen

Die entscheidenden Prozesse bei einer Messanwendung sind meistens die Anbindung an ein Messgerät und das Messen selbst. LabWindows/CVI stellt zwei Messassistenten zur Verfügung, die den Erfassungsprozess rationalisieren. Außerdem bietet es eine neue Schnittstelle zur Datenerfassung, welche die Leistungsfähigkeit für parallele Messungen auf das bis zu 20fache und für Einzelpunkt-I/O auf das 10- bis 20fache erhöht.

„LabWindows/CVI ... verdeutlicht das Engagement von NI, da die neuesten NI-Technologien voll ausgenutzt werden – darunter der DAQ-Assistent und der Assistent für Instrumenten-I/O... - um meine Effizienz und Produktivität enorm zu erhöhen.”

Pierre Duriez, Industrial Computing Manager
Fuji Electric

Neue Datenerfassungsarchitektur

LabWindows/CVI arbeitet mit der NI-DAQmx-Bibliothek, die Funktionen zur Kommunikation mit und Steuerung von Datenerfassungsgeräten beinhaltet. NI-DAQmx, die Treibersoftware der nächsten Generation, erzielt Schleifenraten, die bis zu 40-mal höher liegen als die der herkömmlichen Treibersoftware NI-DAQ bei der Ausführung simultaner I/O-Operationen. Zudem liefert NI-DAQmx Leistungsverbesserung auf das zehn- bis 20fache für Einzelpunkt-I/O. Diese Leistungssteigerung kann erreicht werden, da es sich bei NI-DAQmx um einen für NI-Datenerfassungsgeräte optimierten multithreading-fähigen Treiber handelt.

DAQ-Assistent

Zusätzlich zur integrierten NI-DAQmx-Bibliothek bietet LabWindows/CVI den DAQ-Assistenten. Dieser Assistent ist eine interaktive Schnittstelle zur neuen Treiberarchitektur. Der DAQ-Assistent (Abb. 3) ermöglicht das interaktive Definieren einer Messaufgabe („Task“), das Ermitteln der messtechnischen Funktionalität des von Ihnen festgelegten Datenerfassungsgeräts sowie das automatische Erzeugen von Code-Modulen für den Funktionalitätsbereich Datenerfassung. Wenn Sie eine neue Datenerfassungsaufgabe erstellen, legen Sie den Messtyp für diese Aufgabe und die zu ergänzenden Kanäle fest. Bei neuen Aufgaben können Sie zudem wählen, ob Sie die Aufgabe im Projekt oder im NI Measurement & Automation Explorer ablegen wollen. Wird die Aufgabe im Projekt abgelegt, erzeugt der DAQ-Assistent programmatisch Quellcode zur Erstellung der festgelegten Aufgabe. Die erzeugten Quell- und Header-Dateien definieren eine Funktion, welche die Aufgabe konfiguriert und eine Referenz zur Weiterverarbeitung ausgibt. Der DAQ-Assistent erzeugt auch eine .mxb-Datei, die eine Beschreibung der Aufgabe in binärer Form enthält. Wenn im DAQ-Assistenten Tasks bearbeitet werden, wird die Information aus dieser Datei genutzt, um automatisch alle drei Dateien zum Projekt hinzuzufügen, wenn der Anwender eine projektbasierte Aufgabe erstellt. Der DAQ-Assistent umfasst ferner Hilfethemen, die beschreiben, wie dieser basierend auf der Aufgabe des Anwenders zu verwenden ist. Die enge Integration des DAQ-Assistenten und der Treibersoftware NI-DAQmx mit LabWindows/CVI gibt Anwendern, die Datenerfassungsanwendungen ausführen, die effektivste und produktivste Methode zur Durchführung von Messungen in einer ANSI-C-Umgebung an die Hand.

Abb. 2: Der DAQ-Assistent ermöglicht das interaktive Definieren einer Messaufgabe („Task“), das Ermitteln der messtechnischen Funktionalität des vom Anwender festgelegten Datenerfassungsgeräts sowie das automatische Erzeugen von Code-Modulen für den Funktionalitätsbereich Datenerfassung.

M-Serie

Eine Neuheit der Entwicklungsumgebung LabWindows/CVI ist die vollständige Kompatibilität mit Geräten der M-Serie, der nächsten Generation von Multifunktions-Datenerfassungsgeräten. Diese revolutionären Datenerfassungsgeräte bieten Abtastraten bis zu 1,25 MHz, eine Auflösung bis zu 18 bit, Timing unter Verwendung einer 80-MHz-Referenz und patentierte Kalibrierung (Polynom-Anpassung) zu geringeren Kosten pro I/O-Kanal. Module der M-Serie verfügen über bis zu 48 Digital-I/O-Kanäle, 32 Analogeingänge, vier Analogausgänge und zwei Counter in einem einzigen Gerät. Weitere Informationen finden Sie auf der Startseite zur M-Serie.

Instrumenten-I/O-Assistent

Ingenieure und Wissenschaftler aus der Testindustrie wissen, dass eine einfache Anbindung an verschiedene Messgeräte von unterschiedlichen Anbietern bei der Auswahl eines Softwarepakets eine entscheidende Rolle spielt. LabWindows/CVI gehört neben NI LabVIEW zu den führenden Entwicklungsumgebungen bei der Gerätesteuerung und -anbindung, da es sich des Instrument Driver Network mit über 3.000 Gerätetreibern von mehr als 180 Anbietern bedient. Diese Treiber können genutzt werden, um Anwendungen für die Gerätesteuerung unkompliziert zu programmieren. In LabWindows/CVI erreicht die Gerätesteuerung die nächste Produktivitätsebene. Mithilfe des Assistenten für Instrumenten-I/O lässt sich Programmcode für die Kommunikation mit z. B. seriellen, Ethernet- und GPIB-basierten Geräten generieren, ohne dazu einen Gerätetreiber einsetzen zu müssen.

Abb. 3: Der in LabWindows/CVI enthaltene Assistent für Instrumenten-I/O analysiert selbstständig Gerätedaten, erzeugt wiederverwendbaren Programmcode und definiert interaktiv die grundlegende Kommunikation.

Der Instrumenten-I/O-Assistent bietet eine komfortable Bedienoberfläche, über die die Prototypisierung von Anwendungen sowie die automatische Analyse von Geräteantworten schnell erfolgen kann, da kein Programmieraufwand notwendig ist. Der Anwender kann den erzeugten Programmcode in jede bereits vorhandene Anwendung importieren. So wird bei der Geräteanbindung und -kommunikation sowie der Analyse von als Zeichenketten empfangenen Daten wertvolle Zeit gespart. Durch die Eingabe von nur zwei Zeilen Programmcode kann der Anwender mehr als 300 vom Assistenten für Instrumenten-I/O erzeugte Zeilen aufrufen und somit wieder die Messanwendung als solche in den Mittelpunkt rücken.

Weiterführende Links:

Datenerfassungssoftware 

 Multifunktions-Datenerfassungskarten der M-Serie  

Deterministische Leistungsfähigkeit mit dem Real-Time Module

Es ist schwierig, extrem zuverlässige und deterministische Anwendungen mithilfe universeller Betriebssystemen wie Microsoft Windows zu implementieren. Zuverlässige und deterministische Applikationen erfordern eine umfassendere Kontrolle über alle auf dem System laufenden Operationen. Ein solches Kontrollniveau können universelle Betriebssysteme gewöhnlich nicht bieten. Daher setzen Ingenieure aus den Bereichen Test und Automatisierung häufig Echtzeitbetriebssysteme ein, um Anwendungen zu implementieren, die deterministische Leistung oder hohe Zuverlässigkeit erfordern.

LabWindows/CVI kann zusammen mit dem LabWindows/CVI Real-Time Module genutzt werden. So können dann zuverlässige, deterministische Anwendungen erstellt werden, die sich auf dedizierter Echtzeithardware einsetzen lassen. Diese Eigenschaft verringert die Entwicklungszeit für Echtzeitanwendungen folgendermaßen:

  • Wiederverwendung von ANSI-C-Code und der geläufigen LabWindows/CVI-Entwicklungsplattform
  • Ausführung auf kommerzieller Standardhardware, besonders auf PXI- und PC-Zielgeräten, und I/O
  • Einsatz eines einzigen Werkzeugs für die Entwicklung von Echtzeit- und Windows-Anwendungen

 

Nachdem Sie Ihre DLL auf einem Echtzeitzielgerät eingesetzt haben, können Sie sie unter Ausnutzung der kompletten Funktionalität des LabWindows/CVI Debugger dezentral auf Fehler durchsuchen und diese beseitigen.

Abb. 4: Mithilfe des LabWindows/CVI Real-Time Module können zuverlässige und deterministische Anwendungen erstellt werden, die sich auf dedizierter Echtzeithardware ausführen und dezentral auf Fehler untersuchen lassen.

Weiterführende Links:

LabWindows/CVI Real-Time Module

Ausführungsüberwachung und Fehlersuche bei Verwendung von Multicore-Technologie

Die parallele Ausführung von Aufgaben deckt häufig Designfehler auf, die bei Anwendungen mit einem Thread unbemerkt bleiben. Das gilt besonders, wenn das korrekte Anwendungsverhalten von der richtigen Zeitabstimmung zwischen Ausführung, Speicherzugriff und Kommunikation zwischen mehreren Tasks abhängt. LabWindows/CVI bietet nicht nur vereinfachte Funktionen für die Thread-Synchronisation in ANSI C und optimierte Threading-Strukturen für diese Herausforderungen, sondern enthält auch erweiterte Funktionen, die Fehlerbehandlung und Designoptimierung auf Multicore-Systemen vereinfachen.

Das Threads-Fenster in LabWindows/CVI liefert Entwicklern die Ansicht detaillierter Informationen zur Fehlersuche auf Basis einzelner Threads. Das Thread-Fenster zeigt alle Threads im Programm, die gerade auf Fehler untersucht werden.

Abb. 5: Das Thread-Fenster in LabWindows/CVI ermöglicht einen einfachen Wechsel zwischen Threads, die momentan in der Umgebung auf Fehler untersucht werden.

Mithilfe dieses Dialogfelds können die Threads ausgewählt werden, von denen lokale Variablen und der Aufrufstapel angezeigt werden sollen. Nach Auswahl eines Threads aus diesem Dialogfeld und Anklicken der Schaltfläche „View“ zeigt LabWindows/CVI die lokalen Variablen für den ausgewählten Thread im Variablenfenster und die derzeitige Quellposition des Threads im Quellcodefenster. Die Befehle Up Call Stack, Down Call Stack und Call Trace im Menü Run zeigen die Informationen über den aktuell ausgewählten Thread.

Das Real-Time Execution Trace Tool umfasst auch eine Option namens Highlight CPU Mode, die eingesetzt werden kann, um den gesamte Thread-Ablauf, der auf einer bestimmten CPU ausgeführt wird, hervorzuheben. Durch dieses Hervorheben kann der Ausführungspfad auf jeder CPU im System verfolgt werden, um festzustellen, ob die Threads wie gewünscht ausgeführt werden. Durch Einsicht in die Prozessorauslastung kann das Leistungspotenzial unterschiedlicher Entwürfe als Prototyp entwickelt werden, wenn verschiedene Programmcodebestandteile bestimmten Prozessoren zugewiesen werden.

Abb. 6: Es muss eine CPU aus den Optionen Highlight CPU Mode ausgewählt werden, um alle Thread-Vorgänge, die auf dieser CPU laufen, hervorzuheben.

Siehe auch:
Fehlersuche in Multicore-ANSI-C-Anwendung mit LabWindows/CVI

Vereinfachte plattformübergreifende Kommunikation

Unternehmen setzen ihr Streben nach unternehmensweiter Vernetzung fort und somit nimmt auch die Anzahl an Anwendungen zu, die verteilte Lösungen benötigen. Dieser Trend stellt Programmierer, die diese Lösungen implementieren, vor erhebliche Herausforderungen. Bei Anwendungen werden zahlreiche unterschiedliche Arten von Hardware, Software und Protokollen eingesetzt. Diese Komplexität zwingt den Programmierer dazu, die Vor- und Nachteile verschiedener Protokolle gegeneinander abzuwägen, um Daten zu übertragen. Das erfordert viel Entwicklungszeit und -mittel. LabWindows/CVI vereinfacht die für solche Anwendungen erforderliche Programmierung erheblich. Die neue Network-Variable-Bibliothek, die auf dem NI Publish-Subscribe Protocol (NI-PSP) basiert, stellt eine vereinfachte API bereit. So können Live-Messdaten zwischen zwei Anwendungen auf demselben System oder netzwerkübergreifend ausgetauscht werden. Diese API kann auch eingesetzt werden, um Daten zwischen Echtzeitsystemen zu übertragen, ohne dabei den Determinismus zu beeinflussen. Die API wurde so entwickelt, dass sie Low-Level-Kommunikationsprotokolle wie TCP/IP oder DDE abstrahiert und zudem flexibel genug ist, um mit zahlreichen Messdatentypen (z. B. Skalaren, multidimensionalen Arrays und Strukttypen) kompatibel zu sein.

Die Network-Variable-Bibliothek in LabWindows/CVI bietet folgende Funktionen:

  • Subscriber: Empfang neuer Daten, die in einer Netzwerkvariablen veröffentlicht werden
  • Buffered Subscriber: Gepufferter Empfang von Daten, Auswertung von Ereignissen, wenn der Puffer leer, überschrieben oder veraltet ist
  • Writer: Aktualisiert Netzwerkvariablen mit neuen Daten
  • Buffered Writer: Aktualisiert veröffentlichte Daten asynchron
  • Reader: Liest neue Daten, die in einer Netzwerkvariablen gespeichert sind
  • Asynchronous Reader: Behandelt neue Daten der Netzwerkvariablen in einem unabhängigen Thread
  • Data Functions: Zum Manipulieren von Daten der Netzwerkvariablen
  • Network Variable Browser Popup: Automatische Suche nach verfügbaren Netzwerkvariablen
  • Browser Functions: Erstellung einer benutzerspezifischen Oberfläche zur Suche nach Netzwerkvariablen

Abb. 7: Netzwerkvariablen sind Datenbereiche, die in einem Netzwerk verfügbar sind und benutzt werden, um zwischen Programmen, Anwendungen, dezentralen Rechner und Hardware zu kommunizieren.

Die Netzwerkvariable schickt Daten an einen Server (die Engine für Umgebungsvariablen), der dann die Daten allen Clients im Netzwerk zur Verfügung stellt, die auf die Netzwerkvariable zugreifen. Da eine Publish-Subscribe-Architektur zur Übertragung der Daten verwendet wird, können viele Clients eine Variable gleichzeitig lesen bzw. eine Variable beschreiben, ohne dass zusätzlicher Programmcode geschrieben werden muss. Die Engine für Umgebungsvariablen kann auf Windows-PCs und Echtzeitzielgeräten als Host-Rechner zum Einsatz kommen.

Das LabWindows/CVI Real-Time Module erweitert die Funktionalität der Netzwerkvariablen. Mithilfe von LabWindows/CVI Real-Time können Netzwerkvariablen in Verbindung mit thread-sicheren Puffern (Thread-Save Queues), die in einem bestimmten Thread verbleiben, konfiguriert werden. Der Einsatz von thread-sicheren Puffern erreicht, dass die Übertragung von Daten zwischen Tasks oder über das Netzwerk hinweg keinen zusätzlichen Zeitversatz (Jitter) in einer Anwendung erzeugt.

Weiterführende Links:

 Weitere Informationen zur Netzwerkvariablen

Erweiterte Datenverwaltung und Hochgeschwindigkeits-Datei-I/O

Eine weitere Neuerung in LabWindows/CVI ist das Datenspeicherformat namens Technical Data Management Streaming (.tdms, Streaming von Daten ins TDMS-Format), das binäre Daten zur effizienten Speicherung von über 100 Milliarden Datenpunkten und Metadaten zur Speicherung von Angaben für die Beschreibung von Daten und Kanälen nutzt. Es ist für die Datenübertragung mit hohen Geschwindigkeiten optimiert. Diese Kombination aus binären Daten und Metadaten stellt Ihnen sowohl eine effiziente Dateispeicherung als auch sich selbst beschreibende Dateien zur Verfügung. Die Informationen innerhalb der TDMS-Datei – ein wichtiger Vorteil dieses Formats – bieten eine einfache Möglichkeit, Daten zu dokumentieren, ohne eine eigene Header-Struktur erstellen zu müssen. Mit zunehmenden Dokumentationsanforderungen muss die Anwendung nicht neu entwickelt werden. Es wird einfach das TDMS-Datenmodell erweitert, um spezifische Anforderungen zu erfüllen. Dieses TDMS-Dateiformat kann in LabWindows/CVI und in NI DIAdem eingesetzt werden. DIAdem ist eine leistungsstarke Standardsoftware für die technische Datenverwaltung, die über 100 Milliarden Datenpunkte in einer einzigen Datei bewältigt. Nach der Erfassung großer Datenmengen können Sie DIAdem einsetzen, um Ihre Daten interaktiv zu verwalten, zu sichten, zu analysieren, zu kommentieren und zu automatisieren.

Abb. 8: Mithilfe der TDM-Streaming-Bibliothek können über 100 Milliarden Datenpunkte gespeichert werden. Das Dateiformat besteht aus binären Messdaten und Metadaten und ist für die Hochgeschwindigkeitsübertragung optimiert.

Weiterführende Links:

 Einführung in die TDM-Streaming-Bibliothek von LabWindows/CVI

Erweiterte Analyse für wissenschaftliche Anforderungen

LabWindows/CVI bietet leistungsstarke Algorithmen und Funktionen speziell für die Messwertanalyse und Signalverarbeitung. Die Analysefunktionen in LabWindows/CVI umfassen Werkzeuge für die Signalverarbeitung, die zur Konditionierung und Umwandlung von Signalen mithilfe von Glättungsfunktionen, digitalen Filtern und Frequenzbereichumwandlungen eingesetzt werden können. Mit den mathematischen Funktionen lassen sich ein- und zweidimensionale Arrays bearbeiten und komplexe numerische Berechnungen durchführen. Mithilfe dieser Funktionen können für Vektor- und Matrixalgebra auch verschiedene benutzerdefinierte Formeln auf Daten angewandt werden. Werden sie eingesetzt, müssen keine eigenen Algorithmen erstellt werden, um Rohdaten in nützliche Informationen zu verwandeln. Um Rohdaten sinnvoll zu nutzen, müssen die erfassten Daten bearbeitet und analysiert sowie Informationen aus ihnen gewonnen werden. Die Advanced Analysis Library in LabWindows/CVI, ein Teil des LabWindows/CVI Full Development System, bietet folgende Möglichkeiten:

  • Extraktion von Informationen aus erfassten Daten und einmaligen Messungen
  • Erzeugung, Änderung, Verarbeitung und Analyse von Signalen
  • Ergänzung von Applikationen um Funktionen für intelligente Entscheidungsfindungsprozesse
  • Ausführen von Online- und Offline-Analysen
  • Einsatz genereller sowie spezieller Werkzeuge und Add-on-Software
  • Beispiele für Analysen

Abb. 9: LabWindows/CVI umfasst eine Reihe von leistungsstarken Funktionen zur Analyse von Daten.

Weiterführende Links:

 Komplette Auflistung der Analysefunktionen in LabWindows/CVI

Offene Technologien – .NET-, Internet- und XML-Bibliotheken

Da Industriestandards offene Technologien vorantreiben, wie beispielsweise .NET, XML-Webdienste und internetfähige Anwendungen, sind diese Technologien in LabWindows/CVI enthalten.

.NET-Bibliolthek

Mit LabWindows/CVI können die neuesten Microsoft-.NET-Technologien genutzt werden, um Methoden aufzurufen oder Eigenschaften von .NET-Objekten einzustellen und abzurufen. .NET-Objekte sind die zugrunde liegenden Bausteine aller .NET-Anwendungen. LabWindows/CVI-Programmierer können diese Funktionalität nutzen, um Webdienste, wie jene für den Versand automatisierter E-Mails, aufzurufen, um auf eine Fülle von Datenbankfunktionen zuzugreifen und um direkt mit API-Methoden in Microsoft Windows zu interagieren, darunter jene, die für die Anzeige der CPU-Nutzung und für das Protokollieren von Fehlern zuständig sind.

Internetbibliothek

Zu LabWindows/CVI gehört die Internetbibliothek (Internet Library), die man zur zügigen Anbindung Ihrer Applikationen ans Internet über E-Mail, FTP, Telnet und das PING-Programm einsetzen kann. Die LabWindows/CVI-Internetbibliothek bietet folgende Funktionen:

  • FTP – Anbindung an einen FTP-Server mit einem Benutzernamen und Kennwort sowie Hochladen und Herunterladen von Dateien
  • Telnet – Lesen aus einem Telnet-Server und Schreiben in einen Telnet-Server auf einem dezentralen Rechner
  • POP3 – Anbindung an eigenen E-Mail-Server zum Herunterladen und Verschicken von E-Mails
  • SendMail – Schnelles Verschicken von E-Mails durch Festlegen von Adresse, Server, Betreff, Nachrichtentext und Anhängen
  • LaunchDefaultWebBrowser – Start des Standard-Web-Browsers mit einer vorgegebenen URL
  • Ping – Schnelles Auffinden anderer Computer im Netzwerk mit der Funktionalität des PING-Programms

Mit dieser zusätzlichen Funktionalität können jetzt E-Mails oder Textmeldungen verschickt werden, um Bedienpersonal über spezielle Ereignisse, wie z. B. das Überhitzen einer Maschine, zu informieren. Die erfassten Daten können auch auf einem FTP-Server gespeichert werden. Die vorhandene TCP Support Library beinhaltet des Weiteren eine umfassende Reihe an Kommunikationsfunktionen, darunter RegisterTCPServer und ClientTCPRead.

XML-Programmierschnittstelle

LabWindows/CVI umfasst auch eine XML-Funktionsbibliothek. Der Gerätetreiber cvixml.fp umfasst Funktionen zur Erstellung und Änderung von XML-Dokumenten. Ein XML-Dokument ist eine hierarchische Darstellung von Daten, die einer hierarchischen Ansicht mit über- und untergeordneten Objekten ähnelt. Die Daten erscheinen als Elemente, die sich aus einem Elementnamen und einem Wert zusammensetzen. Elemente können auch Attribute enthalten. cvixml.fp umfasst die folgenden Klassen:

  • Dokumentfunktionen – Öffnen von XML-Dokumenten zur Modifikation, zum Erstellen neuer XML-Dokumente und zum Speichern und Formatieren geänderter XML-Dokumente
  • Elementfunktionen – Erstellen neuer Elemente, Ändern bestehender Elemente, Kopieren von Elementen, Suche nach Elementen nach ihrer Kennzeichnung und Löschen von Elementen
  • Funktionen untergeordneter Elemente – Ermitteln der Anzahl untergeordneter Elemente eines Elements, Ermitteln der untergeordneten Elemente eines Elements und Ermitteln der übergeordneten Elemente eines Elements
  • Attributfunktionen – Ermitteln der Anzahl an Attributen eines Elements, Ermitteln der Attribute eines Elements, Erstellen neuer Attribute, Ändern bestehender Attribute und Löschen von Attributen
  • Fehlerverarbeitungsfunktionen – Abarbeitung von Fehlern
  • Low-Level-Funktionen – Ermitteln der ActiveX-Referenz eines Dokuments, Ermitteln der ActiveX-Referenz eines Elements und Ermitteln der ActiveX-Referenz eines Attributs

Speichern von Funktionspanels im XML-Format

Neben der XML-Programmschnittstelle bietet LabWindows/CVI die Möglichkeit, Funktionspanel-Dateien im XML-Format zu speichern und Funktionspanel-Dateien aus dem XML-Format zu laden. Wählen Sie Options >> Save in XML Format im Function Panel Editor, um die Funktionspanels in XML-Dokumente zu konvertieren. Sie können die anschließende .fpx-Datei in jedem beliebigen XML-Editor, Texteditor oder im Microsoft Internet Explorer öffnen.

Darstellung von Test- und Prüfdaten

Jede Version von LabWindows/CVI erweitert die Anzahl der verfügbaren Bedienelemente und deren Eigenschaften, die zur Erstellung von professionellen Bedienoberflächen für Prüf- und Messanwendungen einsetzt werden können.

Native Bedienelemente im Windows-Stil

In LabWindows/CVI können Mess- und Prüfdaten mit gerätespezifischen Bedienelementen dargestellt werden. In LabWindows/CVI kann die Ansicht der Benutzeroberfläche eingesetzt werden, die Bedienelemente im Stil von Windows darstellt. Es können je nach Windows-Systemeinstellung Bedienelemente wie etwa Schalter, Ringe und Schaltflächen angezeigt werden.

Abb. 10: Mithilfe themenbezogener Bedienelemente (Windows Themes) können moderne Benutzeroberflächen erstellt werden.

Interaktive Achsen eines Graphen

Damit Anwender erfasste Messdaten effektiver untersuchen können, bieten die Graphen in LabWindows/CVI Interaktionsmöglichkeiten während der Ausführung. Dazu zählt auch die Möglichkeit zur Änderung des Erscheinungsbildes von Kurven durch die interaktive Legende. Darüber hinaus kann der Bereich einer Achse interaktiv bearbeitet werden und während der Ausführung lassen sich die Achsen invertieren, indem auf die Beschriftung des Achsenendes für die Graphbedienelemente geklickt wird.

Erweiterte Anzahl an Ereignissen für die Benutzeroberfläche

Es besteht die Möglichkeit, mehr Benutzerinteraktionen mit einer Anwendung festzuhalten. Ohne Einsatz von Low-Level-Programmierung können zusätzliche Interaktionen mit der Maus einfach erfasst werden. So kann festgehalten werden, ob ein Anwender ein Register- oder Listenbedienelement scrollt und man kann Bewegungen der Benutzeroberfläche (Events, Ereignisse auf der Bedienoberfläche) und Aktionen zur Größeränderung erkennen. Wenn beispielsweise der gewohnte Umgang mit der Oberfläche gesteuert werden soll, falls die Benutzeroberfläche verkleinert, vergrößert oder verschoben wird, können diese Aktionen erkannt, die zugehörigen Ereignisse programmatisch verwaltet und entsprechende Funktionen aufgerufen werden.

Produktive Entwicklungswerkzeuge

LabWindows/CVI umfasst auch wichtige Funktionen zur Verbesserung der Produktivität, mit denen projektbegleitende Lösungen effizient erstellt werden können. Einige dieser Werkzeuge beinhalten neue Projekt- und Dateivorlagen, mit denen ein konsistenter Programmierstil einfach implementiert werden kann. Zudem wird die Anzahl an redundanten Aufgaben, die zwischen mehreren Anwendungen ausgeführt werden, reduziert.

Neuer Projektassistent

Meist verwenden Entwickler desselben Teams eine einheitliche Code- oder Benutzeroberflächenvorlage, wenn sie Projekte beginnen. Zu Beginn eines neuen Projekts müssen gemeinsame Einstellungen wie etwa Quellcodeverwaltung oder Build-Optionen gewöhnlich von Projekt zu Projekt zurückgesetzt werden, wenn die Entwicklung auf verschiedenen Rechnern erfolgt. Mit dem neuen Projektassistenten können neue Projekte oder Quelldateien auf Grundlage bereits bestehender Vorlagen erstellt werden. Wenn beispielsweise alle Benutzeroberflächen in der unteren linken Ecke ein Firmenlogo und alle Quelldateien Urheberrechtsangaben haben sollen, können in LabWindows/CVI 8.1 entweder integrierte oder selbst erstellte Vorlagen dazu eingesetzt werden. Die Vorlagen können für Konventionen zur Vergabe von Dateinamen, zur Codedokumentation, für Build- und Target-Optionen sowie für das Design von Benutzeroberflächen eingesetzt werden.

HTML-Dokumentation mit Funktionspanels

LabWindows/CVI bietet jetzt die Möglichkeit, Dokumentation zu Projekten nach deren Abschluss schnell an andere Mitarbeiter weiterzuleiten. LabWindows/CVI wird gewöhnlich zur Entwicklung von Gerätetreibern genutzt, die dann als Funktionspanels gespeichert werden. Mithilfe der neuen Fähigkeiten zur HTML-Erzeugung aus Funktionspanels kann die bereits zu Gerätetreibern vorhandene Dokumentation oder jene in den Open-Source-Gerätetreibern, die in LabWindows/CVI verfügbar sind, zur Erstellung von internetfähigen Dokumentationen verwendet werden, die sich einfach weiterleiten lassen und durchsucht werden können. Nach der Erzeugung von HTML-Dokumentation steht eine erstklassige HTML-Seite zur Verfügung, auf der die High-Level-Dokumentation für den Gerätetreiber angezeigt wird. Zudem sind separate Seiten vorhanden, auf denen jede enthaltene Funktion dokumentiert wird. Links zur schnellen Navigation sind im HTML-erzeugten Quelltext auch enthalten, so dass alphabetisch oder anhand der Funktionshierarchie für spezifische Funktionsdokumentation und Beispielcode gesucht werden kann.

„Die integrierte Hilfe direkt im Editor von LabWindows/CVI ist äußerst effektiv bei der Bestimmung der richtigen Parameter für meine Messfunktionen.“

Marco Turra, Software Engineer
HI-TEC

Befehl „Set Next Statement“

LabWindows/CVI bietet den Befehl Set Next Statement, mit dem Programmcode übersprungen werden kann, von dem bekannt ist, dass er Fehler produziert, oder sich Programmcode untersuchen lässt, der bei der Ausführung versagt hat. Dieser Befehl ändert die nächste auszuführende Anweisung, während Fehler beseitigt werden. Der Cursor muss nur zur Anweisung bewegt werden, die der Anwender ausführen möchte, und anschließend ist Run>>Set Next Statement zu wählen.

Namensvervollständigung für den Quellcode

LabWindows/CVI stellt zur zügigen Entwicklung einer Anwendung die Option zur Namensvervollständigung in Quellcodefenstern zur Verfügung. Durch Drücken von <Strg-Leer> wird eine Liste möglicher Übereinstimmungen für den Funktions-, Variablen- oder Makro-Namen, der gerade eingegeben wird, angezeigt.

Abb. 12: Mit der Funktion zur Namensvervollständigung für den Quellcode wird in LabWindows/CVI während der Eingabe eine Liste möglicher Funktionen, Variablen und Makros angezeigt.

Ausblendbare Quellcodebereiche

LabWindows/CVI ermöglicht das Ausblenden von Funktionen und verbessert die Lesbarkeit von Quellcode, indem Anwender sofort auf bestimmte Bereiche des Codes zugreifen und das allgemeine Verhalten der Anwendung skizzieren können.

 

Hervorhebung von Feldtrennzeichen

Beim Schreiben im Quellcode-Editor hebt LabWindows/CVI abgeglichene und unabgeglichene Trennzeichen wie beispielsweise runde Klammern (), eckige Klammern [], geschweifte Kammern {} und Schlüsselwörter (if-, while-, else-Konstrukte) auf Grundlage der ANSI-C-Syntax hervor.

 

Variablendeklaration für den Quellcode

Nach Eingabe des Namens einer neuen Variablen in den Quellcode kann man diese Variable jetzt vom Quellcodefenster (Source) aus durch Eingeben von <Strg-D> definieren. Dieser Befehl definiert automatisch den entsprechenden Variablentyp und -namen zu Beginn des Codeblocks, der die gegenwärtige Position enthält. Wenn es sich bei der eingegebenen Variablen um ein Array handelt, fordert LabWindows/CVI den Anwender zur Eingabe der Anzahl von Elementen im Array auf.

Funktionsprototyphilfe

Die LabWindows/CVI-Funktionsprototypanzeige innerhalb des Quellcodefensters stellt einen Echtzeitentwicklungsassistenten zur Verfügung. Wird die Option Show function prototypes and struct/union fields while typing im Dialogfeld Editor Preferences aktiviert, zeigt LabWindows/CVI den Prototyp einer Funktion, wenn die öffnende Klammer nach dem Funktionsnamen eingegeben wird. Beim Eingeben der Parameterwerte markiert LabWindows/CVI den aktuellen Parameter in der Funktionsprototypanzeige. Die Hilfe für die aktuelle Funktion oder den Parameter öffnet sich durch Klicken auf die Schaltfläche mit dem Fragezeichen, die links neben dem Funktionsprototyp erscheint, oder durch Drücken von <F1>.

Wenn LabWindows/CVI ein Dialogfeld zur Eingabeauswahl oder eine Liste konstanter Werte für den aktuellen Parameter bietet, zeigt LabWindows/CVI eine Schaltfläche mit Auslassungszeichen neben dem Parameter in der Funktionsprototypanzeige an. Dialogfelder zur Eingabeauswahl umfassen Listen der konstanten Werte, Dateiauswahlmöglichkeiten, Kanalnamen usw., die mit dem aktuellen Parameter in Zusammenhang stehen. Durch Klicken auf die Schaltfläche mit den Auslassungszeichen wird das Dialogfeld oder die Liste der konstanten Werte angezeigt. Dann kann ein Wert in den Programmcode eingefügt werden.


[+] Bild vergrößern

Abb. 13: LabWindows/CVI bietet Optionen und eine Hilfefunktion für die Quellcodevervollständigung bei der Entwicklung.

Editierbare Tooltips an Daten

Die neueste Version von LabWindows/CVI verfügt über innovative editierbare Tooltips an Daten. Während der Anwender die Applikation auf Fehler untersucht, kann der Mauszeiger über einen Variablennamen im Quellcodefenster bewegt werden, um sich den Wert der Variablen in einem Tooltip anzeigen zu lassen. Ist der Wert im Tooltip fett gedruckt, ist ein Doppelklick auf diesen Wert und eine Bearbeitung möglich.

Zusätzliche erweiterte Funktionalität

LabWindows/CVI verarbeitet 64-bit-Ganzzahlen über die Datentypen __int64 und unsigned __int64. Mit LabWindows/CVI gestaltet sich das Integrieren von Dateien mit Benutzeroberflächenressourcen (.uir, user interface resource) in eine ausführbare Datei oder eine DLL einfach. Dadurch entfällt die Verteilung dieser Dateien mit der Anwendung.

 

Zusätzliche Eigenschaften der NI-Software für LabWindows/CVI

Integration von NI TestStand

NI TestStand verfügt über die neueste Softwaretechnologie für das Testmanagement zur schnelleren und effektiveren Entwicklung von automatisierten Testsystemen. NI TestStand besitzt Merkmale, die speziell für die schnelle Entwicklung von LabWindows/CVI-Testsystemen konzipiert wurden. Dazu gehören ein flexibler Moduladapter in LabWindows/CVI und spezielle Bedienelemente für die Erstellung von TestStand-Benutzeroberflächen in LabWindows/CVI.

Der flexible Moduladapter in LabWindows/CVI sichert eine maximale Rendite Ihrer Investitionen in die Softwareentwicklung, da Programmcode wiederverwendet werden kann. Jetzt können Funktionen innerhalb einer beliebigen LabWindows/CVI-Datei mit der Endung .c, .obj, .lib oder .dll aufrufen werden. Der Funktionsprototyp spielt dabei keine Rolle. Der LabWindows/CVI-Adapter wurde ebenfalls aktualisiert, um die Parameterdarstellung bei der Konfiguration eines Moduls in NI TestStand zu verbessern. Diese Verbesserungen verringern merklich die Entwicklungszeit und machen unnötiges Programmieren überflüssig.

Abb. 14: Mit dem neuen flexiblen LabWindows/CVI-Adapter lassen sich unabhängig vom Funktionsprototyp von NI TestStand aus Funktionen innerhalb einer jeden LabWindows/CVI-Datei aufrufen.

Spezielle Bedienelemente für die Erstellung von NI-TestStand-Benutzeroberflächen in LabWindows/CVI

Die Bedienelemente der NI-TestStand-Benutzeroberfläche sorgen für eine enorme Verringerung der Komplexität bei der Entwicklung einer NI-TestStand-Bedienoberfläche. Diese Bedienelemente haben die Aufgabe, die gesamte zwischen NI TestStand und Benutzeroberfläche erforderliche Kommunikation abzuwickeln. Die neuen Bedienelemente werden zudem automatisch mit der aktuellsten Version von NI TestStand installiert. Mithilfe der zu NI TestStand 3.0 gehörenden LabWindows/CVI-Bedienoberfläche kann die Menge an zu schreibendem Programmcode um über 11000 Zeilen reduziert werden.

Abb. 15: Mit den Bedienelementen der NI-TestStand-Benutzeroberfläche ist jetzt eine nahtlose Kommunikation zwischen LabWindows/CVI und NI TestStand möglich, so dass sich der vom Anwender zu schreibende Programmcode um 90 Prozent reduziert.

Weiterführende Links:

 Startseite NI TestStand

Zusammenfassung

Die bewährte Entwicklungsumgebung LabWindows/CVI erreicht eine Steigerung der Produktivität Ihrer Anwendungsentwicklung in ANSI C dank des integrierten Arbeitsbereichs, der Verbesserungen der Entwicklungswerkzeuge sowie der robusteren Hardwarefunktionalität, der Echtzeitanbindungsmöglichkeiten, anspruchsvoller Datenverwaltungswerkzeuge und der engen Integration des Testmanagements

 

0 Bewertung(en) | 0.00 von 5
Drucken | PDF

AGB
Dieses Tutorium ("Tutorium") wurde von National Instruments ("NI") entwickelt. Auch wenn National Instruments dieses Tutorium technisch unterstützt, ist es jedoch möglich, dass dieses Tutorium nicht umfassend getestet und überprüft wurde. NI übernimmt weder Garantien bezüglich der Qualität des Tutoriums noch bezüglich der weiteren technischen Unterstützung neuer Versionen ähnlicher Produkte und Treiber. DIESES TUTORIUM WIRD IM "IST-ZUSTAND" ZUR VERFÜGUNG GESTELLT UND NI ÜBERNIMMT KEINERLEI GARANTIEN. AUSFÜHRLICHERE ERLÄUTERUNGEN ZU ANDEREN EINSCHRÄNKUNGEN ENTNEHMEN SIE BITTE DEN NUTZUNGSBEDINGUNGEN AUF NI.COM (http://ni.com/legal/termsofuse/unitedstates/us/).