26.03.2013, 20:13
Beitrag #1
|
Quantenpunkt
LVF-Neueinsteiger
Beiträge: 5
Registriert seit: Mar 2013
6.0, 8.0
2011
DE_EN
Deutschland
|
Abbruch einer Whileschleife
Hi,
in meinem Programm soll ein Laser auf eine gewisse Temperatur eingestellt und dann langsam abgekühlt werden. Während des Abkühlens wird mit einem Spektrometer das Maximum der DFB-Mode gemessen. Die While-Schleife, in dem der Messvorgang stattfindet, soll abgebrochen werden, wenn entweder die Endtemperatur erreicht ist oder wenn sich die aktuelle Temperatur über eine gewisse Zeit nicht mehr ändert. Hintergrund ist, dass wenn ich z.B. 10°C als Endtemperatur festlege, aber die Raumtemperatur bei 20°C wird diese Temperatur ja nie erreicht, sondern nur ein minimaler Wert (vlt. 16°C). Ich möchte jetzt gerne, dass wenn sich die aktuelle Temperatur über ca. 5s nicht mehr ändert, dass die While-Schleife trotzdem abgebrochen wird, obwohl die Endtemperatur noch nicht erreicht ist. Leider weiß ich nicht genau wie ich das Programmieren könnte. Hätte da jemand einen Tipp für mich?
Gruß Quantenpunkt
|
|
|
26.03.2013, 20:36
Beitrag #2
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Abbruch einer Whileschleife
Hallo Quantenpunkt,
Zitat:ich möchte jetzt gerne, dass wenn sich die aktuelle Temperatur über ca. 5s nicht mehr ändert, dass die While-Schleife trotzdem abgebrochen wird
Du musst dir einen Ring-Buffer anlegen, der die Messwerte der letzten 5s speichert (abhängig von deiner Samplerate). Dann einfach kontrollieren, ob alle Werte im Ringbuffer (ungefähr) gleich sind (oder nur mit minimaler Toleranz vom Mittelwert abweichen) und du hast deine Abbruchbedingung.
- Das du mehrere Abbruchbedingungen mit einem ODER verknüpfen kannst, weißt du sicherlich.
- Neuere LabVIEW-Versionen haben Pt-By-Pt-Funktionen (z.B. bieten sich Daten-Queue, ArrayMinMax, Standardabweichung an), die auch einen Ringbuffer bereitstellen. Wie das bei LV8 aussieht, weiß ich nicht...
|
|
|
26.03.2013, 20:57
Beitrag #3
|
Quantenpunkt
LVF-Neueinsteiger
Beiträge: 5
Registriert seit: Mar 2013
6.0, 8.0
2011
DE_EN
Deutschland
|
RE: Abbruch einer Whileschleife
Hi Gerd,
danke für die schnelle Antwort. Ich hab mal ein bisschen im Internet danach gesucht, leider finde ich nur sehr komplexe Beispiele, die für mich wenig hilfreich sind und diese vorgefertigten VIs gibts leider bei meiner Version noch nicht. Gibts für einen Ring-Buffer ein "einfaches" Beispiel?
|
|
|
26.03.2013, 21:14
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Abbruch einer Whileschleife
Unter Garantie gibt es einige (auch einfache) Beispiele hier im LVF. Wer sucht, der findet.
Aber ok, hier ein weiteres..
Untitled 5.vi (Größe: 9,11 KB / Downloads: 258)
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
27.03.2013, 09:03
Beitrag #5
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Abbruch einer Whileschleife
Hallo QP,
Zitat:Ich hab mal ein bisschen im Internet danach gesucht, leider finde ich nur sehr komplexe Beispiele, die für mich wenig hilfreich sind und diese vorgefertigten VIs gibts leider bei meiner Version noch nicht.
Statt im Internet könntest du auch bei den mitgelieferten Beispielen suchen, immerhin hat NI einen eigenen Assistenten dafür spendiert...
Bei LV2009 gibt es z.B. das "Recent History Buffer Example", wo das ganze mit einer FGV gelöst wird (die dann letztendlich das gleiche wie Jens' Beispiel macht)...
|
|
|
27.03.2013, 10:34
(Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2013 10:50 von Lucki.)
Beitrag #6
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Abbruch einer Whileschleife
Ja, der "Ringpuffer" gehört mit zu den Lieblingsvorschlägen der LVF-Platzhirsche, ist aber manchmal gar nicht die einfachste und beste Lösung. So sehe ich das auch hier. (So eine kleine Stänkerei tut dem Forum doch gut. Oder etwa nicht? )
Hier ein alternativer Vorschlag (mit etwas Zierrat, damit das Anschauen auch Spaß macht).
Schleifenstop.vi (Größe: 61,94 KB / Downloads: 246)
|
|
|
27.03.2013, 21:48
Beitrag #7
|
Quantenpunkt
LVF-Neueinsteiger
Beiträge: 5
Registriert seit: Mar 2013
6.0, 8.0
2011
DE_EN
Deutschland
|
RE: Abbruch einer Whileschleife
Ok, da habe ich wohl nicht gründlich genug gesucht. Auf jeden Fall funktioniert das jetzt super, vielen Dank!
|
|
|
| |