LabVIEWForum.de
Signal einlesen und Werte ausgeben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Signal einlesen und Werte ausgeben (/Thread-Signal-einlesen-und-Werte-ausgeben)



Signal einlesen und Werte ausgeben - JörgR - 31.07.2017 10:02

Hallo zusammen,
ich bin neu hier und arbeite auch erst seit kurzem mit LV.

nun zu meinem Problem:
ich habe gerade ein Projekt bei dem ich einen definierten Signalverlauf mittels einer externen Tabelle (.txt oder .CSV) einlesen muss
und dieser Verlauf dann schritt für schritt abgearbeitet werden soll, da im Anschluss ein Motor damit angesteuert werden soll.

Die Tabelle besteht aus 2 Spalten, die erste für die Zeit und die zweite für die Drehzahl.

Das einlesen und in einem Array Speichern hab ich schon geschafft.( auch die Ausgabe, nur den ganzen Verlauf auf einmal)
ich bekomme es aber nicht hin die Werte zu den passenden Zeiten auszugeben (wie mit dem Arbiträres Signal simulieren Block).

Vielen Dank schon mal für eure Hilfe.
VG
Jörg


RE: Signal einlesen und Werte ausgeben - GerdW - 31.07.2017 10:39

Hallo Jörg,

herzlich willkommen im Forum!

Zitat:ich bekomme es aber nicht hin die Werte zu den passenden Zeiten auszugeben (wie mit dem Arbiträres Signal simulieren Block).
Das hängt mit der "kreativen" Verwendung der verschiedenen Datentypen zusammen…

Was "komisch" ist:
- du schreibst einen Wert in die Anzeige "Numerisch 2" und gleichzeitig denselben Wert in die lokale Variable. Wozu?
- du liest aus der lokalen Variablen "Numerisch 2": das ist ungünstig - nimm lieber eine Feedbacknode!
- der False-Case ist leer und sein Ausgabewert "default": das ist tendenziell fehlerhaft…

- aus deinem 2D-Array liest du exakt zwei Werte aus - ok
- dann baust du daraus einen Cluster und formst den Cluster sofort in ein Array um - warum? Warum verwendest du nicht stattdessen das eindeutige BuildArray?
- du baust eine Waveform mit diesen zwei Werten - ist es sinnvoll, einen Signalverlauf bestehend aus je einem Zeit- und Drehzahlwert zu bauen?
- du zeigst diese Waveform in einem WaveformGraph an und dann nochmal umgewandelt nach DDT in einem zweiten Graphen - und zusätzlich in einem Rundinstrument. Was soll das bringen?
- Am Rundinstrument wird ein CoercionDot gezeigt - hast du den beachtet?

Zur eigentlichen Frage:
Wo willst du deine Daten anzeigen/ausgeben lassen?
Wenn du alle Werte nacheinander anzeigen lassen willst, sollte dein VI eine Schleife enthalten, in der das erledigt wird.
Bei Ausgabe auf Hardware gibt es durchaus Hardware, die direkt mit Waveforms umgehen kann - dann aber bitte richtig aufgebaute!


RE: Signal einlesen und Werte ausgeben - JörgR - 31.07.2017 13:47

Hallo Gerd

ich will die Daten auf einem Rundinstrument anzeigen und den Verlauf auf einem Diagramm darstellen lassen, sowie sie über CAN (ist schon realisiert) an den Motor schicken.

ich habe deine Hinweise mal umgesetzt und das VI angepasst.

jetzt muss nur noch die Drehzahlwerte (Y) zu den richtigen Zeiten (X) weitergeleitet werden,
hier fehlt mir eine idee wie dies umgesetzt werden könnte. habe auch schon etwas rumproboert aber keine lösung gefunden. (deshalb auch das chaos in dem letzten VI)

VG
Jörg


RE: Signal einlesen und Werte ausgeben - GerdW - 31.07.2017 14:55

Hallo Jörg,

wenn du einen Wert X1 für 10ms ausgeben willst und danach dann X2 für 100ms, dann sollte irgendwo in deiner Schleife eine Wartezeit vorhanden sein, die eben diese Delays lang abwartet. Irgendwie hast du die vergessen… Big Grin


RE: Signal einlesen und Werte ausgeben - Lucki - 31.07.2017 14:57

Hier mal als Anregung ein kleines VI:
(Ausgabe mit Zeitraffer Faktor 10)
[attachment=58075]
[attachment=58074]