Thursday 13 April 2017

Labview Moving Average Array

Berechnen von Moving Average Dieses VI berechnet und zeigt den gleitenden Durchschnitt mit einer vorgewählten Nummer an. Zuerst initialisiert das VI zwei Schieberegister. Das obere Schieberegister wird mit einem Element initialisiert und fügt dann den vorherigen Wert kontinuierlich mit dem neuen Wert hinzu. Dieses Schieberegister hält die Summe der letzten x Messungen. Nach dem Teilen der Ergebnisse der Additionsfunktion mit dem vorgewählten Wert berechnet das VI den gleitenden Mittelwert. Das untere Schieberegister enthält ein Array mit der Dimension Average. Dieses Schieberegister hält alle Werte der Messung. Die Ersatzfunktion ersetzt den neuen Wert nach jeder Schleife. Dieses VI ist sehr effizient und schnell, weil es die ersetzen Element-Funktion innerhalb der while-Schleife verwendet, und es initialisiert das Array, bevor es in die Schleife eintritt. Dieses VI wurde in LabVIEW 6.1 erstellt. Lesezeichen amp ShareFilter Express VI Gibt die folgenden Filtertypen an: Tiefpass, Hochpass, Bandpass, Bandstop oder Glättung. Die Voreinstellung ist Tiefpass. Enthält folgende Optionen: Cutoff Frequency (Hz) 8212Spezifiziert die Cutoff-Frequenz des Filters. Diese Option ist nur verfügbar, wenn Sie Tiefpass oder Hochpass aus dem Pulldown-Menü Filtertyp auswählen. Die Voreinstellung ist 100. Niedrige Grenzfrequenz (Hz) 8212Spezifiziert die niedrige Grenzfrequenz des Filters. Die niedrige Grenzfrequenz (Hz) muss kleiner als die High Cutoff Frequenz (Hz) sein und das Nyquist Kriterium beachten. Die Voreinstellung ist 100. Diese Option ist nur verfügbar, wenn Sie Bandpass oder Bandstop aus dem Pulldown-Menü Filtertyp auswählen. Hohe Grenzfrequenz (Hz) 8212Die hohe Grenzfrequenz des Filters spezifiziert. Die High Cutoff Frequenz (Hz) muss größer als die Low Cutoff Frequenz (Hz) sein und das Nyquist Kriterium beachten. Die Voreinstellung ist 400. Diese Option ist nur verfügbar, wenn Sie Bandpass oder Bandstop aus dem Pulldown-Menü Filtertyp auswählen wählen. Finite Impulsantwort (FIR) - Filter 8212Fert ein FIR-Filter. Die nur von den aktuellen und vergangenen Eingängen abhängt. Da der Filter nicht von früheren Ausgängen abhängt, zerfällt die Impulsantwort in einer begrenzten Zeit auf Null. Da FIR-Filter eine lineare Phasenreaktion zurückgeben, verwenden Sie FIR-Filter für Anwendungen, die lineare Phasenreaktionen erfordern. Hähne 8212Spezifiziert die Gesamtzahl der FIR-Koeffizienten, die größer als Null sein müssen. Die Voreinstellung ist 29. Diese Option ist nur verfügbar, wenn Sie die Option Finite impulse response (FIR) auswählen. Die Erhöhung des Wertes von Taps bewirkt, dass der Übergang zwischen dem Durchlassband und dem Stoppband steiler wird. Wenn jedoch der Wert von Taps zunimmt, wird die Verarbeitungsgeschwindigkeit langsamer. Unendliche Impulsantwort (IIR) - Filter 8212Creziert ein IIR-Filter, das ein digitales Filter mit Impulsantworten ist, die theoretisch unendlich in Länge oder Dauer sein können. Topologie 8212Bestimmt die Designart des Filters. Sie können entweder ein Butterworth, Chebyshev, Inverse Chebyshev, Elliptic oder Bessel Filter Design erstellen. Diese Option ist nur verfügbar, wenn Sie die Option Infinite impulse response (IIR) auswählen. Die Voreinstellung ist Butterworth. Bestellen 8212Order des IIR-Filters, der größer als Null sein muss. Diese Option ist nur verfügbar, wenn Sie die Option Infinite impulse response (IIR) auswählen. Die Voreinstellung ist 3. Die Erhöhung des Wertes von Order bewirkt, dass der Übergang zwischen dem Durchlassband und dem Stoppband steiler wird. Wenn jedoch der Wert der Ordnung zunimmt, wird die Verarbeitungsgeschwindigkeit langsamer, und die Anzahl der verzerrten Punkte am Beginn des Signals nimmt zu. Gleitender Durchschnitt 8212Gibt Vorwärts-Nur-FIR-Koeffizienten aus. Diese Option ist nur verfügbar, wenn Sie im Pulldown-Menü Filtertyp die Option Glättung auswählen. Rectangular 8212Specifiziert, dass alle Samples im Moving-Average-Fenster gleichermaßen bei der Berechnung jedes geglätteten Ausgabe-Samples gewichtet werden. Diese Option ist nur verfügbar, wenn Sie im Pulldown-Menü "Filtering Type" und "Moving Average" die Option "Glättung" auswählen. Dreieckig 8212Spezifiziert, dass das bewegliche Gewichtungsfenster, das auf die Proben angewendet wird, dreieckig ist, wobei der Peak in der Mitte des Fensters zentriert ist und symmetrisch auf beiden Seiten der Mittelprobe sinkt. Diese Option ist nur verfügbar, wenn Sie im Pulldown-Menü "Filtering Type" und "Moving Average" die Option "Glättung" auswählen. Halbe Breite des gleitenden Durchschnitts 8212Spezifiziert die Halbwertsbreite des gleitenden Durchschnittsfensters in Samples. Die Voreinstellung ist 1. Für eine halbe Breite des gleitenden Durchschnitts von M ist die volle Breite des gleitenden Durchschnittsfensters N 1 2M Samples. Daher ist die volle Breite N immer eine ungerade Anzahl von Proben. Diese Option ist nur verfügbar, wenn Sie im Pulldown-Menü "Filtering Type" und "Moving Average" die Option "Glättung" auswählen. Exponentiell 8212Gibt die IIR-Koeffizienten erster Ordnung aus. Diese Option ist nur verfügbar, wenn Sie im Pulldown-Menü Filtertyp die Option Glättung auswählen. Zeitkonstante des exponentiellen Mittels 8212Spezifiziert die Zeitkonstante des Exponential-Gewichtungsfilters in Sekunden. Die Voreinstellung ist 0,001. Diese Option ist nur verfügbar, wenn Sie im Pulldown-Menü Filtertyp und der Option Exponential die Option Glättung auswählen. Zeigt das Eingangssignal an. Wenn Sie Daten an das Express-VI anschließen und es ausführen, zeigt das Eingangssignal echte Daten an. Wenn Sie das Express-VI schließen und wieder öffnen, zeigt das Eingangssignal die Beispieldaten an, bis Sie das Express-VI erneut ausführen. Zeigt eine Vorschau der Messung an. Das Ergebnisvorschau-Diagramm zeigt den Wert der ausgewählten Messung mit einer gepunkteten Linie an. Wenn Sie Daten an das Express-VI senden und das VI ausführen, zeigt die Ergebnisvorschau echte Daten an. Wenn Sie das Express-VI schließen und wieder öffnen, zeigt die Ergebnisvorschau die Beispieldaten an, bis Sie das VI erneut ausführen. Wenn die Cutoff-Frequenzwerte ungültig sind, zeigt die Ergebnisvorschau keine gültigen Daten an. Enthält die folgenden Optionen: Hinweis Das Ändern der Optionen im View-Modus-Abschnitt wirkt sich nicht auf das Verhalten des Filter Express-VIs aus. Verwenden Sie die Optionen des Ansichtsmodus, um zu visualisieren, was der Filter auf das Signal ausführt. LabVIEW speichert diese Optionen nicht, wenn Sie das Konfigurationsdialogfeld schließen. Signale 8212Die Filterantwort als reale Signale zeigt an. Als Spektrum anzeigen 8212Spezialisiert, ob die realen Signale der Filterantwort als Frequenzspektrum angezeigt werden sollen oder das Display als zeitbasiertes Display verlassen wird. Die Frequenzanzeige ist nützlich, um zu sehen, wie der Filter die verschiedenen Frequenzkomponenten des Signals beeinflusst. Die Voreinstellung ist, die Filterantwort als zeitbasierte Anzeige anzuzeigen. Diese Option ist nur verfügbar, wenn Sie die Option Signals auswählen. Übertragungsfunktion 8212Die Filterantwort als Übertragungsfunktion zeigt an. Enthält die folgenden Optionen: Größe in dB 8212Presents die Größenreaktion des Filters in Dezibel. Frequenz im log 8212Presents der Frequenzgang des Filters auf einer logarithmischen Skala. Zeigt die Größenreaktion des Filters an. Diese Anzeige ist nur verfügbar, wenn Sie die Funktion "Modusmodus verlassen" einstellen. Zeigt die Phasenreaktion des Filters an. Diese Anzeige ist nur verfügbar, wenn Sie den Modus "Ansichtsmodus" auf "Übertragungsmodus" einstellen. MGI-Bibliothek MGI verfügt über eine Bibliothek von VIs, die wir bei der Entwicklung von Kundenprojekten wiederverwenden. Die Bibliothek wird als VIPM-Paket gespeichert, so dass Sie den VI Package Manager benötigen, um ihn zu installieren. Einige der MGI-VIs hängen von anderen OpenG-Paketen ab. Der Inhalt der MGI-Bibliothek wird durch Erweitern der Elemente unterhalb der Array-Funktions-VIs überprüft, die alle üblichen Array-Operationen auf numerischen Daten durchführen. MGI Average Dies ist ein polymorphes VI. Dieses VI berechnet und gibt den Mittelwert des gegebenen Arrays von Doppelten zurück. MGI-Centered Weighted Moving Average Führt einen zentrierten gewichteten gleitenden Durchschnitt auf einem Array nach den Größen - und Gewichtungsparametern durch. MGI Running Average PolyVI: Halten Sie die Durchlaufwerte der einzelnen Eingabewerte fort. Infinite Impulse Response erfordert weniger Verarbeitung, aber es dauert unbegrenzte Zeit, um einen stationären Wert zu erreichen. Finite Impulse Reponse unterhält ein Array der angegebenen Größe, ist aber in der Lage, Mittel auszugeben. Dieses VI ist ein reentrant funktionales global. MGI Laufen Maximum Halten Sie ein laufendes Maximum effizient. MGI Laufen Minimum Halten Sie ein Minimum sofort effizient. MGI Interpolate 1D Array Extended Extended Version von Interpolate 1D Array, die außerhalb der Array-Grenzen extrapolieren kann. Eine lineare Erweiterung, die auf den ersten oder letzten beiden Arrayelementen basiert, wird für außerhalb der Bereichswerte verwendet. MGI Threshold 1D Array Extended Extended Version der Schwelle, die Fraktionsindizes außerhalb der Arraygrenzen erzeugen kann. Eine lineare Erweiterung, die auf den ersten oder letzten beiden Arrayelementen basiert, wird für außerhalb der Bereichswerte verwendet. MGI berechnen Spitzenmomente Berechnen Sie Spitzenmomente für ein gleichmäßig abgetastetes Signal. 0. Moment ist die Fläche unter dem Peak, d. h. die Summe der Signale 1. Moment ist der Ort des Peakcentroid Center der Masse. Berechnet durch Summe (iyi) Summe (yi), it8217s in Einheiten des Abstandes zwischen den Signalen, wobei 0 dem ersten Element des Arrays entspricht. 2. Moment ist die RMS-Peakbreite auch in Indexeinheiten. MGI Linear Fit Findet die Parameter der kleinsten Quadrate für die bereitgestellten Daten. Wenn der Bereich der x-Werte nicht größer als der Bereich der y-Werte ist, dann wird die Anpassung mit den umgekehrten x - und y-Werten durchgeführt, wobei die Ausgänge wieder in die ursprüngliche Orientierung umgewandelt werden. Wenn der optionale Gewichtseintrag leer oder unbenutzt ist, werden die bei der Passung verwendeten Gewichte auf 1 gesetzt (gleichgewichtig). MGI Statistisches Histogramm Erstellen Sie ein Histogramm basierend auf -3 Standardabweichungen und Ausreißern. MGI berechnen Array Unterschiede Dies ist ein polymorphen VI. Berechnen Sie die Unterschiede zwischen aufeinanderfolgenden Array-Elementen. 0. Element der Ausgabe ist gleich x (0) - x (-1), wobei x (-1) ein optionaler Skalar-Eingang ist, der auf Null setzt. MGI Berechnen Array Summen Dies ist ein polymorphen VI. Berechnen Sie Summen von aufeinanderfolgenden Array-Elementen. 0. Element der Ausgabe ist gleich x (0) x (-1), wobei x (-1) ein optionaler Skalar-Eingang ist, der auf Null setzt. MGI Shift Array Verschieben Sie ein 1-D-Array um einen bestimmten Betrag nach oben oder unten, füllen mit NaN. MGI Decimate Array mit Offset Dies ist ein polymorphes VI. Dezimiert das angegebene Array um den angegebenen Betrag. Ein Fehler wird ausgegeben, wenn die Array-Länge kein ganzzahliges Vielfaches der Dezimierung ist. 8220Offset8221 gibt an, welche Dezimierung ausgegeben wird. Ein Fehler wird ausgegeben, wenn der Offset größer oder gleich der Dezimation ist. MGI Get Slope at Point Ruft die Einheitslängensteigung der Kurve ab, die durch die Eingangsarrays am angegebenen Index definiert ist. 2D Array-VIs arbeiten auf zweidimensionalen Daten (wie das, was an einen Intensitätsgraphen gesendet wird). MGI Edge Enhance 2D Array Führen Sie einen Edge Enhancement Operation auf einem 2D Array auf der Grundlage der absoluten Wert der Unterschiede zwischen den Nachbarn eines Punktes in entgegengesetzten Richtungen. Es schmeißt keine Kanten, aber es dämpft konstante Regionen. MGI Gaussian Smooth Wenden Sie eine Gaußsche Glättungsfunktion in einer Richtung auf ein 2D-Array von Daten an. Glatte Skala ist die e-fache Länge in Array-Index-Einheiten. Genauigkeitsfaktor ist das Verhältnis des kleinsten eingeschlossenen Begriffs zum größten Begriff. Die Daten werden effektiv von null8217s an der Grenze umgeben. MGI Smooth 2D Array Führen Sie einen Glättungsvorgang auf einem 2D-Array mit einem Kernel aus: 0 1 0 1 1 1 0 1 0 Element-Summen werden durch die Anzahl der gültigen Quell-Elemente normalisiert, so dass ein konstantes Array unverändert wäre. MGI XY-Größen Bestimmen Sie Array-Dimensionen und setzen Sie das Ergebnis in einen XY-Cluster. Application Control VIs verwenden LabVIEW VI Server oder führen Aufgaben im Zusammenhang mit installierten ausführbaren Dateien oder Benutzeroberfläche aus. MGI VI Referenz Dies ist die polymorphe Version für die Anrufer-, aktuellen und Top-Level-Referenzen. Das VI hat auch eine Level-Version, die Ihnen erlaubt, die gewünschte Referenz zu bestimmen. MGI Change Detector Report, wenn sich der Eingang seit dem vorherigen Aufruf geändert hat. Dieses VI ist polymorph, und der erste Aufruf dieses VIs wird True oder False basierend auf der ausgewählten Instanz zurückgeben. MGI Grey Wenn dieses polymorphe VI entworfen ist, um in die 8220Disabled8221 Eigenschaft von Kontrollen zu füttern. Abhängig von der Bedingung gibt es entweder 8220Enabled8221 oder 8220Disabled und Grayed Out.8221 MGI Origin an der Oberseite Links Platziert den referenzierten VI8217s Frontpanel8217s Ursprung oben links im Fenster. MGI Save 038 Restore Settings Sichert oder stellt die mit einem VI verknüpften Einstellungen wieder her, einschließlich Panel-Schranken, Listbox-Spaltenbreiten und Graphchart-Plots. Die Einstellungen werden in einer ini-Datei auf dem angegebenen Pfad gespeichert. Für Tabellenstil-Steuerelemente werden nur die Spalten mit Header gespeichert. MGI Exit if Runtime Dieses VI ist so konzipiert, dass es am Ende einer Anwendung verwendet wird, die als ausführbare Datei ausgeführt wird. Es schließt die Vorderseite der ausführbaren Datei, bevor sie LabVIEW beendet, wodurch das lästige Flimmern beseitigt wird, wenn sich die Frontplatte in den nicht laufenden Zustand bewegt. Im Quellcode hat dieses VI keine Wirkung. MGI Get Executable Version Wenn dieses VI in eine ausführbare Datei eingebaut ist, gibt es die Dateiversion (anders als die Produktversion) der ausführbaren Datei zurück. Wenn es in der Entwicklungsumgebung läuft, gibt es einfach 8220Development8221 zurück. Executables, die mit Versionen von LabVIEW früher als 8.0 erstellt wurden, enthalten nicht die notwendigen Informationen in der ausführbaren Datei für dieses VI, um die Version zurückzugeben. MGI For Loop Progress Bar Dieses VI ist ein Fortschrittsbalken für For Loops. Wenn die 8220Wait Time8221 verstrichen ist und die Schleife weniger als halbwegs durch ihre gesamte Iteration ist, öffnet sich dieses VI und zeigt einen Fortschrittsbalken für den For Loop. Wenn 8220Show Time8221 True ist, zeigt dieses VI eine Annäherung für die verbleibende Zeit an. Ein gleitender Durchschnitt wird verwendet, um die Approximation zu glätten, um Nichtlinearitäten in der Codeausführung zu kompensieren. MGI ist Runtime Das VI gibt einen Booleschen Wert zurück, der angibt, ob er in einer ausführbaren Datei oder in der Entwicklungsumgebung ausgeführt wird. MGI Get Value Dies ist ein polymorphe VI. Es erhält den Wert der Kontrolle durch Verweis angegeben. Es handelt sich um einen kleinen 8220Value8221 Immobilienknoten. MGI Button Dialog Verbesserte Version des eingebauten drei Schaltflächen-Dialogs für die ursprüngliche Hilfe, klicken Sie auf Link unten). Hinzufügen einer Ausgabe boolean nützlich für Drop-in-Ersatz von Ein-oder Zwei-Knopf-Dialoge, die wie in der ursprünglichen you8217ll erhalten durch Verdrahtung leere Zeichenfolgen für Schaltfläche Text. Eine Option hinzugefügt, um dies zu einem nicht-modalen Dialog zu machen, aber das aufrufende VI auszublenden, was nützlich ist, wenn Sie ein Fenster blockieren möchten, aber nicht alle Fenster. Dieses VI ist wiedereintrittsfähig. MGI Defer Panel Updates Deben oder Wiederherstellen von Panel Updates für das angegebene VI. Dieses VI verfolgt die Anzahl der Zeiten, die ein Deferrestore für jedes VI gemacht wird, so dass mehrere Abdrücke mit mehreren Wiederherstellungen abgestimmt werden müssen. Ein Defer oder Restore wird versucht, auch wenn ein Fehler bei der Eingabe vorliegt. MGI Dirty Dot Setzt, löscht oder liest einen verschmutzten Punkt auf dem Frontpanel Titel des referenzierten VIs. MGI Get VI Control Ref Gibt Rückmeldungen aller Bedienelemente auf der Vorderseite zurück. Wenn Include Tab Page Controls true ist, sind alle Steuerelemente auf Registerkarten rekursiv enthalten. Die Art der zurückgegebenen refnum wird auch in Control Typei ausgegeben. Control Labeli enthält das Label jedes Controls. MGI Center Callee in Caller Dieses VI ist entworfen, um ein callee VI8217s Fenster in einem Anrufer VI8217s Fenster zu zentrieren. MGI Fade In 038 Out Dieses VI setzt iterativ die Transparenz des referenzierten VIs von vollkommen transparent bis voll undurchsichtig und umgekehrt, so dass eine visuelle 8220Fade In8221 oder 8220Fade Out8221. Die Voreinstellung 8220Speed8221 ist auf eine beliebige 821638217 eingestellt. Eine höhere Zahl führt zu einer schnelleren Überblendung. MGI Coerce Panel Bounds zum sichtbaren Bereich Coerce die angegebenen Panel-Grenzen, um auf dem Bildschirm passen. Wenn mindestens ein 50-Pixel-Quadrat des oberen linken oder oberen rechten Rechtecks ​​auf einem der Monitore erscheint, werden die ursprünglichen Plattengrenzen ausgegeben. Andernfalls werden die Panel-Grenzen geändert, um auf dem primären Monitor erscheinen zu können. MGI-Set Frontpanel-Farbe Stellt die Vorderseite der Farbe des referenzierten VIs ein. MGI Set Frontpanel-Titel Setzt den Frontpanel-Titel des referenzierten VIs. MGI Set Scrollbar Dieses polymorphe VI zeigt oder versteckt die Scrollbar (s) für die angegebene Steuerreferenz. Weitere Informationen finden Sie in der Instanz VI-Hilfe. MGI Save Front Panel Data Speichert die Steuer - und Indikatordaten in der MGI ReadWrite Anything-Datei unter dem angegebenen Abschnitt auf die angegebene Datei. Kontroll - und Indikatornamen müssen eindeutig sein. MGI Wiederherstellen von Frontpaneldaten Stellt die Steuer - und Indikatordaten aus der angegebenen MGI ReadWrite Anything-Datei wieder her. Kontroll - und Indikatornamen müssen eindeutig sein. MGI Deaktivieren Enum Merge VI Dies ist ein Merge-VI für die Deaktivierung Enum Control. MGI VI Property Node Dieses VI enthält einen Property Node, der mit dem Front Panel verknüpft ist: Open property of the VI Class. Dieses VI dient als Zusammenführung, um einen Eigenschaftsknoten zu löschen, der bereits als VI-Klassenart verknüpft wurde. MGI Deaktivieren Enum Grayed Merge VI Das Deaktivieren von Enum. vi ist kleiner als das Enum 8220Disabled und Greyed out8221 und kann auf Blockdiagrammen fallen gelassen werden, um Platz zu sparen. MGI Deaktivieren Enum (Small) Dieses Polymorphe VI enthält eine Instanz für jeden deaktivierten Zustand eines Steuerelements (Enabled, Disabled, Disabled 038 Grayed). Es nimmt weniger Platz ein als eine Aufzählungskonstante auf dem Blockdiagramm. Bezier-VIs führen Berechnungen auf der Grundlage von Bezier-Kurven durch, die ähnlich zu kubischen Splines sind, aber mit einigen wichtigen Unterschieden. MGI Bezier Find k Suchen Sie das Bezier Control Points Array für den Block mit y. Y wird gegen y (erster k 3 4n) getestet, wobei n 0, 1, 8230. Rückgabewert ist (erster k 4n), geeignet für die Eingabe in Bezier Inverse. MGI Bezier Finde k Rückwärts Suchen Sie das Bezier Control Points Array für den Block mit y. Y wird gegen y (erster k 8211 4n) getestet, wobei n 0, 1, 8230. Rückgabewert ist (erster k 8211 4n), geeignet für die Eingabe in Bezier Inverse. MGI Bezier Inverse Multiple Solutions Berechnet bezier 0..1 Parameter aus y, ein Bezier-Funktionsergebnis. Alle Lösungen im Bereich 0..1 werden in aufsteigender Reihenfolge zurückgegeben. MGI Bezier Inverse Time Berechnen Sie eine Zeit aus einem Blockindex und einem 0..1 Parameter. Tatsächlich führt eine umgekehrte Bezier-Funktion statt einer vorwärts, so dass man zuerst linear auf den Zeitbereich abgebildet wird, dann wird ein inverses Bezier berechnet und dann wird das Ergebnis in den Zeitbereich umgewandelt. MGI Bezier Inverse Berechnen Sie einen Bezier 0..1 Parameter aus y, ein Bezier-Funktionsergebnis. MGI Bezier Scalar Berechnen Sie einen Bezier-Punkt mit einem Array von Kontrollpunkten, dem Index des Anfangs des Blocks von 4 zu verwendenden Punkten und dem gewünschten 0-1-Wert. MGI Bezier Slope Vector Berechnen Sie einen N-Dimensionalen Bezier-Vektor, der Sätze von 4 Kontrollpunkten in jeder N-Dimension und dem gewünschten 0-1-Wert enthält. MGI Bezier Slope Gewichte Berechnet eine Reihe von vier Gewichten, (1-u) 3, u (1-u) 2, u2 (1-u) und u3 gegeben u. Du soll zwischen 0 und 1 sein. MGI Bezier Zeit Berechnen Sie einen Bezier 0..1 Parameter aus t. Tatsächlich verwendet ein Vorwärts-Bezier statt einer Umkehrung, so dass die Endpunktzeiten zuerst verwendet werden, um t zu einem 0..1-Parameter zuzuordnen, dann wird der Bezier berechnet, dann werden die Endpunkte verwendet, um das Ergebnis wieder auf 0..1 zuzuordnen. MGI Bezier-Vektor Dies ist ein polymorphes VI, das einen N-dimensionalen Bezier-Vektor berechnet, der Sätze von 4 Kontrollpunkten in jeder N-Dimension und dem gewünschten 0-1-Wert enthält. MGI Bezier Gewichte Dies ist ein polymorphes VI, das eine Reihe von vier Gewichten berechnet, (1-u) 3, 3u (1-u) 2, 3u2 (1-u) und u3 gegeben u. Du soll zwischen 0 und 1 sein. MGI Bezier Optimizer Modifikation von Downhill Simplex nD zur Modellierungsberechnung und eine interaktive Anzeige. Boolesche VIs arbeiten auf booleschen Daten. MGI Boolean Debounce Output ist nur wahr, wenn Input für die vorherigen Filter Length Anrufe wahr ist. Wiedereintrittsfähig MGI Rücksetzbarer Trigger (Reantrant) Dieses VI setzt den Ausgang 8220Trigger8221 nur einmal auf eine steigende Flanke des Eingangssignals 8220State8221 hoch. Der Ausgang 8220Triggered8221 ist nach dem ersten Mal eine steigende Flanke am Eingang 8220State8221 hoch. Der Trigger ist über den Eingang 8220Reset (F) 8221 rückstellbar. Dieses VI ist ein wiedereintrittsfähiges funktionales globales, also bezieht sich jede Instanz dieses VIs auf einen anderen Auslöser. Cluster-VIs führen Operationen auf Clustern durch, indem sie ein Element in einem Cluster ersetzen oder den Index eines Elements erhalten. MGI Get Cluster Elements Dieses VI wurde für die Verwendung mit den ReadWrite Anything VIs erstellt. Es bricht einen Cluster in seine einzelnen Elemente und übergibt die Elemente in einer Reihe von Varianten. MGI Cluster-Index erhalten Dieses VI gibt den Tabulator-Auftragsindex des Elements oder Unterelements in Cluster In benannten Namen zurück. Ein -1 wird zurückgegeben, wenn das Element nicht gefunden wird. Was Index bedeutet, hängt vom Modus ab: Füge alle Elemente und Unterelemente ein: rezertiert alle Cluster und Subcluster und Inkremente für jeden Cluster oder einen anderen Datentyp. Index gibt die element8217s Ordnung unter allen Elementen zurück, egal auf dem Level. Erste Ebene nur: schaut nur auf die Elemente von Cluster In. Wird nicht auf irgendwelche Subcluster von Cluster In wiederkehren. In diesem Fall bezieht sich Index auf die tabbing-Reihenfolge von Cluster In. Index in der untersten Ebene: Sobald ein Element mit Name gefunden wird, wird sein Tabulatorordnungsindex in seinem eigenen Cluster in Index zurückgegeben. MGI Get Cluster Value Dieses VI soll den Wert eines Elements in einem Cluster (als Variante) basierend auf dem angegebenen Namen zurückgeben. Wenn es mehrere Felder mit dem gleichen Namen gibt, wird nur die erste zurückgegeben. Einstellen von Flat to True vermeidet das Suchen in Subclustern. MGI Cluster-Element ersetzen Dieses VI sucht nach einem Element oder Unterelement in Cluster In benannten Namen und ersetzt es mit Daten. Wenn Data die falsche Größe ist oder wenn ein Element mit Name nicht gefunden werden kann, wird Cluster In für Cluster Out zurückgegeben. Diese VIs werden von National Instruments verteilt, sind aber nicht auf eine Palette gestellt. Sie sind nützlich für die Inspektion des Datentyps einer Variante. Sie geben die Daten nicht auf den Draht zurück, sondern nur die Art des Drahtes. GetArrayInfo Holen Sie sich Informationen über den in Variant gespeicherten Array-Datentyp. Wenn Variant8217s Datentyp kein Array ist, wird ein Fehlercode von 1 zurückgegeben. NDims ist die Dimensionalität des Arrays. Für jede Dimension enthält Array Lengths ein Element, das beschreibt, wie der Array-Speicher zugeordnet ist. ArrayElement gibt den Datentyp des Array-Elements (in einer Variante) zurück. GetClusterInfo Holen Sie sich Informationen über den in Variant gespeicherten Cluster-Datentyp. Wenn Variant8217s Datentyp kein Cluster ist, wird ein Fehlercode von 1 zurückgegeben. Cluster-Elemente enthält einen Datentyp für jedes Cluster-Element. GetNumericInfo Gibt numerische Informationen über den in Variant gespeicherten numerischen Datentyp zurück. Wenn Variant8217s Datentyp nicht numerisch ist, wird ein Fehler ausgegeben. Wenn der Datentyp ein Enum ist, enthält EnumNames die Elemente. Einheiten beschreibt alle Geräteinformationen. GetPolyVIInfo Holen Sie sich Informationen über den in Variant gespeicherten PolyVI-Datentyp. Wenn Variant8217s datatype kein PolyVI beschreibt, wird ein Fehlercode von 1 zurückgegeben. Zeitstempel ist ein numerischer Wert, der repräsentiert, wann das PolyVI zuletzt bearbeitet wurde. GetRefnumInfo Holen Sie sich Informationen über den in Variant gespeicherten Refnum-Datentyp. Wenn Variant8217s Datentyp kein Refnum ist, wird ein Fehlercode von 1 zurückgegeben. ReferenceType beschreibt den Typ von Refnum StrictType beschreibt alle mit dem refnum verknüpften Daten. Für strenge VI-Referenzen ist es ein VI-Datentyp, der das VI beschreibt. Für Datalogs ist der Datentyp gespeichert. VI Server Generic Type gibt den spezifischen VI Server Klassenart an, wenn ReferenceType 8220LVObjUnknown8221 ist. GetStringInfo Informationen über den in Variant gespeicherten String-Datentyp erhalten. Wenn Variant8217s Datentyp kein String ist, wird ein Fehlercode von 1 zurückgegeben. MemoryType beschreibt den Speicher, der zum Speichern der Zeichenfolge verwendet wird, nicht die Zeichenfolgenlänge. GetTagInfo Holen Sie sich Informationen über den in Variant gespeicherten Tag-Datentyp. Wenn Variant8217s Datentyp kein Tag ist, wird ein Fehlercode von 1 zurückgegeben. MemoryInfo beschreibt den Speicher, der zum Speichern des Tags verwendet wird, nicht die Tag-Länge. GetTypeInfo Rückgabe von Informationen über den in Variant gespeicherten Datentyp. Typ Enum ist die Art der Daten Name ist der Name der Daten Wenn die Daten durch eine Typdefinition definiert sind, ist HasTypedef wahr und Typedef enthält Informationen über die Typdefinition. GetVIInfo Holen Sie sich Informationen über den in Variant gespeicherten VI-Datentyp. Wenn Variant8217s Datentyp kein VI ist, wird ein Fehlercode von 1 zurückgegeben. VI Info gibt die vermuteten Eigenschaften des VIs zurück. VI-Terminal-Typen enthält einen Eintrag für jedes Terminal auf dem VIs-Anschlussbereich. Unverdrahtete Terminals haben einen Void-Datentyp. GetWaveformInfo Erhalten Sie Informationen über den in Variant gespeicherten Waveform-Datentyp. Wenn Variant8217s Datentyp keine Waveform ist, wird ein Fehler ausgegeben. YArrayType gibt den Datentyp des waveform8217s YArray-Elements als Variant zurück. SetArrayInfo Setzt die Attribute eines Array-Typ-Deskriptors. Variant In ist der Array-Typ-Deskriptor, dessen Attribute gesetzt werden. Wenn irgendwelche Attribute bereits vorhanden sind, werden sie gelöscht, bevor die neuen Attribute hinzugefügt werden. Array-Element ist der Elementtyp-Deskriptor, der auf dem Array-Typ-Deskriptor gesetzt wird. Array Längen ist ein Array von Dimensionslängen. Es wird ein Array-Längeneintrag für jede Dimension im Array vorhanden sein. Variant Out gibt den Array-Typ-Deskriptor zurück, nachdem Array-Element und Array-Längen zu Variant hinzugefügt wurden. SetClusterInfo Setzt die Attribute eines Cluster-Typ-Deskriptors. Variant In ist der Cluster-Typ-Deskriptor, dessen Elemente gesetzt werden. Wenn bereits vorhandene Elemente vorhanden sind, werden sie gelöscht, bevor die neuen Elemente hinzugefügt werden. Cluster Elements ist ein Array von Elementtyp-Deskriptoren, die auf dem Cluster-Typ-Deskriptor festgelegt werden. Variant Out gibt den Cluster-Typ-Deskriptor zurück, nachdem Cluster-Elemente zu Variant hinzugefügt wurden. SetNumericInfo Setzt die Attribute eines numerischen Typ-Deskriptors. Variant In ist der numerische Typ-Deskriptor, dessen Elemente gesetzt werden. Wenn irgendwelche Attribute bereits vorhanden sind, wird dann gelöscht, bevor die neuen Attribute hinzugefügt werden. Enum Names ist ein Array von Namen, die verwendet werden, um eine Aufzählung für die numerische zu erstellen. Dieser Eingang ist optional und darf nur mit ganzzahligen numerischen Typen verwendet werden. Einheiten ist ein Array von Basiseinheit, Exponentenpaare, die verwendet werden, um Einheiten für die numerische zu erstellen. Dieser Eingang ist optional und darf nur mit Gleitkommazahlen verwendet werden. Variant Out gibt den numerischen Typ-Deskriptor zurück, nachdem Enum-Namen und Einheiten zu Variant hinzugefügt wurden. In SetRefnumContainedType Legt die Attribute eines Array-Typ-Deskriptors fest. Variant In ist der Array-Typ-Deskriptor, dessen Attribute gesetzt werden. Wenn irgendwelche Attribute bereits vorhanden sind, werden sie gelöscht, bevor die neuen Attribute hinzugefügt werden. Array-Element ist der Elementtyp-Deskriptor, der auf dem Array-Typ-Deskriptor gesetzt wird. Array Längen ist ein Array von Dimensionslängen. Es wird ein Array-Längeneintrag für jede Dimension im Array vorhanden sein. Variant Out gibt den Array-Typ-Deskriptor zurück, nachdem Array-Element und Array-Längen zu Variant hinzugefügt wurden. SetRefnumInfo Legt die Attribute eines Array-Typ-Deskriptors fest. Variant In ist der Array-Typ-Deskriptor, dessen Attribute gesetzt werden. Wenn irgendwelche Attribute bereits vorhanden sind, werden sie gelöscht, bevor die neuen Attribute hinzugefügt werden. Array-Element ist der Elementtyp-Deskriptor, der auf dem Array-Typ-Deskriptor gesetzt wird. Array Längen ist ein Array von Dimensionslängen. Es wird ein Array-Längeneintrag für jede Dimension im Array vorhanden sein. Variant Out gibt den Array-Typ-Deskriptor zurück, nachdem Array-Element und Array-Längen zu Variant hinzugefügt wurden. SetTypeInfo Setzt den Namen und die typedef-Attribute eines Typdeskriptors. Variant In ist der Typdeskriptor, dessen Name und typedef Attribute gesetzt werden. Wenn irgendwelche Attribute bereits vorhanden sind, wird dann gelöscht, bevor die neuen Attribute hinzugefügt werden. Name ist ein String, der verwendet wird, um einen Namen für den Typdeskriptor zu erstellen. Typedef Info ist ein Cluster eines VI-Namens und eines Zeitstempels, der verwendet wird, um ein typedef für die numerische zu erstellen. Variant Out gibt den Typdeskriptor zurück, nachdem Name und Typedef Info zu Variant hinzugefügt wurden. In SetVIInfo erhalten Informationen über den in Variant gespeicherten VI-Datentyp. Wenn Variant8217s Datentyp kein VI ist, wird ein Fehlercode von 1 zurückgegeben. VI Info gibt die vermuteten Eigenschaften des VIs zurück. VI-Terminal-Typen enthält einen Eintrag für jedes Terminal auf dem VIs-Anschlussbereich. Unverdrahtete Terminals haben einen Void-Datentyp. MGI-Code verwendet Standard-LabVIEW-Fehlercluster, so dass es problemlos mit integrierten LabVIEW-Funktionen integriert wird. MGI Insert Reserved Error Wire 8220Reserved Error Code8221 mit einem Fehler Ring Konstante eingefügt werden, es sei denn it8217s ein Upstream-Fehler oder 8220Error8221 ist false. Der Quellstring wird aus der anrufenden Kette erstellt, beginnend mit diesem vi8217s-Aufrufer und wurde mit dem Eingang 8220Error Description8221 vorangestellt. MGI Anhängen von String an Fehlerquelle Anhängen oder Vorgeben der angegebenen Nachricht an den Eingabefehlerquellenstring, falls ein Fehler vorliegt. MGI unterdrückt Fehlercode Dieses polymorphe VI nimmt entweder einen Fehlercode oder ein Array von Fehlercodes. Wenn der Fehlercode, der durch Error In übergeben wird, entweder der Skalar oder im Array von Fehlercodes ist, wird er nicht an Error Out übergeben. Alle anderen Fehlercodes werden an Error Out übergeben. MGI-Fehlerreporter Mit dem MGI-Fehlerreporter können Fehler in einer separaten Schleife dem Benutzer angezeigt werden, so dass die Schleife, in der der Fehler aufgetreten ist, fortgesetzt wird. Der Fehlerreporter wird mit LabVIEW-Klassen erstellt, so dass das Verhalten durch Erstellen einer untergeordneten Klasse angepasst werden kann. MGI Create startet einen Fehler Reporter Daemon mit dem optional verdrahteten Fehler Reporter. Wenn der Fehler-Handler nicht verdrahtet ist, wird der MGI-Fehler-Reporter-Dialog verwendet. Wenn ein Fehler-Reporter-Daemon bereits von einem Top-Level-VI läuft, tu nichts und gibt True für 8220Ally Running8221 aus. Siehe 8220VI Tree. vi8221 für weitere Details. Wenn dieses VI auf RT verwendet wird, wird die Dialogklasse auf RT geladen. Dies kann zu Verknüpfung und Speicherung von Problemen führen. MGI Create Logger Startet einen Fehler Reporter Daemon mit dem optional verdrahteten Fehler Reporter. Wenn der Fehler-Handler nicht verdrahtet ist, wird der MGI-Fehler-Reporter-Dialog verwendet. Wenn ein Fehler-Reporter-Daemon bereits von einem Top-Level-VI läuft, tu nichts und gibt True für 8220Ally Running8221 aus. Siehe 8220VI Tree. vi8221 für weitere Details. MGI-Report-Fehler Dieses wiedereintrittsfähige VI sendet einen verdrahteten Fehler oder eine Warnung an den Fehler-Reporter-Daemon. Wenn kein Fehlerreporter-Daemon läuft oder wenn die Verarbeitungswarteschlange voll ist, wird der Fehler oder die Warnung verworfen. MGI Zerstöre Stoppen Sie den Fehler Reporter Dämon aus der Ausführung, wenn keine anderen VIs sind derzeit mit ihm. Die MGI Error Reporter Advanced Palette enthält VIs, die das Verhalten des Error Reporters beeinflussen. MGI Get Custom Error Codes Geben Sie die benutzerdefinierten Fehlercodes ein, die für den Error Reporter definiert wurden. MGI Set Custom Error Codes Legen Sie die benutzerdefinierten Fehlercodes fest, die vom Fehlerreporter verwendet werden. Das benutzerdefinierte Namensarray sollte kurze Einzeilenbeschreibungen jedes Codes enthalten. MGI Show UI Zeigt jedes Benutzeroberflächenfenster (UI) an, das dem Fehlerreporter zugeordnet ist, indem er eine UI-Nachricht an den Daemon sendet. Der MGI-Fehler-Reporter-Basisklassen-Daemon ignoriert diese Meldung. MGI Get Error Beschreibung Ruft den Namen für den angegebenen Fehlercode ab und gibt die Standardbeschreibung aus, wenn der Fehlercode isn8217t gefunden wurde. Dieses VI gibt den benutzerdefinierten Namen aus, wenn ein benutzerdefinierter Fehlercode angegeben ist. MGI Set Logging Parameter Stellt das Verhalten des Error Logger ein. Das Standardverhalten besteht darin, maximal 5000 Fehler pro Datei zu protokollieren und maximal 100 Dateien zu behalten. Max Fehler beim Protokollieren ist die Anzahl der Fehler, die in einer Datei protokolliert werden, in der nachfolgende Fehler nicht protokolliert werden. Wire a -2, um diese Nummer unverändert zu lassen. Wire a -1, um alle Fehler zu archivieren. Wire a 0 zum Deaktivieren der Fehlerprotokollierung. Max Log Files ist die Anzahl der Fehlerprotokolle im Fehlerverzeichnis. Die ältesten Protokolldateien werden gelöscht, um Platz für neue Dateien zu schaffen. Wire -2, um diese Zahl unverändert zu lassen. Wire a -1, um das Löschen älterer Dateien zu deaktivieren. Wire a 0 zum Deaktivieren der Fehlerprotokollierung. MGI Logging-Parameter erhalten Ausgabe der maximalen Fehler zum Protokollieren und das Maximum der Log-Dateien. -1 zeigt an, dass alle Fehler gespeichert werden. Fehler Protokollverzeichnis ist der Pfad, in dem Protokolldateien gespeichert werden. MGI Senden Sie eine benutzerdefinierte Nachricht Senden Sie eine benutzerdefinierte Nachricht mit den angegebenen Daten (als Variante) an den Fehler Reporter-Daemon. This VI is useful for sending messages to a child class of the MGI Error Reporter Base class, which does not handle any custom messages. The MGI Error Reporter Documentation palette contains VI trees for the two Error Reporter classes. It is helpful for understanding how the error reporter works and which VIs should be overridden in child classes to get custom behavior. MGI VI Tree This VI documents the MGI Error Reporter Base Class. See Block Diagram for documentation. File VIs operate on directories and files. MGI Append Text to File Append 8220Text8221 to the file at 8220Path8221. Note: This VI opens and closes the specified file each time it is called. MGI Create Directory Chain This VI creates any non-existant folders in 8220Path8221. The 8220Auto Detect8221 setting of 8220File Presence8221 searches for a 8216.8217 in the name. In this mode a top level folder with a 8216.8217 won8217t get created and a file without an extension will get created as a folder. MGI Default ini Path This VI constructs a standardized configuration file path in either MyDocuments or All UsersDocuments depending on 8220All Users8221. MGI Replace File Extension This VI creates replaces the file extension on 8220Path In8221 with 8220New Extension.8221 MGI File Dialog Merge VI Merge VI for dropping a File Dialog primitive (which does not show up on the palette in LabVIEW 8.0 and later when it is only available through an express VI.) MGI Windows Folder Path Return the path of the specified Windows folder. Calls SHGetFolderPathA routine in shell32.dll to determine the answer. Checksum VIs are useful for calculating and verifying a checksum value on a file or directory of files. MGI CheckValue Directory Calculate Output an array of all files contained in the specified directory along with a CheckValue for each file. Optional Progress Bar Input is updated if wired, otherwise a progress bar dialog with abort button is shown. MGI CheckValue Directory Compare Compare the specified expected files and checkvalues to the specified directory. Extra files in the directory are ignored. If all expected files match, then output true, otherwise output false. If a reference to a slider is wired, then the slider is updated to show the progress of the comparison. Otherwise show a progress bar dialog with optional abort button. MGI Executable Checksum Compute the checksum of the. exe file if an executable is running. FFFFFFFF is returned when running from the development system. MGI File CheckValue Calculate the Checkvalue for the specified file. Config VIs are useful when using the NI Configuration file format. They add support for reading and writing arrays of numeric values to a config file. MGI Read Key This is a Polymorphic VI. Read an array key (actually a section) written by the matching Write VI. MGI Remove Array Sections Remove sections from an ini file when an array is shrinking. If Old Count is unwired, count will be read, parent section will be removed, and then count will be replaced. If Old Count is wired, it8217s assumed thatparent section handling was already performed. Child sections that are removed have names , where ranges from new count to old count-1. MGI Write Key This is a polymorphic VI. Write an array datatype in a human readable format. The 8220key8221 is actually placed in a separate section. Spreadsheet VIs support reading and writing delineated text files that have text headers. MGI Read Spreadsheet File Reads a spreadsheet file by returning the first non-empty, non numeric containing rows as a header, then the following numeric rows. Reading starts at Start Offset. End Offset is the file offset for the next HeaderValues section. This VI is similar to the vi. lib file 8220Read From Spreadsheet File. vi8221, but it supports headers. MGI Write Spreadsheet File Creates or opens the specified spreadsheet file and writes the specified data to the end of the file. This VI is similar to the vi. libWrite Spreadsheet File. vi, but it includes headers. By default, headers are only written if the file is created new. Wire true to 8220Append Headers to existing files8221 to add them to existing files as well. The Sharp Zip Library provides support for creating zip files that are larger than 2Gigabytes. The Sharp Zip Library depends on Microsoft technology. MGI SZL Add File Adds the file specified by source file path to the zip file. Destination path in zip should be the relative path in the zip file including the name of the file itself, but not including the name of the zip file. The updateMode input selects between Safe and Direct. Safe mode will create a temporary file so that errors in the add will not corrupt the entire file. Direct simply adds to the file, so it is more dangerous, but can be significantly faster, particularly for large files. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib MGI SZL Close Zip File Closes the zip file. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib MGI SZL Extract File Extracts the entry specified by entry path in zip from the zip file to the target path. Entry path in zip should be the relative path within the zip file. If the target path already exists you can have a dialog pop up to confirm overwriting by wiring TRUE to confirm overwrite. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib MGI SZL List Zip Contents Lists the file names of all the files in the zip file and if file info is true, outputs a large cluster of info about each file. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib MGI SZL New Zip File Creates a new empty zip file in the path specified by target path. The new file overwrties an existing file or produces an overwrite confirmation dialog based on the value of confirm overwrite. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib MGI SZL Open Zip File Opens an existing zip file. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib MGI SZL UnZip To Directory Unzips the contents of zip file to the target directory. If Preview only is true, this VI doesn8217t unzip the contents and just returns a preview of the list of files. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib MGI SZL Zip Directory Compresses everything in root directory into a zip file. If include subdirectories is TRUE, this VI recursively includes any subdirectories. Open Options can be set to create the zip file new, or open an existing one and append on to it. This VI relies on the Sharp Zip Library which is a assembly written in C by Mike Krueger. It is licenced under the GPL with a special exception permitting independent modules to link to the library regardless of the license terms of the independent module. More information about the library and its license is available from: icsharpcodeopensourcesharpziplib SZL Zip Directory Compresses everything in root directory into a zip file. If include subdirectories is TRUE, this VI recursively includes any subdirectories. Open Options can be set to create the zip file new, or open an existing one and append on to it. MGI Open Explorer Window Open a Windows Explorer window to the specified file8217s directory and select the file. If the path specifies a directory, then the explorer window is opened to that directory, unless 8220Select Directory8221 is true, in which case the explorer window is opened to the parent directory and the specified directory is selected. Graph VIs are useful for setting properties of Chart and Graph controls MGI Autoscaling Enum Merge VI This is a merge VI. It exists to allow easy dropping of the enumeration from the palettes. MGI Graph Tools Enum Merge VI This is a merge VI. It exists to allow easy dropping of the enumeration from the palettes. MGI Non Repeating Plot Color Generate colors that are good for a white background and distinguishable from each other. MGI Set Plot Names This is a polymorphic VI. Sets the plot names as specified, optionally growing the Plot Legend to fit the number of names. If Plot Name is empty, then the Plot Legend is hidden, otherwise it is shown. MGI Set Z Scale Colors Updates the specified color scale using a distribution of colors specified by 8220Scheme8221. Min and Max describe the range of data that is to be displayed using the color scale. If 8220Z Scale Ref8221 is not wired, the scale will not be updated but 8220ValueScale8221 will still contain data for the specified scheme. The output 8220ValueScale8221 will have 256 colordata pairs. Matrix and Vector VIs operate on 1D (for Vector) and 2D (for Matrix) arrays of numeric data. These include Cross Product, which is not included in LabVIEW. MGI Vectors Approximately Equal Check that two vectors are within a given distance of each other. The default tolerance (distance between vectors) is 1E-5. MGI Cross Product Calculate the cross product of two 3-dimensional vectors in cartesian coordinates. MGI Dot Product Computes the dot product of X Vector and Y Vector. MGI Calculate Vector Length Calculate the length of a cartesian vector. MGI Identity Matrix 42154 Simply provides a 42154 SGL identity matrix. The Menu Building palette provides an extensible API for creating Application Menus, Windows Tray item Menus, and Control shortcut menus. It is useful for dynamic menu creation and for simplifing common Menu behavior such as toggling checkboxes and forcing radio button behavior among a set of Menu items. MenuConstructor Polymorphic VI to choose the type of menu you want to create. MenuItemConstructor Use this to create a new MenuItem. Most of the menu items you create can be left as generic menu items. Only use a specialized menu item when you need to use an additional field of that menu item. For example a shortcut in a VI MenuItem, or an icon in a MenuStrip MenuItem SelectionConstructor Polymorphic VI to select the built in selection types. Destroy Destroys the MenuItem. This ensures that all references contained by the menu item are also destroyed. Do not use the 8220Delete Data Value Reference8221 on a MenuItem Reference as this will lead to memory leaks. Use this vi instead. Init Inistializes the menu. This vi will delete any menu8217s that are currently in place. This also creates the Menuitem Clicked event. Do not use this VI to rebuild the menu. There is a separate Rebuild Menu VI. Menu Building Initialization Merge VI This Merge VI is a good starting place for most MenuBuilding menus. It has all of the vi8217s needed to initialize a new menu RebuildMenu Rebuilds the menu after a menu item array is changed. This will not destroy old MenuItem references, so make sure to destroy any MenuItems no longer being used. BasicInfo Retreives basic information about the last menu click. This VI returns the data of the menu item after the menu click. If you need to view more detailed data or the data before the menu click, use a property node. Cleanup Destroys the Menu and all MenuItems inside it. MenuClicked Simulates the menu click. This will perform an identical action as the user actually clicking the MenuItem. SetToDefault Searches the menu for any item with 8220Clicked by Default8221 set to true and then fakes a click on this item. This is useful for initializeing radio selections or checkmark selections to default values. MenuItem Clicked Events will be generates for these default clicks. If you want to process these events, make sure this VI is run after the Register for User Events node on the MenuItem Clicked Event. The Tray Icon palette contains VIs that work with Windows Tray menus. ShowBalloon Shows the notification balloon from the tray item. Balloon Text is required to be a non-empty string. Default timeout is set by the OS, and typically approx 10 sec. For more info see msdn. microsoften-uslibraryms160065.aspx MinimizeToTray Minimizes the referenced to tray. If VI Refnum is unwired the caller is assumed. RestoreFromTaskbar Restores a VI what has previously been Minimized to Tray. If VI Refnum is unwires, the calling VI will be used. Set Show on Taskbar to false to keep the VI from showing in the taskbar. FindMenuItemByTag Searches the menu structure recursively for a menu item with the full tag specified. The Menu Examples palette contains example VIs that use the MGI Menu Building VIs. VI Menu Example Demonstrates the Menu Strip type. Run the VI to see it8217s Runtime Menu replaced by the specified menu. Notice the shorcut key on the Exit Menu item. Click summarys show up in the history array. Click the 8220Add Item8221 to add a dummy item to the VI8217s menu. Tray Icon Example Demonstrates the Tray Icon menu type. Run the VI to see the menu and icon appear in the system tray. Right click the icon to see the menu appear. Double click the Icon to signal a 8220Default8221 menu item click. Fill in the Balloon Info values and click 8220Show Balloon8221 to see the balloon pop-up in the system tray. The 8220tipText8221 is the only field required in the balloon info and an error will be thrown if you try to show a balloon with no tipText. the minimum timeout is controlled by the OS and any value less than the OS value will be coerced up Click summarys show up in the history array. Click the 8220Add Item8221 to add a dummy item to the TrayIcon8217s menu. Control Example Demonstrates the Control Menu type. Right click on the 8220Listbox8221 to see the menu generated. Click summarys show up in the history array. Click the 8220Add Item8221 to add a dummy item to the control8217s menu. MenuStrip Example Demonstrates the Menu Strip type. Run the VI to see the menu appear in the MenuStrip control. Notice the 8220File - Default8221menu item that contains an icon as well as the 8220File-Exit8221 menu item contains a shortcut. Click summarys show up in the history array. Click the 8220Add Item8221 to add a dummy item to the MenuStrip8217s menu. SelectionTypeExample Run the VI and look under the 8220Selection Types8221 menu item for a demo of the built in selection types. Coordinate VIs are useful for performing rotations on 2D or 3D datasets. MGI Apply Transform Polymorphic VI: Apply a cartesian coordinate translation and rotation. MGI Center from 3 Points Polymorphic VI: Calculate the center of a circle based on three points on the circle. MGI Find 2D Intersection of 2 Lines Finds the intersection of 2 lines. If the lines are parallel, then an argument error (code 1) is output. The lines are specified using 2 points for each line. The points are specified as rows in a 2D array where the first column is x and the second is y. MGI Rotate Vector Polymorphic VI: Perform a 3D vector rotation about a coordinate axis. MGI Cylindrical to Cartesian Convert R, Th, Z to X, Y,Z. MGI Find Closest Line Segment Finds the line segment closest to the given x and y coordinates. The Graph Data is intepreted as a sequence of points which are connected by line segments. The points in the graph are assumed to be connected in the order provided. The output index is the index of the first point in the data that is an endpoint of the closest line segment. MGI Find Closest Point Finds the index of the point in the input data that is closest to the given x and y coordinates. The optional input allows the user to use the city block metric (i. e. the sum of the distances in the x and y directions) instead of the standard distance measurement. MGI Generate Orthonormal Basis Generate a set of orthonormal basis vectors from three points given in cartesian coordinates. The basis vectors are found by normalizing: w1p1-p2 w2w1 x (p2-p3) w3w1 x w2 MGI Generate Rotation Matrix Generate a 32153 rotation matrix with specified diagonal elements, - the off diagonal element, and specified axis unrotated. Numeric VIs operate DBL or SGL precision floating point numbers and on integers. They include the coercion, comparison, and rounding subpalettes. For easy access and use with quickdrop, the compound arithmetic nodes are also included. MGI Get Real Quadratic Roots Gets the real roots of the quadratic equation Ax2 Bx C 0. If there are no real roots, then both outputs are NaN. If there is a double root that is real, then both outputs are equal to the double root. If the coefficients correspond to a linear equation (i. e. A is zero) then Root1 is the solution to the linear equation and Root2 is NaN. This VI is configured to run as a subroutine. MGI Nth Root Take the nth root of x. Handles x Ends with Contains Begins with MGI Determine Time Format String Determines a Time Format String for a given string in a common date format. For example Thu, January 1, 2011 3:00 PM would be a, B, d, Y I:M p. The Day Before Month input specifies whether the day or month is first when in a 12111 type format. The Leading Zeros input determines if the day, month number, and hour will have a leading zero if they are only 1 digit. MGI Parse Format String Parses the string at the specified position for a format code. The portion of the string before the format code is output as 8220Delim8221. If an error occurs, then an error is output and the Offset out is -1. MGI Scan From String This PolyVI handles scan from string for special datatypes. Timing VIs are usefull for measuring the execution duration of some code and for providing a delay that uses explicit dataflow using an error cluster. MGI Wait This is the polymorphic version that contains both millisecond and second versions of MGI Wait. Useful to create data dependency on the error lines and to have a smaller icon. If 8220Error In8221 has an error, then this VI won8217t perform the wait. MGI Milliseconds Since Last Call This VI stores the tick count on a shift register and provides as an output the number of milliseconds since the last time this VI was called. MGI Milliseconds Since Last Reset Returns the amount of time in milliseconds since the last time the VI was reset. This VI is non-reentrant. Tree VIs are usefull for populating the LabVIEW Tree control. MGI Get Tree Tag Children Get all child tags of the specified tag for the specified tree control. MGI Populate Tree with Delimited Strings Populates the specified Tree Control with the specified items. The items are delimited strings where the text of each parent is in the string seperated by delimiters. For example, the string 8220CProjectFoo8221 with the delimiter 82208221 would be shown as C Project Foo Each Row in the 2D Items array is a child item. The first column contains the Tags. Subsequent columns contain Text for the Tree control columns. If 8220Use Child Only Items8221 is true, then items in the 2D array that are not followed by a descendent item are inserted as 8220Child Only8221. Otherwise, all items are inserted as Child OnlyFalse. NOTE: If Use Child Only Items is true, then the 2D array must have all parent tags followed immediately by one child item. MGI Tree Rows from Delimited String Array Convert the array of delimited strings stored in the first column of the specified array to Tree Rows. The remaining columns are used as text for each tree row. Post navigationmoving average for 10 values from an array I have to build an application wherein I continuosly get a values stored in an array of a fixed size 10. For every new time interval the last value is deleted and new value is added to the array. At a time 10 values are read and average is calculated. once I get the mean value. I have to compare with the min and max deviation from the mean. If the value of each array of a set is within the range then I have to provide a count which shows number of values in the array set of 10 else show the count as number of values outside the range. A set is of 10 values for each time interval. t0-t9 - 10 values. t2-t11 - 10 values.. for all set i have to provide indication whether the set is valid or not. Message 1 of 8 (916 Views) Re: moving average for 10 values from an array 12-02-2013 04:03 PM Did you do the search that you were supposed to before you asked your question I typed in moving average and the search engine immediately found 100 message threads, and would probably have found more if I had given it time. Many on the first page looked like exactly what you are asking about. To err is human, but to really foul it up requires a computer. The optimist believes we are in the best of all possible worlds - the pessimist fears this is true. Profanity is the one language all programmers know best. An expert is someone who has made all the possible mistakes. To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s): Message 2 of 8 (887 Views) Re: moving average for 10 values from an array 12-03-2013 12:53 AM I did that already, but dont seem to get a proper solution. I am sorry but I am new to labview and working for the academic project which I have to submit within few days from now. I appreciate your help. and I will try to cover up for me through many other posts. Message 3 of 8 (867 Views) Re: moving average for 10 values from an array 12-03-2013 03:50 AM You just want to know if your method is valid right It is when the array is full (10). Had nothing to do so i changed your vi a bit, removed the for-loop and case structure. UnCertified LabVIEW Student Mistakes are for learning, thats why suggestions are always welcome Message 4 of 8 (840 Views) Re: moving average for 10 values from an array 12-03-2013 04:07 AM I appreciate your help. What I am actually looking is that, once gt I get the first 10 ( at time interval t0-t9 and values as a0-a9 ) values in the array I should start processing the mean and not until the 10 arrays have been filled with the values. after first 10 values are filled, i will check for the deviation for each array value from a0-a9, If in range it should indicate yes or else no.( this i already have ). gt once this is processed I should take the data set fom t1-t10, values as a1-a10. this will be my new set. Again I will follow the procedure for the mean check.. gt This goes on continuously. In the earlier vi of mine and in the later one of yours, in both the case the mean is calculated from the first value itself. which is not needed for my case. It should only process once all 10 values are entered. later for all set it should continuously process the mean. (since for lateral time i will always have 10 values in the array). I tried searching for this querry but could not find any proper solution. I would really appreciate if I can be helped. Danke im Voraus. I dont really get your point. You want a moving average from 10 points, this is what you already implemented. But you dont want to average it untill you have your full 10 points If this is what you want there are two options. 1. you create a for-loop infront of the while loops which iterates 9 times your random generator, then connect it to the array shif register. 2. start with an empty array and let the mean calculate from less then 10 points till the array is full, this one is attached. UnCertified LabVIEW Student Mistakes are for learning, thats why suggestions are always welcome


No comments:

Post a Comment