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.


Thema geschlossen 

Frage zu SubVI's



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!

14.11.2005, 17:11
Beitrag #1

GrauerStar Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: Nov 2005

8.2
2004
kA

02763
Deutschland
Frage zu SubVI's
Hallo zusammen,

da ich noch nicht so bewandert in LabVIEW bin, erhofffe ich mir sehr die Hilfe von euch erfahreneren Usern bei der Lösung von ein paar Fragen, die sich mir momentan bei der Realisierung meines Projekts in den Weg stellen...

1. Ist es möglich, aus einer Schleife im SubVI noch während des Ablaufs die Daten an das Main-VI zu senden? Bspw. wenn man innerhalb der Schleife im SubVI in bestimmten Zeitabständen einen Text an das Hauptprogramm senden will... Wenn ja, wie geht das? Sollte ich dafür Globale Variablen verwenden, oder bin ich damit auf dem falschen Weg?
2. Kann man die Abbruchbedingung einer While-Schleife (unter Vermeidung von lokalen Variablen) von außen steuern?

Vielen Dank und mfg.
Alle Beiträge dieses Benutzers finden
to top
Anzeige
14.11.2005, 19:47
Beitrag #2

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
Frage zu SubVI's
1. als anfaenger bist mit globalen variablen recht gut bedient!
du kannst aber auch z.b. mit queues arbeiten oder direkt auf die "referenzen" umsteigen!

2. ja ist es, wenn du wiederum mit queues, referenzen oder dem vi server arbeitest!


als anfaenger ist es jedoch etwas schwer mit dem vi server oder referenzen zu arbeiten, deshalb wuerde ich dir generell vorschlagen wenn moeglich globale variablen zu verwenden oder mit queues zu arbeiten - diese werden ueber den namen identifiziert und sind vi-uebergreifend gueltig! wenn du daraus jedoch eine exe baust, sind die queues nur noch innerhalb der applikation gueltig!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
to top
15.11.2005, 11:17
Beitrag #3

GrauerStar Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: Nov 2005

8.2
2004
kA

02763
Deutschland
Frage zu SubVI's
Hallo freedive.
Vielen Dank für deine schnelle Antwort.
In der Zwischenzeit habe ich mehrmals probiert das Problem mit globalen Variablen in den Griff zu bekommen. Leider bin ich bis jetzt noch nicht auf einen grünen Zweig gekommen.
Vielleicht kannst du mir besser helfen, wenn ich zur Erklärung mal meinen letzten Versuch poste. Momentan können die Werte zwar aus der globalen Variable gelesen und in sie hinein geschrieben werden, nicht aber aus der globalen Variablen in das Hauptprogramm namens test1.vi. Gedacht war es so, dass ich einfach die While-Schleife des Programms mit dem Namen geht.vi in ein Unterprogramm auslagere.
Die Warteschleife soll in diesem Fall den Sinn haben, dass man aus dem Puffer eines Gerätes nicht mehr liest aus überhaupt vorhanden ist, also wartet, wenn der Puffer leer ist und der Schalter "Read/Write" trotzdem noch auf Read steht. Die Abbruchbedingung soll entweder ein Umlegen des Schalters auf Schreiben, oder aber der Fall sein, dass ungeahnt plötzlich wieder etwas in den Puffer namens Queue hineinkommt.
Vielleicht helfen diese Erklärungen, mein Problem genauer zu verstehen und eine detailliertere Lösung zu finden.
Vielen Dank im Voraus und mfg


Angehängte Datei(en)
Sonstige .zip  WaitLoopTest.zip (Größe: 24,88 KB / Downloads: 176)
Alle Beiträge dieses Benutzers finden
to top
15.11.2005, 14:47
Beitrag #4

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
Frage zu SubVI's
waahnsinns kompliziert :-)

ich hab dir mal ein biepsiel fuer die queues angehaengt...
Starte zuerst das Read.vi
-> dort wird dir auffallen, dass das inkrement der schleifen nicht hochgezaehlt wird, solange das Write.vi nicht gestartet ist!
Erst wenn ein Wert in der Queue steht, wird das inkr. vom Read.vi um eins inkrementiert!

Grund dafuer liegt darin, weil ich den timeout auf -1 (unendlich) belassen habe! du kannst hier auch gerne eine ander zeit waehlen...

Ich hoffe, dass dir das etwas weiter hilft


Angehängte Datei(en)
Sonstige .zip  Queue.zip (Größe: 22 KB / Downloads: 186)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
to top
17.11.2005, 09:05
Beitrag #5

GrauerStar Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: Nov 2005

8.2
2004
kA

02763
Deutschland
Frage zu SubVI's
hallo freedive,

vielen Dank für deine Mühe. Es hat eine Weile gedauert, bis ich dein Bsp. verstanden hab, da ich mich mit Queues zuvor noch nicht beschäftigt habe.
Allerdings betrachte ich diese Lösung mittlerweile als ungeeignet zur Realisierung meiner WaitLoop, da ich zur ständigen Aktualisierung der Queue (z.B. plötzliches Auftreten des Falls: Puffer füllt sich wieder) eine While-Schleife im Hauptprogramm benötige, was ich ja gerade vermeiden wollte. Oder sehe ich das falsch...?
Allerdings könnte ich die Queue als einen neuen Ansatz für das Gesamtprogramm sehen, da momentan Lesen/Schreiben anhand einer Case-Struktur ausgewählt wird. Dazu müsste ich wiederum mein jetziges Programm nahezu komplett umbauen, was aus Zeitgründen etwas ineffizient wäre.
Kompliziert ist es in der Tat ein wenig, daher werde ich wohl damit verbleiben, die WaitLoop im Hauptprogramm zu belassen, so, wie es funktioniert, und nicht, wie geplant, diese in ein SubVI auszulagern...
Ich danke dir trotzdem noch mal für deinen Einsatz.
MFG
Alle Beiträge dieses Benutzers finden
to top
Thema geschlossen 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 8.847 25.08.2011 15:18
Letzter Beitrag: GerdW
  Newbie mit Frage zur Übergabe von SubVI in Hauptprogramm! Paule 5 4.792 09.12.2005 09:31
Letzter Beitrag: Paule

Gehe zu: