LabVIEWForum.de - Signale an SubVi,s übergeben ?!

LabVIEWForum.de

Normale Version: Signale an SubVi,s übergeben ?!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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??


im Voraus Danke !!
Lade doch bitte dein Main und SubVI hier hoch - oder zumindest Bilder davon.

Anhand deiner Beschreibung lässt sich zumindest von meiner Seite nach intensiven Nachforschungen(Glas1 Glas2) keine Diagnose stellen.Smile
Meine neue Glas1(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.
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.
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.
Das problem ist doch folgendes:

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 !!
okay hier das Prog.

Lv86_img
Hallo Marina.

Na siehst du - es geht doch!Smile

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.

Grüße,
Tobias


LV8.6
[attachment=24407]
[attachment=24408]
uu Danke !!

top !
Seiten: 1 2
Referenz-URLs