28.08.2009, 15:14
28.08.2009, 15:23
Nö, weil es nur ein einziges "Stamm-VI" der Clones gibt.
Gruß Markus
Gruß Markus
28.08.2009, 15:24
Gut, dann muss ich ne andere Lösung finden. Danke Dir!
28.08.2009, 15:28
Was hast Du denn vor? Wenn die Clones unterschiedlich sein sollen, dann mach' doch einfach unterschiedliche SubVIs.
Gruß Markus
Gruß Markus
' schrieb:Gut, dann muss ich ne andere Lösung finden. Danke Dir!
28.08.2009, 15:34
Ich bin anderer Meinung als Y-P. Ich kenn mich zwar bei reentrant VIs (vor allem wenn sie dynamisch aufgerufen werden), nicht sooo genau aus, aber es gibt doch diese VI-Properties:
[attachment=20885]
Somit hat jede reentrant Instanz (ich meine sogar) dynamisch zur Laufzeit einen eigenen Clonenamen, und somit sollte es möglich sein, auch auf jede gerade laufende Instanz zuzugreifen. Ds ist doch gerade der Gag bei reentrant, dass das VI mehrmals im Speicher ist, jeweils mit seinem eigenen Speicherbereich, und somit unabhängig von der nächsten Instanz.
Gruß, Jens
[attachment=20885]
Somit hat jede reentrant Instanz (ich meine sogar) dynamisch zur Laufzeit einen eigenen Clonenamen, und somit sollte es möglich sein, auch auf jede gerade laufende Instanz zuzugreifen. Ds ist doch gerade der Gag bei reentrant, dass das VI mehrmals im Speicher ist, jeweils mit seinem eigenen Speicherbereich, und somit unabhängig von der nächsten Instanz.
Gruß, Jens
28.08.2009, 15:34
Der Zugriff auf die einzelnen Clones macht ja nur zu Laufzeit Sinn und dort kann auch einfach im blockdiagramm durch Doppelklick darauf zugegriffen werden. Wenn die Fehlerbehandlung aktiviert ist können auch Sonden gesetzt werden, die dann natürlich nur die Daten dieses einen Clones anzeigen. Bei dynamisch aufgerufenen VIs mit geschlossenem FP geht es meines Wissens nicht, wäre aber glücklich, wenn ich mich irre.
Das gesagte gilt natürlich nur, wenn jedes VI seinen eigenen Speicher hat. Wenn nicht, geben die Sonden die Daten aller Clones aus.
Das gesagte gilt natürlich nur, wenn jedes VI seinen eigenen Speicher hat. Wenn nicht, geben die Sonden die Daten aller Clones aus.
28.08.2009, 15:44
Naja ich möchte auf eine FGV (Clone) zugreifen, um nicht für jedes meiner SubVIs die gleichen Infos zu haben. Ich habe jetzt 5 SubVIs der gleichen Art erstellt um das Prob zu umgehen, allerdings halt ich das für programmiertechnischen Unsinn, da am Ende die Performance leidet.
28.08.2009, 15:51
Eine FGV kann nicht reentrang laufen. Der Sinn einer FGV ist ja, Daten zu speichern, was zwar dann noch funktioniert, aber auf diese nur von einer Stelle aus dem Programm zugegriffen werden kann, nämlich von dort, wo auch die Daten reingeschrieben wurden. Siehe auch http://www.LabVIEWforum.de/FGV-Funktionale...ble-t13910.html
28.08.2009, 17:34
Hallo,
NafeZ du solltest vielleicht die Struktur nochmal überdenken bzw. genauere Info´s geben.
Zur Machbarkeitsstudie:
Im Anhang ein Screenshot mit einem Vorschlag um an die VI-Referenz des Clone´s zu kommen.
Gruß
Ralf
NafeZ du solltest vielleicht die Struktur nochmal überdenken bzw. genauere Info´s geben.
Zur Machbarkeitsstudie:
Im Anhang ein Screenshot mit einem Vorschlag um an die VI-Referenz des Clone´s zu kommen.
Gruß
Ralf
29.08.2009, 07:37
warum so kompliziert?
du hast doch schon die reference constant 'this VI' verwendet, somit musst du net open vi ref callen.
um ein reentrant VI von extern zu callen ohne eine idee zu haben einfach open VI reference mittels string connecten und die folgende syntax verwenden:
name.vi:X
X ist hierbei eine zahl > 0
du hast doch schon die reference constant 'this VI' verwendet, somit musst du net open vi ref callen.
um ein reentrant VI von extern zu callen ohne eine idee zu haben einfach open VI reference mittels string connecten und die folgende syntax verwenden:
name.vi:X
X ist hierbei eine zahl > 0