LabVIEWForum.de
Vergleich eines Messwertes mit oberer/unterer Schranke - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Vergleich eines Messwertes mit oberer/unterer Schranke (/Thread-Vergleich-eines-Messwertes-mit-oberer-unterer-Schranke)



Vergleich eines Messwertes mit oberer/unterer Schranke - marvin71 - 12.06.2006 10:29

<div align="left">Hallo zusammen,

ich habe ein Programm geschrieben, welches eine Temperaturrampe steuert. Die Temperaturwerte werden nacheinander aus einer Datei ausgelesen und als setpoints an einen T-Controller übergeben. Wenn der jeweilige Temperaturwert erreicht ist, startet eine innere Schleife, die eine Strom-Spannungs-Kennlinie über einer Probe aufnimmt.
Soweit, so gut. Da das Programm bis zu Temperaturen von 77K arbeiten soll, will ich eine Vergleichsschleife implementieren, die abfragen soll, ob der erreichte Temperaturwert T während eines gewissen Zeitraums nur innerhalb eines bestimmten Intervalls T+dT bzw T-dT schwankt. Das soll eine Art Kriterium für die Stabilität des angefahrenen setpoints gelten. Erst dann soll die innere I-U-Schleife starten. Wie kann eine solche Vergleichsschleife realisiert werden?

Vielen Dank im voraus!
marvin</div>


Vergleich eines Messwertes mit oberer/unterer Schranke - Kvasir - 12.06.2006 12:38

Hallo,

wie liest du denn die Temperaturwerte aus?
Liest du sie einzeln aus, und willst eine zeitlang überprüfen, ob sie im Bereich sind, oder mißt du zuerst über eine Zeitspanne und willst im Nachhinein sehen, ob die Grenzen überschritten wurden?

Es gibt eine Funktion "Wertebereich überprüfen" unter "Vergleich". Der kannst du eine obere/untere Schranke angeben und bekommst ein Boolean als Antwort, ob dein Signal innerhalb der Werte liegt. Damit sollte sich deine Schleife realisieren lassen.


Vergleich eines Messwertes mit oberer/unterer Schranke - marvin71 - 12.06.2006 12:50

<div align="left">Hallo Kvasir,

ich lese mittels einer for-loop einen Temperaturwert aus einer Datei aus (spreadsheet-file). Damit gehe ich in eine Sequenz-Struktur. Die erste Sequenz enthält eine while-loop, innerhalb der der T-Controller gesteuert wird. Heater-output wird angeschaltet und die aktuelle Temperatur gemessen. Dann wird mit dem Sollwert verglichen. Stimmen beide nicht überein wird wieder gemessen u.s.w. Wenn der Sollwert erreicht ist, geht es in die nächste Sequenz, die die I-U-Schleife steuert -> Messwerte werden abgespeichert. Dann übergibt die for-loop den nächsten Temperaturwert der Rampe als Sollwert an die Sequenzstruktur usw. Ich möchte nun gerne innerhalb der Temperatursequenz, genauer innerhalb der while-loop die aktuelle Temperatur mit dem Sollwert so vergleichen, dass erst dann I-U gefahren wird, wenn T innerhalb eines gewissen Zeitraums t nicht stärker als +/- dT um den eingestellten Sollwert schwankt. Aber wie???


Viele Grüße
M.</div>


Vergleich eines Messwertes mit oberer/unterer Schranke - marvin71 - 12.06.2006 13:44

' schrieb:Hallo,

wie liest du denn die Temperaturwerte aus?
Liest du sie einzeln aus, und willst eine zeitlang überprüfen, ob sie im Bereich sind, oder mißt du zuerst über eine Zeitspanne und willst im Nachhinein sehen, ob die Grenzen überschritten wurden?

Es gibt eine Funktion "Wertebereich überprüfen" unter "Vergleich". Der kannst du eine obere/untere Schranke angeben und bekommst ein Boolean als Antwort, ob dein Signal innerhalb der Werte liegt. Damit sollte sich deine Schleife realisieren lassen.

Hi Kvasir,

ich habe das Problem mit der "In Range and Coerce"-Funktion soweit in den Griff bekommen. Danke für den Tipp. Nun soll das Programm nur noch überprüfen können, ob der Istwert innerhalb eines definierbaren Zeitfensters innerhalb der Grenzen bleibt. Kann man das mit einer case-Struktur realisieren? Wenn ja, wie? Damit habe ich leider keine Erfahrungen. Für eine Hilfe wäre ich dankbar!

Viele Grüße


Vergleich eines Messwertes mit oberer/unterer Schranke - Kvasir - 12.06.2006 13:52

Hilft dir das weiter?

Kann leider nicht auf 6.1 runterspeichern.
Die Schleife überprüft nun jeden Temperaturwert, ob er innnerhalb deiner Grenzen liegt. Wenn dies der Fall ist, erhöht sich der Counter um 1.
Sind 5 Temperaturwerte hintereinander innerhalb des Bereichs bricht die Schleife ab.
Ist ein Wert außerhalb deines Bereichs, so resettet der Counter wieder auf 0.

edit: Wenn du den Abstand zwischen deinen Temperaturmessungen kennst, dann ist das Intervall, in dem deine Messung im Bereich liegt Counter*Delta t. (In meinem Beispiel also 5*500ms) Über die Abbruchbedingung kannst du das dann variieren.


Vergleich eines Messwertes mit oberer/unterer Schranke - marvin71 - 12.06.2006 13:59

Vielen Dank, damit ist mir sehr geholfen! Die Abfrage der Grenzen hab ich genauso realisiert, ich füge jetzt noch die Schleife ein und dann sollte alles laufen. Danke für die Mühe!

Viele Grüße