wiki:LabViewDemos

Download LabVIEW 6.1 für Mac und Linux

Die Linux- und Mac-Versionen (bis Mac OS 9.2) von LabVIEW 6.1 liegt zum exklusiven Download bereit. Die Windows-Version liegt auf der Heft-DVD in c't 11/07 bei, die sich im Rahmen des Projekts c't-Lab auch intensiv mit LabVIEW auseinandersetzt. Aus Platzgründen hatten es die beiden anderen nicht auf die DVD geschafft. Anders als noch im Artikel (c't 11/07, S. 212) angegeben, finden Sie sie nun doch nicht auf der Website von National Instruments, sondern in der E-Technik-Rubrik des c't-Software-Verzeichnisses.

[Update] Die Seriennummer für alle c't-Versionen von LabVIEW 6.1 erhalten Sie nur noch auf Anfrage von c't-Redakteur Carsten Meyer, da NI die Registrierungsseite inzwischen vom Netz genommen hat. Der Autor hat auch noch einige Heft-DVDs übrig; c't 11/07 ist wegen des großen Erfolges der Aktion inzwischen restlos vergriffen.

Erste Schritte mit LabVIEW

LabVIEW mit den vorgegebenen Defaults installieren. Rechner neu starten. Dann NI-Programm "Measurement & Automation" (MAX) starten. Links im Geräte-Baum "Geräte und Schnittstellen" aufklappen und die zu verwendende serielle Schnittstelle (meistens COM1) auswählen. Dann oben auf "Properties" klicken (geht auch mit der rechten Maustaste) und im erscheinenden Dialog auf dem zweiten Kartei-Reiter die Schnittstellenparameter einstellen (38400, 8, None, 1, None). Den VISA-Resource-Namen merken. MAX beenden.

Demo-Programme mitsamt SubVIs (Unterprogramme, z.B. CTLAB-SetVal.vi) auf die Festplatte in einen gemeinsamen, beliebigen Ordner kopieren. LabVIEW starten (meinetwegen auch durch Doppelklick auf eines der Demo-Programme (z.B. CTLAB-DemoAll?.vi). Demo-Programm zunächst stoppen (Stop-Button unter der Menüleiste) und im Feld "Resource Name" die gemerkte COM-Resource (etwa "ASRL1::INSTR") auswählen (bei DemoAll? unter "INIT" zu finden). Damit die Resource dauerhaft gespeichert bleibt, unter "Ausführen" den Menüpunkt "Aktuelle Werte als Standard" anwählen und das Demo-Programm abspeichern. Dann Demo neu starten (auf "Ausführen" klicken). Bei einem korrekt angeschlossenen c't-Lab (hier: ADA-IO) sollte das "Response"-Feld aufblinken, wenn die jeweilige Modul-Adresse mit der im Demo-Programm (unter "MainCh") eingetragenen übereinstimmt.

c't-Lab LabVIEW-Demoprogramme

Tagesaktuelle Versionen der Firmware zu jedem Modul sowie die LabVIEW-Demo- und Abgleichprogramme finden Sie in meinem SubVersion-Repository, auch zu erreichen unter "Browse Source/LabVIEW_VIs" oder direkt unter https://www.heise.de/svn/ctlab/LabVIEW_VIs/

Die zum Download angebotenen LabVIEW-VIs sollten in einem gemeinsamen Verzeichnis (z.B. "CTLAB") liegen, da die SubVIs von allen c't-Lab-Demos und Abgleichprogrammen benutzt werden.

Ich habe die CTLAB-Sub-VIs in der Library CTLIB-llb zusammengefasst, damit ich selbst besser den Überblick behalte. Vorteil sollte sein, dass man sich bei SubVI-Änderungen immer nur eine Datei holen muss. Die CTLIB-llb sollte im gleichen Verzeichnis wie die Haupt-VIs liegen. Die alten CTLAB-Sub-VIs müssen gelöscht werden.

Bitte kontrollieren Sie stets, ob Sie auch die aktuelle CTLIB.llb verwenden (Upload-Datum beachten). Bug-Reports und Verbesserungsvorschläge bitte als "Ticket" anlegen, ich werde mich sobald wie möglich darum kümmern.

Ende Juni 2008 wurden die Sub-VIs und Demos auf Checksummen-Behandlung umgestellt. Ältere Firmware-Versionen ohne Checksummen-Behandlung könnten damit Probleme bekommen. Sollten Ihre eigenen VIs mit den neuen SubVIs eine Fehlermeldung produzieren, hilft es, im Diagramm einfach "Mit SubVI neu verbinden" (rechte Maustaste) auf die betreffenden SubVIs anzuwenden. Einige SubVIs, insbesondere SetVal und RequestVal, besitzen nun einen zusätzlichen Boolean-Anschluss. Die XOR-Prüfsumme wird mitgesendet, wenn der Eingang "True" ist (default "False").

[Update] Bei der Kommunikation LabVIEW <-> c't-Lab wurden zwei Ansätze verwirklicht: Zum einen ein Event-gesteuertes Verfahren wie in "DemoAll?.vi" (in c't-Artikel beschrieben), zum anderen ein Polling-Verfahren wie in den Abgleichprogrammen oder den neueren Demos für DCG und DDS. Das Event-Verfahren sollte immer dann eingesetzt werden, wenn Module "ungefragt" Messwerte senden, etwa bei automatischer oder externer Triggerung. Das sehr viel einfachere Polling-Verfahren arbeitet in den neueren Demos mit einer einzigen Funktion namens LabXfer.vi (in Library CMLIB.llb), die über eine Konstante angewiesen wird, ob sie senden oder anfordern und empfangen soll; hier wurde die Funktionalität einiger älterer VIs zusammengefasst. Bitte beachten Sie dazu beispielsweise den Aufbau von "DCG Power Supply.vi".

c't-Lab-DemoAll

browser:Bilder/CTLAB-DemoAll.png

Demo-Programm für das gesamte c't-Lab. Einzelne Module über Registerkarten erreichbar. Bitte die jeweilige Moduladresse unter MainChannel richtig eintragen (0..7). Verwendet eine gemeinsame Empfangsroutine für alle Module, damit ein zeitunabhängiges Auslesen gewährleistet ist. Die Empfangsroutine speichert die eingehenden Messwerte in einem zweidimensionalen Array über Moduladresse (MainCh) und Subkanal (SubCh) ab (siehe LabVIEW-Diagramm).

ADA-IO AD-Abgleich, DA-Abgleich

browser:Bilder/AD-Abgleich.png

Abgleichprogramme für AD16-8 und DA12-8 auf ADA-IO-Modul. Für beide Karten haben wir größtenteils selbsterklärende Abgleich-Programme unter LabVIEW 6.1 erstellt (siehe Bilder), die die Kalibrierarbeiten stark vereinfachen. Kontrollieren Sie nach dem Start, ob als "Ressource" auch die gewählte COM-Schnittstelle erscheint; gegebenenfalls müssen Sie diese im Measurement & Automation Explorer (MAX) neu zuweisen. Bei einwandfreier Kommunikation blinkt das Valid Response-Feld rhythmisch auf. Mit den Buttons Read und Write können Sie die Offset- und Skalenfaktor-Werte jedes Kanals auslesen und neu beschreiben, die nötige vorherige Schreibfreigabe erledigt das Programm selbst. Beim DA12-8-Abgleich sollten sich die Korrekturen auf die gegebenenfalls leicht unterschiedlichen Offset-Spannungen der restlichen Ausgangs-OpAmps beschränken, da Ausgang Aout1 ja bereits durch den Hardware-Abgleich "genullt" wurde. Ein Offset-Wert von +1 entspricht beim 12-Bit-Wandler einer Spannung von +5mV, beim 16-Bit-Wandler von etwa +300µV. Stellen Sie den Offset jedes Kanals so ein, dass sich eine möglichst geringe (<<5mV) Ausgangsspannung ergibt. Der große Spannungs-Wahlschalter rechts steht für diesen Abgleichpunkt natürlich auf 0V.

Bei der AD16-8-Karte müssen Sie sowohl Offset-Spannung als auch Skalenfaktor Software-kalibrieren, um Exemplarstreuungen des Spannungsteilers auszugleichen; wegen der sehr feinen "Körnung" des 16-Bit-Wandlers haben wir auf eine Hardware-Abgleichmöglichkeit (bis auf die Referenzspannungs-Einstellung) verzichtet. Schließen Sie zunächst sämtliche Analog-Eingänge (Ain0 bis Ain7) mit Masse (PL2 Pin 9 und 10) kurz -- am besten mit einem selbstgefertigten Kurzschluss-Stecker, längere Kabel sind unbedingt zu vermeiden -- und beobachten Sie die Ausgangsspannungs-Anzeige.

Die Zoom-Taste bewirkt eine Anzeige-Dehnung um den Faktor 1000. Der Zeiger des virtuellen Messwerks sollte nun gleichmäßig um den Nullpunkt herum hüpfen, wenn der Offset-Wert stimmt. Auf dem Oszillogramm sehen Sie nun das Eigenrauschen des Wandlers, das laut Datenblatt etwa 4 LSB-Zählerpunkte betragen darf; einen gewissen Beitrag zum Rauschen leisten auch die vorgeschalteten OpAmps. Die aufgezeichnete Linie liegt bei korrektem Offset-Abgleich genau in der Mitte. Das Feld Raw zeigt den naturbelassenen Roh-Integerwert des Wandlers an, mit dem blauen Button kann man diesen Wert negiert in das Offset-Feld kopieren und den eingestellten Kanal damit nullen (Write nicht vergessen).

browser:Bilder/DA-Abgleich.png

Etwas kritischer gestaltet sich der Skalenfaktor-Abgleich, da hierfür eine hochstabile +10V-Quelle benötigt wird. Ein Labornetzteil aus der Amateurliga eignet sich dafür in der Regel nicht, da es viel zu stark driftet. Ersatzweise könnte die eigene Referenzspannung der AD16-8-Karte dafür herhalten – natürlich nur, wenn sie hochpräzise abgeglichen wurde; leider beträgt sie nicht 10V, sondern nur 2,56V. Wir schlagen daher vor, dass Sie erst den DA12-8-Abgleich durchführen und deren Ausgangsspannung (mit dem Wahlschalter auf +10V einstellen) als Kalibrierspannung für die AD16-8-Karte verwenden. Ein parallel angeschlossenes Digitalvoltmeter dient dabei zur Kontrolle. Stellen Sie den jeweiligen AD-Skalenfaktor einfach so ein, das die Anzeige mit dem abgelesenen Wert auf dem Digitalvoltmeter übereinstimmt. Der Ein- und Ausgangsspannungsbereich der c’t-Lab-Karten über alles endet übrigens nicht bei exakt 10V, sondern bei 10,23V, so das immer etwas Abgleich-Reserve bleibt.

Beide LabVIEW-Programme können auch gleichzeitig laufen. Wenn Sie den Analog-Ausgang der DA12-8-Karte mit dem AD16-8-Eingang über ein 10poliges Flachbandkabel verbinden, sollten Sie die eingestellte Ausgangsspannung jedes DA-Kanals gleichzeitig am AD-Eingang messen können. Stimmen die Werte aller Kanäle überein, ist das Wandler-Pärchen einsatzbereit.

DDS-Demo (Sweep)

browser:Bilder/DDS-Demo.png

Eigentlich schon einen eigenen Artikel wert: Sweep-Analyzer zum Bestimmen von Frequenzgängen, Lautsprecher-Resonanzen, Impedanzverläufen und dergleichen. Funktioniert in Verbindung mit dem TRMSC-Messaufsatz für das DDS-Modul. Start- und Endfrequenz mit Schieberegler einstellbar, aktuelle Frequenz/Pegel? über Drehknöpfe oben links. Einstellung für Ressourcenname (COM-Schnittstelle) liegt links außerhalb des Screens - vor dem Start einstellen (ggf. mit dem Menüpunkt "aktuelle Werte als Standard" neu abspeichern). Speed/Delta? f bestimmt die Sweep-Geschwindigkeit; bei zu hoher Geschwindigkeit (roter Bereich des Knopfes) besteht die Gefahr von Fehlmessungen wegen der Trägheit des Messgleichrichters.

Button Sweep startet den Messvorgang, der Frequenzgang wird nach Abschluss des Sweeps angezeigt. Previous zeigt einen Vergleich mit der vorherigen Messung. Zur leichteren Bestimmung der Pegelunterschiede und Frequenzen dienen frei verschiebbare Cursor-Linien im Messschrieb, die korrespondierenen Werte werden darunter angezeigt. Der nominale Einganspegel sollte im "grünen Bereich" des Messinstruments liegen, ggf. Empfindlichkeit umschalten und Ausgangspegel anpassen.

Die neueste Version gestattet es, Frequenzgänge als Excel-kompatible Text-Tabelle abzuspeichern und als Referenz wieder einzulesen (gelber/grüner Button rechts). Wenn Sie im Datei-Dialog die Endung .xls anfügen, kann die Tabelle (Frequenzen 1. Spalte, zugehörige Pegel 2. Spalte) mit MS Excel gelesen und weiterbearbeitet werden. Eine eingelesene Referenz-Kurve wird im Pegeldiagramm gelb angezeigt.

SC Spectrum Analyzer

browser:Bilder/SC Spectrum.png

Kein Bestandteil der c't-Lab-Serie, aber da im Rahmen der LabVIEW-Vorstellung in c't 11/07 danach gefragt wurde: Audio-Spectrum-Analysator für PCs mit hochwertiger Soundkarte. Ermittelt das Pegel-Spektrum im Bereich 20 Hz bis 20 kHz, Klirrfaktor THD mit gesondertem k2/k3-Anteil, Mitten-Frequenz des größten Signalanteils, Pegel in dBu (0 dBu =775 mVeff). Mit dem Regler Scale Calibration bringt man bei einem Eingangspegel von 775 mVeff die Anzeige auf 0 dBu. Sehr schönes Hilfsmittel beim Verstärker-Design, etwa um den "weich" klingenden k2 hervorzuheben ("Röhrenklang"), oder zur schnellen Frequenzgang-Beurteilung mit einem Rauschsignal. Abgebildet ist das Frequenzspektrum des DDS-Moduls.

DCG-Demo

browser:Bilder/DCG-Demo.png

Zeigt einige Möglichkeiten des DCG-Netzteil-Moduls. IST-Spannungen und -Ströme bzw. deren Verlauf können im Diagramm aufgezeichnet werden. Ausgang lässt sich mit dem Schaltknopf aus- und einschalten, ohne die eingestellten Werte zu ändern. Prozentregler beeinflusst in Stellung "Prozent" die Ausgangsspannung, in Stellung "Sinus" die überlagerte 1-Hz-Sinusschwingung.

ADA-Logger

Einfache, aber sehr brauchbare Lösung zum Darstellen des zeitlichen Verlaufs aller 8 analoger Eingangsspannungen an AD16-8 oder IO8-32. Aufgezeichnete Daten können in Excel-Tabelle (Tabstopp-getrennter Text) geschrieben werden. Dateiformat lässt sich auch mit jedem Texteditor öffnen.

ParamBackupRestore

Hilfsprogramm zum Auslesen aller EEPROM-Parameter aus einem c't-Lab-Modul. Daten können in Excel-Tabelle (Tabstopp-getrennter Text) geschrieben und von dort auch wieder gelesen und neu ins EEPROM programmiert werden. Dateiformat lässt sich auch mit jedem Texteditor öffnen. Sinnvoll bei Firmware-Änderungen, um eigene Kalibrierungen nicht zu verlieren. Ebenso sinnvoll, um OPT-Parameter (ab SubCh 150) gesammelt zu ändern.

Transistor-Kennlinienschreiber/-messgerät

Mit zwei DCG-Modulen lässt sich sehr einfach ein Messgerät realisieren, dass die Kennwerte und -linien von bipolaren Transistoren aufnimmt. Das hierfür bereitgestellte Programm BipolarTest.vi misst die Stromverstärkung (hfe) und nimmt Kollektor- und Steuerkennlinien auf. Man kann sogar bis zu 5 Bauteile direkt vergleichen (siehe Kurzanleitung auf der Init-Seite des Programms). DCG 0 liefert die Kollektorspannung, DCG 1 den Basisstrom. Bezugspotential ist der Emitter (NPN: Minuspole, PNP: Pluspole beider DCGs). In die Basisleitung ist zur Vermeidung von HF-Schwingungen (Leitungsinduktivität!) ein 10- bis 100-Ohm-Widerstand einzusetzen, möglichst nahe am Transistor (obsolet bei Ge- und langsamen Leistungstransistoren).

browser:Bilder/BipolarTest1.png

Bild oben: Aus den eingestellten und gemessenen Werten lässt sich die Gleichstromverstärkung ß (hfe) direkt ablesen.

browser:Bilder/BipolarTest2.png

Bild oben: Kennlinienschar Ic/Uc? eines alten BC109B. Moderne Transistoren weisen einen gleichmäßigeren Abstand der Kennlinien und damit eine bessere Linearität auf. Statt der Kollektor-Kennlinie Ic/Uc? lassen sich auch Diodenkennlinien aufnehmen, wenn der durchlaufene Spannungsbereich niedrig ist (0 bis 1V). Voreinstellungen finden sich in der Tabelle Part Data.xls, die beim Start geladen wird (muss sich im gleichen Verzeichnis wie das VI befinden).

Weitere LabVIEW-Anwendungen

Siehe auch unter c't-Lab-Projekte

Die Alternative: JLAB

Das JLab ist eine graphische Bedienoberfläche für das c't-Lab, geschrieben von Forumsteilnehmer magicroomy in Java. Es benötigt lediglich Java Runtime JRE 6, aber kein LabVIEW.

Last modified 17 months ago Last modified on Jan 25, 2016, 11:14:14 AM