Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
RE: Abbruchbedingung while-Schleife führt zu Fehler
(03.03.2015 11:47 )toxicomanie schrieb: wird bei dem rot eingekreisten autoindizierten Tunnel pro Iteration eine ganze Zeile an die Schleife übergeben?
Ja.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
RE: Abbruchbedingung while-Schleife führt zu Fehler
Danke Jens!
Was ich mir gerade nicht erklären kann, ist dass ich als Messwert beim Strom bei Klemme 17 einen Maximalwert von 10,xx habe, in der Schwellwertdatei steht aber, dass es einen Schwellwert mit der Amplitude 12,xx gab! Sollte nicht die 12 auch als Maximum stehen?
RE: Abbruchbedingung while-Schleife führt zu Fehler
Aus der Hilfe zum Peak Detector:
Zitat:The data set can be passed to the Peak Detector VI as a single array or as consecutive blocks of data.
This Peak Detector VI is based on an algorithm that fits a quadratic polynomial to sequential groups of data points. The number of data points used in the fit is specified by width.
For each peak or valley, the quadratic fit is tested against the threshold. Peaks with heights lower than the threshold or valleys with troughs higher than the threshold are ignored. Peaks and valleys are detected only after the VI processes approximately width/2 data points beyond the location of the peak or valley. This delay has implications only for real-time processing.
The Peak Detector VI must be notified when the first and last blocks are passed into the VI, so that the VI can initialize and then release data internal to the peak detection algorithm.
Somit: Das Maximum des Peaks wird aus der Quadratischem Polynom Fit berechnet und nicht aus den Messwerten. Der errechnete Wert kann somit durchaus höher sein als die Messwerte.
Ruf mal das Beispiel-VI aus der Hilfe auf...
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
RE: Abbruchbedingung while-Schleife führt zu Fehler
Ah okay das hatte ich schon wieder ganz verdrängt mit der quadratischen Annäherung stimmt.
Gerade habe ich noch ein weiteres VI für Spitzenwerterkennungen gefunden, das die nötigen Parameter besitzt. Es nennt sich Spitzenwerterkennung für Signalverläufe - ich habe mit der LabView-Hilfe beide VIs verglichen, und ich kann keinen wirklichen Unterschied feststellen. Wird eines vorrangig verwendet? Bei Spitzenwerterkennung für Signalverläufe gibt es in der Hilfe keinen Absatz mit Details wie bei Spitzenwerterkennung, aber ich gehe mal davon aus dass auch hier eine quadratische Anpassung stattfindet?
04.03.2015, 10:09 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2015 10:10 von GerdW.)
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo toxico,
Zitat:Bei Spitzenwerterkennung für Signalverläufe gibt es in der Hilfe keinen Absatz mit Details wie bei Spitzenwerterkennung, aber ich gehe mal davon aus dass auch hier eine quadratische Anpassung stattfindet?
Die Hilfe zur Funktion enthält einen Abschnitt "Details". Dort wirst du auf einen KB-Artikel auf NI.com verweisen, der alle Spitzenwert-Funktionen erläutert. Und dort wiederum liest man:
Zitat:The Waveform Peak Detection VI operates like the array-based Peak Detector VI. The difference is that this VI's input is a waveform data type, and the VI has error cluster input and output terminals.
RE: Abbruchbedingung while-Schleife führt zu Fehler
Nach einer Besprechung gab es jetzt noch mal ein paar Änderungs- bzw. zusätzliche Wünsche. Zum einen habe ich einen Header für jede Datei eingefügt in dem alle wichtigen Angaben stehen, also wann die Messung gestartet wurde und wie lange sie gedauert hat etc. Das mit den Schwellwerten wurde etwas abgeändert und zwar soll sich einstellen lassen, ob der gemessene Wert des Stroms in einem "Fenster" von 4-17mA liegt.
Dann sollte ich auch noch die Mittelwerte, die Minima und die Maxima in einem Signalverlaufsgraphen anzeigen lassen - jeweils extra für die beiden Karten. Auch hier habe ich mich schon mal rangewagt und eine "Lösung" gefunden. Ich wäre allerdings trotzdem ganz froh, wenn nochmal jemand drüberschauen würde, ob das so geht. Ganz konkret habe ich in der case-Struktur die jeweils skalaren Werte von Mittelwert, Maximum und Minimum über einen indizierten Tunnel herausgeführt und dann die insgesamt 60 Werte am Index 30 geteilt, sodass die Mittelwerte der Karte 1 bzw. die Mittelwerte der Karte 2 in separaten Diagrammen angezeigt werden. Wenn ich das Programm laufen lasse, erscheint mir die Anzeige sinnvoll - habe ich alles richtig gemacht oder ist das totaler Quatsch? Ich freue mich auf eure Antworten und danke euch wie immer für eure Nachsicht mit mir!
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo zusammen!
Da es ab nächste Woche wieder ans Studieren geht, rennt mir so langsam die Zeit davon - vor allem in Anbetracht der Tatsache, dass meinen Chefs die neuen Ideen für das Programm gar nicht auszugehen scheinen.
Wie dem auch sei, ich soll jedenfalls noch eine Temperaturmessung mittels Pt1000 implementieren. Ich habe einen Vorwiderstand von 10,5 kOhm, in Reihe dazu wird der Pt1000 liegen. über dem Pt1000 messe ich die Spannung mit dem NI-DAQ-Gerät. Wie soll ich jetzt den Widerstand ausrechnen, ich habe ja keinen Strom gegeben und kann diesen auch nicht ausrechnen? Die Eingangsspannung ist auf 10 Volt festgesetzt, aber dadurch, dass sich der Widerstand des Pt1000 verändert, ändert sich ja auch der Anteil der Spannung die über dem Vorwiderstand abfällt.
Auch die Temperatur-Umrechnung macht mir Sorgen, auf ni.com habe ich zwar schon eine Formel gefunden -->
TDev2=((-1)*R*A+(sqrt(R*R*A*A-4*R*B*(R-RDev2))))/(2*R*B);
jedoch vertraue ich dieser Formel nicht wirklich.
11.03.2015, 09:43 (Dieser Beitrag wurde zuletzt bearbeitet: 11.03.2015 09:47 von GerdW.)
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo toxico,
Zitat:Wie dem auch sei, ich soll jedenfalls noch eine Temperaturmessung mittels Pt1000 implementieren. Ich habe einen Vorwiderstand von 10,5 kOhm, in Reihe dazu wird der Pt1000 liegen. über dem Pt1000 messe ich die Spannung mit dem NI-DAQ-Gerät. Wie soll ich jetzt den Widerstand ausrechnen…?
Du kennst die Gesamtspannung über zwei Widerstände und die Spannung über einem der beiden Widerstände. Wie berechnet man dann wohl den einen Widerstand, wenn der andere bekannt ist?
RE: Abbruchbedingung while-Schleife führt zu Fehler
Manchmal sehe ich den Wald vor lauter Bäumen nicht mehr...
Hier also ein Bild von dem, was ich jetzt erstellt habe und meine Erklärung dazu: Ich füge beide Spannungswerte zu einem Array zusammen, anschließend folgt diese Rechnung:
Uges-U2=U1;
Uges/U1*R1=Rges;
Rges-R1=R2;
Danach leite ich die Werte durch zwei ineinander verschachtelte for-Schleifen und berechne über die Formel für positive Temperaturen (R(T)=R0*1+R0*A*T+R0*B*T^2 ---> umgestellt über die Mitternachtsformel --> T=-R0*A+sqrt((R0*A)^2-4*R0*B*(R0-R(T)))/2*R0*B) die einzelnen Temperaturwerte.
Danke Gerd!
Edit:
Ich habe leider noch keinen Pt1000 zum Testen da, habe aber einen einfachen Widerstand verdrahtet und die ausgegebene Temperatur mit einer Tabelle verglichen, die Werte passen!