23.10.2008, 10:31
Hallo Experten,
Ich benutze eine Queue um Steuerdaten für eine Heizrampe in mein Hauptprogramm einzufüttern. Ein Sub-VI erstellt diese Queue mit einem Element pro Sekunde und das Haupt-VI liest diese Queue dann im Sekundentakt ein. Das funktioniert auch alles soweit.
Ich benutze zum Auslesen die Funktion "Dequeue Element". Wenn die Warteschlange leer ist, dann soll das Programm mit dem letzten Wert der Queue weiterlaufen. Leider tut es das nicht, ich muß den Timeout des "Dequeue Element" auf >1 setzen, ansonsten hängt das Programm, was ja auch zu erwarten ist, weil es auf den nächsten Wert der Queue wartet. Leider ist im Fall des Timeout dann das letzte Element, das die Queue verläßt, Null.
Genau da brauche ich dann den letzten Wert der Queue. Ich habe es mit einem "Preview Element" versucht, laufe da aber auch wieder in das Problem des Timeout.
Gruß,
Michael
Ich benutze eine Queue um Steuerdaten für eine Heizrampe in mein Hauptprogramm einzufüttern. Ein Sub-VI erstellt diese Queue mit einem Element pro Sekunde und das Haupt-VI liest diese Queue dann im Sekundentakt ein. Das funktioniert auch alles soweit.
Ich benutze zum Auslesen die Funktion "Dequeue Element". Wenn die Warteschlange leer ist, dann soll das Programm mit dem letzten Wert der Queue weiterlaufen. Leider tut es das nicht, ich muß den Timeout des "Dequeue Element" auf >1 setzen, ansonsten hängt das Programm, was ja auch zu erwarten ist, weil es auf den nächsten Wert der Queue wartet. Leider ist im Fall des Timeout dann das letzte Element, das die Queue verläßt, Null.
Genau da brauche ich dann den letzten Wert der Queue. Ich habe es mit einem "Preview Element" versucht, laufe da aber auch wieder in das Problem des Timeout.
Gruß,
Michael