Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
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!
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
Hallöle miteinander.
Gibt es die Möglichlkeit einem Kollektor ine einem SUB-VI zu sagen er soll nur die jeweils aufgerufen Werte speichern.
Hier malö ein korrektes Beispiel.
Also habe ein Sub-VI mit Kollektor.
dieses wird 3 mal aufgerufen und soll dann messwerte filtern umrechenen und wieder zurückgeben.
So da es sich um 3 verschiedene Messwerte handelt soll der Kollektor nur die jeweils beim aufruf übergebenen Werte speichern.
Ich glaub das hört sich jetzt ziemlich verwirrend an, deshalb nochmal das Problem erläutert
also hab ein Sub-Vi was 3mal aufgreufen wird. in diesem ist ein Kollektor. So der Kollektor sammelt jetzt alle Daten die kommen. Also gibt es ein mischmasch aus allen 3 Kanälen.
Wie sag ich das jetzt dem Kollektor das er nur die Werte sammeln soll die auch wirklich bei diesem Sub-VI-aufruf übergeben wird.
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
' schrieb:Hallöle miteinander.
Gibt es die Möglichlkeit einem Kollektor ine einem SUB-VI zu sagen er soll nur die jeweils aufgerufen Werte speichern.
Hier malö ein korrektes Beispiel.
Also habe ein Sub-VI mit Kollektor.
dieses wird 3 mal aufgerufen und soll dann messwerte filtern umrechenen und wieder zurückgeben.
So da es sich um 3 verschiedene Messwerte handelt soll der Kollektor nur die jeweils beim aufruf übergebenen Werte speichern.
Ich glaub das hört sich jetzt ziemlich verwirrend an, deshalb nochmal das Problem erläutert
also hab ein Sub-Vi was 3mal aufgreufen wird. in diesem ist ein Kollektor. So der Kollektor sammelt jetzt alle Daten die kommen. Also gibt es ein mischmasch aus allen 3 Kanälen.
Wie sag ich das jetzt dem Kollektor das er nur die Werte sammeln soll die auch wirklich bei diesem Sub-VI-aufruf übergeben wird.
Vielleich versteht es ja einer
Also danke mal Felix
Ist wirklich nicht einfach zu verstehen...
Also: Du hast ein einem subVI irgendeine Datenstruktur, die in der Lage ist, sich die beim Aufruf der subVI übergebenen Werte zu merken (vermutlich ein Schieberegister)? Und das Ding nennst Du Kollektor, richtig?
Nun, wenn du die subVI aufrufst, wird, wenn Du es entsprechend programmiert hast, bei jedem Aufruf der dabei übergebene Datensatz in dem 'Kollektor' gespeichert. Das ist genau das, was Du willst: bei jedem Aufruf wird der aktuell übergebene Datensatz gespeichert. Wo also liegt das Problem?
19.08.2006, 09:46 (Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2006 09:49 von bierber.)
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
' schrieb:Ist wirklich nicht einfach zu verstehen...
Also: Du hast ein einem subVI irgendeine Datenstruktur, die in der Lage ist, sich die beim Aufruf der subVI übergebenen Werte zu merken (vermutlich ein Schieberegister)? Und das Ding nennst Du Kollektor, richtig?
Nun, wenn du die subVI aufrufst, wird, wenn Du es entsprechend programmiert hast, bei jedem Aufruf der dabei übergebene Datensatz in dem 'Kollektor' gespeichert. Das ist genau das, was Du willst: bei jedem Aufruf wird der aktuell übergebene Datensatz gespeichert. Wo also liegt das Problem?
nein bei LabVIEW 8 gibt es ein Express VI was sich messwerte merkt. Das nennt sich kollektor
Das Problem ist das ich das sub VI 3 mal aufrufe und 3 mal unterschiedliche Kanäle übergebe. Der Kollektor sammelt jetzt die Daten von allen 3 Kanälen und mixt die wild durcheinander.
Ich will das ich immernur das Werte-Array für den entsprechenden Kanal bekomme
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
' schrieb:nein bei LabVIEW 8 gibt es ein Express VI was sich messwerte merkt. Das nennt sich kollektor
Das Problem ist das ich das sub VI 3 mal aufrufe und 3 mal unterschiedliche Kanäle übergebe. Der Kollektor sammelt jetzt die Daten von allen 3 Kanälen und mixt die wild durcheinander.
Ich will das ich immernur das Werte-Array für den entsprechenden Kanal bekomme
Also
123 --> Sub-VI-->123
456--> Sub-VI --> 456
789--> Sub-VI --> 789
Im Moment bekomme ich das
123 --> Sub-VI-->123456789
456--> Sub-VI --> 123456789
789--> Sub-VI --> 123456789
Hoffe jetzt ist es klarer
Kannst Du mal ein (abgespecktes) Beispiel hochladen?
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
' schrieb:Hallöle miteinander.
Gibt es die Möglichlkeit einem Kollektor ine einem SUB-VI zu sagen er soll nur die jeweils aufgerufen Werte speichern.
Hier malö ein korrektes Beispiel.
Also habe ein Sub-VI mit Kollektor.
dieses wird 3 mal aufgerufen und soll dann messwerte filtern umrechenen und wieder zurückgeben.
So da es sich um 3 verschiedene Messwerte handelt soll der Kollektor nur die jeweils beim aufruf übergebenen Werte speichern.
Ich glaub das hört sich jetzt ziemlich verwirrend an, deshalb nochmal das Problem erläutert
also hab ein Sub-Vi was 3mal aufgreufen wird. in diesem ist ein Kollektor. So der Kollektor sammelt jetzt alle Daten die kommen. Also gibt es ein mischmasch aus allen 3 Kanälen.
Wie sag ich das jetzt dem Kollektor das er nur die Werte sammeln soll die auch wirklich bei diesem Sub-VI-aufruf übergeben wird.
Vielleich versteht es ja einer
Also danke mal Felix
<div align="left">Hallo Felix,
In der Zeit als die Antwort erstellt habe, sind schon wieder einge Antworten eingetrudelt. Mit diesem ExpressVI hab ich nicht allzuviel Erfahrung. Aber könnte dieses VI nicht vielleicht auch Dein Problem lösen?:
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
Die Idee ist zwar gut aber es kann nicht davon ausgegangen werden wie die Daten sortiert sind, da die Werte eigentlich gleichzeitig ankommen kann auch eine Folge von
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
' schrieb:Die Idee ist zwar gut aber es kann nicht davon ausgegangen werden wie die Daten sortiert sind, da die Werte eigentlich gleichzeitig ankommen kann auch eine Folge von
145623789
oder ähnliches auftretten
ich mach grad mal ein Beispiel
Abgesehen davon, dass ich generell die Finger von Express-VIs lasse (zu viel overhead, täuschen Einfachheit vor wo keine ist), verhält sich das Kollektor Express VI meiner Meinung nach so, wie es dokumentiert ist:
subVI.vi (Größe: 45,51 KB / Downloads: 256)
' schrieb:Die Idee ist zwar gut aber es kann nicht davon ausgegangen werden wie die Daten sortiert sind, da die Werte eigentlich gleichzeitig ankommen kann auch eine Folge von
145623789
oder ähnliches auftretten
ich mach grad mal ein Beispiel
Edit BSP-Fertig
Und was gefällt Dir jetzt daran nicht? Passiert doch genau das, was man erwarten würde: der Kollektor sammelt die übergebenen Werte...
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
' schrieb:die Frage war ja ob man das abstellen kann, das er die Daten sammelt wie oben beschrieben
Ja, nimm einfach keinen Kollektor...
Im Ernst: wenn Du die Daten sammeln willst, kriegst Du sie halt auch gesammelt.
Vielleicht willst Du die Daten ja (in dem subVI) einerseits sammeln, und nur die an das subVI übergebenen Teildaten filtern? Dann musst Du halt im subVI den Filteralgorithmus nur auf die übergebenen Eingangsdaten anwenden, und nicht auf die komplette Sammlung, die der Kollektor zurückgibt.
Das subVI köönte dann etwa so aussehen:
19.08.2006, 10:39 (Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2006 10:40 von Lucki.)
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern.
So wie ich Dein Problem verstehe, müßtest Du doch lediglich an den Eingang "rücksetzen" dieses Express-VI die Kontante "true" anschließen, dann wäre die jeweilige Vorgeschichte vergessen und es zählen nur die momentanen Eingangswerte. Aber auf diese naheliegendste Möglichkeit wärest doch Du, oder zumindest einer von denen die Dir hier antworten, längst gekommen, also habe ich das Problem nicht verstanden. Oder doch?