LabVIEWForum.de
Laufvariable von Schleife starte nicht bei Null - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Laufvariable von Schleife starte nicht bei Null (/Thread-Laufvariable-von-Schleife-starte-nicht-bei-Null)



Laufvariable von Schleife starte nicht bei Null - Labneuling - 18.05.2010 12:19

Hallo!

Ich hab da mal eine Frage:

Ich frage in einer (For-)Schleife die aktuell eingestellen Parameter von einem Steuergerät ab. Um zu wissen bei welchem Parameter ich gerade bin, habe ich die Laufvariable zu einer selbstgemachten Hinweisbox-Subvi herausgeführt. Wenn die Parameter abgefragt werden, dann öffnet sich das Subvi mit einem Verlaufsbalken und wenn der Balken voll ist, dann schließt sich das Subvi (alle Parameter gelesen). Das klappt beim ersten start wunderbar, aber wenn die Parameter nochmal abgefragt werden, dann öffnet sich das Subvi nicht mehr, weil es mit dem letzten Wert startet der auch die Bedingung für das Schließen ist.

Da ich die Laufvariable von der Schleife rausführe müsste die doch bei jedem Aufruf des Lese-Subvi von 0 starten, oder nicht? Hoffe mein Problem ist erkennbar und es kann jemand helfen.

Mit freundlichen Grüßen


Laufvariable von Schleife starte nicht bei Null - IchSelbst - 18.05.2010 13:13

' schrieb:dann öffnet sich das Subvi mit einem Verlaufsbalken und wenn der Balken voll ist, dann schließt sich das Subvi (alle Parameter gelesen). Das klappt beim ersten start wunderbar, aber wenn die Parameter nochmal abgefragt werden, dann öffnet sich das Subvi nicht mehr, weil es mit dem letzten Wert startet der auch die Bedingung für das Schließen ist.
Meine :glas1:sagt:
Im SubVI befindet sich eine While-Schleife mit einem nicht initialisierten Schieberegister. Weiter sagt diese Glas2, dass das so nicht geht.

Aus den Meldungen der beiden Kugeln schließe ich, dass du dein SubVI oder ein Bild davon posten sollst.


Laufvariable von Schleife starte nicht bei Null - Labneuling - 18.05.2010 13:42

Hallo!

Hier hab ich mal die Subviews um die es geht.

In dem Lesen Subvi hole ich den Wert der Laufvariable:

[attachment=26545]


Hier ist meine Hinweisbox, die mir den aktuell gelesenen Wert anzeigt:

[attachment=26544]


Laufvariable von Schleife starte nicht bei Null - IchSelbst - 18.05.2010 13:49

' schrieb:Das klappt beim ersten start wunderbar, aber wenn die Parameter nochmal abgefragt werden, dann öffnet sich das Subvi nicht mehr, weil es mit dem letzten Wert startet der auch die Bedingung für das Schließen ist.
1. Beim ersten Start steht in "Akt. Befehl" Null drinnen, sodass das Hinweis-SubVI richtig geht.
2. Das Hinweis-SubVI starten schneller, als die FOR-Schleife, die "Akt. Befehl" beschreibt.
3. => Das SubVI wird aufgerufen, findet AktBefehl=11 vom letzten Mal und beendet sich. Erst jetzt startet die FOR-Schleife ...

Fazit: Vor dem Starten des SubVIs (oder vor der While-Schleife im SubVI) der Wert von Akt. Befehl manuell auf Null setzen.


Laufvariable von Schleife starte nicht bei Null - Labneuling - 18.05.2010 14:15

Danke,
hab jetzt Sequenzstruktur, im Hinweisbox Subvi, gemacht und im ersten Rahmen wird der Akt. Befehl auf Null gesetzt.

MfG


Laufvariable von Schleife starte nicht bei Null - IchSelbst - 18.05.2010 14:25

' schrieb:hab jetzt Sequenzstruktur ...
Geht auch ohne Sequenzstruktur (Sequenzstruktur soll man vermeiden): Einfach den Error-Ausgang des Werte-Propertys auf die While-Schleife geben.


Laufvariable von Schleife starte nicht bei Null - Labneuling - 19.05.2010 08:23

Danke für den Tipp! Gibt es eigentlich ein Tut oder ähnliches im Netz in dem steht was man noch so vermeiden sollte?


Laufvariable von Schleife starte nicht bei Null - jg - 19.05.2010 08:43

http://zone.ni.com/devzone/cda/tut/p/id/4434 , Kapitel 6 des PDF-Links.

EDIT "Rules to Wire by":
http://zone.ni.com/devzone/cda/tut/p/id/5560
http://zone.ni.com/devzone/cda/tut/p/id/4822

Gruß, Jens