LabWindows /CVI 8.5.1 Philipp Rößler
Agenda I. Was ist LabWindows/CVI? II. III. IV. Erstellen einer Benutzerschnittstelle Instrumentensteuerung Datenerfassung V. Analysefunktionen VI. VII. VIII. Zusatzmodule Fortgeschrittene Merkmale LabWindows/CVI Newsletter
I. Was ist LabWindows/CVI? Zuverlässigkeit von1989 bis 2008 und länger 2008 8.5: Multicore, UDP-Bibliothek, Erweiterte GUI-Elemente 2006 8.1: Real-Time-Modul, Netzwerkvariable, TDMS, Async Timer, Vista 2005 8.0: Linux Run-Time, Verwendung unter LVRT,.NET 2004 2003 7.1: DIAdem, Kommandozeilen-Compiler, Digitaler Graph 70 7.0: Integrierter t Ab Arbeitsbereich, b i Erweiterte t Hardware-Unterstützung tüt 2001 6.0: ActiveX, Verbesserte Darstellung 2000 5.5: 5: Multithreaded Bibliotheken/Debugging 1998 5.0: VXIplug&play und IVI-Kompatibilität 1996 4.0: Externe C/C++-Compiler-Kompatibilität 1989 1.0: Erste Version, DOS
LabWindows/CVI-Entwicklungsumgebung g g g (Full, Base)
Was ist LabWindows/CVI? Integrierte Entwicklungsumgebung (IDE) für ANSI C für die Mess und Automatisierungstechnik 1 2 IDE Ingenieursfunktionalität Editor Wissenschaftliche GUI-Elemente Debugger Bibliotheken für: Compiler Analysefunktionen Linker Datenerfassung Arbeitsbereich Function panels Instrumentensteuerung Treiber usw.
Besonderheiten und nützliche Eigenschaften Schnellere/Einfachere Entwicklung und Fehlersuche Interaktive Function Panels, Drag and Drop, intuitive Konfiguration, CodeBuilder, Fern Debugging Hochperformante Ausführung Effizientei und schnelle Anwendungen, tiefgreifende if Multithreading Möglichkeiten, erwiesene Zuverlässigkeit Wiederverwendbare/standardisierte Komponenten DLLs,.NET, ActiveX Server und Client Für Ingenieure gedacht Umfangreiche Unterstützung von Messinstrumenten, umfassende Hardware Unterstützung, leistungsfähige Visualisierungsmöglichkeiten, Wissenschaftliche Analysewerkzeuge
Schnellere/Einfachere C Entwicklung Integrierter Arbeitsbereich Automatisch Quelltexterzeugung CodeBuilder Function Panels DAQ und Instrumenten I/O Assistenten Benutzerschnittstelle Editor Bibliotheken Debugger multithreaded We reduced our programming prototype and design costs by 1,000 hours at $100 per hour, or $100,000 000 using LabWindows/CVI. -Ed Edelman, President Ambient Weather
ANSI C Editor und Debugger Flexibler Editor Farbiger Quelltext Quelltext Browser Diff Werkzeug Quelltext Marker Mächtiger Debugger Fehlersuche je Thread Dynamische/bedingte Haltepunkte Variablenanzeige (Array als Graph) Tooltips Watch Fenster The new debugging capabilities of DLLs debuggen LabWindows/CVI speed Fern debuggen im Netzwerk my development time and enable me to focus more time and energy on my tests. Marco Turra, Software Engineer HI-TEC
II. Benutzerschnittstellen Editor Drag and drop im UI Editor GUI Elementefür Messund Automatisierungs Technik Angepasste Menüs Einfache Erstellung und Anpassung
CodeBuilder Automatische Code Erzeugung (Vorlage) Einfach zu verwendende Callback Funktionen Sofort lauffähiger Quelltext
Function Panels Interaktive Ausführung (ohne Main Funktion) Hardware Funktionen testen Funktionen ausprobieren Code erzeugen Detaillierte Hilfe Ohne Syntax Kenntnisse Kein Kompilieren Kein Linken Selber erstellbar Dem mo
Aufgabe 1: GUI erstellen (10 min)
Interaktive Messassistenten Instrumenten I/O Assistent Interaktiver Ansatz zur Ansprechen von Messinstrumenten Automatisches Parsen von Daten Vollständige Code Erzeugung DAQ Assistent Interaktiver Zugriff auf den NI DAQmx Treiber Vollständige Code Erzeugung Erzeugung von Beispiel Code, komplett mit GUI
III. Instrumententreiber in LabWindows/CVI Unterstützung von >5000 Messinstrumenten von >200 Herstellern Standardisierte d Architektur Verbesserte Performance Höhere Portabilität Offener Standard Open Source Quelltext Verwendung intuitiver GUI Elemente Keine String Formatierung notwendig Kein String Parsen notwendig Kein String Parsen notwendig Instrumententreiber Netzwerk ni.com/idnet
Instrumenten I/O Assistent Ein /Ausgabe für Serielle, GPIB, USB, Ethernet, PXI oder VXI Instrumente Sehr einfache Instrumentensteuerung Geringe Entwicklungszeit Kaum Programmieraufwand Automatischer Ergebnis Parser
Aufgabe 2: Instrumentensteuerung (10 min)
IV. Datenerfassung mit LabWindows/CVI LabWindows/CVI integriert alle NI Datenerfassungsgeräte mit dem NI DAQmx Treiber Analog I/O Digital I/O Counter und Timer Signalkonditionierung Automatische Konfiguration Testkonsole Inhärente Kanalkonfiguration und Skalierung
NI DAQmx Driver Software DAQ Assistent GleicheAPI und Werkzeuge in verschiedenen IDEs (z.b. LabVIEW) Hunderte von fertigen Beispielen Vorteile: Sehr einfache Anwendung Schnelle Performance Effiziente Entwicklung Multithreaded messen
DAQ Assistent Kürzere Entwicklungszeit Kanäle aus LabWindows/CVI heraus erstellen Code Generierung Weniger Programmierfehler
Aufgabe 3: Datenerfassung (10 min)
V. Datenanalyse Signalverarbeitung Filter Fenster Signalgenerierung Zeitbereich i Frequenzbereich De emo Mathematik 1D- und 2D-Vektoroperationen Komplexe Arithmetik Statistik Vektor- und Matrixalgebra Fortgeschritten Kurvenanpassung Interpolation Wahrscheinlichkeit Komplexe Operationen
VI. Zusatzmodule Komponenten zur Erweiterung von CVI Real Time Module Vision PID control Advanced signal processing Automated test Modulation Toolkit Spectral Measurements Toolset SQL Toolkit usw. LabWindows/CVI Development Systems (Full, Base) Real-Time Module Vision Module Linux Run-Time Module Database Toolkit PID Control Toolkit Modulation Toolkit Signal Processing Toolkit Execution Trace Toolkit
LabWindows/CVI Real Time Targets Real-Time PXI Embedded Controllers Hohe Geschwindigkeit, große Kanaldichte, reiche I/O-Auswahl LabWindows/CVI Desktop-/Industrie-PCs t und Real-Time Einplatinen-Computer (SBC) Determinismus auch für PCI- Systeme
VII. Fortgeschrittene Merkmale TDMS Multithreading Integration von.net und ActiveX Netzwerkvariable Fern Debugging Report Generierung DIAdem Integration Entwicklung von Instrumententreibern Kompilieren von der Kommandozeile Netzwerkschnittstellen (DataSocket, TCP/IP usw.)
Datenspeicherung in TDMS Einfach: f h Der Ansatz zur Messdatenspeicherung mit NI Software Flexibel: Kanäle, Kanalgruppen und ganze Datensätze mit einstellbaren Metadaten Schnell: TDMS ist für Daten Streaming optimiert Offen: Microsoft Excel und Open Office Plugins Offengelegte Dokumentation C DLL zumeinbinden der TDMS Funktionalität in Programme von Drittanbietern TDMS-Datenformat
Multi Core Ready Bibliotheken Thread Safe Bibliotheken Thread Safe Treiber Advanced Analysis Utility Internet DDE UDP TDM Streaming ActiveX Real-Time Utility Formatting and I/O ANSI C Network Variable PID TCP DIAdem Connectivity.NET MAX Configuration NI DAQmx NI VISA RS 232 GPIB 488.2 NI SCOPE NI IMAQ NI HSDIO NI FGEN NI MOTION NI RFSA NI Serial NI RFSG NI SWITCH NI DMM NI CAN NI DCPower NI Fieldpoint NI DNET
Real Time Processor Affinity Threads einem spezifischen Prozessor zuweisen CPU Kern CPU Kern ConfigureProcessorPool() SetProcessorAffinityForThread()
VIII. LabWindows/CVI Newsletter Whitepapers, Webcasts, Code Beispiele hi b C d i i l usw. Themen z.b.: Vorgehensweisen für die Verwendung von TestStand Erstellen E t ll von multi threaded Applikationen lti th d d A lik ti Werkzeuge zur Optimierung von CVI Code Vorgehensweisen g beim Debugging gg g Vierteljährlich per E Mail und im Web. Abonnieren unter ni.com/cvinews
Thanks for your attention!