LabVIEWForum.de
While Schleife läuft nur wenn Taste gedrückt gehalten wird - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: While Schleife läuft nur wenn Taste gedrückt gehalten wird (/Thread-While-Schleife-laeuft-nur-wenn-Taste-gedrueckt-gehalten-wird)



While Schleife läuft nur wenn Taste gedrückt gehalten wird - DocBader - 20.01.2015 11:01

Hi,

ärgert mich zwar jetzt schon wieder ein neues Thema wegen einem Problem zu öffnen, aber ich finde leider nichts was mir hilft.

Habe eine While Schleife in der Befehle verschickt werden und ein Signalflussgraph mitläuft. Allerdings passiert in der While Schleife solange nichts, bis ich einen Taster einbaue und diesen gedrückt halte. Lasse ich los, stoppt sofort die Kommunikation. Der Taster ist mit keiner Funktion verbunden, sondern befindet sich einfach nur in der Schleife.

Gibt es eine Möglichkeit das meine Schleife permanent läuft, auch ohne das ich einen Taster gedrückt halten muss. Hab schon versucht einen Kippschalter einzubauen, aber der wird nach 2 Sekunden wieder in seine Ausgangsposition gebracht.

Gruß

DocBader


RE: While Schleife läuft nur wenn Taste gedrückt gehalten wird - jg - 20.01.2015 11:08

Bahn
Zeig mal dein VI (am besten hochladen), in dem das passieren soll.

Gruß, Jens


RE: While Schleife läuft nur wenn Taste gedrückt gehalten wird - DocBader - 20.01.2015 11:59

Hier einmal ein Bild des Programmabschnitts und das zugehörige VI.

[attachment=51843]

[attachment=51844]

Das Problem tritt in dem mittleren Strukturabschnitt auf. Bei der unteren Schleife (Transmission Loop).
Das gesamte Programm basiert auf einer Beispiel VI und wurde von mir nur erweitert und ist noch nicht fertig. Mein Hauptaugenmerkt liegt zurzeit darauf, dass die Daten des DAQ Assistenten permanent ausgelesen und ausgewertet werden, da ich mit diesen eine Motorsteuerung ab einem bestimmten Wert anhalten will.
Die einzelnen Case Blöcke dienen dem Ablauf des Programms und sollen nur nacheinander gestartet werden. vermutlich nicht die eleganteste Lösung. ^^

Schonmal Danke im Voraus.

Gruß
DocBader


RE: While Schleife läuft nur wenn Taste gedrückt gehalten wird - GerdW - 20.01.2015 12:34

Hallo Bader,

OGottOGott…
RaceConditions noch und nöcher: Missbrauch lokaler Variablen…

Zitat:Die einzelnen Case Blöcke dienen dem Ablauf des Programms und sollen nur nacheinander gestartet werden. vermutlich nicht die eleganteste Lösung. ^^
Nein, ganz sicher nicht!

- Wenn Dinge kontrolliert nacheinander ablaufen sollen, nimmt man eine Statemachine!!!
- Das man in einer Case-Struktur mehr als nur zwei Cases haben kann, hast du auch noch nicht bemerkt…

Lösung: Kontexthilfe öffnen, Maus über die Funktion "Wait for FP Activity" fahren…

So könnte dein Ansatz aussehen:
[attachment=51846]

Anmerkung: Die CAN(open)-Funktion erwartet die Daten als Cluster mit 8 Bytes. Da musst du wohl oder übel selbst die Bytes aus deinen Signaldaten aufbereiten. Es sein denn, der IXXAT-Treiber bietet dafür entsprechende Funktionen…


RE: While Schleife läuft nur wenn Taste gedrückt gehalten wird - Lucki - 20.01.2015 14:05

(20.01.2015 12:34 )GerdW schrieb:  OGottOGott…

Offtopic2 Du solltest aber der Ehrlichkeit halber erwähnen, dass diese kreative Text nicht von Dir selbst ist, sondern dass es sich hier um die letzte Zeile von Ernst Jandels Gedicht "Ottos Mops" handelt: sie hier


RE: While Schleife läuft nur wenn Taste gedrückt gehalten wird - GerdW - 20.01.2015 14:31

Hallo Lucki,

ich musste eher an Xandir aus Drawn Together denken…


RE: While Schleife läuft nur wenn Taste gedrückt gehalten wird - DocBader - 20.01.2015 14:39

Danke für die Hilfe.

Hab jetzt eine State Machine für die ganzen Fälle eingebaut und das macht das ganze schon deutlich übersichtlicher. Allerdings ändert sich nichts an meinem Problem. Ohne Taste in While Schleife passiert nichts im Signalverlaufdiagramm. Auch werden keine Befehle übermittelt.


RE: While Schleife läuft nur wenn Taste gedrückt gehalten wird - GerdW - 20.01.2015 14:43

Hallo Bader,

noch einmal: Kontexthilfe auf und die Hilfe zur Funktion "WaitForFPActivity" lesen.
Und mal vergleichen, was du dort so angeschlossen hast und was ich dagegen im Bild oben verwende…
Wall