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 

Zu SCHNELLES Auslesen einer Queue-Funktion ???



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!

03.03.2011, 00:45
Beitrag #1

Sternhagel Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Feb 2011

10
2010
EN


Deutschland
Zu SCHNELLES Auslesen einer Queue-Funktion ???
Hallo,

Ich habe ein Problem mit dem Schreiben von Werten in eine Queue innerhalb einer While-Schleife und dem sehr schnellen Auslesen eben dieser Werte durch eine andere While Schleife. Es kommt dabei zu "Unterbrechungen", bzw. dem scheinbaren einlesen von Nullen (siehe Bilde im Anhang).

Ich lasse in meiner Anwendung zwei While-Schleifen parallel laufen. Eine Auslese-Schleife liest Werte aus einem Gerät aus und die andere Auswerte-Schleife ist für die Auswertung.
Daten der Auslese-Schleife sende ich mit einer Queue-Funktion zur Auswerte-Schleife. Es wird jeweils immer nur eine einzige Zahl pro Schleifendurchlauf übermittelt!

Mein Problem ist nun, dass je nachdem wie schnell ich die Auswerteschleife die Daten der Ausleseschleife abruft, es scheinbar zu "Unterbrechungen" der übertragenen Werte kommt.... es wird also immer mal wieder eine Null eingelesen, obwohl da keine Null ist.

Im Anhang habe ich drei Bilder angehängt welche durch eine Waveform-Chart dargestellt wurden. Angezeigt wird der durch die Queue-Funktion übertragene und von der Auswerte-Schleife abgerufene Wert über der Zeit:

1. Langsamer Auslesevorgang mit 50ms zwischen den Auslesevorgängen -> so sollte das aussehen !!!

2. Schneller Auslesevorgang mit 20ms zwischen den Auslesevorgängen -> man sieht schon ein paar "Einbrüche" bei denen scheinbar eine Null eingelesen wird !!!

3. Sehr schneller Auslesevorgang mit 10ms zwischen den Auslesevorgängen -> Es treten quasi ständig "Einbrüche" auf !!!

Man sieht also deutlich die Einbrüche je schneller ich die Werte aus der Auslese-Schleife abrufe. Die Auslese-Schleife schreibt ca. alle 15ms einen neuen Wert in die Queue-Funktion. Die Anzahl der Werte pro Queue ist auf nur einen Wert begrenzt.

Umgeghen kan nich das Problem durch das setzen eines hohen Time-Outs, allerdings ist das eine eher Suboptimale Option für mich, da wenn kein neuer Wert vorhanden ist, eben der alte Werte eingelesen wird.

Ich denke mal, dass das Problem folgendes ist:
Wenn die Auslese-Schleife im Begriff ist einen neuen Wert in die Queue zu schreiben und in dem selben Moment die Auswerte-Schleife einen Wert abrufen möchte, kommt es zu diesem "Einburch", bzw. dem einlesen einer Null??? !!!

Kann das sein?

Hat jemand eine Idee, wie ich dieses Problem aus der Welt schaffen kann?

viele Grüße
Peter


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Zu SCHNELLES Auslesen einer Queue-Funktion ??? - Sternhagel - 03.03.2011 00:45

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Music FGEN Erzeugung eines Signalverlaufs anhand einer Mathematischen Funktion DavidStefan 11 6.636 29.05.2021 07:03
Letzter Beitrag: GerdW
  Daten einer SPS S7-1200 mit SP7 Toolkit auslesen Daniel9395 17 11.186 05.08.2020 09:26
Letzter Beitrag: Daniel9395
  Wie auf abgearbeitete Queue warten mez15 11 7.472 28.09.2017 13:02
Letzter Beitrag: TR61
  Datum Uhrzeit Queue DeleteAll 8 5.193 24.03.2017 15:47
Letzter Beitrag: GerdW
  TDMS in Queue laden gifo 8 5.081 07.01.2016 16:41
Letzter Beitrag: GerdW
  Fehlercluster via Queue hansi9990 23 12.970 07.08.2015 14:11
Letzter Beitrag: hansi9990

Gehe zu: