LabVIEWForum.de - For-Schleifen Indizierung

LabVIEWForum.de

Normale Version: For-Schleifen Indizierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

mich beschäftigt derzeit das Problem, dass ich mich in LabVIEW einarbeiten möchte und schon bei den ersten Schritten auf ein Problem gestoßen bin.

Ich möchte eine For-Schleife in einer While-Schleife durch einen boolschen taster starten. Allerdings startet die For-Schleife wenn ich Ausführen wähle schon immer bevor ich den Taster betätige und die While Schleife lässt sich durch den Stop-Taster auch nicht mehr beenden. Der Stop kann nur noch mit Ausführung abbrechen erfolgen. Laut Hilfe kann man mit RK auf den Rahmen der For-Schleife die autoindizierung deaktivieren. Diese Option wird mir allerdings nich angezeigt.

schon mal Danke für die Hilfe im Voraus

Gruß
Weiss zwar nich ob ich dich richtig verstanden habe, aber warum machste nich ne Case-Anweisung um die For-Schleife wo der Taster abgefragt wird?
Ansonsten solltest mal dein vi hochladen.

Gruß Thomas
Zunächst:
Thomas hat recht, lade dein VI hoch, dann ist es um einiges einfacher dir zu antworten.
Dann:
die Autoindizierung kannst du nur für Eingabewerte deaktivieren, nicht allgemein (wenn ich dich nicht falsch verstanden habe)
den RechtsKlick musst du auf die Eingabeverbindung machen
so, jetzt hab ichs hochgeladen.

kurz zur funktion

Lampe 1 soll an- und ausgeschaltet werden können über Taster Lampe1, solange for-schleife noch nicht aktiv
durch start schleife wird for-schleife aktiv und Blinkvorgang gestartet, wenn Taster Freigabe EIN
nach vorgegebener Schrittzahl soll Blinkvorgang enden und Lampe 1 wieder an- ausgeschaltet werden können
Falls es Probleme mit dem Öffnen gibt ist die Datei hier nochmal unter einer älteren Version gespeichert
so sieht das doch gleich viel besser aus....
so kann man dir wenigstens antworten.

zunächst: das grenz ja fast an Plasphemie, ein DBL an eine for-Schleife zu geben ;-)
es findet zwar ein typecast statt, ich würde aber trotzdem ein integer nehmen, da eine Schleife nur durchlaufen werden kann oder nicht...einen 0,5 Durchlauf gibt es IMO nicht.

dann: die for-Schleife wird immer ausgeführt, da LabVIEW flussgesteuert ist. Der Ablauf ist in etwa so: while-Schleife index 0, for-Schleife von 0 - Schrittzahl, while-Schleife index 1, for-Schleife von 0 - Schrittzahl, while-Schleife index 2, for......usw dies passiert so, weil deine for-Schleife innerhalb der while-Schleife ist

Mach dich mal hier im Forum schlau über state-machines die sollten dir weiterhelfen können. Oder nimm die Event-Struktur (darauf werde ich auch immer wieder aufmerksam gemacht, obwohl ich kein besonderer Fan davon bin ;-)) dann solltest du dir noch PropertyNodes anschauen, um die Schalter automatisch zurückzusetzten...

das wars mal fürs Erste....zeig deinen nächsten Versuch, dann sehen wir weiter

Gruss,
Christian
ok, danke schon mal...

jetzt werde ich wohl erst noch ne weile brauchen bis ich weiß was es mit den begriffen dbl, typecast, property Nodes und Event struktur auf sich hat.
Das mit den schleifen kannte ich schon aus der C-Programmierung. Ich dachte bloß es ging hier einfach die for-schleife durch einen taster zu starten.

Ich mach mich mal weiter schlau...bis dann

Gruß
Bei den Begriffen kann ich dir auch schnell helfen:

dbl: double precission
typecast: eine Umwandlung von einem Datenformat in ein anderes (hier: von double nach integer)
property Node: da kannst du programatisch auf Elemente zugreifen
Event Struktur: etwas LabVIEW spezifisches (findest du im Blockdiagramm unter der for-Schleife)

aber in C wirst du wohl auch keine for-Schleife einfach so durch einen Knopfdruck gestartet haben. Da muss immer noch was vorher ablaufen. Eine if-Abfrage zB, oder?? Mein C ist zwar etwas eingerostet, aber C ist doch auch mehr oder weniger straight forward

Gruss,
Christian
ja genau...in C macht man eben vorher schnell noch ne if-Abfrage

Ich dachte eben nur, wenn mir LabVIEW bei der for schleife einen Boolschen Anschluss für eine Initialisierung anbietet, dann probier ich das einfach mal.
Da ich diese Woche erst angefangen hab mich mit dem Thema LabVIEW zu beschäftigen, stecke ich noch etwas in den Kinderschuhen.
die For-Schleife hat einen boolschen-Anschluss?? Ich wüsste nicht wo....

Aber, dein Gedankengang war doch schonmal nicht schlecht: bau dir eine if-Abfrage in die while-Schleife ein und schau dir an was dann passiert.

Ich könnte dir jetzt zwar was fertiges anbieten, das verfehlt jedoch den Sinn IMO. learning by doing ;-)

wenn's dann mal kniffliger wird, dann gibt's eher Lösungen. Spiel aber lieber mal selber rum
Seiten: 1 2
Referenz-URLs