INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Abbruchbedingung while-Schleife führt zu Fehler



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!

04.02.2015, 07:46
Beitrag #1

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
Abbruchbedingung while-Schleife führt zu Fehler
Hallo zusammen!

Ich bin wirklich ein absoluter Neuling was LabVIEW angeht, lacht mich bitte deshalb für mein recht unprofessionelles Gebilde bitte nicht aus, ich weiß, dass das alles andere als perfekt ist Tongue

Nun zum Thema. Ich soll für zehn Hall-Sensoren die Spannung mittels NI USB-6218 messen und dann in Strom umrechnen. Angezeigt werden soll der Stromverlauf, in Dateien gespeichert wird einmal die Ausgangsspannung und die 10 verschiedenen Strommessungen. Eigentlich gibt es gerade noch einen Haufen andere Baustellen, es kann sein dass ich die nächsten Tage öfter hier schreibe, also nicht wundern Wink

Mein größtes Problem momentan ist, dass meine Messung bis zu 3750 Stunden für eine Lebensdauerprüfung laufen muss. Als Abbruchbedingung für meine While-Schleife habe ich eine Lösung aus diesem Forum hier verwendet, gefunden hier: http://www.labviewforum.de/Thread-While-...-Begrenzen

Allerdings bekomme ich jetzt eine Fehlermeldung, sobald das Programm länger als 12 Sekunden läuft Blink
Ich weiß, dass ich Datenreduktion betreiben sollte und auch dass die ganzen Express-VIs wahrscheinlich nicht sehr hilfreich sind, aber ich weiß einfach nicht mal, wonach ich suchen soll oder wie ich das anstelle! Bitte helft mir, das hier ist ein Projekt in meiner Firma und ich komme einfach nicht voran. Wie kann ich es anstellen, dass ich einen Mittelwert über 1000 Samples von meiner Messung bilde und diesen in der Messwertdatei abspeichere statt den Millionen Werten, die es jetzt ansammelt? Die Samplezahl sollte am besten auch noch einstellbar sein am Frontpanel, das ist eine Vorgabe. Ich danke euch jetzt schon für eure Antworten!

Bis bald,
Franzi


Angehängte Datei(en)
13.0 .vi  Überwachung Drehzahlsensorenwww.vi (Größe: 234,93 KB / Downloads: 333)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.02.2015, 08:42 (Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2015 08:43 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo toxico,

Zitat:lacht mich bitte deshalb für mein recht unprofessionelles Gebilde bitte nicht aus, ich weiß, dass das alles andere als perfekt ist
Selbsterkenntnis ist der erste Schritt… Big Grin

Zitat:Mein größtes Problem momentan ist, dass meine Messung bis zu 3750 Stunden für eine Lebensdauerprüfung laufen muss.
Ein halbes Jahr? Mit diesem VI? Never ever…

Für alles, was nicht nur 12s lang laufen soll, kannst du dich erst einmal von ExpressVIs verabschieden! Schau dir die Einsteigerkurse an - und auch alle viele Beispiel-VIs, die mit LabVIEW mitgeliefert werden! Gerade die Beispiel-VIs gefallen durch ihren meist konsequenten Verzicht auf ExpressVIs…
Und mal ehrlich: wozu brauchst du ein ExpressVI, um die simple Rechnung y=(x/100)*1000=x*10 durchzuführen? Hmm

Zitat:Allerdings bekomme ich jetzt eine Fehlermeldung
Es ist schön, dass du diese Meldung bekommst. Aber uns mitteilen, um welchen Fehler es sich handelt, widerstrebt dir?

Zitat:Ich weiß, … dass die ganzen Express-VIs wahrscheinlich nicht sehr hilfreich sind
Selbsterkenntnis… Smile

Zitat:Wie kann ich es anstellen, dass ich einen Mittelwert über 1000 Samples von meiner Messung bilde und diesen in der Messwertdatei abspeichere
Einfach mit DAQmx-Funktionen Messwerte in 1000er Blöcken einlesen und gleich mitteln! Wie schon gesagt: BeispielVIs studieren!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2015, 09:02
Beitrag #3

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Wie kann ich denn zum Beispiel diese Rechnung ohne Express-VI durchführen? Ich weiß es wirklich nicht! Es gibt da diesen Formelknoten, aber mit dem kann ich das nicht machen da wird die Leitung durchgestrichen angezeigt o.O

Die Fehlermeldung lautet folgendermaßen:

"Mögliche Ursachen:

Es wurde versucht, Samples zu lesen, die nicht mehr zur Verfügung stehen. Das Sample war verfügbar, wurde jedoch überschrieben.

Das Problem lässt sich möglicherweise durch Vergrößern des Puffers, häufigeres Lesen der Daten oder Angabe einer festen Anzahl zu lesender Samples (statt aller verfügbaren Samples) beheben."

Ich weiß halt nicht, was Puffer sind bzw. wie ich die ausnutzen kann. Und das mit der festen Anzahl an Samples weiß ich nicht ob das so gut ist, das lässt sich ja über die Timing-Einstellungen des DAQ-Assistenten regeln, hat aber bisher auch zu Problemen geführt.

Danke auf jeden Fall schon mal für deine Tipps, das mit den Beispiel-VIs habe ich ganz verdrängt, gute Idee!

Grüße,
Franzie
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2015, 09:09 (Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2015 09:09 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo toxico,

Zitat:Wie kann ich denn zum Beispiel diese Rechnung ohne Express-VI durchführen? Ich weiß es wirklich nicht!
Es gibt da eine ganze Palette mit einfachen numerischen Funktionen. Da ist auch eine Multiplikation dabei… Wall
Du hast den Wink mit dem Zaunpfahl im vorigen Beitrag bemerkt? Du hast die Links in meiner Signatur registriert und bist aktuell dabei, diese durchzugehen?

Zitat:Es wurde versucht, Samples zu lesen, die nicht mehr zur Verfügung stehen. Das Sample war verfügbar, wurde jedoch überschrieben.
Das Problem lässt sich möglicherweise durch … häufigeres Lesen der Daten oder Angabe einer festen Anzahl zu lesender Samples (statt aller verfügbaren Samples) beheben."
Fehler: zu hohe Samplerate kombiniert mit zu kleiner Sampleanzahl pro Abfrage…
Lösung: niedrigere Samplerate mit größerer Sampleanzahl pro Abfrage…

Mit welcher Samplerate arbeitest du? Fragst du schon die 1000er Blöcke ab, über die du mitteln willst?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2015, 09:19
Beitrag #5

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Dankeschön! Ja die Links hab ich mittlerweile bemerkt, sorry Tongue

Und das mit der Formel war wohl zu offensichtlich Wall peinlich peinlich.

Was die Samplerate angeht: ich arbeite momentan mit dem Erfassungsmodus "kontinuierlich", habe 100 zu lesende Werte und eine Rate von 1000Hz. Ich bin mir nicht sicher wie diese Komponenten aufeinander einwirken und wie ich das einstelle, sodass es passt. Ich habe auch so das dumpfe Gefühl, dass ich den Modus auf "Endliche Anzahl" einstellen sollte :/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2015, 09:25
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo toxico,

Zitat:Ich habe auch so das dumpfe Gefühl, dass ich den Modus auf "Endliche Anzahl" einstellen sollte :/
Nein, überhaupt nicht. Du würdest dich dann wundern, warum du eben nur 100 Samples geliefert bekommst. Du willst doch kontinuierlich messen, sogar ein halbes Jahr lang…

Zitat:ich arbeite momentan mit dem Erfassungsmodus "kontinuierlich", habe 100 zu lesende Werte und eine Rate von 1000Hz. Ich bin mir nicht sicher wie diese Komponenten aufeinander einwirken und wie ich das einstelle, sodass es passt.
Schon wieder simple Mathematik: 1kHz Samplerate und 100 zu lesende Werte (was schon dem empfohlenen Verhältnis beider Kennwerte von 1:10 entspricht) bedeuten 100/1000Hz=0.1s Lesezeit.
Anscheinend braucht dein VI aber länger als 0.1s pro Iteration und kommt mit dem Anholen der nächsten Samples nicht hinterher: auch hier greift wieder die Erkenntnis, dass ExpressVIs (mangels klarer Einsicht in ihre Abläufe) nicht wirklich empfehlenswert sind…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.02.2015, 09:31
Beitrag #7

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Schon wieder simple Mathematik: 1kHz Samplerate und 100 zu lesende Werte (was schon dem empfohlenen Verhältnis beider Kennwerte von 1:10 entspricht) bedeuten 100/1000Hz=0.1s Lesezeit.
Anscheinend braucht dein VI aber länger als 0.1s pro Iteration und kommt mit dem Anholen der nächsten Samples nicht hinterher: auch hier greift wieder die Erkenntnis, dass ExpressVIs (mangels klarer Einsicht in ihre Abläufe) nicht wirklich empfehlenswert sind…


--> das heißt also, ich könnte das Verhältnis auch einfach 1kHz auf 1000 zu lesende Werte setzen? Ich glaube trotzdem nicht, dass es danach für eine so lange Messung reicht :/ Aber auf das ExpressVI DAQ-Assistent kann ich ja schlecht verzichten oder? Gibt es dafür tatsächlich eine Alternative? Auch die Messwerte in Dateien zu speichern, es bleibt mir kaum etwas anderes übrig.
Allerdings habe ich etwas gefunden, was sich "Mittelwert (Punkt für Punkt)" nennt. Damit kann ich die Daten einlesen und die Sample-Länge über ein Bedienelement eingeben - könnte das funktionieren? Es sieht leider sehr umständlich aus (im Anhang ist das Programm dazu).


Angehängte Datei(en)
13.0 .vi  Überwachung Drehzahlsensoren2MittelwertmitSamples.vi (Größe: 140,75 KB / Downloads: 225)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2015, 09:35 (Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2015 11:36 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo toxico,

Zitat:Aber auf das ExpressVI DAQ-Assistent kann ich ja schlecht verzichten oder? Gibt es dafür tatsächlich eine Alternative?
Zum dritten mal der Hinweis auf die BeispielVI-Sammlung, die mit LabVIEW und DAQmx mitinstalliert wird. Und erneut der Wink mit dem Zaunpfahl, dass diese BeispielVIs konsequent auf ExpressVIs verzichten…

Zitat:Auch die Messwerte in Dateien zu speichern, es bleibt mir kaum etwas anderes übrig.
Zum vierten mal der Hinweis auf die BeispielVIs, die mit LabVIEW… (Den Rest des Satzes kennst du schon. Big Grin)

Zitat:Allerdings habe ich etwas gefunden, was sich "Mittelwert (Punkt für Punkt)" nennt. Damit kann ich die Daten einlesen und die Sample-Länge über ein Bedienelement eingeben - könnte das funktionieren? Es sieht leider sehr umständlich aus (im Anhang ist das Programm dazu).
Nein, das ist hier die falsche Funktion. Wie schon der Name (und erst recht die Kontexthilfe!) sagt, ist diese Funktion für Fälle gedacht, in denen mit einzelnen Messwerten gearbeitet wird. Aber es gibt ja auch ein "normales" Mean

Um es noch mal in aller Deutlichkeit zu sagen:
Du willst ein Programm schreiben, welches für ein halbes Jahr stabil laufen soll - also nimm dir jetzt die 2-4 Wochen Zeit, dieses auch vernünftig zu erstellen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2015, 14:12
Beitrag #9

toxicomanie Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Feb 2015

2014
2015
DE


Deutschland
Spannungsmessung von Hall-Sensoren
Hallo zusammen!

Ich bin wirklich kurz vorm Verzweifeln, weil ich erst seit ca. 2 Wochen mit LabVIEW arbeite und meinen ersten Auftrag ziemlich schwer finde. Ich bin euch für eure Hilfe wirklich dankbar!

Die Aufgabe sieht folgendermaßen aus:

Ich baue eine Schaltung auf mit 10 Hall-Sensoren, die jeweils in Reihe mit einem Widerstand geschalten sind. Über dem 200Ohm-Widerstand messe ich jeweils die Spannung mit einer NI USB-6218 Karte. Diese Spannung soll umgerechnet werden, um den Strom zu bestimmen der durch die Hall-Sensoren fließt.
Die Aufgabe in LabVIEW besteht darin, jede Minute (diese Zeit soll einstellbar sein) einen Mittelwert dieser gemessenen Werte zu nehmen; die Werte werden alle 10ms abgetastet (auch das soll einstellbar sein, sowie die Samplerate). Die Daten werden anschließend in einer Datei abgespeichert - in Excel, mit passenden Überschriften. Außerdem soll jede Minute das Minimum und das Maximum der alle 10ms gemessenen Werte aufgezeichnet werden und ebenfalls in dieselbe Datei geschrieben werden. Zu guter Letzt soll man einen Schwellwert festlegen und in einer zweiten Datei festhalten, wie hoch die Werte waren, die drüber lagen und am besten noch anzeigen, wie viele Werte drüber lagen.

Ich bin leider noch nicht wirklich mit einem messerscharfen Verstand ausgestattet was LabVIEW betrifft und bin jetzt etwas ratlos, wie ich überhaupt anfangen soll o.O Ich greife viel zu häufig auf ExpressVIs zurück, und auch wenn ich mir BeispielVIs anschaue, kann ich mir damit nicht weiterhelfen weil ich nicht nachvollziehen kann, was da passiert. Nichtsdestotrotz möchte ich mir die Aufgabe so gut es geht selber erarbeiten und hoffe, ihr könnt mir ein bisschen zur Seite stehen.
Angefangen habe ich jetzt mit einem DAQ-Assistenten, in dem ich die verschiedenen Kanäle auflisten kann, mit denen die Spannungen gemessen werden (hier wird auch die Eingangsspannung gemessen). Auf den DAQ-Assi kann ich leider nicht verzichten, Anweisung von oben.
Jetzt möchte ich gern die Sache mit den Mittelwerten erledigen und habe hier auch schon einen Forums-Beitrag gefunden, der ziemlich genau das beschreibt, was ich vorhabe http://www.labviewforum.de/Thread-Werte-...ert-bilden
Nur leider kann ich der Struktur nicht wirklich folgen und würde ungern etwas verwenden, was ich nicht kapiere. Ich habe in den Anhang nochmal den Screenshot davon gehängt, kann mir einer vllt einen Kommentar dazu geben? Wo würde ich meine Daten reinstecken? Das Problem ist ja, dass vom DAQ-Assi die Werte für alle 10 Sensoren auf einmal rauskommen, wo stecke ich die dann rein? Tongue Tut mir leid dass ich es nicht besser formulieren kann und 1000 Dank für eure Hilfe!

Grüße, Franzie


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.02.2015, 14:26
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Abbruchbedingung while-Schleife führt zu Fehler
Hallo toxico,

ich habe deinen zweiten Thread mal dem ersten angehängt. Grundsätzlich hat sich ja noch nichts am Thema geändert - und andere bekommen die Zusammenhänge besser mit…

Zitat:Auf den DAQ-Assi kann ich leider nicht verzichten, Anweisung von oben.
Hmm
Ich übersetze: "Erstelle bitte ein langzeitstabil laufendes Programm mit von vornherein buggy Elementen!"
Wenn dein "Anweisung von oben" das nicht versteht, soll er/sie bitte ebenfalls dem Forum beitreten…

Zitat:Ich habe in den Anhang nochmal den Screenshot davon gehängt, kann mir einer vllt einen Kommentar dazu geben?
LabVIEW hat eine Kontexthilfe. Und einen Highlighting-Debugging-Modus, da kannst du dem DATAFLOW bei der Arbeit zuschauen…
Und es gibt Sonden. Also: Probiere diese Tools mal aus und versuche, dieses VI selbst zu ergründen! (Der Lerneffekt ist ungleich höher!)

Zitat:Die Aufgabe in LabVIEW besteht darin, jede Minute (diese Zeit soll einstellbar sein) einen Mittelwert dieser gemessenen Werte zu nehmen;
Aus Mittelwert-Zeit und Samplerate kann man ausrechnen, über wieviele Samples man mitteln will…

Zitat:die Werte werden alle 10ms abgetastet (auch das soll einstellbar sein, sowie die Samplerate).
Samplerate = 1/Sampleintervall, es geht hier also nur um eine einzige Einstellung…

Zitat: Die Daten werden anschließend in einer Datei abgespeichert - in Excel, mit passenden Überschriften.
Muss es denn immer gleich das Schlagwort EXCEL sein?
Du kannst auch simple Textdateien erstellen, mit den dann Excel (und beliebige andere Software) bequem umgehen kann!

Zitat:Außerdem soll jede Minute das Minimum und das Maximum der alle 10ms gemessenen Werte aufgezeichnet werden und ebenfalls in dieselbe Datei geschrieben werden. Zu guter Letzt soll man einen Schwellwert festlegen und in einer zweiten Datei festhalten, wie hoch die Werte waren, die drüber lagen und am besten noch anzeigen, wie viele Werte drüber lagen.
All diesen Aufwand könntest du dir beim Einsatz anderer Software wie DIADEM sparen. Habt ihr das?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question Schalter deaktivieren führt zu race condition, wie umgeht man das? TpunktN 4 3.476 12.05.2021 09:18
Letzter Beitrag: TpunktN
  Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption spacz 8 6.573 28.10.2019 09:01
Letzter Beitrag: spacz
  Case-Struktur führt True und False aus (Ereignisschleife) HIMI 11 9.067 24.08.2017 13:04
Letzter Beitrag: HIMI
  Messwertüberprüfung - mit Abbruchbedingung Marbec 10 7.162 26.11.2015 10:32
Letzter Beitrag: Marbec
  Abbruchbedingung While Schleife KingLui 6 6.107 07.11.2014 13:25
Letzter Beitrag: jg
  Abbruchbedingung meiner While Schleife LabVI 9 7.199 19.09.2014 15:20
Letzter Beitrag: LabVI

Gehe zu: