LabVIEWForum.de
Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. (/Thread-Kollektor-im-Sub-VI-soll-nur-die-uebergebenen-Werte-an-das-Sub-VI-speichern)

Seiten: 1 2 3


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - bierber - 19.08.2006 08:59

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


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - ahlers01 - 19.08.2006 09:44

' 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?


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - bierber - 19.08.2006 09:46

' 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

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


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - ahlers01 - 19.08.2006 10:00

' 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. - SchwindelInside - 19.08.2006 10:03

' 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?:
[attachment=2967]

schönen Tag noch
SchwindelInside</div>


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - bierber - 19.08.2006 10:09

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


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - ahlers01 - 19.08.2006 10:20

' 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:[attachment=2971][attachment=2970]

' 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. - bierber - 19.08.2006 10:24

die Frage war ja ob man das abstellen kann, das er die Daten sammelt wie oben beschrieben


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - ahlers01 - 19.08.2006 10:26

' 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:
[attachment=2972]


Kollektor im Sub-VI soll nur die übergebenen Werte an das Sub-VI speichern. - Lucki - 19.08.2006 10:39

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?