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 

Queue Fehler 2



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!

23.11.2006, 09:11
Beitrag #1

woully Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2006

8.00
2006
kA

77815
Deutschland
Queue Fehler 2
Hallo,

ich verwende eine Queue die in einer ersten Schleife mit Daten gefüllt wird, und in einer Zweiten Zeitgesteuerte Schleife ausgelesen wird.
Nach einigen Stunden erzeugt die Queue den Fehler 2 = Speicher ist voll.

In der Ersten Schleife verwende ich die Komponenten "Queue Anfordern", "Queue Status", "Element einfügen"
in der Zweiten Schleife verwende ich die Komponenten "Queue Anfordern", "Queue Status", Element aus Queue Entfernen".
Die queue wird erst beim schließen von der VI freigegeben.
Muß die Queue zwischen durch freigegeben werden ?. Oder ist es besser die Queue referenz von einer Schleife zur andere zu übergeben ?.

Oder liegt dieses speicherproblem irgendwo anderst ?

mfg
woully
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 09:25
Beitrag #2

marker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 226
Registriert seit: Feb 2005

8.2.1
2002
kA


Deutschland
Queue Fehler 2
Hallo woully,

schau Dir mal das angehängte VI an.
Wenn Du nicht die Speicherfunktion der Queues benötigst, kannst Du statt dessen auch die Notifier (Melder) verwenden.

Gruß,
Marko


Angehängte Datei(en)
Sonstige .vi  Queue_ML.vi (Größe: 12,35 KB / Downloads: 254)

"Make it simple, make it strong!"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 09:31
Beitrag #3

woully Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2006

8.00
2006
kA

77815
Deutschland
Queue Fehler 2
' schrieb:Hallo woully,

schau Dir mal das angehängte VI an.
Wenn Du nicht die Speicherfunktion der Queues benötigst, kannst Du statt dessen auch die Notifier (Melder) verwenden.

Gruß,
Marko
Hallo Marko,

danke für deine schnelle Antwort.
Ich brauche schon die Speicher Funktionen von der Queue.
Ich habe Sie auch wie in deinem Beispiel verwendet....
Einzieger unterschied ist das ich meine Schleife nicht beende wenn der Fehler auftritt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 09:45
Beitrag #4

marker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 226
Registriert seit: Feb 2005

8.2.1
2002
kA


Deutschland
Queue Fehler 2
Köntest Du uns mal ein Beispiel hier zur Verfügung stellen um genau zu verstehen wie es bei Dir realisiert ist?

Gruß,
Marko

"Make it simple, make it strong!"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 09:48
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
Queue Fehler 2
Falls Du es genauso gemacht hast wie Marko, dann wundert es mich nicht, daß es nicht funktioniert. Ursache für den Überlauf wird der zweite Timer in der unteren Schleife sein, er ist überflüssig wie ein Kropf am Hals. Denn das VI "Element aus Queue entfernen" wartet geduldig, solange die Schlange leer ist, die zweite Schleife synchronisiert sich mithin von selbst mit der ersten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 10:03
Beitrag #6

woully Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2006

8.00
2006
kA

77815
Deutschland
Queue Fehler 2
' schrieb:Köntest Du uns mal ein Beispiel hier zur Verfügung stellen um genau zu verstehen wie es bei Dir realisiert ist?

Gruß,
Marko
hier ein kurzer ausschnitt


Angehängte Datei(en)
Sonstige .vi  beispiel.vi (Größe: 111,14 KB / Downloads: 230)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 10:56
Beitrag #7

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Queue Fehler 2
Also, wie schon gesagt wurde, muss in der Schleife, die die Queue ausliest nicht warten, dafür gibt es Timeouteingang in dem VI Dequeue. Das ist das Hauptproblem in deinem VI.
Zweitens musst du das VI Obtain Queue aus der obigen Schleife rausholen. Das Erstellen der Queue muss nur einmal passieren.

Gruss, Eugen


Angehängte Datei(en)
Sonstige .vi  Queue.vi (Größe: 22,34 KB / Downloads: 224)

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 11:04
Beitrag #8

marker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 226
Registriert seit: Feb 2005

8.2.1
2002
kA


Deutschland
Queue Fehler 2
' schrieb:Falls Du es genauso gemacht hast wie Marko, dann wundert es mich nicht, daß es nicht funktioniert. Ursache für den Überlauf wird der zweite Timer in der unteren Schleife sein, er ist überflüssig wie ein Kropf am Hals. Denn das VI "Element aus Queue entfernen" wartet geduldig, solange die Schlange leer ist, die zweite Schleife synchronisiert sich mithin von selbst mit der ersten.

@Lucki
Du hast natürlich recht, der 2. Timer ist wirklich überflüssig und kann zu Problemen führen. Vielen Dank für den Hinweis, ist wohl beim kopieren passiert. Richtig problematisch wird die Sache wenn der 2. Timer länger wartet als der erste.

@woully
In Deinem Beispiel benutzt Du die Funktion "Obtain Queue" in der While-Schleife, dadurch wird jedesmal eine neue Referenz erzeugt. Der Arbeitsspeicher wird sich langsam kontinuierlich füllen.
Ansonsten verstehe ich das ganze noch nicht so richtig. Warum löschst Du in der oberen und in der unteren Schleife das letzte Element? In dem Beispiel hast Du ja nie mehr als ein Element in der Queue.

Gruß,
Marko

"Make it simple, make it strong!"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 11:31
Beitrag #9

woully Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2006

8.00
2006
kA

77815
Deutschland
Queue Fehler 2
' schrieb:@Lucki
Du hast natürlich recht, der 2. Timer ist wirklich überflüssig und kann zu Problemen führen. Vielen Dank für den Hinweis, ist wohl beim kopieren passiert. Richtig problematisch wird die Sache wenn der 2. Timer länger wartet als der erste.

@woully
In Deinem Beispiel benutzt Du die Funktion "Obtain Queue" in der While-Schleife, dadurch wird jedesmal eine neue Referenz erzeugt. Der Arbeitsspeicher wird sich langsam kontinuierlich füllen.
Ansonsten verstehe ich das ganze noch nicht so richtig. Warum löschst Du in der oberen und in der unteren Schleife das letzte Element? In dem Beispiel hast Du ja nie mehr als ein Element in der Queue.

Gruß,
Marko

Hi,

ok, ich werde die Obtain queue aus der Schleife entfernen.
Zum verständnis von dem Beispiel : In der oberen Schleife entferne ich des älteste Element wenn die Queue 299 Einträge hat.
Wird warscheinlich nie vorkommen. Ist nur als sicherheit.

Danke für Eure Tipps.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2006, 12:05
Beitrag #10

woully Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2006

8.00
2006
kA

77815
Deutschland
Queue Fehler 2
' schrieb:Hi,

ok, ich werde die Obtain queue aus der Schleife entfernen.
Zum verständnis von dem Beispiel : In der oberen Schleife entferne ich des älteste Element wenn die Queue 299 Einträge hat.
Wird warscheinlich nie vorkommen. Ist nur als sicherheit.

Danke für Eure Tipps.

Hi,

ok, ihr habt richtig getippt. Speicher Auslastung bleibt stehen.
Software läuft.

Vielen Dank. Echt Klasse.

Woully
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
  Wie auf abgearbeitete Queue warten mez15 11 8.073 28.09.2017 13:02
Letzter Beitrag: TR61
  Datum Uhrzeit Queue DeleteAll 8 5.671 24.03.2017 15:47
Letzter Beitrag: GerdW
  Fehler 1 -> Element einfügen in Queue meta_ir 14 9.782 31.01.2017 10:55
Letzter Beitrag: GerdW
  TDMS in Queue laden gifo 8 5.463 07.01.2016 16:41
Letzter Beitrag: GerdW
  Fehlercluster via Queue hansi9990 23 14.294 07.08.2015 14:11
Letzter Beitrag: hansi9990
  Queue und (kein) Dataflow NoWay 9 7.343 01.06.2015 11:56
Letzter Beitrag: Kiesch

Gehe zu: