INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Ausführung unterbricht bei Anwahl der Titelleiste



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.04.2020, 15:56
Beitrag #1

stoa Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2018

2019
2013
DE


Deutschland
Ausführung unterbricht bei Anwahl der Titelleiste
Hallo zusammen,

zu meinem Problem haben meine Recherchen nichts ergeben. Andererseits ist es auch schwierig soetwas zu suchen.

Also: Zur Zeit entwicklen wir ein Programm, bei dem die Datenerfassung über DAQmx und USB Messungen vornimmt. Da wir ein bisschen regeln möchten, haben wir uns nach und nach an die Grenzen der USB-Verbindung zum cDAQ-Chassis herangetastet, die Abtastrate ein bisschen hoch, die Anzahl der Samples etwas runter; naja...

Soweit so stabil; jedenfalls haben wir festgestellt, dass wenn wir den Inhalt eines Anzeigeelements, das mit in der DAQmx-Schleife liegt, mit der Maus schnell hintereinander markieren oder das Fenster wild hin und her schieben, der DAQmx Treiber einen Timout-Fehler ausgibt. Dieser Effekt lässt sich auch mit einem Minimalbeispiel zeigen: Wenn man die Titelleiste mit der Maus gedrückt hält, unterbricht die Ausführung für einen Augenblick. Anbei ein Video einer Bildschirmaufnahme, leider jedoch ohne Mauszeiger und auch das VI dazu.

Weiß jemand etwas darüber? Gibt es Möglichkeiten, dieses Verhalten zu beeinflussen? Uns ist das nie aufgefallen...

Beste Grüße
stoa


Angehängte Datei(en)
0.0 .zip  Demonstration.zip (Größe: 339,28 KB / Downloads: 228)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.04.2020, 16:15
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
Hallo stoa,

Zitat:Dieser Effekt lässt sich auch mit einem Minimalbeispiel zeigen: Wenn man die Titelleiste mit der Maus gedrückt hält, unterbricht die Ausführung für einen Augenblick. Anbei ein Video einer Bildschirmaufnahme, leider jedoch ohne Mauszeiger und auch das VI dazu.
Das Demo-VI ist leer und damit wenig hilfreich…

Zitat:Soweit so stabil; jedenfalls haben wir festgestellt, dass wenn wir den Inhalt eines Anzeigeelements, das mit in der DAQmx-Schleife liegt, mit der Maus schnell hintereinander markieren oder das Fenster wild hin und her schieben, der DAQmx Treiber einen Timout-Fehler ausgibt.
Dann nimm doch das Anzeigeelement aus dieser Schleife raus! (Bzw. spendiere dem DAQmx-Task seine eigene Schleife oder besser noch sein eigenes VI!)
Und du kannst den Fensterrahmen verschwinden lassen, dann kann der User auch nichts mehr wild hin- und herschieben…

Abgesehen davon: an Windows (als Betriebssystem) kannst du recht wenig ändern.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2020, 16:59
Beitrag #3

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
Hallo Stoa,
Fenster schnell hin und her bewegen kann man mit einem Vollbild ohne Rechte auf Änderung verhindern.
Eigenschaften VI-> Fenstererscheinungsbild

Eine Eingabe in einer Messschleife ist wie GerdW schon andeutet nicht schön.
Verwende doch in diesem Fall einfach Nachrichten-Queues mit Ereignis- Struktur.
Damit kannst Du zumindest verhindern, dass die DAQ Schleife durch eine Eingabe unterbrochen wird.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2020, 07:19
Beitrag #4

stoa Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2018

2019
2013
DE


Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
Hallo zusammen,

vielen Dank für eure Antworten. Tatsächlich gab es ein Problem beim Abspeichern des VIs, wie ich erst heute morgen feststelle. Anbei die überarbeitete Version.

In unserem Programm ist die Messschleife in einem VI mit eigener Schleife separiert. Wir haben nur zu Testzwecken die Laufzeit in Sekunden berechnen und auf der Benutzeroberfläche ausgeben lassen und dabei ist uns der Effekt aufgefallen. Sicher kann man die Titelleiste ausblenden oder deaktivieren oder die Anwendung im Vollbild erzwingen; Anzeigeelemente, die Schwierigkeiten bereiten einfach löschen.

Wir haben uns gefragt, wie der Effekt zustande kommt. Ist es dann die einzige Lösung die Titelleiste zu deaktiveren? Dann müsste jedes Programm mit irgendwie zeitkritischen Elementen so gestaltet sein, oder?

mit Gruß
stoa


Angehängte Datei(en)
0.0 .zip  Demonstration.zip (Größe: 341,09 KB / Downloads: 213)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2020, 08:22
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.700
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
(28.04.2020 07:19 )stoa schrieb:  Wir haben uns gefragt, wie der Effekt zustande kommt.
DAQ, Anzeigeelement und Windows-Fenster in ein und demselben Blockdiagramm? Da müssen sich alle diese Elemente ein Zeitfenster teilen => Wenn Windows gerade meint, das Fenster bearbeiten zu müssen, sieht es halt schlecht aus für den DAQ.

Es gibt nur eine richtige Lösung (siehe meine Vorredner): DAQ auslagern in ein (StandAlone)VI und die Daten per Queue (oder Melder) weiterleiten.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2020, 09:40
Beitrag #6

stoa Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2018

2019
2013
DE


Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
(28.04.2020 08:22 )IchSelbst schrieb:  DAQ, Anzeigeelement und Windows-Fenster in ein und demselben Blockdiagramm?

Nein. Siehe meinen letzten Beitrag. Ich weiß, Studierende können das nicht, die sind besser im Sourcecode im Netzt suchen ...

In Ordnung, wir sind also einen Schritt weiter: Wenn Windows meint, es müsse jetzt etwas mit dem Fenster anstellen, kann LabVIEW mit den Elementen nicht weiter arbeiten. Das kann ich nachvollziehen. Das würde bedeuten, dass eine separate Schleife, die keine Verbindung zur Benutzeroberfläche hat, davon ausgenommen wäre.

Jetzt hab ich mein Minimalbeispiel um zwei weitere Varianten des Hochzählens erweitert. Die erste Variante arbeitet nach wie vor und aktualisiert das Anzeigelement bei jedem Schleifendurchlauf. Die zweite Variante hingegen aktualisiert ihr Anzeigelement erst nach der Ausführung. Die dritte Variante ist als SubVI separiert. Trotzdem haben nach Beendigung alle Anzeigeelemente den gleichen Wert (±1), leiden also alle gleichartig unter dem "Titelfensterfesthalten". Damit haben wir noch keine Lösung für das Problem.

Wie seht ihr das?

mit Gruß
stoa


Angehängte Datei(en)
0.0 .zip  Demonstration.zip (Größe: 25,61 KB / Downloads: 208)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.04.2020, 10:34
Beitrag #7

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
Das ist der Beweis, dass alle Schleifen parallel arbeiten.
Dies ist doch genau Deine Lösung.
Wenn Du nun noch die Eingabe in eine der 3 Schleifen als Ereignisstruktur setzt und die DAQmx in eine andere Schleife, wird alles gut.

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2020, 10:42
Beitrag #8

stoa Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2018

2019
2013
DE


Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
(28.04.2020 10:34 )Freddy schrieb:  Das ist der Beweis, dass alle Schleifen parallel arbeiten.
Dies ist doch genau Deine Lösung.
Wenn Du nun noch die Eingabe in eine der 3 Schleifen als Ereignisstruktur setzt und die DAQmx in eine andere Schleife, wird alles gut.

Na, aber ich brauche doch eine Schleife, die nicht durch "Fenstertitelhalten" unterbrochen wird. Übrigens hat mein Kollege auch beobachtet, dass das Sperren des Rechners also "Win+L" ebenfalls dazu führen kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2020, 10:54 (Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2020 10:58 von Freddy.)
Beitrag #9

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste

Akzeptierte Lösung

Es ist ein Trugschluss, das die Bewegung des Fensters die Zählerfunktion unterbricht.
Nur die Anzeige wird durch die Windowsfunktion unterbrochen.

Wenn Du es wissenschaftlich angehen willst. Dann Stop die Zeit die vergeht bis die Schleife eine bestimmte Anzahl Schleifen durchlaufen hat.
Dann bitte das Gleiche mit bewegen des Fensters.

Beide Varianten nicht nur einmal durchspielen.

Der Versuchsaufbau


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2020, 11:33
Beitrag #10

stoa Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Apr 2018

2019
2013
DE


Deutschland
RE: Ausführung unterbricht bei Anwahl der Titelleiste
Oh man, Freddy, du hast absolut Recht. Ein Trugschluss. Ich dachte, ich beobachte damit den Effekt, der die DAQ-Schleife abrauchen lässt, aber danach sieht es wohl nicht aus. Damit habe ich aber auch keinen Anhaltspunkt mehr... vielleicht bleibt einem dann nichts weiter als die Echtzeitunfähigkeit schulterzuckend zu akzeptieren. Vielleicht kann ich das Timeout noch ganz anders provozieren? Parallel zu all dem PI exakt ausrechnen lassen vielleicht?

Na gut, belassen wir es dabei. Wenn sich noch etwas spannendes in der Angelegenheit ergibt, melde ich mich wieder. Bis dahin, vielen Dank für eure Hilfe!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sequentielle Ausführung von Befehlen Kiesch 5 4.591 16.03.2022 18:09
Letzter Beitrag: Kiesch
  Datenerfassung unterbricht vorübergehend in unregelmäßigen Abständen royal_k 6 5.297 03.07.2015 09:35
Letzter Beitrag: jg
  vi Ausführung durch externes Event Ecki83 2 3.717 14.11.2013 12:57
Letzter Beitrag: Ecki83
  Synchrone Ausführung Schwand 5 6.717 12.12.2012 14:11
Letzter Beitrag: Schwand
  parallele Ausführung richtig timen mojo 1 4.433 27.10.2008 18:09
Letzter Beitrag: Y-P
  Timing Probleme bei der Ausführung skander 1 3.973 06.07.2008 18:32
Letzter Beitrag: Kvasir

Gehe zu: