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 

Erzeuger/Verbraucher



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!

26.12.2012, 15:44
Beitrag #14

blubblub Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Nov 2012

2010
-
kA



RE: Erzeuger/Verbraucher
Ich finde das einfügen einer wait Funktion aus folgendem Grund recht nützlich:

In der Erzeugerschleife muss sichergestellt sein, dass diese spätestens alle 20 ms ausgeführt wird.

Die Verbraucherschleife hingegen kann ruhig 500 ms versetzt aufgerufen werden um dort dann Daten
aus dem Puffer zu lesen und in einem Rutsch mehrere in das Diagramm zu schieben, so dass die Queue
wieder leer ist.
Der Vorteil der 500ms wait Funktion wäre meiner Meinung nach, dass die Erzeugerschleife die volle
Aufmerksamkeit von meinen beiden CPU Kernen erhält. Die Erzeugerschleife müsste sich also nur hin und wieder mal
die CPU Kerne mit den Systemprozessen von Windows teilen.
Zudem ist ja das Zeichnen von Diagrammen so CPU lastig, dass ich mir denke alle 500ms reicht aus.

Da während eines gesamten Versuchs eh nicht mehr als 3 MB an Daten erzeugt werden und ich 1 GB Arbeitsspeicher
zur Verfügung habe, wird die Queue eh nie so vollaufen, dass mir das Programmabstürzt.
Im schlimmsten Fall hätte die Queue dann im Arbeitsspeicher 3 MB gepuffert bevor sie in der Verbraucherschleife
angefangen werden im Diagramm zu verwerten.

Momentan hab ich ja das Problem, dass wenn ich Daten in einer Schleife von der Messkarte lese
und sie in derselben Schleife direkt in das Diagramm schreibe, ich die 20ms maximale
Schleifendurchlaufzeit manchmal nicht einhalten kann. Dadurch regelt die angeschlossene Maschine
falsch, da Werte zu später eingelesen werden. Dieses Problem muss irgendwie mit dem Zeichnen
des Diagramms zusammenhängen. Denn wenn das Diagramm nicht mitgezeichnet wird, sondern die
Werte lediglich direkt in eine Datei geschrieben werden, kann man sehen dass alle Werte
korrekt erfasst wurden. Sobald das Diagramm mitzeichnet kommt es aber zum Reglerproblem,
da die Schleife manchmal länger als 20ms für einen Durchlauf braucht und Werte dadurch zu spät erfasst werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Erzeuger/Verbraucher - blubblub - 03.12.2012, 19:41
RE: Erzeuger/Verbraucher - Y-P - 03.12.2012, 19:50
RE: Erzeuger/Verbraucher - blubblub - 03.12.2012, 19:58
RE: Erzeuger/Verbraucher - Y-P - 03.12.2012, 20:06
RE: Erzeuger/Verbraucher - blubblub - 03.12.2012, 20:54
RE: Erzeuger/Verbraucher - Y-P - 04.12.2012, 09:10
RE: Erzeuger/Verbraucher - Lucki - 04.12.2012, 09:56
RE: Erzeuger/Verbraucher - Y-P - 04.12.2012, 11:00
RE: Erzeuger/Verbraucher - Lucki - 04.12.2012, 19:03
RE: Erzeuger/Verbraucher - blubblub - 04.12.2012, 23:11
RE: Erzeuger/Verbraucher - jg - 04.12.2012, 23:51
RE: Erzeuger/Verbraucher - blubblub - 24.12.2012, 10:15
RE: Erzeuger/Verbraucher - Lucki - 25.12.2012, 10:54
RE: Erzeuger/Verbraucher - blubblub - 26.12.2012 15:44
RE: Erzeuger/Verbraucher - Lucki - 27.12.2012, 11:54
RE: Erzeuger/Verbraucher - jg - 27.12.2012, 14:27
RE: Erzeuger/Verbraucher - Lucki - 27.12.2012, 18:28
RE: Erzeuger/Verbraucher - jg - 27.12.2012, 22:54
RE: Erzeuger/Verbraucher - Lucki - 27.12.2012, 23:46

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Erzeuger / Verbraucher Entwurfsmuster Sonde 5 4.756 07.10.2013 14:36
Letzter Beitrag: Sonde

Gehe zu: