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.


Antwort schreiben 

Fortschrittsbalken in while-Schleife



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!

29.05.2007, 13:56
Beitrag #11

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
Fortschrittsbalken in while-Schleife
' schrieb:Hi,
das hab ich dir oben beschrieben...

Allerdings machst du meiner Ansicht grundsätzlich bei der Programmierung was verkehrt! Die Schleife dient ja dazu, dein Programm am Leben zu erhalten...wie fängst du denn während deiner 15minütigen Bearbeitungszeit irgendwelche Ereignisse (Tastendruck etc.) ab? Ein Schleifendurchlauf sollte nicht länger als meinetwegen 1-2 Sekunden (eher weit darunter!) dauern...

Du solltest dein Programm mal überdenken...und am besten mit ner State-Machine-Architektur neu aufsetzen! Beispiele hierzu gibts zu Hauf im Forum und auch in LV integriert! Danach reden wir nochmal über den Fortschrittsbalken!

Gruss
Achim

Ich will gar keine Ereignisse abfangen. Ich bin dabei einen 21-stündigen Dauerlauftest zu erstellen. Dieser besteht aus einem Zyklus, welcher einfach wiederholt wird. Und ein solcher Zyklus dauert etwas eine Viertelstunde.
Wie kann ich dies mit einer Statemachine realisieren? Ich hab das zwei while-Schleifen. Die äußere erhält das Programm am Leben und die innere while-Schleife entspricht einem Zyklus. Dieser wiederrum enthält SubVIs und auch Zeitverzögerungen. Dadurch kommt es nun mal dazu, das die while-Schleife dann länger als nur 2 Sekunden ausgeführt wird.

Ich kann mir vorstellen, dass dies nicht die eleganteste Lösung ist, Ich bin ja auch noch ein Anfänger in Sachen LabVIEW.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.05.2007, 14:06 (Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2007 14:12 von eg.)
Beitrag #12

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Fortschrittsbalken in while-Schleife
' schrieb:Ich will gar keine Ereignisse abfangen. Ich bin dabei einen 21-stündigen Dauerlauftest zu erstellen. Dieser besteht aus einem Zyklus, welcher einfach wiederholt wird. Und ein solcher Zyklus dauert etwas eine Viertelstunde.
Wie kann ich dies mit einer Statemachine realisieren? Ich hab das zwei while-Schleifen. Die äußere erhält das Programm am Leben und die innere while-Schleife entspricht einem Zyklus. Dieser wiederrum enthält SubVIs und auch Zeitverzögerungen. Dadurch kommt es nun mal dazu, das die while-Schleife dann länger als nur 2 Sekunden ausgeführt wird.

Ich kann mir vorstellen, dass dies nicht die eleganteste Lösung ist, Ich bin ja auch noch ein Anfänger in Sachen LabVIEW.


Eine einfache Lösung für LV-Anfänger. Erstelle mal einen Fortschrittsbalken und mach viele lokale Variablen davon. Nach jedem SubVI und jeder Zeitverzögerung in deiner Schleife gib einen neuen Wert in die entsprechende lokale Variable ein.

Ansonsten einfach eine Forschleife benutzen imit einer Case-Struktur drin. An das Fragezeichen der Case-Struktur den Iterator der For-Schleife anschliessen. Soviele Cases erstellen wie du SubVIs und Verzögerungen hast. Die nacheinander in entsprechenden Case platzieren. Somit werden diese nacheinander abgearbeitet. Es funktioniert ähnlich wie eine Sequenzstruktur mit dem Vorteil, dass du die Daten zwischen den States über Schieberegister austauschen kannst und vor allem Platzproblem, das jeder LV-Anfänger hat. Besser ist, du nimmst statt einer For-Schleife eine While-Schleife und machst eine richtige State-Machine daraus. Dann hast du noch zusätzlich den Vorteil, dass du vom State zum State wie du willst springen kannst. Dazu kannst du dir das Design-Pattern im LV anschauen.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.05.2007, 17:44
Beitrag #13

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Fortschrittsbalken in while-Schleife
Hallo,

also prinzipiell macht man sowas mit einer parallel laufenden While-Schleife:

   


Sonstige .vi  Bsp_ProgressBar_Parallel_LV8.2.vi (Größe: 11,92 KB / Downloads: 281)


Ist nicht sonderlich ausgereift, was ich da jetzt hochlade, aber ich hoffe, du verstehst das Prinzip.

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dialogfeld mit Fortschrittsbalken? aw 2 3.221 06.05.2015 06:53
Letzter Beitrag: NoWay
  1x While Schleife, 1x Zeitges. While Schleife, die zeitgs. START/STOP dali4u 1 6.027 23.05.2011 09:22
Letzter Beitrag: Y-P
  Frage(n) zu Fortschrittsbalken in LabVIEW Sandisk 18 15.900 18.02.2011 18:00
Letzter Beitrag: jg
  Ladebild mit Fortschrittsbalken...wie? tt-web 18 14.713 17.12.2009 09:28
Letzter Beitrag: Y-P
  Fortschrittsbalken schneller machen Xaran 2 3.604 25.04.2008 09:45
Letzter Beitrag: Xaran
  Fortschrittsbalken T.Gebhard 3 6.943 11.05.2005 22:05
Letzter Beitrag: Mario W.

Gehe zu: