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!
' schrieb:Das heißt, die Vi darf nur die Werte ausspucken die größer als der letzte Größte bzw. kleiner als der letzte kleinste Wert waren. Im Prinzip ja nichts Anderes als ein Array nach dem größten bzw. kleinsten Wert durchsuchen?!?
Wenn du die Daten in Array schreibst, dann kannst du es so machen
Zitat:Du kanns doch über einen Event abfragen, wann der obere Wert (80%?) erreicht ist und kannst dann die Messung beenden lassen....
Ich habe verschiedene Thermoelemente die in den unterschiedlichsten Elektroden verbaut sind, das heißt die resultierenden Spannungen könne unterschiedlich sein. Bei einem fehlerhaften Thermoelement würde die Messung dann ja nie beendet werden. Somit bleibt doch eigentlich nur, die Messung manuell zu stoppen, oder?
ich benutze eine Messbox von DataTranslation die eigene VIs mitbringt deren Aufbau und Funktionsweise nicht gerade sehr gut beschrieben und recht undurchsichtig sind. Vielleicht kommen daher die Probleme die sich jetzt zeigen...
ich rede von der "Stopp"-Funktion im Ende-Frame. Sieht aus wie ein Stopp-Verkehrszeichen, nur ohne den roten Hintergrund...
Terminals sind die Anschlüsse von Bedien- und Anzeigeelementen. Im Init-Frame liegen da jede Menge unbenutzt rum (unsinnigerweise mit ausgeblendeter Beschriftung) - und direkt daneben lokale Variablen eben jener Elemente...
ok, dann war ich mittlerweile auf dem richtigen Weg. Die Sache mit den Terminals hat mich auch sehr gewundert, aber das wurde mir so gezeigt. Um eine Variable zu vergeben, brauche ich doch Anzeigeelemente um darauf zu verweisen? Ich konnte das bisher mit meinem C/C++/Java/Assembler-Wissen zwar nicht ganz nachvolziehen, eine Alternative kenne ich aber nicht. Bin aber für jeden Hinweis dankbar.
Aber ich glaube Du meinst dass ich nicht die Variablen z.B. mit 0 Überschriebe sondern nur die Anzeigeelemente? Werde mal versuchen ob das ausreicht...
Das STOP-Schild habe ich mittlerweile auch entdeckt, wenn ich das mit anderen Sprachen vergleiche müsste das dann einem "BREAK" entsprechen?!? Ist natürlich nicht sehr elegant, werde es auf die Bug-Liste setzen und später ändern. Der Fehler wird daraus aber nicht resultieren denke ich. Ich habe die Vermutung, dass er bei jeder neuen Messung einfach aif alte Werte bei der Auswertung zurückgreift und ich weiß nicht woher die kommen oder wie ich die verhindern kann...
Danke
Heiko
28.09.2010, 10:51 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2010 10:52 von GerdW.)
- STOPP-Schild = Break-Anweisung in anderen Programmiersprachen (oder so ähnlich)
- LabVIEW arbeitet datenflussbasiert und daher ohne Variablen! Daten werden in Drähten transportiert und gespeichert. Alles andere sind Anzeige- und Bedienelemente (Datenquellen und -senken). Theoretisch kommst du ohne "Variablen" aus...
- Dein Fehler dürfte in der FeedbackNode begründet sein... Was passiert ohne FN?
das mit der Datenflusssprache muss ich mir wohl noch ein paar mal hinter die Ohren schreiben bis ich das so richtig gespeichert habe.
Du meinst die FeedbackNode (Schieberegister?) am BuildArray? Naja, ich hab mir gedacht dass das BuildArray immer den neuen Wert an ein vorhandenes Array anhängt und dann das neue Array ausspuckt. Somit muss ich doch das neue Array wieder an den Eingang schalten, oder gitb es da eine elegantere Lösung?
Was ich nicht verstehe ist, wenn ich das BulidArray und die FeedbackNode weg lasse, habe ich immer nur einen Wert im Array der ständig überschrieben wird. Das heißt, an die VI "Zeit bestimmen" wird lediglich ein Wert und zwar der letzte übertragen, frag mich bitte nicht warum das so ist.
Kurioserweise macht die VI vom Messbox-Hersteller (DataTranslation) pro Schleifendurchgang 10 Messungen. Wenn ich die Sample-Rate der VI verändere läuft das Prog nicht mehr, keine Ahnung was in der VI da vorgeht...
Die FeedbackNode macht er automatisch hin wenn ich den Ausgang auf den Eingang schalte, ist doch richtig oder?
"Die FeedbackNode macht er automatisch hin wenn ich den Ausgang auf den Eingang schalte, ist doch richtig oder?"
Das ist eine Einstellung in den Optionen - und die ist bei mir ausgeschaltet. Mich stört es ungemein, wenn LV schlauer sein will als ich selbst bin
"wird lediglich ein Wert und zwar der letzte übertragen, frag mich bitte..."
Dataflow...