LabVIEWForum.de
VI hängt sich bei Tastenbenutzung auf - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: VI hängt sich bei Tastenbenutzung auf (/Thread-VI-haengt-sich-bei-Tastenbenutzung-auf)

Seiten: 1 2


VI hängt sich bei Tastenbenutzung auf - nox - 16.02.2012 22:05

Hallo an alle LV Benutzer,

ich habe eine Frage an die erfahrenen LV-Benutzer. Für Euch ist dies bestimmt trivial. Für mich jedoch derzeit ein echtes Problem.

Für ein Projekt auf Arbeit habe ich eine Vi erstellt, die mittels ASCII Zeichen mit einem uC kommuniziert und einen Teststand für Flowsensoren ansteuert. (LV 8.5)

Soweit so gut. Mit der Erweiterung der Arbeit auf andere Typen ist das Projekt angewachsen.
Wir das derzeitige Projekt benutzt, dann kommt es vor, dass bei Betätigung einer beliebigen Taste, diese blockiert und die gesamt Vi lahm legt. Ich könnte die Timeout variable der case-schleife anheben, dann jedoch ist die Aktualisierung der Grafik schlechter.

Hat jemand eine Idee, wie ich die Performance verbessern kann. Ich vermute, dass die Verschachtelung das Hauptproblem darstellt. jedoch ist mir noch kein anderer eleganter Weg eingefallen.

Hier die VI.


Vielen Dank für jeden Hinweis. Da ich noch recht unbedarft auf dem Gebiet von LV bin, lerne ich gern was dazu...

NOX


RE: VI hängt sich bei Tastenbenutzung auf - M Nussbaumer - 17.02.2012 08:00

(16.02.2012 22:05 )nox schrieb:  Hallo an alle LV Benutzer,

ich habe eine Frage an die erfahrenen LV-Benutzer. Für Euch ist dies bestimmt trivial. Für mich jedoch derzeit ein echtes Problem.

Für ein Projekt auf Arbeit habe ich eine Vi erstellt, die mittels ASCII Zeichen mit einem uC kommuniziert und einen Teststand für Flowsensoren ansteuert. (LV 8.5)

Soweit so gut. Mit der Erweiterung der Arbeit auf andere Typen ist das Projekt angewachsen.
Wir das derzeitige Projekt benutzt, dann kommt es vor, dass bei Betätigung einer beliebigen Taste, diese blockiert und die gesamt Vi lahm legt. Ich könnte die Timeout variable der case-schleife anheben, dann jedoch ist die Aktualisierung der Grafik schlechter.

Hat jemand eine Idee, wie ich die Performance verbessern kann. Ich vermute, dass die Verschachtelung das Hauptproblem darstellt. jedoch ist mir noch kein anderer eleganter Weg eingefallen.

Hier die VI.


Vielen Dank für jeden Hinweis. Da ich noch recht unbedarft auf dem Gebiet von LV bin, lerne ich gern was dazu...

NOX

Hallo NOX

Für dich wäre das sogenannte Producer/Consumer-Design Pattern eine Überlegung wert.
Dabei wird die Eventstruktur "nur" dafür verwendet die Events zu erfassen und eine separate Schleife um die Datenabfragen zu machen. Dadurch wird die Eventstruktur nicht unnötig belastet bzw. blockiert.

Ein Beispiel zum Producer/Consumer Pattern findest du unter: File->New...->VI->From Template->Frameworks->Design Patterns->Producer/Consumer Pattern

Hoffe das hilft dir weiter! Falls du Fragen dazu hast darfst du diese natürlich gerne stellenSmile

Gruss Marc

EDIT: Falls es wirklich notwendig ist deine Daten alle 333ms in eine Datei zu schreiben würde ich dir dringenst von den Express-VIs abraten, du kannst dein Programm wesentlich verbessern wenn du manuell eine Datei vor dem deiner While-Schleife öffnest und nach deiner While-Schleife schliesst. Beim Express-VI wird dies, soweit ich darüber informiert bin, bei jedem Durchlauf gemacht und verlangsamt dein Programm unnötig.

Ein anderer Ansatz wäre die Daten erst in die Datei zu schreiben wenn die While-Schleife beendet wird.


RE: VI hängt sich bei Tastenbenutzung auf - Y-P - 17.02.2012 08:11

Zwei Dinge:
1. Mach mal folgendes Häkchen raus:
[attachment=38704]
2. Ersetze mal Dein Express-VI und packe es direkt in den Timeout-Case (nur von dort erhältst Du auch Daten).

Wenn das nicht hilft, dann kann man nochmal im Detail danach schauen.

Gruß Markus


RE: VI hängt sich bei Tastenbenutzung auf - M Nussbaumer - 17.02.2012 08:29

(16.02.2012 22:05 )nox schrieb:  Vielen Dank für jeden Hinweis. Da ich noch recht unbedarft auf dem Gebiet von LV bin, lerne ich gern was dazu...

Noch ein allgemeiner Tipp: Erstelle für alle deine Cluster/Enums (wie etwa FC-Typ 3) einen Typedef! Vorteil daran ist, dass bei einer Änderung am Typedef ALLE Instanzen auf verschiedenen Blockdiagrammen angepasst wird. Du erspartst dir später jede Menge Ärger mit kleinem Aufwand.

Hier eine kurze Anleitung wie man einen Typedef erstellt, vor laaanger Zeit mal erstelltWink
[attachment=38705]

Gruss Marc


RE: VI hängt sich bei Tastenbenutzung auf - Y-P - 17.02.2012 09:21

So hat man es auch vor langer Zeit noch gemacht. Big Grin

EDIT: Für die User neuerer LabVIEW-Versionen: Einfach im Frontpanel einen Rechtsklick auf das Control und "Make Type Def." auswählen.

Gruß Markus

(17.02.2012 08:29 )M Nussbaumer schrieb:  Hier eine kurze Anleitung wie man einen Typedef erstellt, vor laaanger Zeit mal erstellt;


Gruss Marc



RE: VI hängt sich bei Tastenbenutzung auf - jg - 17.02.2012 09:47

Das folgende löst nicht direkt dein Problem, aber trotzdem:

Was ist das für eine Unsitte, das Betätigen eines Buttons im Frontpanel per Event "Mouse Down" abzufragen? Du bist da nicht der einzige, der das in letzter Zeit so gemacht hat.
Einfach den entsprechenden Button auf das Verhalten "Latch When Released" stellen und ein "Value Change" Event des Buttons abfragen.

Gruß, Jens


RE: VI hängt sich bei Tastenbenutzung auf - M Nussbaumer - 17.02.2012 10:34

(17.02.2012 09:21 )Y-P schrieb:  So hat man es auch vor langer Zeit noch gemacht. Big Grin

EDIT: Für die User neuerer LabVIEW-Versionen: Einfach im Frontpanel einen Rechtsklick auf das Control und "Make Type Def." auswählen.

Gruß Markus

So muss ich es noch bis Ende März machen, dann wird endlich upgegradet Big Grin

Gruss Marc


RE: VI hängt sich bei Tastenbenutzung auf - Y-P - 17.02.2012 11:01

Bis dahin gibt's dann schon fast LabVIEW 2012. Big Grin
Holst Du Dir dann wenigstens gleich einen SSP-Vertrag?
Dann kriegst Du immer die neueste Version.

Gruß Markus

(17.02.2012 10:34 )M Nussbaumer schrieb:  So muss ich es noch bis Ende März machen, dann wird endlich upgegradet Big Grin

Gruss Marc



RE: VI hängt sich bei Tastenbenutzung auf - GerdW - 17.02.2012 11:07

Hallo Markus,

auch ich werde frühestens Ende März upgraden - trotz SSP. Im März kommt nämlich die SP1-Version Big Grin
(Außerdem erfordert der LV2011-RT-Treiber Updates von cRIO-Targets, was lästig wird, wenn diese nicht im Büro stehen...)


RE: VI hängt sich bei Tastenbenutzung auf - M Nussbaumer - 17.02.2012 11:10

(17.02.2012 11:01 )Y-P schrieb:  Bis dahin gibt's dann schon fast LabVIEW 2012. Big Grin
Holst Du Dir dann wenigstens gleich einen SSP-Vertrag?
Dann kriegst Du immer die neueste Version.

Gruß Markus

(17.02.2012 10:34 )M Nussbaumer schrieb:  So muss ich es noch bis Ende März machen, dann wird endlich upgegradet Big Grin

Gruss Marc

Wir haben nen SSP-Vertrag und die CD von LabVIEW 2011 liegt auch schon ne ganze Weile hierWink
Problem ist, dass unser ganzes Programm von LabVIEW 2009 auf 2011 umgestellt werden muss mit anschliessenden Funktionstests (jaja das liebe Qualitätsmanagement...), was noch bis März dauertDry

Gruss Marc