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 

VISA: Wait on Event - Vor Timeout Abbrechen



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!

18.01.2012, 17:47
Beitrag #1

Lien_Alere Offline
LV-Testengineer
*


Beiträge: 26
Registriert seit: Feb 2011

2018
2004
DE


Deutschland
VISA: Wait on Event - Vor Timeout Abbrechen
Hallo,

ich habe schon viel gelesen und viel ausprobiert, jedoch mein Problem nicht gefunden. Ich kann mir nicht vorstellen, dass man ein Eventhandler in Labview entwickelt, der nur abbricht, wenn ein Ereignis eintrifft oder das Timeout abläuft.

Daher meine Frage. Kann man das VI VISA:Wait on Event abbrechen, bevor ein Ereignis eintrifft oder das Timeout zuschlägt?

Falls dies nicht möglich ist, macht dieses VI für mich persönlich kein Sinn. Dann kan ich auch wie gewöhnlich auf die Schnittstelle pollen. Oder??

Viele Grüße
Alere
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.01.2012, 20:13
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: VISA: Wait on Event - Vor Timeout Abbrechen
Hallo Lien,

Gegenfrage: Wie sollte eine Funktion namens "Warte auf Event" denn deiner Meinung nach ablaufen?

Entweder das gewünschte Ereignis tritt ein oder die Funktion meldet einen TimeOut. Den kann man dank ErrorCluster behandeln und weiter warten...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2012, 01:04
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: VISA: Wait on Event - Vor Timeout Abbrechen
Das Timeout des VI Visa Wait On Event "schlägt nicht zu", sondern ganz im Gegenteil: Es ist Dein Freund und Helfer, um Das Programm zu stoppen.
Bei der Methode handelt es sich, genau genommen, um ein Mittelding von Polling und Eventbehandlung: Die VISA-Events werden augenblicklich behandelt, die Stop-Behandlung ist hingegen Polling .
Die Funktionsweise ist so: Das VISA-Vi erhält einen Timout, z.B 500ms, entsprechend der gewünschten Polling-Rate. Dieses Timeout hat nichts mit Deinem gewünschten Timeout zu tun. Wenn die 500ms Timeout erreicht sind, wird der Fehler abgefangen und ein einem neuen Schleifendurchlauf weiter auf Events gewartet. Bei dieser Gelegenheit wird jedesmal der Stop-Button gelesen.
Erst wenn das wirklich gewünschte Timeout erreicht ist, z.B von 10s, wird die Schleife und damit das Warten auf Ereignisse abgebrochen.

Habe mal das offizielle Beispiel zum VISA Wait On Event.VI modifiziert. Allerdings wäre das gar nicht notwendig gewesen, die Methode wird dort eigentlich schon praktiziert. Dort ist der Timeout lediglich unendlich: Das VI zählt so lange Ereignisse, bis mit dem Stopp-Knopf abgebrochen wird - und das Abbrechen funktioniert! Ungeschickt ist dort lediglich die Fehleranzeige. Das Visa-Timeout ist hier kein Fehler und sollte nicht groß als Fehler auf dem Frontpanel angezeigt werden.

10.0 .vi  Beispiel.vi (Größe: 41,69 KB / Downloads: 404)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2012, 10:35
Beitrag #4

Lien_Alere Offline
LV-Testengineer
*


Beiträge: 26
Registriert seit: Feb 2011

2018
2004
DE


Deutschland
RE: VISA: Wait on Event - Vor Timeout Abbrechen
Hallo Lucki und GerdW,

vielen Dank für eure Antwort. Die Funktion ist also doch so, wie ich mir das gedacht habe Wink. Die Beispiele hatte ich
schon begriffen. Jedoch dachte ich, man könnte das pollen mit diesem VI umgehen und es gäbe eine - sagen wir mal - schönere Lösung.

Dann werde ich mir das so annehmen und eine Lösung für mein Problem finden.

Viele Grüße
Alere
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2012, 10:40
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: VISA: Wait on Event - Vor Timeout Abbrechen
Hallo Alere,

Zitat:ein Eventhandler ..., der nur abbricht, wenn ein Ereignis eintrifft oder das Timeout abläuft.
Wann soll er denn sonst noch abbrechen? Bzw. was genau ist dein Problem?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2012, 10:46 (Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2012 10:53 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: VISA: Wait on Event - Vor Timeout Abbrechen
Das Problem ganz ohne Polling zu lösen wäre möglich, wenn man das VI "VISA Wait on Event" nicht verwenden würde und statt dessen eine normale Ereignisstruktur dazu bringen könnte, auf das VISA-Ereignis zu warten. Vielleicht ist das möglich, aber zumindest ich stoße hier an meine Grenzen.
Aber was ist denn konkret an der gewählten Lösung auszusetzen? Wenn Du jetzt antwortest, das stört dich aus ästhetischen Gründen, hat keine praktischen Gründe, aber aus rein schöngeistigen Interesse suchst Du noch nach einer anderen Lösung - dann hätte ich dafür volles Verständnis, denn ich ticke genau so.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2012, 15:42
Beitrag #7

Lien_Alere Offline
LV-Testengineer
*


Beiträge: 26
Registriert seit: Feb 2011

2018
2004
DE


Deutschland
RE: VISA: Wait on Event - Vor Timeout Abbrechen
Hallo,

genau das ist es. Polling belastet nur die Ressourcen des Rechners, falls das in dem VI nicht sowieso getan wird. Also eben nur zur Verschönerung und Vereinfachung Wink.
Ich meinte das mit dem Ereignis so. Das Vi bricht nur ab, wenn ein VISA Event auftritt, dass dem Eventtype entspricht, welches ich an dem VI Eingang angeschlossen hab. In meinem Fall wäre das "Serial TermChar". Sprich, das VI wartet auf das von mir definierte Zeichen.
Meine derzeitige Lösung ist, dass ich das VI beende indem ich dieses Zeichen an die Schnittstelle schicke. Problem dabei ist, dass ich diese Art von Abbruch nicht genau zurückgeben kann. Ich weiß nur, dass ein Event eingetreten ist, aber nicht welches. Meins oder kam vielelicht doch ein von dem Gerät von außen, das eventuell ein Fehlereignis aufwies.
Ich spreche hier von Worst Case Fälle, die jedoch bei Qualitätskontrollen wichtig zu beachten sind Smile.

Meine Lösung an NI, welche ich dort auch angebracht habe, ist dieses VI nicht nur auf ein bestimmten Eventtype reagieren zu lassen. Sondern auch die Möglichkeit zu schaffen auf ein Softwareereignis zu reagieren wie das drücken eines Stopbuttons, der sowieso durch eine Eventstructure ausgelöst wird.

So mein Vorhaben Smile.

Viele Grüße
Alere
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.01.2012, 16:00 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2012 16:00 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: VISA: Wait on Event - Vor Timeout Abbrechen
Hallo Alere,

ich fände es sehr befremdlich, wenn eine für VISA dedizierte Funktion plötzlich UI-Events abfragen sollte...
Außerdem wird dir (nicht nur) NI sagen, dass du doch gern im TimeOut-Case alle möglichen UI-Events abfragen kannst.

Zitat:Problem dabei ist, dass ich diese Art von Abbruch nicht genau zurückgeben kann. Ich weiß nur, dass ein Event eingetreten ist, aber nicht welches.
??? Du erzeugst das Event selbst und weißt nicht, welches Event zum Abbruch führt???
Außerdem bekommst du doch vom EventWait die Angabe zurück, welches Event ausgelöst hat ("Ereignistyp (Ausgang)")...

Zitat:Polling belastet nur die Ressourcen des Rechners,
Das mag sein. Aber ist dein Programm so heiß gestrickt, dass ein Abfragen eines UI-Elements alle ca. 250ms (im Timeout) zu Problemen führt?

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
  Polling über USB RAW - Timeout funktioniert nicht MirkoB 3 5.165 06.09.2017 15:18
Letzter Beitrag: MirkoB
  TimeOut error 6101 patriote00 15 14.079 18.12.2015 14:55
Letzter Beitrag: patriote00
  VISA: Timeout Error (1073807339) TobSTAR 4 9.715 03.07.2014 09:22
Letzter Beitrag: TobSTAR
  Byte (hex) erzeugt Timeout im VISA Lolleg 2 4.306 06.06.2014 13:26
Letzter Beitrag: Lolleg
  VISA: (Hex 0xBFFF0015) bei VISA read und im VISA Test Panel rick 3 14.316 10.11.2013 12:16
Letzter Beitrag: Y-P
  VISA-Read abbrechen? BJ 4 4.713 16.04.2013 16:33
Letzter Beitrag: BJ

Gehe zu: