LabVIEWForum.de - Front-Panel hängt sich auf

LabVIEWForum.de

Normale Version: Front-Panel hängt sich auf
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo an alle Forum User,


Ich würde für mein Programm gerne die im angefügten VI erstellte Schleifenstruktur verwenden.


In einer while-loop befindet sich eine case-structure mit 3 verschiedenen Fällen, die da lauten: "PC_MODE", "JOYSTICK-MODE" und "AUTO-MODE".

Wähle ich über ein RING-menu den "PC-MODE", so lässt sich die bool HRELAY ganz normal betätigen. Wenn ich aber HRELAY im "JOYSTICK-MODE" oder im "AUTO-MODE" betätige, dann hängt sich mein Front-Panel auf!!!

Mache ich hier irgendwas falsch oder darf ich die verschiedenen Schleifen in dieser Art und Weiße nicht verschachteln????

Für mögliche Lösungsansätze sowie Hinweise auf falsche (bzw. nicht erlaubte) Verschachtelung von Schleifen danke ich bereits im Voraus.


Xandi_01


[attachment=23185]
Lv86_img
Könntest du das VI auf Version 8.5 runterspeichern oder ein Screenshot machen? Dann könnt ich auch mithelfenWink
hier nochmal die VIs

für LV 8.6
& LV 8.5

[attachment=23193]
[attachment=23194]
Die Eventstruktur innerhalb der Cases ist das Problem. Ich würde dir allgemein raten keine Eventstruktur innerhalb eines Cases zu machen und nur eine pro VI.
Weshalb ist die Eventstruktur innerhalb der Cases? Welcher Gedanke steckt dahinter?
Ich habe öfters eine Eventstruktur in einem Case, z.B. bei einer State-Machine im Idle-Case (Leerlauf). Dort warte ich auf eine Benutzereingabe und springe dann in einen anderen Case.
Hier ein Bsp.:
[attachment=23195]
Lv86_img

Leider kann ich nur bis LabVIEW 8.6 zurückspeichern, wenn eine Event-Struktur enthalten ist (LabVIEW-Bug).

Gruß Markus
Das ganze wird eine CAN-Steuerung einer externen Hardware (Löschmonitor) die per Joystick und auch per front-panel gesteuert werden soll.
Einfachhalberweise habe ich nur die Struktur des VIs geuppt, da möglicherweise nicht jeder Forum-User diese CAN-functions mit drauf hat und das Problem ohnehin in der Anordung der CASE und EVENT-Strukturen besteht.


Grundgedanke der EVENT-Struktur innerhalb der CASE-Struktur ist folgender.

Über die äußerste CASE wird der Steuerungsmodus gewählt. 0: PC-Modus; 1: Joystick; 2: AUTOMATIK (Positionierung über eine IR-Kamera)
Beim CASE "PC-Modus" will ich nun Bool Taster für MOVE_UP, MOVE_DOWN, MOVE_RIGHT, MOVE_LEFT anlegen. Diese dachte ich kann ich über die EVENTS (change value) ausführen.


Wenn ich das VI in "highlight executen" ausführe verhält es sich allen anschein ja auch richtig. Nur das Frontpanel friert mir eben ein.
' schrieb:Wenn ich das VI in "highlight executen" ausführe verhält es sich allen anschein ja auch richtig. Nur das Frontpanel friert mir eben ein.
Dein VI ist blockiert, weil du einen Event generierst (ist registriert "HRELAY : Value Change") und dieser ist konfiguriert als "Lock Frontpanel....." .
Der Event kann aber in einem Case 1 oder 2 nicht verarbeitet werden, so nun ist das FP blockiert.

Du kannst diesen "Lock Frontpanel ...." in der Einstellung zum Event deaktivieren, oder was nach dem Schema wie Markus gepostet hat bauen, damit du irgendwann wieder in den Case mit der Eventstruktur kommst.
Sehr schön.

DANK EUCH DREIEN ganz herzlich.
Denke das Problem ist somit gelöst!
' schrieb:Ich habe öfters eine Eventstruktur in einem Case, z.B. bei einer State-Machine im Idle-Case (Leerlauf). Dort warte ich auf eine Benutzereingabe und springe dann in einen anderen Case.
Hier ein Bsp.:
[attachment=51473:StateMac..._einfach.vi]
Lv86_img

Leider kann ich nur bis LabVIEW 8.6 zurückspeichern, wenn eine Event-Struktur enthalten ist (LabVIEW-Bug).

Gruß Markus

Okay State-Machine seh ich ein ;D
Referenz-URLs