LabVIEWForum.de
Anzeige speichern - 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: Anzeige speichern (/Thread-Anzeige-speichern)



Anzeige speichern - joe1234 - 18.10.2007 08:12

Hallo,
ich habe unten ein kleines VI und eine Testdatei eingefügt. Das VI hilft mir aus der Testdatei nach einem bestimmten String zu suchen. Nun habe würde ich gerne den Schalter "Ausführen" aus dem VI als Taster einsetzen. Problem ist, dass die Anzeigen nur dann was anzeigen, wenn der Taster gedrückt ist. Ich hätte es aber gerne so, dass nach einmaligem drücken die Anzeigen praktisch das "Anzeigebild" wie ein Foto speichern. Und erst nach erneutem drücken sich auch wirklich erneuern.
Irgendwie muss ich die verschiedenen Anzeigen aus der WHILE-Schleife bekommen, damit sie sich nicht ständig erneuern, doch dann zeigen sie gar nichts an.
Kann mir da einer helfen?

MfG Joe


Anzeige speichern - joe1234 - 18.10.2007 08:43

Habe ein bisschen nachgedacht und folgende Lösung gefunden:

Habe in die WHILE-Schleife noch eine FOR-Schleife eingefügt. (siehe Bild)


Anzeige speichern - joe1234 - 18.10.2007 08:49

Was mir noch eins aufgefallen ist, wenn ich das Programm ausführe schießt mein Prozessor auf eine Belastung von 100 % und zwar dauerhaft. Ist das normal??? Oder felht mir vielleicht noch was.

MfG Joe


Anzeige speichern - jg - 18.10.2007 09:04

' schrieb:Was mir noch eins aufgefallen ist, wenn ich das Programm ausführe schießt mein Prozessor auf eine Belastung von 100 % und zwar dauerhaft. Ist das normal??? Oder felht mir vielleicht noch was.

MfG Joe
Wenn ich mir deinen Screenshot anschaue, dann ist das, so wie du es gemacht hat, normal. Eine While-Loop wird ohne weitere Einschränkungen (wie z.B. eine "Wait (ms)" Funktion) so schnell wie möglich ausgeführt und beansprucht damit 100% CPU.

Wieso realisierst du das eigentlich nicht über eine Event-Struktur? Die stellt fest, wenn du den Schalter "Ausführen" drückst.

MfG, Jens


Anzeige speichern - joe1234 - 18.10.2007 10:12

' schrieb:Wenn ich mir deinen Screenshot anschaue, dann ist das, so wie du es gemacht hat, normal. Eine While-Loop wird ohne weitere Einschränkungen (wie z.B. eine "Wait (ms)" Funktion) so schnell wie möglich ausgeführt und beansprucht damit 100% CPU.

Wieso realisierst du das eigentlich nicht über eine Event-Struktur? Die stellt fest, wenn du den Schalter "Ausführen" drückst.

MfG, Jens

Danke für den TIPP. Ich kenne mich in den Strukturen nicht aus, wusste ehrlich gesagt gar nicht, dass das möglich ist. Wie man sieht, lernt man immer was neues dazu. Die Event-Struktur ist schon eine feine Sache!!!

MfG Joe

PS: Funktioniert jetzt so wie ich es mir vorgestellt habe!!!


Anzeige speichern - Lucki - 18.10.2007 12:14

' schrieb:Die Event-Struktur ist schon eine feine Sache!!!

Ja gewiss, aber man kann nicht aus jeder while-Schleife eine Eventstruktur machen. Deshalb sollte man nicht unerwähnt lassen, daß, wenn ein Schleife auf etwas wartet und der in der Schleife befindliche Code sich nicht von selbst ausbremst, das Einfügen von Wait in eine solche Schleife zu den Grundlagen jeder LabVIEW-Programmierung gehört. Man könnte auch sagen: Eine Warteschleife durch eine Event-Struktur zu ersetzen ist die (seit LV 7 eingeführte) Kür, das Wait in der Schleife aber ist die Pflicht.
Selbst mache ich es so: lch setze meinen Ehrgeiz daran, Warteschleifen mit Waits ganz zu vermeiden. Wenn ich aber hier ein VI poste, um jemandem zu helfen, vermeide ich in der Regel Ereignisrahmen, um damit nicht von dem Thema abzulenken, um das es eigentlich geht.