LabVIEWForum.de - Signalverlaufskonstanten in Cluster und Array manipulieren?

LabVIEWForum.de

Normale Version: Signalverlaufskonstanten in Cluster und Array manipulieren?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

angenommen ich habe einen Cluster in dem verschiedene Signalverlaufskonstanten zur Initialisierung stecken. Zusätzlich befinden sich noch Signalverlaufs-Arrays im selben Cluster (siehe Bild).

Da in meinem Programm die Sample-Zahl variable sein soll habe ich nun zwei Probleme:

1. Wie kann ich die Angabe zur Sample-Zahl in den verschiedenen Konstanten im Cluster variabel gestalten?

2. Wie bekomme ich die jeweils aktuelle Systemzeit als t0 eingestellt?

Einzelne Signalverläufe kann man ja wunderbar manipulieren, aber hier funktioniert das nicht. Gibt es da einen Weg?

Danke!
(19.09.2014 13:45 )zig schrieb: [ -> ]Hallo,

angenommen ich habe einen Cluster in dem verschiedene Signalverlaufskonstanten zur Initialisierung stecken. Zusätzlich befinden sich noch Signalverlaufs-Arrays im selben Cluster (siehe Bild).

Da in meinem Programm die Sample-Zahl variable sein soll habe ich nun zwei Probleme:

1. Wie kann ich die Angabe zur Sample-Zahl in den verschiedenen Konstanten im Cluster variabel gestalten?
In einer Konstanten ist per Definition nichts variabel, sondern alles konstant...
(19.09.2014 13:45 )zig schrieb: [ -> ]2. Wie bekomme ich die jeweils aktuelle Systemzeit als t0 eingestellt?
Get Date/Time in Seconds
(19.09.2014 13:45 )zig schrieb: [ -> ]Einzelne Signalverläufe kann man ja wunderbar manipulieren, aber hier funktioniert das nicht. Gibt es da einen Weg?
Indem du Index Array, Replace Array Subset, Unbundle by Name und Bundle by Name entsprechend kombinierst und dich durch deine Datenstruktur hangelst.

Gruß, Jens
Hallo zig,

Zitat:1. Wie kann ich die Angabe zur Sample-Zahl in den verschiedenen Konstanten im Cluster variabel gestalten?
Eine Konstante zeichnet sich dadurch aus, das ihr Wert konstant ist. Wie willst du da etwas daran ändern?

Du kannst natürlich die gewünschte Waveform aus deinem Cluster lesen und nachträglich verändern, dafür gibt es ja die Waveform-Funktionen…

Zitat:2. Wie bekomme ich die jeweils aktuelle Systemzeit als t0 eingestellt?
Siehe die Erläuterung zu 1.
Was eine Konstante ist weiß ich... zur Laufzeit darf sie auch gerne konstant bleiben. Aber beim Programmstart soll die gewählte Sample-Rate automatisch den Startwert anpassen... das meinte ich.

Ich dachte, dass es vllt. einen simplen Weg gibt, diese Konstanten anzupassen ohne sie zerlegen. manipuilieren und wieder zusammensetzen zu müssen.
Hallo zig,

Zitat:Ich dachte, dass es vllt. einen simplen Weg gibt, diese Konstanten anzupassen ohne sie zerlegen. manipuilieren und wieder zusammensetzen zu müssen.
Wenn du in einer kompliziert verschachtelten Datenstruktur Werte anpassen willst, dann musst du diese kompliziert verschachtelte Datenstruktur aufdröseln und wieder zusammenbacken!

Manchmal kann es auch sinnvoll sein, sich vorher eine "schöne" Datenstruktur zu überlegen…
(19.09.2014 14:09 )zig schrieb: [ -> ]Ich dachte, dass es vllt. einen simplen Weg gibt, diese Konstanten anzupassen ohne sie zerlegen. manipuilieren und wieder zusammensetzen zu müssen.
Der simple Weg lautet "Programmieren", ist jetzt auch nicht sooo kompliziert bei einem Cluster of ("Array of Waveform" + Cluster ).

Gruß, Jens
@ GerdW

Ich war der Meinung, dass ich eine schöne Datenstruktur habe^^ Leider ist mir dann erst hinterher aufgefallen, dass meine ganzen Signalverläufe nicht richtig Initialisiert sind.

@ jg

Ja, programmiert habe ich das ja schon und es funktioniert auch. Das Manipulieren bläht das Blockdiagramm auf, bzw. provoziert zusätzliche SubVIs, daher dachte ich, dass es womöglich eine einfachere Methode gibt.
Hallo zig,

dein Cluster of [ Array of Waveform, Waveform, Array of Waveform] schreit förmlich danach, durch ein simples Array of Waveform ersetzt zu werden.
Notfalls auch in einer FGV, die sich darum kümmert, dass konkurrierende Zugriffe keine RaceConditions erzeugen…
(19.09.2014 14:19 )zig schrieb: [ -> ]Ja, programmiert habe ich das ja schon und es funktioniert auch. Das Manipulieren bläht das Blockdiagramm auf, bzw. provoziert zusätzliche SubVIs, daher dachte ich, dass es womöglich eine einfachere Methode gibt.
Seit bläht ein Init-SubVI das Blockdiagramm auf. Wink
@ GerdW

da hast du auch wieder recht. Ich gucke mal über meinen Programmaufbau drüber, es gibt anscheinend einiges zu optimieren Wink


@ jg

SubVi blähen natürlich nicht auf... aber die wollte ich vermeinden, keine Ahnung warum Big Grin
Referenz-URLs