LabVIEWForum.de
Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm (/Thread-Vervielfachung-von-Signal-ergibt-nur-Punkte-im-Signalverlaufsdiagramm)



Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm - daxel - 22.08.2013 07:37

Hi,

ich scheine wohl mit der Datenerfassung in Labview einfach nicht ganz zurechtzukommen. Es gibt ja die schöne Funktion Append Waveforms, mit der ich zwei Signalverläufe aneinanderhängen kann. Weil ich in der selben Zeit, in der ich ein Sample von einem digitalen Task lese, 10 Samples von einem analogen bekomme, wollte ich einfach den digitalen Signalverlauf 10 mal an sich selber hängen. Das ganze funktioniert auch so weit; wenn ich den Verlauf lese und in eine Datei speichere und dann daraus wieder anzeige, habe ich gleichviele Werte und damit durchgehende Signale.

Leite ich aber das vorher erzeugte Signal direkt in ein Signalverlaufsdiagramm (wohlgemerkt, ich hab die digitalen Werte schon "vervielfacht"), werden mir dennoch nur Punkte angezeigt. Ich hab mir schon überlegt, dass Append Waveform vielleicht die t0-Werte der Signale vergleicht und darum eine eigene Funktion geschrieben, die einfach nur die Arrays aneinanderhängt und dabei den t0-Wert des ersten Signals behält, aber das hilft leider auch nicht. Was könnte ich sonst machen?

Ich hab mal mein SubVIs AppendWaveform und das zum Vervielfachen angehängt, vielleicht ist ja (wie leider so oft) ein offensichtlicher Fehler vorhanden. Eine Antwort würde wahrscheinlich auch direkt mein anderes Problem lösen, dann könnte ich nämlich doch einfach den Signalverlauf komplett aneinanderhängen und als t0-Wert 0 einsetzen. Das scheint ja leider so nicht zu gehen, wenn der erste t0-Wert manuell auf 0 gesetzt wurde und der zweite diesem gar nicht entspricht.

Ich danke euch im Voraus - und muss mich wahrscheinlich für meine Nerverei entschuldigen 2hands

Gruß Alex


RE: Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm - GerdW - 22.08.2013 08:07

Hallo daxel,

Zitat:Leite ich aber das vorher erzeugte Signal direkt in ein Signalverlaufsdiagramm ... werden mir dennoch nur Punkte angezeigt.
??? Kann ich nicht nachvollziehen:
[attachment=46001]

Deine VIs funktionieren erst einmal und vervielfachen eine Waveform. Beim Chart (aka Diagramm) hast du eine entsprechend große Historie angelegt, nicht an irgendwelchen Skalierungen rumgespielt, etc?

Zeige bitte ein Beispiel, welches dein Problem näher erläutert und demonstriert!

Tipp:
- "Numerisch" sollte ein I32 sein, du wilst ja die Iterationszahl einer FOR-Loop vorgeben.
- Mach mal in den LV-Optionen das Häkchen bei "Blockdiagramm"->"Frontpanel-Elemente als Symbole darstellen" weg (meine persönliche Präferenz)


RE: Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm - Lucki - 22.08.2013 09:59

Klar, dass nur Punkte angezeigt werden. Für die Anzeige einer fertigen Waveform gibt es den Gaphen. Ein Waveform in ein Diagramm einzugeben ginge über die Historie, aber das wäre (Krampf)²:
[attachment=46003]
Edit: Zur Vervollständigung noch die zweite Krampf-Methode, um einen Signalverlauf in einem SVDiag darzustellen:
[attachment=46004]


RE: Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm - daxel - 22.08.2013 12:42

(22.08.2013 08:07 )GerdW schrieb:  - "Numerisch" sollte ein I32 sein, du wilst ja die Iterationszahl einer FOR-Loop vorgeben.
Was spricht denn dann gegen U16? So viele Schleifendurchgänge brauche ich ja nicht Wink.


(22.08.2013 08:07 )GerdW schrieb:  - Mach mal in den LV-Optionen das Häkchen bei "Blockdiagramm"->"Frontpanel-Elemente als Symbole darstellen" weg (meine persönliche Präferenz)
Danke für den guten Tipp, habe ich gemacht!


(22.08.2013 09:59 )Lucki schrieb:  Klar, dass nur Punkte angezeigt werden. Für die Anzeige einer fertigen Waveform gibt es den Gaphen. Ein Waveform in ein Diagramm einzugeben ginge über die Historie, aber das wäre (Krampf)²:
Na ja, ich gebe immer nur den aktuellen Signalverlauf in das Diagramm, das funktioniert ja. Da habe ich mich dann missverständlich ausgedrückt, tut mir Leid. Dass ich den vollständigen Signalverlauf darin anzeige, war nur eine (nicht so gute) Lösungsidee von mir..


Das eigentliche Problem war ein ganz anderes. Die digitalen Daten, die ich hatte, hatten ein dt von 0. Deswegen wurde auch alle 10 Stück (nach dem multiplizieren) an einem Punkt angezeigt. Ist wahrscheinlich ein ziemlich dummer Fehler ^^
Nachdem ich dt auf den richtigen Wert (vom analogen Signalverlauf übernommen) angepasst hatte ging es natürlich problemlos.

Aber danke euch für eure Mühen!


RE: Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm - GerdW - 22.08.2013 12:54

Hallo daxel,

Zitat:Was spricht denn dann gegen U16? So viele Schleifendurchgänge brauche ich ja nicht
Du wirst auch die max. 65535 Durchläufe bei einem U16 nicht benötigen...
- eine moderne/aktuelle CPU ist besonders schnell beim Bearbeiten von 32bit-Werten.
- Moderne/aktuelle Betriebssystem haben ein Speicheralignment von mindestens 32bit (eher wohl ganze Cache-Lines mit 512bit oder mehr).
- 16bit-Werte bieten dir (bei Skalaren) keinerlei Vorteile bei Speicherbedarf und Rechengeschwindigkeit (eher noch Penalties)...
- LabVIEW muss sich nicht mit dem CoercionDot rumplagen.
- bestimmt noch mehr Gründe...


RE: Vervielfachung von Signal ergibt nur Punkte im Signalverlaufsdiagramm - daxel - 22.08.2013 13:38

Okay, das waren schon bei weitem genug Argumente. Angewohnheit aus dem SQL-Bereich, immer die kleinstmöglichen Datentypen zu nehmen.. Danke dir.