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 

BenutzerEvent löst timeout-Case aus



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!

01.07.2013, 11:53
Beitrag #1

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



BenutzerEvent löst timeout-Case aus
Ich habe ein Hauptprogramm mit einer Eventstruktur, in der auch auf Benutzerereignisse von anderen SubVIs aus reagiert werden soll.

Zu Testzwecken habe ich ein kleines SubVI erstellt, in dem ein Taster das Event auslösen und den Wert auf True/false setzen soll. Die Eventstruktur im Hauptprogramm "verschluckt" aber viele der Ereignisse aus dem SubVI, es wird dauern der timeout-case ausgelöst, manchmal zufällig auch der Richtige.

Falls mir jemand von Euch einen Tipp geben könnte, was die Ursache für dieses Problem ist, so würde ich mich sehr darüber freuen. Vielen Dank im Voraus.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
01.07.2013, 12:44
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: BenutzerEvent löst timeout-Case aus
Ein Timeout Case ist in deinen Screenshots gar nicht definiert, wie soll er also darein springen?
Ansonsten mal VIs hochladen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 14:18
Beitrag #3

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: BenutzerEvent löst timeout-Case aus
Hallo Jens,

vielen Dank für Deine Antwort.

Beim Erstellen eines Event-Cases ist der timeout-case standardmässig mit vorhanden und den lösche ich nicht, sondern erstelle nur neue weitere Cases. Das komplette VI kann ich aus Datenschutzgründen nicht hochladen, sondern nur in Auszügen Bildansichten.

Es hätte ja sein können, dass jemand einen Ansatz hat, warum ein definiertes Event manchmal ausgelöst wird und dann mal wieder nicht. Ich ging davon aus, wenn ich die Events einmal in einem VI registriet habe und die Referenzen (die ich in einer FGV nach dem Initialisieren ablegte) dann dazu verwenden kann, um aus einem anderen VI heraus ein Event auszulösen. Bisher funktionierte das auch ohne Probleme mit anderen Events, aber bei diesem nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 14:40
Beitrag #4

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: BenutzerEvent löst timeout-Case aus
Ich habe mein Haupt-VI mit der Eventstruktur, die auf ein Benutzerereignis reagieren soll (siehe Bild). In dieser Eventstruktur ist auch ein timeout-Case vorhanden, auch wenn der nicht separat aufgeführt ist. In einem SubVI des Hauptprogramms initialisiere ich die Benutzerereignisse und speichere die Referenz in einer FGV. In dieser FGV sind die Einzelreferenzen zu den einzelnen Benutzerevents aufgeführt und die Referenz der Gesamtereignisse (siehe Bild).

Jetzt kann ich diese Referenzen auch in anderen VIs aus benutzen. Ich habe ich zwei SubVIs, in dem ich das gleiche Ereignis (KanalDefBearbVI) mit "Ereignis erzeugen" auslösen will. Wie oben in meinem anderen Beispieltestprogramm mit dem Button wird dort das Ereignis entweder auf true/false gesetzt, je nach dem, wie der Button gesetzt ist.

Meine Beobachtung ist folgende - die Ereignisse werden nur aus dem ersten SubVI vom Haupt-VI angenommen, von dem das Ereignis ausgelöst wurde. Wenn ich nun noch ein zweites SubVI habe, in dem ich auch das gleiche Ereignis auslösen will, wird im haupt-VI dann der timeout-case ausgelöst. Kann ich demzufolge ein Benutzerereignis ausschließlich von einem SubVI aus auslösen und nicht noch von einem zweiten anderen?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 15:11
Beitrag #5

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: BenutzerEvent löst timeout-Case aus
Ich habe nochmal ein kleines Testprogramm geschrieben, um das Problem einzeln zu betrachten. Ich habe ein Haupt-VI erstellt und zwei identische SubVIs, die ich mit SubVI1 und SubVI2 bezeichnet habe. An beide VIs werden die Referenzen übergeben und ich beobachte das gleiche - ich kann nicht von beiden VIs aus die Lampen in dem Haupt-VI ein- und ausschalten.

Ich habe das Beispielprogramm mit Hauptprogramm und den beiden SubVIs auch als Quellcode beigefügt, einmal in der Version 2012 und dann nochmal in der Version 2010 (Testprogramm_LV2010.zip).

Vielleicht kann sich ja einer von Euch das mal anschauen und mir weiterhelfen, ich würde mich sehr darüber freuen.


Angehängte Datei(en) Thumbnail(s)
   

0.0 .zip  TestprogrammUserEvents.zip (Größe: 30,73 KB / Downloads: 194)

0.0 .zip  Testprogramm_LV2010.zip (Größe: 17,96 KB / Downloads: 177)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 15:20
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: BenutzerEvent löst timeout-Case aus
Hallo Hasenfuss,

ich weiß nicht, was du hast, aber wenn ich dein Hauptprogramm (LV2010) starte und dann in den (von Hand zu öffnenden) subVIs Events auslöse, dann blinken die LEDs im Hauptprogramm...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 15:23 (Dieser Beitrag wurde zuletzt bearbeitet: 01.07.2013 15:25 von Hasenfuss.)
Beitrag #7

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: BenutzerEvent löst timeout-Case aus
Hallo GerdW,

vielen Dank, dass Du Dir mein Programm angeschaut hast.

Und Du kannst tatsächlich von beiden SubVIs aus die Events auslösen? Das Testprogramm bei mir funktioniert nur mit dem ersten SubVI, das zweite wird zwar auch gestartet, aber wenn ich dort die Events auslösen will, dann werden die nicht vom Hauptprogramm angenommen, sondern dort wird dann der timeout-Case anstelle des Benutzerevents ausgelöst.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 15:29 (Dieser Beitrag wurde zuletzt bearbeitet: 01.07.2013 15:33 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: BenutzerEvent löst timeout-Case aus
Hallo Hasenfuss,

ich habe weiter damit rumgespielt und folgendes herausgefunden:
Du darfst die Events nicht in mehreren Eventstrukturen registrieren! Wenn du die dynamischen Events in den subVIs entfernst, funktioniert es problemlos!
Wenn es dir nur um den "Stopp"-Button geht: nutze doch dafür eine FGV!

Beim ersten Test hatte ich die subVIs nacheinander geöffnet...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 15:37 (Dieser Beitrag wurde zuletzt bearbeitet: 01.07.2013 15:43 von Hasenfuss.)
Beitrag #9

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: BenutzerEvent löst timeout-Case aus
Hallo GerdW,

registrieren tue ich die Events nur einmalig in dem Haupt-VI, das einzige was ich tue ist, dass ich die Referenz der Registrierung an die SubVIs übergebe, da ich darüber auch ein Event auslöse vom Hauptprogramm aus, um die SubVIs automatisch zu beenden, und diese deshalb auch in den SubVIs benötigt wird.

Aber vielleicht muss ich zwei separate Ereignisse registrieren, einmal für das subVI1 und für das SubVI2, weil ich so jetzt die Vermutung habe, dass im Speicher die Referenzadressen irgendwie durcheinandergebracht werden und dann garnichts mehr funktioniert. Eben hatt eich auch den Fall, dass es mit beiden subVIs zunächst von VI1 aus funktionierte, aber als ich dann einmal ein Event in subVI2 ausführte, funktionierte im subVI1 plötzlich auch nichts mehr und es wurde dann von beiden subVIs aus der timeout-case im Hauptprogramm ausgelöst.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2013, 15:40
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: BenutzerEvent löst timeout-Case aus
Hallo Hasenfuss,

mit "registrieren" meinte ich, dass du die Referenz der dyn. Events jedesmal über den Anschluß für "dyn. Events" einer Eventstruktur zuweist!

Woher soll LabVIEW nun wissen, welche Eventstruktur für die Abarbeitung dieser Events zuständig ist? 3 Strukturen, die sich alle um das gleiche Event kümmern sollen und die alle 3 sich darum rangeln, wer als erster den Zugriff auf die interne Event-Queue bekommt!
Da kann die beste IDE schon mal durcheinander kommen...

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
  letztes Element wieder fokusieren nach Fenster lost focus TpunktN 2 2.891 28.11.2022 11:31
Letzter Beitrag: TpunktN
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 6.925 02.02.2021 15:05
Letzter Beitrag: Lucki
  VISA Timeout LP 8 8.171 10.10.2019 09:05
Letzter Beitrag: jahu
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.321 23.10.2017 09:08
Letzter Beitrag: Ksanto
  CLD Prüfungsängste, Timeout HasteMalNeMark 7 5.997 29.03.2016 16:01
Letzter Beitrag: rolfk
  Event-Struktur: Timeout während der Eventabarbeitung kwakz 4 5.524 04.09.2015 17:21
Letzter Beitrag: Lucki

Gehe zu: