LabVIEWForum.de - Tastatureingabe stürzt ab.

LabVIEWForum.de

Normale Version: Tastatureingabe stürzt ab.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe ein Programm, bei dem eine Gerätereferenz geöffnet wird (Tastatur).
Nach etwa 12h funktioniert die Tastatureingabe nicht mehr (Rest funktioniert noch).
Der Dauertest lief mit der Application. Mit dem VI hab ich den Dauertest noch nicht gemacht.

Nun die Frage: Liegt das daran, dass die Gerätereferenz so lange offen ist, oder hat das einen anderen Grund.
Entzieht der Task-Scheduler des Systems möglicherweise der Application die Tastaturressource?
Ich kann natürlich vollkommen falsch liegen.
(23.07.2014 09:46 )RadioactiveMan schrieb: [ -> ]Ich habe ein Programm, bei dem eine Gerätereferenz geöffnet wird (Tastatur).

Meinst du das VI Initialize Keyboard? Kannst du keine gedrückten Tasten mehr auslesen oder was meinst du mit die Tastatur reagiert nicht mehr? Öffnest du die Gerätereferenz wirklich nur einmal oder in einer Schleife immer wieder?
Eine offene Referenz bringt im Normalfall keine Probleme mit sich.

Ein angehängtes VI oder Beispielcode würde die Raterei verkürzen.


Gruß, Marko
Das ist mal die vereinfachte Variante. Dazwischen ist nichts bezüglich Eingabe erfassen. Es werden im Orginal Melder gesendet und GVs beschrieben und abgefragt sowie ein paar primitive Vergleichsoperationen. Sonst nichts.

Was wäre, wenn ich in jedem Schleifendurchlauf eine Referenz öffne und schließe? Außer dass es Leistung frisst.
(23.07.2014 11:07 )RadioactiveMan schrieb: [ -> ]Das ist mal die vereinfachte Variante. Dazwischen ist nichts bezüglich Eingabe erfassen. Es werden im Orginal Melder gesendet...

Ich weiß nicht, wie es bei den Eingabegeräten ist, aber das Öffnen von Dateireferenzen, ohne sie wieder zu schließen geht irgendwann auch schief, da die Referenzen alle offen gehalten werden müssen. Bei den Eingabegeräten scheint es aber immer dieselbe Referenz zu sein, also kein Neuöffnen.
Kann es am Beschreiben der GVs oder an den Melderoperationen liegen? zB. TO auf -1, so dass du nicht mehr zur Abfrage der Tastatur kommst?

Ich kann dein VI leider nicht öffnen --> sonst mal als LV 2011 speichern.


Gruß, Marko
Hallo Man,

Zitat:Das ist mal die vereinfachte Variante.
Das ist die vereinfachte Variante??? Hmm RUBE-GOLDBERG-ALARM!

- Warum muss man zweimal "Dateneingabe erfassen" aufrufen, nur um zwei verschiedene Tasten abzufragen?
- Warum muss man mit Arrays und FOR-Loops arbeiten, wenn du jeweils nur auf eine spezielle Taste vergleichen willst?
- Warum suchst du erst im gelieferten Daten-Array nach deiner Taste, um danach dann noch einmal auf deren Nichtvorhandensein zu prüfen (dieser Test auf "== -1")???

Und zu guter Letzt: Warum überhaupt über die Tastatur-Dateneingabe-Funktionen??? Warum nicht einfach mit einer Event-Struktur und dem Event "Dieses VI -> Taste gedrückt"? Dann einfach einen Vergleich mit SPACE oder BACK(space) und fertig ist!
[attachment=50370]
Das ist ein Universal-VI mit dem ich auch beliebeige Tastenkombinationen abfragen kann. Daher das komische Aussehen.

Das mit der Eventstruktur wäre ne Option. Beim ursprünglichen Code war das nicht möglich, bei der aktuellen Variante ginge das.

Vereinfacht heißt hier nur, dass nicht relevantes Zeug rausgenommen ist und die Sub-VIs aufeglöst wurden.

Zitat:zB. TO auf -1, so dass du nicht mehr zur Abfrage der Tastatur kommst?

TO auf -1? Was meinst du damit


Aber wenn ich das richtig sehe, kann man im Prinzip sagen, dass der Fehler hier wohl eher nicht entstanden ist.
Kann es daran liegen, dass es die Runtime ist und nicht die Entwicklungsumgebung?

Im Anhang nochmal die Ausführlichere Variante. Das Gelb hat keine Bedeutung, das ist nur für mich.
Hallo Man,

hast du evtl. noch andere RaceConditions ähnlich der in deiner "Großen anderen Schleife"?

Öffnest du evtl. dauernd Referenzen, ohne sie sauber zu schließen?

"TO = -1" bedeutet, den TimeOut auf -1 und damit unendlich zu setzen…
Referenz-URLs