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!
Hallo, und noch eine Frage von einem Newbie an die Pro,s.
Ich habe das Problem daß, wenn ich in meinem Main.vi ein Signal erzeuge/lese und dieses Signal an ein Subvi übergebe (mit normalen Bedienelement-anschlüssen[DBL-Format]), das SubVi nicht die erwarteten Werte berechnet.
Probe halber habe ich das gleiche Signal in dem Subvi erzeugen lassen und mit den gleichen Formeln/Funktionen rechnen lassen, und dabei kamen dan die erwarteten Werte raus!!
Meine Frage also,....Was läuft da schief ? und wie löse ich dieses Problem ??
Kann ich etwa mit der Messkarte erfasste Werte direkt in ein Subvi reinziehen ? Wäre das sinnvoll??
Meine neue (jetzt mit LV-BS, war schweine teuer, guck mer mal was sie taugt) sagt: Wenn du im SubVI verbleibst, z.B. in einer While-Schleife, die erst durch eine Benutzereingabe beendet wird, kann das nix werden, wenn die Daten, die im SubVI ausgewertet werden soll, im MainVI erzeugt werden.
Das SubVI kennt nur die Daten, die zum Zeitpunkt des Aufrufens vorhanden sind. Alle Daten, die danach entstehen, kennt das SubVI nicht.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
12.02.2010, 11:53 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2010 11:54 von marina_mk88.)
Genau das ist das Problem, Das Sub bekommt nur diskrete Werte von einem Signal, und nicht das Signal selbst.
Gibt es da eine möglichkeit eine Art Tunnel zu haben, und Signale kontinuierlich in Subs einfliesen zu lassen ??
hier paar Pics.
PS. verbleibe nicht im Sub, habe keine While schleife drinnen. nur das Main hat eine Whileschleife, was ja logisch ist,....soll ja dauernd Messen und auswerten.
' schrieb:Gibt es da eine möglichkeit eine Art Tunnel zu haben, und Signale kontinuierlich in Subs einfliesen zu lassen ??
Warum brauchst du einen Tunnel (z.B. Queues oder Referenzen), wenn du das SubVI doch wieder verlässt? Ich gehe nun davon aus, dass das SubVI in der While-Schleife des MainVI kontinuierlich aufgerufen wird.
Zitat:hier paar Pics.
Aus den Bildern kann ich nicht heraus lesen, wo du einen Fehler gemacht hast. Hier ersehe ich nicht die definitive Verbindung zwischen MainVI und SubVI.
Meine neue Glaskugel sagt lediglich, dass du nicht genau Bescheid weißt über das Datenflußprinzip. Klingt blöd, ist aber so.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Ich bleibe dabei: lad deine 2 VIs hoch und dir wird sicherlich sehr schnell geholfen.
Die Bilder waren ein Anfang, aber sind leider nicht sehr aussagekräftig, wenn man den Rest des VIs nicht kennt.
Ein Sinus welcher im Main erzeugt wird, soll im Sub eingespeist werden. Im Sub soll dann das Maximum und das Minimum des Signal (Amplituden also) bestimmt werden, um damit Bestimmte Werte zu errechnen.
Dabei ruft Main das Sub auf, und übergibt ihm jedoch nur einen bestimmten Wert des Signals, z.B. Sin(t=1.123s)! Das ist jedoch ein fester Wert, also eine Double Zahl!
Und daher bestimmt das Sub auch das Max = Min !! Das darf es natürlich nicht!!
Daher frage ich mich wie die Übergabe eines kontinuierlichen Signals an ein Sub zu realisieren ist....Wenn überhaupt! Glaube ja nicht !!
Ps. Eine Frage nebenbei noch. Kombinierte Werte an ein Sub zu übergeben geht auch nicht oder ???? Wie erstelle ich passende Eingänge für das Sub. Siehe Anhang.
Achso,....DANKE für die mühe !!
12.02.2010, 13:07 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2010 14:22 von jg.)
Hier die Lösung deines Problems:
Du musst das Signal entweder als Arraz oder direkt an dein SubVI übergeben. Dazu erzeugst du dir eine Anzeige (Graph) deines Signals und konvertierst diese zu einem Control. Jetzt kannst du dieses Control als Eingang zum SubVI nutzen.
Da die Min/Max-Werte einfache Skalare sind habe ich das Signal umgewandelt in einen Skalar und diesen über die numerischen Indikatoren wieder ans MainVI zurückgegeben. Ich habe es exemplarisch in deinen Dateien gemacht, aber vorsicht, in der Version wird nicht der Min/Max von deinem eigentlichen Wunschsignal gezeigt. Aber das umzuändern ist ja nun ein leichtes.