LabVIEWForum.de
Signalübertagung mit FIFO Problem! - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA)
+---- Thema: Signalübertagung mit FIFO Problem! (/Thread-Signaluebertagung-mit-FIFO-Problem)



Signalübertagung mit FIFO Problem! - pasch86 - 25.06.2012 10:15

Benötige dringend eure Hilfe.
Bin Student und schreibe zur Zeit an der Bachelorarbeit. In dieser soll ich eine Hydropulsanlage mit Labview FPGA programmieren.

Der Kolben dieser Anlage soll durch ein simuliertes Signal betrieben werden.
Mein Problem besteht darin das ich das Signal erzeugen kann aber die Wete können vom FIFO nicht übergeben werden da der FPGA ein Integer Signalverlauf benötigt. Wie kann ich den waveform out konvertieren.

Zudem muss der Kolben mit einer Rampenfunktion aus der Unteren Endlage gefahren werden.

Gruss pasch86

lv11_img


RE: Signalübertagung mit FIFO Problem! - chrissyPu - 25.06.2012 13:02

Naja, die Umrechnung sollte ja nicht so das Problem sein:

Integer-Wert = (Gewünschter Wert in irgendeiner Einheit) / (Maximale Ausgangsgröße des AD-Wandlers in gleicher Einheit wie der gewünschte Wert) * (Integer-Wert bei maximaler Ausgangsgröße)

Grüße,

ch


RE: Signalübertagung mit FIFO Problem! - pasch86 - 26.06.2012 08:19

Das mit der Umrechnung ist mir klar! Mir gehts allgemein um das Übertragen der Signalverläufe.


RE: Signalübertagung mit FIFO Problem! - chrissyPu - 26.06.2012 10:42

Hi,

Du hast es so gewollt:
- Bitte bau Dir mal eine Build-Spezifikation im Projekt, die ein ZIP-Archiv mit allen Sachen macht - inkl. der fehlenden CTLs, Sub-VIs und der Konfiguration von FIFOs, Ausgängen etc.
- Bitte überdenke nochmal, ob eine While-Schleife die für Deine Anforderungen richtige Programmstruktur ist. Sorry, aber das, was ich da so halbwegs erkennen kann schreit mindestens mal nach State-Machine mit Event-Steuerung...
- Der FPGA läuft einmal durch (Abfrage des Status, Ausgabe des FIFOs), dann nicht mehr. Den Ablauf halte ich für kritisch, da Du z.B. in einer Sequenz auf dem FPGA einen Steuerbefehl (Motor an) setzt und gleichzeitig ausliest (Motor läuft) - Kein Motor läuft mit ca. 40 MHz an. Mehr Durchlaufzeit hast du nicht, wenn das der FPGA nicht sogar parallel ausführt (was ich für Wahrscheinlich halte). Solche Sachen gehören m.E. auf den Host, weil man da deutlich besser mit Fehlern umgehen kann. Überleg mal, ob man auf dem FPGA nicht nur IO und zeitkritische Sachen (wie Deinen Regler)
- Zu Deiner Waveform-Frage: Schau dir mal an, aus was eine Waveform besteht und ersetz das Y-Array halt einfach durch ein I16-Array. Sollte es in 2011 einen Waveform-FIFO geben... Ansonsten: Schick die Y-Werte als I16 über den FiFo und die Abtastrate über ein Control oder so...

Grüße,

ch


RE: Signalübertagung mit FIFO Problem! - pasch86 - 27.06.2012 07:46

Hi

Bedanke mich schonmal für deine Mühe!
Anbei habe ich die gezippte build Spezifikation angehängt.
Über die Sache mit dem Starten des Motors habe ich nachgedacht wäre es besser die Case Strukturen in eine flache Sequenz zu integrieren?
Zu der Sache mit dem Waveform-FIFO dieses gibt es nicht in LV 11. wie kann ich denn ein Y-Array zu einem I16 Array umwandeln.

Grüße

pasch


RE: Signalübertagung mit FIFO Problem! - chrissyPu - 27.06.2012 15:33

Ich dachte, das mit dem Umwandeln wäre kein Problem... Waveform-Palette, Signalverlaufskomponenten lesen, auf den Y(Double)-Vektor obige Umrechnung anwenden, Signalverlauf aus dt und Timestamp und dem in I16 konvertierten Y-Vektor mit der entsprechenden Funktion aus der Waveform-Palette zusammensetzen.

Oder halt ein Control für dt und einen Fifo für den Y-Vektor in I16. dt wird dann nach entsprechender Basisumrechnung die Schleifenlaufzeit und aus dem Fifo nimmt man die Stellgröße für den Regler.

Grüße,

ch


RE: Signalübertagung mit FIFO Problem! - pasch86 - 28.06.2012 09:18

Hi

So hab das Vi jetzt so abgeänder wie du es beschrieben hast gibt es in dem Vi gravierende programmier Fehler. Programmiere erst 2 Monate mit Labview und habe noch nicht alle Hintergründe durchblicken können.

Mir persönlich gefällt die Rampenfunktion die den Zyliner aus der Ruhelage fahren soll nicht. Komme aber auf keine andere Idee es anders zu Lösen. Kann mir auch Vorstellen das an gewissen Punkten die Skalierung fehlt. Zur Zeit kann ich das Programm nicht auf dem FPGA testen da ich auf die benötigten Module warte!

gruß

pasch