INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Refnum für Cluster erstellen?



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!

05.08.2009, 14:37
Beitrag #1

NafeZ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Apr 2009

8.5.1
2008
en

12345
Deutschland
Refnum für Cluster erstellen?
Hi Leute,
ich mögchte gerne von einem HauptVI Befehle an ein SubVI schicken. Das will ich über Referenzen machen. Eine Referenz zu erstellen ist ja kein Problem, nur wie erstelle ich das Ensprechende Refnum eines Clusters mit 8 boolischen Indikatoren um die Befehle ausm MainVI zu bekommen?

MfG, NafeZ
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.08.2009, 14:43
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Refnum für Cluster erstellen?
' schrieb:nur wie erstelle ich das Ensprechende Refnum eines Clusters mit 8 boolischen Indikatoren um die Befehle ausm MainVI zu bekommen?
Ganz einfach:
Erstelle zuerst eine Referenz auf den Cluster. An dieser Referenz erstellst du dann ein Bedienelement. Dieses Bedienelement, das ja das RefNum vom Cluster repräsentiert, kopierst du in das SubVI und deklarierst es als Eingang. An dieses Bedienelement kannst du jetzt das Property VALUE anschließen und bekommst so die Werte aus dem Bedienelement aus dem MainVI.

Ob diese Vorgehensweise, nämlich Daten per Refnum aus dem MainVI bekommen zu lassen, ideal ist, möchte ich bezweifeln.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.08.2009, 14:58
Beitrag #3

NafeZ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Apr 2009

8.5.1
2008
en

12345
Deutschland
Refnum für Cluster erstellen?
Passt!! Vielen Dank!Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.10.2009, 12:42
Beitrag #4

bikobeko Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Oct 2009

2009
2009
en

6341
Schweiz
Refnum für Cluster erstellen?
Hallo

' schrieb:Ob diese Vorgehensweise, nämlich Daten per Refnum aus dem MainVI bekommen zu lassen, ideal ist, möchte ich bezweifeln.

Wie wäre denn die ideale Vorgehensweise um Daten durch SubVIs zu schlaufen, sodass dieses SubVIs z.B. Anzeigen des Haupt-VIs setzten können?
So ganz naiv wollte ich eben gerade Daten über Refnum-Cluster durch reichen (deshalb fand ich auch diesen Thread).

Gruss und Merci für eine Antwort.

bikobeko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.10.2009, 15:56
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Refnum für Cluster erstellen?
Hinweis:
Die ideale Vorgehensweise hängt vom Algorithmus ab.


' schrieb:Wie wäre denn die ideale Vorgehensweise um Daten durch SubVIs zu schlaufen,
"Durchzuschlaufen" heist, dass die Daten per Eingang ins SubVI hineingehen, per Ausgang wieder heraus kommen und dann auf die Anzeigeelemente des MainVI gehen. Das ist dann gemäß Datenfluß. Eigentlich möchte ich das so haben, da eben nur Daten (=> Datenfluß) angezeigt werden sollen. Nachteil: Ein SubVI müsste in gegebenen Fällen kontinuierlich aufgerufen (1 Aufruf = Starten und beenden) werden.

Zitat:sodass dieses SubVIs z.B. Anzeigen des Haupt-VIs setzten können?
Diese Ausdrucksweise impliziert, dass ein SubVI nur ein einziges Mal aufgerufen wird und dann quasi wie als Task ständig läuft. In diesem Falle würde ich als Datenschnittstelle aber Queues/Melder nehmen. Das SubVI beschreibt Queues/Melder, die vom MainVI ausgelesen und angezeigt werden.

Zitat:So ganz naiv wollte ich eben gerade Daten über Refnum-Cluster durch reichen (deshalb fand ich auch diesen Thread).
Man kann das natürlich so machen (aber: Durchreichen heißt Datenfluß). Nachteil: Ändern man den (sowieso stricten) Typ des Elementes, auf das die Referenz zeigt, muss man die Referenz neu machen. Die Konstante "Referenz von .." passt sich nämlich nicht automatisch an einen geänderten Typ an (leider, bis 861)!

Außerdem:
Eigenschaftsknoten (und deswegen sind die Referenzen ja da) an sich sind sehr langsam.


Ich sage: Wenn's nicht unbedingt z.B. aufgrund des Algorithmus notwendig ist, Referenzen zu verwenden, dann lieber Datenfluß.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.10.2009, 16:16 (Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2009 16:17 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Refnum für Cluster erstellen?
Es spricht ja nichts generell gegen die Verwendung von Refnums in Sub-VIs, solange es sich dabei nicht gerade um die Daten in der zeitkritischen Hauptschleife handelt.
Also wenn solche Daten durch das Sub-VI durchlaufen solle, dann sollte man es schon konventionell machen: Sub-VI mit Input und Output für Daten rein und raus.
Handelt es sich hingegen um solche Aufaben wie die Änderung von Eigenschaften, entweder bei der Initialisierung oder bei einem Bedienvorgang, dann helfen Referenzen entscheident das Drahtwirrwar zu vermindern bzw oft geht es auch gar nicht anderes.
Für diese Sub-Vis gilt aber dasselbe wie für Eigenschaftsknoten: Sie sollten nicht dauernd in der Hauptschleife aufgerufen werden, spondern wirklich nur wenn es z.B wegen Bedieneingriff notwendig ist. Z.B. Ereignisstruktur in einer Schleife parallel zur Haupschleife benutzen.
Beispiel für schlechtes Design: In der Haupschleife befindet sich ein Eigenschaftnoten "Sichtbar" mir angeschlossenem boolschem Bedienelement. Besser: Der Eigenschaftknoten sollte nicht dauernd, sondern nur bei jeder Änderung des boolschen Werrtes 1x aufgerufen werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.10.2009, 17:26
Beitrag #7

bikobeko Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Oct 2009

2009
2009
en

6341
Schweiz
Refnum für Cluster erstellen?
Vielen Dank für eure schnellen Antworten

Ja, konkret werden bei mir gewisse VIs nur einmal aufgerufen. Da ich aber nur GUI Elemente auf diese Weise aktualisieren oder abfragen will (nur Buttons und Testanweisungen), glaube ich, hat es keinen entscheidenden Nachteil auf die Geschwindigkeit. So komme ich um Queues und Message-Handler herum.
Ich habe jetzt einfach die Referenzen auf die GUI-Conrols in einem Cluster zusammen gefasst und reiche den durch die VIs. Datenflussmässig ist es nicht ganz sauber, da es scheint nur einen Eingang zu haben aber trotzdem etwas verändert (Output generiert). Aber so kann ein Sub-VI einfach mit der View interagieren.

Jetzt beisse ich nur an einem Problem, dass irgend eine Referenz nicht gültig sein soll (Error 1055).

Ist eine Referenz eigentlich in LabVIEW das selbe wie ein Pointer in C (daher crash wenn Zugriff auf dangling Pointer)? Oder werden die Werte trotzdem by Value (Kopie) durch gereicht? Was ist der Unterschied von RefNum und Referenz?

Damit die Verbindungen nicht immer aufgebrochen werden, wenn der Datentyp ändert kann man glaub ich Datentypen über so eine ctl Datei definieren - Ist mir aber noch etwas zu verwirrend... probiere ich aus wenn das andere läuft: Hier der Link für interessierte: http://forums.ni.com/ni/board/message?boar...hread.id=393869

Gruss, bikobeko

PS: vergass zu erwähnen, dass ich LabVIEW 2009 (9.0) habe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Elemente Cluster in Cluster ansprechen simcum 3 3.718 02.10.2023 10:49
Letzter Beitrag: th13
  Element in Cluster of Array of Cluster ausblenden R.Fuertig 4 7.280 26.09.2016 07:47
Letzter Beitrag: GerdW
  typedef refnum's to string and back GT123 8 5.690 09.09.2016 14:25
Letzter Beitrag: GT123
  SubVi - Referenz Refnum vescon 2 5.259 01.10.2014 08:44
Letzter Beitrag: vescon
  Cluster - Elemente ausblenden und Größe des Cluster anpassen? dragonos 13 19.226 01.06.2014 18:43
Letzter Beitrag: "Chris"
  Cluster Scripting Methode "Set Cluster Order" funktioniert (bei mir) nicht triumvirn 10 11.507 19.02.2013 20:54
Letzter Beitrag: triumvirn

Gehe zu: