LabVIEWForum.de
Blinkgeber ohne Verzögerung des Programms - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Blinkgeber ohne Verzögerung des Programms (/Thread-Blinkgeber-ohne-Verzoegerung-des-Programms)



Blinkgeber ohne Verzögerung des Programms - Grisu2000 - 18.10.2006 12:52

Ich suche einen Baustein, der mit abwechselnd eine boolesche 1 und 0 liefert. Mit einer Warteschleife und einem Flipflop klappt das nicht, weil durch das WAIT andere Programmteile auch nicht ablaufen. Der Baustein muss auch in zyklischen Programmen lauffähig sein, die selber eine zeitliche Verzögerung beinhalten.

Folgende Anforderungen sollten erfüllt sein:
Eingang: Blinkfrequenz als Integer (evtl. Enable, kann aber auch extern mit AND verknüpft werden)
Ausgang: Blinker als Bool

Ich freu mich über eure Tipps. Bzw. gibt's sowas schon fertig? Hab leider nichts gefunden, obwohl ich schon nach allen möglichen Begriffen gesucht hab.


Blinkgeber ohne Verzögerung des Programms - A.Berndsen - 18.10.2006 13:45

Das hört sich nach einer parallelen Whileschleife an.
Dort kann dann ein Flip-Flop oder ähnliches werkeln und mittels lokaler Variable kannst Du den Bool-Wert übertragen.

Gruß
Andreas


Blinkgeber ohne Verzögerung des Programms - eg - 18.10.2006 13:58

Das, was Andreas meint ist Multitasking.
Hier ein Beispiel dazu.

Gruss, Eugen


Blinkgeber ohne Verzögerung des Programms - Grisu2000 - 20.10.2006 11:39

Danke euch beiden. Muss mich da erstmal daran gewöhnen, dass ja bei LabVIEW alles quasi parallel abgearbeitet wird. Werd jetzt mal versuchen das ganze als Modul zu packen und die entsprechenden Schnittstellen zu schaffen. Ideal für einen Freitag Nachmittag Big Grin


Blinkgeber ohne Verzögerung des Programms - Grisu2000 - 20.10.2006 14:02

So, jetzt hab ich mal einiges probiert mit genau deinem Beispielprogramm. Das seltsame ist ... solang ich nichts an dem Programm ändere, klappt alles. Sobald ich aber auch nur die kleinste Änderung mache, läuft das VI nur genau einmal durch. Ich hab z.B. nur den Zahlenwert des Blinkers von 100 auf 500 verändert und versucht zu starten --> nur ein Schleifendurchlauf. Sonst war alles unverändert.


Blinkgeber ohne Verzögerung des Programms - eg - 20.10.2006 14:17

' schrieb:So, jetzt hab ich mal einiges probiert mit genau deinem Beispielprogramm. Das seltsame ist ... solang ich nichts an dem Programm ändere, klappt alles. Sobald ich aber auch nur die kleinste Änderung mache, läuft das VI nur genau einmal durch. Ich hab z.B. nur den Zahlenwert des Blinkers von 100 auf 500 verändert und versucht zu starten --> nur ein Schleifendurchlauf. Sonst war alles unverändert.


Was hast du für eine Maus und Tastatur? Vielleicht hat es damit zu tun?

Gruss, EugenBig Grin


Blinkgeber ohne Verzögerung des Programms - eg - 20.10.2006 14:27

Ne, Spass bei Sete. Dein Stopbutton hat beim Programmstart bestimmt den Wert FALSE, weil er nach der Ausführung nicht in den TRUE zustand versetzt wird.

Gruss


Blinkgeber ohne Verzögerung des Programms - Grisu2000 - 20.10.2006 14:37

' schrieb:Was hast du für eine Maus und Tastatur? Vielleicht hat es damit zu tun?

Gruss, EugenBig Grin

Sind beides normale Rolleyes
Hab ne Lösung dafür gefunden: Der Stop-Schalter setzt eine lokale Variable, die dann immer den Wert 1 behält und dadurch bei jedem Start die While-Schleife wieder beendet. Hab den Schalter jetzt auf "Tasten" umgeschalten und es funktioniert.

Trotzdem bekomm ich das ganze noch nicht als eigenes VI gepackt, so dass ich als Eingang "Stop" und "Frequenz" hab und als Ausgang ein "Boolean".

Wieso gibt's das ganze eigentlich nicht als Standard in LV? *sfz* Sad