Hier mal, gewissermassen außerhalb die laufenden Diskussion, eine einfachere Alternative zum Ringpuffer.
Dazu Vorbemerkung: Bei der Konzeption des Rinpuffers geht man ja davon aus, daß es viel zu aufwändig wäre, die gespeicherten Datenelemente im Puffer bei jedem neu hinzugkommenen Element um eine Speicherstelle zu verschieben. Deshalb läßt man die Daten stehen und arbeitet nur mit umlaufenden Zeigern für das als nächste zu schreibende und zu lesende Element.
Nun habe ich aber festgestellt, daß die Befürchtung gegenstandslos ist. Die LabVIEW-Funktion "In Array rotieren" ist unvorstellbar schnell, auch bei großen und vielkanaligen Datenmengen. Weiß nicht, wie die das zaubern, im Endergebnis zählt aber nur die Tatsache. Und von daher bietet sich ein vereinfachtes, auch für Anfänger ganz leicht verständliches Bufferkonzept ohne Ringzeiger-Arithmetik an, wobei auch mehrere Kanäle überhaupt keine Hürde sind.
Hier das Beispiel, welches ich so ähnlich auch schon mal gepostet haben muß.
Ringpuffer.vi (Größe: 12,8 KB / Downloads: 461)