LabVIEWForum.de - eigener DBL FIFO

LabVIEWForum.de

Normale Version: eigener DBL FIFO
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe mir hier mal ein eigenen FIFO gebaut. Der funzt aber nicht und ich finde den Fehler nicht.
Kann mal bitte einer gucken?

Striefchen

Lv85_img
ich habs mir schnell angeschaut, siehe Bilder.
(ob nun alles richtig ist, lasse ich mal offen)

zudem habe ich das *example of using fifo.vi* angepasst, das es funktioniert.
Okay die Änderungen beim "example of using fifo.vi" habe ich eingesehen. Der FIFO selbst hat voher sogar mehr nach FIFO funktioniert. trotzdem danke
Offtopic2
Bitte LVF-Regeln beachten, vor allem
http://www.LabVIEWforum.de/LV-Version-hoch...d39s-t7949.html

Gruß, Jens

EDIT: UndProfil_ergaenzen
Fangen wir mal ganz langsam an. Was soll folgendes Konstrukt im Init-Case erreichen?
[attachment=18285]

Erst ein Array der Größe "Dimension" erzeugen, und dann aus diesem Array ein Array der Größe "Dimension" ausschneiden. Folge: Ausgangsarray enthält unabhängig von "Dimension" null Elemente.Hmm

Gruß, Jens

EDIT: Leider musste man raten, was nicht so richtig funktioniert,:(aber ich denke, ich weiss, was du meinst:
Wenn du z.B. ein Array der Länge Null an deinen FIFO anhängen willst, dann schlägt der folgende Case zu:
[attachment=18286]

So, jetzt nimmst du das einzelne Double-Element (das den Standard-Wert Null hat), baust daraus ein Array (das hat logischerweise die Länge 1) und hängst es hinten an deinen FIFO dran. Ich nehme mal an, das wolltest du sooo nicht.

Empfehlung: Erstelle 2 "Set" Cases, einen, der ein Array anhängt, und einen, der ein einzelnes Element anhängt. Zwischen diesen Fällen kannst du nämlich mit deiner Case-Struktur nicht unterscheiden.

EDIT 2: "Get" Case würde ich so gestalten, somit bekommst du wenigstens das, was im Puffer ist, wenn du mehr Elemente anforderst als im Puffer sind. Ach ja, das +1 kannst du auch weglassen, einfach mal das Kontext-Menü bei der Coerce-Funktion öffnen, man kann "Include Upper Limit" auswählen.
[attachment=18287]
' schrieb:Ich nehme mal an, das wolltest du sooo nicht.
Ich gehe davon aus, gerade das wollte er so - möglicherweise. Und das geht auch so.

Beim Initialisieren bin ich deiner Meinung: Hier gehört einfach ein leeren Array hingehängt. Auch der Inkrementierer beim Get ist falsch.

Außerdem hat das MainVI einige logische Fehler: Beim Initialisieren 56 zu übergeben ist nutzlos. Und beim Set gehört der besseren Lesbarkeit wegen ein Zahleingang belegt.
Referenz-URLs