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 

Event-Handling für File Control



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!

22.02.2007, 12:16
Beitrag #11

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
Event-Handling für File Control
Habs mir angesehen.
Verstehe schon was du meinst, aber bleibt immer noch die Frage nach einem sauberen Ansatz.

Wie willst du das anders lösen?
Klar könnte man das Event in eine parallele Schleife legen und den Timeout weglassen. Aber: Dann musst du erst wieder die Daten aus der Eventschleife in deinen Hauptteil schicken.
Unsyncronisiert über lokale Variablen gefällt mir noch weniger und wenn du z.B. einen Melder nimmst, dann hast du das Timeout wiederum drinnen. Nur diesmal beim Melder.
Ich sehe irgendwie keinen Weg dieses Timeout zu umgehen.

Wie gesagt verwende ich normalerweise noch eine CaseStruktur, dass das Programm nicht im Timeoutcase liegt. Im Event ändere ich dann nur den Case. Der Timeout bleibt einfach leer.

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.02.2007, 11:37
Beitrag #12

oli2007 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Feb 2007

8.2
2005
kA

76128
Deutschland
Event-Handling für File Control
' schrieb:@Oli:
Weniger CPU Last verursacht das nicht. Aber du kannst nun halt auf Events zugreifen. Wie Eugen aber schon schrieb, eine Case Struktur tut es in deinem Fall vermutlich auch.

OK, so langsam versteh ich das Eventhandling in LabVIEW ein bisschen besser... Ich seh aber auch ein, dass wirklich eine Case Struktur gereicht hätte. Trotzdem nochmals meine Frage: in der Doku zu den Event Strukturen steht ja überall dass man eine Event Struktur in eine While Struktur packen soll um das unabsichtliche Einfrieren des Panels zu verhindern. Leider versteh ich die Erklärungen dazu aber nicht wirklich: Wann wird das Event nicht zu Ende abgearbeitet, so dass das Panel einfriert? Und noch eine Verständnisfrage: Eventstrukturen sparen generell nur dann CPU-Zeit, wenn man sie *ohne* timeout betreibt, oder?
Vielen Dank für eure Mühe...

Grüße
Oli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2007, 11:45
Beitrag #13

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Event-Handling für File Control
' schrieb:OK, so langsam versteh ich das Eventhandling in LabVIEW ein bisschen besser... Ich seh aber auch ein, dass wirklich eine Case Struktur gereicht hätte. Trotzdem nochmals meine Frage: in der Doku zu den Event Strukturen steht ja überall dass man eine Event Struktur in eine While Struktur packen soll um das unabsichtliche Einfrieren des Panels zu verhindern. Leider versteh ich die Erklärungen dazu aber nicht wirklich: Wann wird das Event nicht zu Ende abgearbeitet, so dass das Panel einfriert? Und noch eine Verständnisfrage: Eventstrukturen sparen generell nur dann CPU-Zeit, wenn man sie *ohne* timeout betreibt, oder?
Vielen Dank für eure Mühe...

Grüße
Oli


Ich verstehe es umgekehrt:
wenn du eine While-Schleife in ein Event machst, dann friert dein FP ein, weil gerade dieser Event abgearbeitet wird und keine neuen Events registriert werden können.

Zum zweiten:
Eine Event Struktur schont die CPU während keine Events eintreten. Timeout-Event ist genauso ein Event wie alle anderen, mit der Vorgabe des Timeouts sagst du wie oft das Timeout-Event kommen soll im Falle wenn keine anderen Events auftreten. Hoffentlich verständlich.

Gruss, Eugen

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2007, 13:23
Beitrag #14

oli2007 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Feb 2007

8.2
2005
kA

76128
Deutschland
Event-Handling für File Control
' schrieb:Ich verstehe es umgekehrt:
wenn du eine While-Schleife in ein Event machst, dann friert dein FP ein, weil gerade dieser Event abgearbeitet wird und keine neuen Events registriert werden können.

Zum zweiten:
Eine Event Struktur schont die CPU während keine Events eintreten. Timeout-Event ist genauso ein Event wie alle anderen, mit der Vorgabe des Timeouts sagst du wie oft das Timeout-Event kommen soll im Falle wenn keine anderen Events auftreten. Hoffentlich verständlich.

Bei Punkt zwei sind wir uns einig, das hab ich also richtig verstanden.

Zum ersten: In der NI Dokumentation steht mehrfach, dass man Event Strukturen in eine Whileschleife einbauen soll, damit alle Events abgearbeitet werden können, und aus irgendeinem Grund könne sonst das FP einfrieren (das ist genau das, was ich nicht verstehe). Dass das FP eingefroren bleibt, wenn das Event nicht mehr zu Ende geführt wird (wegen einer Endlosschleife) ist schon klar. Aber wenn das passiert hat man doch sowieso Schrott programmiert?!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2007, 13:59
Beitrag #15

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
Event-Handling für File Control
Naja wenn du dein Event einfach in die Pampa stellst (sprich in das BD ohne Schleife), dann wird es nur einmal abgefragt. Die Eventstruktur kann nur ein Event erfassen, auch wenn du viele ausgewählt hast.

Stellst du hingegen die Struktur in eine While Schleife, so wird das Event jedes mal erneut aufgerufen und kann ständig reagieren. Das geht natürlich auch ohne Timeout. Das Event wartet dann ewig (Abbruch Ereignis nicht vergessen!), arbeitet ein eventuelles Ereignis ab, und wartet dann auf ein neues.

Außerdem ist die Dokumentation doch dazu da, dass Schrott eben verhindert wird denk ich. Nehme an, dass deswegen darauf verwiesen wird.

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.256 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Scale Control with Tab Control GT123 6 6.320 08.12.2016 12:42
Letzter Beitrag: jg
  Error Handling in einem Queue Message Design Architektur galilio 2 4.644 09.08.2016 12:20
Letzter Beitrag: galilio
  Handling von Bedienelementen tooony 8 5.879 27.07.2016 14:17
Letzter Beitrag: wladimir s
  Bei Event Boolean ändern und bei erneutem Event resetten Shieva 4 5.358 07.07.2015 09:43
Letzter Beitrag: Lucki
  Event struktur: event triggern mit digital input Brainbug 11 10.359 26.03.2015 17:51
Letzter Beitrag: Lucki

Gehe zu: