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-Struktur: Timeout während der Eventabarbeitung



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!

04.09.2015, 11:25
Beitrag #1

kwakz Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 91
Registriert seit: Oct 2008

2020 32 Bit
2008
EN

71101
Deutschland
Event-Struktur: Timeout während der Eventabarbeitung
Hallo zusammen,

ich hab ein Programm, dass als Server für die Reporterstellung von Produktionsdaten läuft. In meinem Client schreibe ich dabei Seriennummern in eine Datenbank, das Serverprogramm holt sich die Seriennummern dort ab und erstellt mir die Reports.

Der Server läuft dabei als queued state machine. In meinem Producer habe ich einen Timeout-Case, der alle 5 Sekunden auf die Datenbank zugreift und sich neue Seriennummern abholen soll. Anschließend schiebe ich die Seriennummern mit ein paar Zusatzinformationen in meine Queue. Heute ist folgendes Phänomen aufgetreten: Ich benutze als Speicherpfad der Reports unter anderem den Zeitstempel, an dem der Timeout-Case auf die Datenbank zugreift und die Seriennummern holt. Bei sehr vielen Seriennummern hat sich mitten in der Reporterstellung der Zeitstempel geändert, obwohl ich immer den gleichen Wert in die Queue schreibe (siehe Bild im Anhang).

Meine Ursachenvermutung ist gleichzeitig meine Frage: Was passiert beim mit dem Timeout-Case, wenn während der Abarbeitung des Programms innerhalb des Case ein erneuter Timeout auftritt? Datenfluss würde ja eigentlich bedeuten: zuerst wird der Programmcode abgearbeitet, danach wird auf das erneute Timeout reagiert. Meine Vermutung ist aber, dass das genau nicht passiert, sondern einfach der Timeout-Case erneut ausgeführt wird und sich damit auch der Zeitstempel ändert. Kann jemand meine Vermutung bestätigen?

Gruß
Daniel


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

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Event-Struktur: Timeout während der Eventabarbeitung
Ein ganz simpler Test zeigt: Nein!
   
Die nächste Wartezeit Time-Out wird erst gestartet, nachdem der Case in der Eventstruktur komplett abgearbeitet wurde.

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
04.09.2015, 16:13 (Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2015 17:15 von Lucki.)
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: Event-Struktur: Timeout während der Eventabarbeitung
Wenn das Programm im Timout-Case länger als 5000ms brauchen kann, dann gelten die Ausfürungen von Jens.
Falls aber das Programm in NullKommaNichts abgearbeitet wird, dann funktioniert Dein VI so:

Solange kein Ereignis auftritt, wird das Programm alle 5000 ms ausgeführt.
Nach jedem Ereignis wird es aber sofort ausgeführt.
Z.B: Wenn alle 100ms ein Ereignis da ist, wird das Programm alls 100ms ausgeführt. Nur wenn es kein Ereignis gibt, ist der Zeitabstand zwischen zwei Ausführungen 5000ms.

Korrektur:
Nach jedem Ereignis beginnt der Timout von vorn, und der Code wird am Ende des Timeouts ausgeführt. Solange z.B. laufend Ereignisse innerhalb von weniger als 5 sec stattfinden, wird der Timeout-Code nie ausgeführt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.09.2015, 16:20
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Event-Struktur: Timeout während der Eventabarbeitung
(04.09.2015 16:13 )Lucki schrieb:  Das im Timeout-Case befindliche Programm hat aber möglicherweise gar keine eigenen Wartefunktion und ist in NullKommaNichts abgearbeitet.
Dann funktioniert das VI so:
Solange kein Ereignis auftritt, wird das Proagramm alle 5000 ms ausgeführt. Nach jedem Ereignis wird es aber sofort ausgeführt.
Z.B: Wenn alle 100ms ein Ereignis da ist, wird das Programm alls 100ms ausgeführt. Nur wenn es kein Ereignis gibt, ist der Zeitabstand zwischen zwei Ausführungen 5000ms.
Falls es Dir darauf ankommt, genau alle 5000ms den Code auszuführen, dann geht das so nicht.

@Lucki: Ich finde deine Erklärung etwas missverständlich: Bei dem Beispiel Timeout=5000ms gilt: Der Timeout-Case wird 5 Sekunden nach Abarbeitung des letzten Events (egal welches) wiederum abgearbeitet, aber nicht direkt nach irgendeinem anderen Event. Event schließt hierbei den Timeout-Case selber ein.

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
04.09.2015, 17:21
Beitrag #5

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: Event-Struktur: Timeout während der Eventabarbeitung
(04.09.2015 16:20 )jg schrieb:  @Lucki: Ich finde deine Erklärung etwas missverständlich:
Du mußt mich da nicht so mit Samthandschuhen anfassen. Mein Erklärung war überhaupt nicht mißverständlich, sondern ganz klar - aber falsch.
Danke für den Hinweis, habs oben korrigiert und meinen Mist zur allgemeinen Abschreckung in durchgestrichender Form stehen lassen.
Gruß Ludwig
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
  Asynchrone VIs mit Event Struktur sofort beenden Kiesch 4 10.753 26.04.2024 10:29
Letzter Beitrag: Kiesch
  Event Struktur Problem ache 9 5.200 17.09.2020 14:10
Letzter Beitrag: jg
  VISA Timeout LP 8 8.170 10.10.2019 09:05
Letzter Beitrag: jahu
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 8.320 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Simple Event Struktur berlinfatih 32 21.094 23.06.2016 18:53
Letzter Beitrag: jg
  CLD Prüfungsängste, Timeout HasteMalNeMark 7 5.996 29.03.2016 16:01
Letzter Beitrag: rolfk

Gehe zu: