LabVIEWForum.de
Probleme beim Schleifendruchlauf - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Probleme beim Schleifendruchlauf (/Thread-Probleme-beim-Schleifendruchlauf)



Probleme beim Schleifendruchlauf - Sidd - 13.08.2008 15:57

Hallo Zusammen,

ich habe folgendes Problem und hoffe, das ihr mir helfen könnt.

Das angehängte VI ist ein kleiner Auszug aus meinem Programm. Es ist dort in einer Case Struktur verankert und dient zum einlesen von XML Dateien.

Diese Casestruktur und damit auch das Programm wird beim Aufruf insgesamt dreimal durchlaufen (um das zu simulieren habe ich es in eine for-Schleife gepackt). Das das Programm immer dreimal durchlaufen wird kann man leider nicht ändern.
Bei diesen 3 Durchläufen bleibt der boolsche Wert für Laden TRUE. Bei jedem Durchlauf wird nach dem Dateipfad, bzw. der Datei die geladen werden soll gefragt.

Hier liegt das Problem: ich möchte das Programm so konfigurieren, dass es beim Aufruf nur beim ersten Durchlauf nach dem Dateipfad fragt und dann die nachfolgenden zwei nicht mehr.

Ich habe schon versucht es mit einer Case Struktur in der Art zu realisieren, dass wenn einmal eine Datei geladen wurde das Programm nicht mehr ausgeführt wird, allerdings ist dann das Problem, dass wenn ich eine andere Datei einladen möchte ich die Case Struktur ja quasi vorher resetten muss und das habe ich nicht geschafft.
Auch das Speichern in einer lokalen Variable nach dem ersten Durchaluf hat das Problem, dass der Wert nach dem dritten Durchlauf nicht gelöscht wird. Wenn ich also etwas später versuche eine andere Datei einzuladen fragt er nicht nach dem Pfad, sondern lädt die alte ein.

Weil diese Funktion wie gesagt in einer Case Struktur eingebettet ist und andere Funktionen den dreimaligen Durchlauf brauchen.

Problem nochmal in kurz:
- Programm wird dreimal durchlaufen und fragt jedesmal nach Dateipfad
- soll nur beim ersten Durchlauf fragen und dann nicht mehr (Durchlaufzahl 3 leider nicht änderbar)
- nach den drei Durchläufen soll der Pfad wieder "leer" sein, damit man auch andere Dateien einlesen kann



Ich hoffe jemand hat hier eine Idee. Ich bin recht neu im Umgang mit LabVIEW und bin leider ratlos.



Dank & Gruß,

Moritz

Programm:Lv85_img


Probleme beim Schleifendruchlauf - Kvasir - 13.08.2008 18:22

Hi,

weils schon spät is nur ein sehr rudimentäres Beispiel.

Für dein Problem eignet sich sicher ein "funktionales Vi". Das bedeutet du erstellst dir ein SubVi in dem das laden erldigt wird, das eine Schleife enthält, die nur einmal durchlaufen wird und ein nicht initialisiertes Shift-Register.
Jedesmal wenn du dieses Vi aufrust merkt es sich den Zustand (Schieberegister) des vohergegangenen Aufrufs. Dadurch kannst du einfach bis 3 zählen lassen. Wenn 3 erreicht ist setzt du wieder auf 0 zurück.

Wenn du jetzt noch willst, dass bei 0 (oder andere Durchlaufanzahl) nach der Datei gefragt wird musst du halt einen entsprechenden Case einbauen.

Auch wichtig ist eine Funktion zum resetten des Vi's. Im Forum gibt es sonst einige Beiträge zu funktionalen Vis, die auch ausführlichere Beispiele enthalten.

Grüße

Lv85_img[attachment=13936]


Probleme beim Schleifendruchlauf - Sidd - 15.08.2008 15:31

DANKE!

funktioniert wunderbarSmile

Schön Gruß,

Moritz