INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Signalverlaufslänge begrenzen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.04.2016, 12:24
Beitrag #1

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



Signalverlaufslänge begrenzen
Hallo,

vor einiger Zeit habe ich mir mir Hilfe von Euch eine FGV zum Abspeichern von Messwerten entwickelt. Darin werden die Daten in einem Variant gespeichert (siehe Bild Variant-Lösung). Dies funktioniert soweit ganz gut. Leider habe ich das Problem, dass ich Messwerte mit unterschiedlichen Zeitbasen habe. Labview bietet von sich aus schon einge VIs zur Signalverarbeitung an. Dort habe ich mir einen Signalverlauf definiert, ihm sogar ein Attribut "NI_ChannelName" übergeben und kann auch das dt unterschiedlich setzen.

Jetzt bekomme ich von meiner Messhardware aber stets neue Daten und das Messwertarray soll nicht unendlich lang werden. Wie in dem anderen Bild zu sehen ist, habe ich zunächst ein Array initialisiert, in den Signalverlauf geschrieben und zweimal Messwerte angehängt - ähnlich wie in dem Bild 1 zu sehen ist. Ich musste aber damit mit "Signalverlaufskomponente lesen" und "Signalverlauf erstellen" arbeiten, was ich etwas umständlich finde. Gibt es vielleicht eine bessere Möglichkeit, an einen bestehenden Signalverlauf etwas anzuhängen und vorne zu kürzen oder ist der von mir gewählte Weg eine gute Lösung?

Für ein paar Tipps wäre ich sehr dankbar.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.04.2016, 13:00 (Dieser Beitrag wurde zuletzt bearbeitet: 25.04.2016 13:09 von Lucki.)
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Signalverlaufslänge begrenzen
Wenn die Messwerte Einzelwerte vom Format DBL sind, dann erfordert die Begrenzung der Arraylänge keinerlei Programmierkünste:
Verwende die Funktion "Data Queue PtByPt" in: Signalverarbeitung/PtToPt/Weitere Funkt.
Wenn die Messwerte selbst schon Arrays sind, dann For-Schleife benutzen.
Für andere Datenformate ließen sich auch normale Queues verwenden. Es gibt dort die Funktion "Verlustbehaftetes Einschreiben", bei der das älteste Element entfernt wird, wenn die max. Queuegröße erreicht ist. Lesen des Arrays mit Queuestatus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2016, 13:58
Beitrag #3

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: Signalverlaufslänge begrenzen
Hi,

danke für Deine Antwort. Ich hab mal in die von Dir vorgeschlagene Funktion reingeschaut. Das ist ja auch "nur" eine FGV, die initialisiert wird mit einer fixen Länge und dann wird auch immer das Array um 1 rotiert und ein neues Element angefügt, letztlich das gleiche wie bei mir. Das Problem bei "Data Queue PtByPt" ist, dass ich keine weiteren Attribute zum Signalverlauf speichern kann. Bei den Signalveralufsfunktionen kann ich einfach auch eigene Attribute definieren und beim Variant-Cluster ginge das auch, die PtByPt-Funktionen unterstützt das leider nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2016, 14:09
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Signalverlaufslänge begrenzen
Wenn du beim Signalverlauf bleiben willst, dann wird dir nicht viel anderes übrig bleiben, als es so zu machen, wie du es zeigst (ie Cluster aufsplitten, Array abändern, Cluster zusammenfügen).

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.04.2016, 13:40 (Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2016 13:41 von Lucki.)
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Signalverlaufslänge begrenzen
Weitere sichere Möglichkeit, die Zeitinformation zu behalten: Die ankommenden Signalverläufe in Arrays of [X,Y]-Cluster zu konvertieren und dann das zusammengefügte Cluster-Array in der Größe beschränken. (Funktion dafür in: Signalverlauf/analog).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Numerisches Bedienelement maximale Signalsteigung begrenzen antwort 2 4.131 06.03.2017 13:46
Letzter Beitrag: antwort
  Einfachen Funktionsgenerator.vi generiertes Ausgangssignal begrenzen Moes 7 7.093 18.09.2015 11:38
Letzter Beitrag: Moes
  VI in Subpanel begrenzen Hasenfuss 1 4.397 24.09.2013 08:13
Letzter Beitrag: GerdW
  Array in seiner Größe begrenzen Hasenfuss 8 11.899 22.08.2013 15:33
Letzter Beitrag: GerdW
  Anzahl an lokalen variablen im VI begrenzen? Moeseph 6 5.303 16.04.2012 16:05
Letzter Beitrag: GerdW
  String Eingabe auf Länge x begrenzen dali4u 4 11.597 10.05.2011 16:32
Letzter Beitrag: toaran_

Gehe zu: