LabVIEWForum.de
Frontpanel außer Gefecht - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Frontpanel außer Gefecht (/Thread-Frontpanel-ausser-Gefecht)



Frontpanel außer Gefecht - Osirys - 21.02.2012 12:42

Hallo zusammen,

ich habe folgendes Problem, das Frontpanel meines Programms ist außer Gefecht nach dem Start des Programms.
Eine Ereingnissstruktur zum starten und mehrere while Schleifen sind verbaut. Das Programm an sich läuft durch
nur kann ich es zum Beispiel per NOT-AUS nicht ausmachen da das Frontpanel nicht funktioniert.

Hat jemand eine Idee woran es liegen kann?


RE: Frontpanel außer Gefecht - jg - 21.02.2012 12:44

Hört sich nach fehlerhafter Verwendung der Eventstruktur an, mglw. sogar Verwendung von mehreren Eventstrukturen innerhalb eines VIs?

Eine Eventstruktur sollte immer wieder aufgerufen werden, damit sie die Events auch abarbeiten kann! Ansonsten blockiert sie gerne mal den Frontpanel.

Gruß, Jens


RE: Frontpanel außer Gefecht - Osirys - 21.02.2012 15:09

Hallo Jens,


also ich habe nur eine Eventstruktur, nutze sie um mein Programm zu starten beim drücken auf Start und alles zu stoppen bei drücken auf NOTAUS.


Zitat: ''Eine Eventstruktur sollte immer wieder aufgerufen werden, damit sie die Events auch abarbeiten kann!''

Das verstehe ich nicht gank meinst du mit einer While-Schleife darüber so zu sagen?(wenn ja, habe ich es schon getestet, selbe reaktion)



Gruß Alex


RE: Frontpanel außer Gefecht - jg - 21.02.2012 15:23

Lad mal dein VI hoch! Sonst wird das hier das ewige Rätselraten!

Gruß, Jens


RE: Frontpanel außer Gefecht - Lucki - 21.02.2012 18:38

Das passiert z.B genau dann, wenn die Eventstruktur mit Timeout = -1 (=unendlich, nicht angeschlossener Timout-Wert) in der Hauptschleife liegt. Aber wie schon gesagt: VI hochladen!
Es gibt zur Eventbehandlung diese beiden Möglichkeiten (für fortgeschrittene Benutzer gibt es noch etliches mehr):
1. In der Hauptschleife. Dann bestimmt der Timeout an der Ereignisstruktur die Umslaufzeit der Hauptschleife. Bei Timeout=unendlich kein Laufen des Programms!
2. Parallele Schleife nur zur Ereignisbehandlung. Dann darf Timeout = unendlich gesetzt sein.


RE: Frontpanel außer Gefecht - Osirys - 22.02.2012 11:05

Hier das VI, also Endprogramm ist das Hauptprogramm.


RE: Frontpanel außer Gefecht - M Nussbaumer - 22.02.2012 11:36

(21.02.2012 12:42 )Osirys schrieb:  Hallo zusammen,

ich habe folgendes Problem, das Frontpanel meines Programms ist außer Gefecht nach dem Start des Programms.
Eine Ereingnissstruktur zum starten und mehrere while Schleifen sind verbaut. Das Programm an sich läuft durch
nur kann ich es zum Beispiel per NOT-AUS nicht ausmachen da das Frontpanel nicht funktioniert.

Hat jemand eine Idee woran es liegen kann?

Natürlich funktioniert es nicht, da die Schleife mit deinem Amplituden-Express VI erst beendet wird sobald die Spannung zu hoch oder zu niedrig ist. Ob du Stopp drückst interessiert die Schleife herzlich wenig, solange du es nicht definierstWink

Ein paar Allgemeine Hinweise noch:

- Es ist möglich bei den mehrfach OR / AND Bausteinen einzelne Eingänge zu invertieren. Einfach rechtsklick drauf und "invert" für den Eingang wählen. Würde die Lesbarkeit deines DAQmx2.vi wesentlich erhöhen.

- Anstatt dem Arraysubset in testprg würde ich dir "Index Array" empfehlen. Einfach aufziehen und schon hast du die gewünschte Funktionalität (jeder Eingang ist das betreffende Element im Array und nicht immer nur das selbe, wenn kein Index gewählt wurde) und erhöhst die Lesbarkeit.

- 4/2/2/4 Pattern Connection-Pattern verwenden

- Die Globalen Variablen evtl durch Enums ersetzen, Funktionalität sollte die gleiche bleiben. Lesbarkeit wäre jedoch wesentlich erhöht.

- Indicators evtl als LED anzeigen. Buttons wecken (zumindest bei mirWink ) das Bedürfnis darauf klicken zu können.

Hoffe das hilft dir weiter!

Gruss Marc


RE: Frontpanel außer Gefecht - Osirys - 22.02.2012 21:17

Danke für die raschen Antworten. Gleich morgen versuche ich die Vorschläge umzusetzen. Ich muss dazu sagen, dass ich erst seit ca. 2 Monaten mit Labview arbeite und davor noch nicht wirklich programmiert habe.


Gruß Alex.


RE: Frontpanel außer Gefecht - Osirys - 22.02.2012 21:40

Mir ist da noch was eingefallen Big Grin, das Problem war ja nicht nur, dass beim drücken von NOTAUS nicht passierte, sondern das ich im Frontpanel überhaupt nichts anklicken kann nach dem Start. Manchmal muss ich sogar den Taskmanager öffnen um z.B. im Blockdiagramm etwas machen zu können :/


Gruß Alex


RE: Frontpanel außer Gefecht - NWOmason - 23.02.2012 06:07

(22.02.2012 21:17 )Osirys schrieb:  Danke für die raschen Antworten. Gleich morgen versuche ich die Vorschläge umzusetzen. Ich muss dazu sagen, dass ich erst seit ca. 2 Monaten mit Labview arbeite und davor noch nicht wirklich programmiert

Dann kann ich nur wärmstens diese Links zur Einarbeitung empfehlen:

Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/


(22.02.2012 21:40 )Osirys schrieb:  Mir ist da noch was eingefallen Big Grin, das Problem war ja nicht nur, dass beim drücken von NOTAUS nicht passierte, sondern das ich im Frontpanel überhaupt nichts anklicken kann nach dem Start. Manchmal muss ich sogar den Taskmanager öffnen um z.B. im Blockdiagramm etwas machen zu können :/

Das generelle Programmkonzept sollte nochmal überdacht/-arbeitet werden:

-Eventstrukturen sind nicht dafür gedacht eine StateMaschine zu ersetzten. Langwierige Prozesse (In deinem Fall die While-schleifen) haben dort nichts zu suchen. Die Eventstruktur ist i.a. nur dafür da, um die Nutzereingaben zu verwalten, sie übernehmen nicht die generelle Programmsteuerung
-Producer/Consumer Desing Pattern verwenden. Damit sollte sich am Besten dein Programmkonzept umsetzten lassen


Beste Grüße,
NWO