LabVIEWForum.de - Blinkgeber ohne Verzögerung des Programms

LabVIEWForum.de

Normale Version: Blinkgeber ohne Verzögerung des Programms
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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.
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
Das, was Andreas meint ist Multitasking.
Hier ein Beispiel dazu.

Gruss, Eugen
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
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.
' 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
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
' 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
Referenz-URLs