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!
ich möchte im anhängenden Beispiel den Schallpegel meiner Signale anzeigen, und in einem Verlaufsdiagramm anzeigen. Ich habe dazu recherchiert, und wollte mit Hilfe der History die Aufgezeichneten Signale aus der Schleife in ein Array schreiben, so dass ich den Verlauf anzeigen kann.
Leider gibt mein History-Diagramm keine Werte aus.
Ich hatte die Funktion aus einem funktionierenden Beispiel in mein VI integriert, aber leider ohne Erfolg Vielleicht ist ja der Fehler offensichtlich. Wäre toll, wenn sich das mal jemand anschauen könnte. Vielen Dank.
Zitat:Wäre es nicht einfacher, die Signale direkt "in ein Array" zu schreiben, anstatt erst den Umweg über einen Chart und dessen Historie zu gehen?
Ja, das klingt gut, dann kann ich es auch gleich in eine Datei schreiben. Wenn ich es aber online ausgeben möchte, muss ich dann ein globales Array schreiben? Und die Ausgabe erfolgt dann außerhalb der Schleife?
Wird im Chart nichts angezeigt?[/quote]
nein, das Chart ist leer.
Zitat:Und wo fragst du die Historie überhaupt ab?
Die History frage ich direkt am Diagramm ab, wenn ich mich nicht täusche. Ich bin mit dieser Funktion ehrlich gesagt nicht so gut vertraut. Ich hatte es mit dem Diagramm verknüpft, und dann, wie Du siehst außerhalb der Schleife eingefügt. Jedoch finde ich die Verknüpfungsoption nicht mehr.
Zitat:Die History frage ich direkt am Diagramm ab, wenn ich mich nicht täusche. Ich bin mit dieser Funktion ehrlich gesagt nicht so gut vertraut.
Die Historie fragt man über eine Propertynode des Charts ab.
Also, die "Verknüpfung" habe ich so gemacht, sie im Bild zu sehen ist. Also , "Verknüpfen mit"
Zitat:Dort hast du nur die Historie gelöscht, da du ein leeres Array hineinschreibst.
Aus der Historie gelesen wird aber nirgends…
Das leere Array ist meines Erachtens wichtig, damit die Historie zu Beginn geleert wird. Oder nicht? Die History funktioniert auch nicht ohne. Lösche ich es, gibt es einen Fehler.
Zitat:Also, die "Verknüpfung" habe ich so gemacht, sie im Bild zu sehen ist. Also , "Verknüpfen mit"
Du hast also eine generische Propertynode erstellt und diese dann, per "Verknüpfen", zu einer "speziellen" gemacht.
Das ist eine normale Vorgehensweise, hat aber überhaupt nichts mit deinem Problem zu tun.
Zitat:Das leere Array ist meines Erachtens wichtig, damit die Historie zu Beginn geleert wird. Oder nicht?
Wenn der Chart gelöscht werden soll, dann ist das richtig so.
Zitat:Die History funktioniert auch nicht ohne. Lösche ich es, gibt es einen Fehler.
Das hat nichts mit der Eigenschaft "History" zu tun, sondern liegt am DATAFLOW…
Du hast eine Propertynode erstellt, die einen Wert erwartet (Modus: "schreiben"): dann musst du auch einen Wert hineinschreiben, damit LabVIEW keinen Fehler bemängelt.
Aber eigentlich hast du doch gefragt, wie du Daten, die im Chart dargestellt werden, aus der Historie wieder lesen und in eine Datei speichern kannst!? (Was oben ja schon beantwortet wurde.)
ja, die Links kenne ich. Ist halt ein Problem mit der Verkünpfung in meinem Kopf.
Zitat:Aber eigentlich hast du doch gefragt, wie du Daten, die im Chart dargestellt werden, aus der Historie wieder lesen und in eine Datei speichern kannst!? (Was oben ja schon beantwortet wurde.)
Ja, das ist mein Problem. Ich habe einen Datenstrom in einer Schleife, den, wenn ich ihn einfach anzeigen lasse, halt nur den aktuellen Wert ausgibt. Und so klar beantwortet finde ich es noch nicht. Oder ich lese falsch.
Mit
Zitat:Einfach den Draht "aufteilen": einmal speichern, einmal anzeigen…
bekomme ich die Historie nicht angezeigt. Deshalb die Historie. Und die läuft halt nicht.
Ich habe ein ähnliches Beispiel mit einer ähnlichen Konstellation gefunden (mit simuliertem Signal), siehe Upload. Warum funktioniert es dort?
Zitat:Ich habe ein ähnliches Beispiel mit einer ähnlichen Konstellation gefunden (mit simuliertem Signal), siehe Upload. Warum funktioniert es dort?
Vorweg: Du verwendest Beispiele aus einem Toolkit, welches ich nicht installiert habe - laufen lassen kann ich die nicht.
Im angehängten VI gibt es einen Chart namens "History2", der über eine Historie von 200 Samples/Waveforms verfügt. Du darfst dich hier nicht vom Label/Namen des Charts verwirren lassen: die Historie des Charts ist eine Eigenschaft, die du per Propertynode lesen und schreiben kannst.
Zitat:Ich habe einen Datenstrom in einer Schleife, den, wenn ich ihn einfach anzeigen lasse, halt nur den aktuellen Wert ausgibt.
Ja, THINK DATAFLOW.
Wenn du jetzt diesen Datenstrom mit einem Graph anzeigst, wirst du nur den aktuellen Wert sehen: ein Graph hat keinen eingebauten Buffer für eine Historie. Verwendest du aber einen Chart, dann zeigt dir der Chart auch die Historie an - je nachdem wie du die Historie in den Einstellungen des Charts konfiguriert hast.
Zitat:Mit "Einfach den Draht "aufteilen": einmal speichern, einmal anzeigen…" bekomme ich die Historie nicht angezeigt. Deshalb die Historie. Und die läuft halt nicht.
Dein Chart zeigt nur den aktuellen Wert, aber nicht die Historie der vorangegangenen Werte an?
Trotz der auf "200" Einträge eingestellten Buffer-Größe?
Wie sehen denn die aktuellen Werte im Waveform-Array aus? Kannst du mal ein Bild anhängen, wo du einen Graph an diesen Draht hängst? Dann das VI laufen lassen, bis Daten im Graph sind. Dann Edit-Menü->Aktuelle Werte als Standard setzen, VI speichern und hier anhängen. (Danke!)
danke für die Hilfe. Das Problem war ein anderes. Das Diagramm funktioniert wie es soll. Es hat nur keine Daten bekommen. Die Boolsche-Konstante, die die Ausgänge vom Level-Baustein schaltet, war auf "false" gesetzt. Also kommt auch beim Diagramm nichts an. Mein Fehler. Deine systematische Fehlersuche hat geholfen. Danke.
Es gibt beim Signalverlaufsdiagramm den Eigenschaftsknoten "History". Es ist verwirrend, obwohl nicht grundlegend fehlerhaft, wenn Du die beiden Signalveraufsdiagramme selbst auch mit "History" betitelst. Ich würde das ändern.
Der Eigenschaftsknoten "History" wird ja hier (links unten) schreibend verwendet, um die alten Werte im Diag. zu löschen, indem leere Daten eingeschrieben werden.
Der Eigenschaftsknoten kann auch lesend verwendet werden, dann wird der gesamte Datenverlauf der im Diag drin ist ausgegeben. Damit wäre eigentlich Deine Frage beantwortet.
Ein ganz andere Frage ist dabei, ob das wirklich das ist was Du willst. Denn zum Einen ist die History-Größe im Diag. beschränkt, es kann dann sein, dass alte Daten verlorengegangen sind, bevor Du sie mit dem Eigenschaftsknoten gelesen hast.
Und zum Anderen wird es schwierig mit der Synchronisation. Wenn Du die History wiederholt ausliest, um sie zu einem längerem Signalverlauf zusammen zu setzen, dann passiert immer eines von beiden:
Wenn Du zu selten ausliest, gehen Teile das Verlaufs verlorengen.
Wenn Du zu oft ausliest, dann sind Teile des Verlaufs doppelt vorhanden.