LabVIEWForum.de
Beim Beenden des Programmes hängt sich LV auf - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Beim Beenden des Programmes hängt sich LV auf (/Thread-Beim-Beenden-des-Programmes-haengt-sich-LV-auf)



Beim Beenden des Programmes hängt sich LV auf - chrigi28 - 02.09.2011 09:32

Guten Tag

Bei nachfolgendem VI hängt sich LV auf sobald man entweder auf STOP drückt oder während des debuggen auf debuggen beenden geht (STOPschild). Es liegt daran dass das Programm bei der Readfunktion auf die Flanke am CLK eingang wartet und verharrt. und desshalb wird die while schleife nicht abgebrochen.

Hat jemand einen Vorschlag wie ich es Trotzdem beenden kann?

Gruss Chrigi


RE: Beim Beenden des Programmes hängt sich LV auf - Achimedes - 02.09.2011 09:47

Hallo,
du hast beim DAQ lesen einen Timeout von unendlich eingestellt.
stell den doch kleiner ein. vielleicht wars das dann schon?

noch ein schuss ins blaue: was pasiert wenn du den Task aus einer anderen schleife heraus löscht wenn das programm beendet werden soll. vielleicht wird dann das DAQLesen mit nem Fehler abgebrochen???

noch was was mir aufgefallen ist:
- es ist nicht sicher gestellt das alle drei schleifen gleichzeitig loslaufen. zumindest war das mal so.
Im schlimmsten fall passiert das: die obere schleife läuft los und erst wenn die beendet wurde die unteren. oder anders rum.
bin mir aber nicht sicher ob das immer noch so ist.
Abhilfe schaffst du einfach in dem du deine Queue auch noch an die obere While schleife verbindest.

Grüße Achimedes


RE: Beim Beenden des Programmes hängt sich LV auf - chrigi28 - 02.09.2011 10:01

Das mit dem Timeout muss so sein es geht um eine Dauertestüberwachung der 7Tage dauern kann und wenn nie eine Fehlschaltung kommt muss der einfach nur warteAngel_not

Ich hab versuche den task mit hilfe des Stopevents zu beenden was aber nichts bringt da es (nehm ich an) hardware basierend ist.

Das mit dem Gleichzeitig loslaufen stellt grad kein Problem es funktionert nämlich alles bis aufs beenden. Aber ich weiss net was du meinst mit "Die Queue auch noch an die obere While schleife verbinden" wie verbinden was verbeinden Error Task ?


RE: Beim Beenden des Programmes hängt sich LV auf - A.Berndsen - 02.09.2011 13:16

Hallo Chigi,

ändere das Schaltverhalten Deines Stopp-Buttons in "Beim loslassen schalten".
Dann wird das Programm beendet.
Überlege mal, warum!

Danach ist der Stopp-Button nach Programm-Ende allerdings noch betätigt.
Das solltest Du dann noch bewerkstelligen, daß er auch wieder zurückgesetzt wird.

Was mir auch noch aufgefallen ist, beim Reset der Tabelle wird anschließend nicht in der ersten Zeile begonnen zu schreiben.
Wenn das gewünscht ist ok. Falls nein, solltest Du eine leere Konstante zum zurücksetzen verwenden.

Grüße
Andreas


RE: Beim Beenden des Programmes hängt sich LV auf - chrigi28 - 02.09.2011 14:17

So erstmal vielen Dank für eure Hilfe. Ich habe jetzt alle Fehler behoben zwar auf meine weise aber sie funktioniert Big Grin

Ich habe den letzten Vorschlag noch ausprobiert und er hab bei mir das Problem nicht behoben. Für die die es interessiert im Anhang ist meine Funktionierende version.

PS. Ja ich weiss, dass es nicht so beliebt ist mit Variablen zu arbeiten.


Schönes Wochenende
Chrigi