LabVIEWForum.de
Kanalnamen berechneter Kanäle neu definieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Kanalnamen berechneter Kanäle neu definieren (/Thread-Kanalnamen-berechneter-Kanaele-neu-definieren)

Seiten: 1 2


Kanalnamen berechneter Kanäle neu definieren - Titus85 - 10.12.2019 07:40

Hallo Leute,

ich habe folgendes Problem:

Ich lese ein Datenarray ein (1D), schlüssele die einzelnen Kanäle danach auf und führe einige einfache Berechnungen durch. Danach will ich die einzelnen Kanäle in eine Datei schreiben und den berechneten Kanal ebenfalls. Das Problem hierbei ist, dass Labview den berechneten Kanal unter einem der Kanalnamen führt der zur Berechnung notwendig ist, somit habe ich dann in der geschriebenen Datei doppelt soviele Datenpunkte auf dem besagten Kanal. Die Benennung scheint willkürlich da ja mehr als ein Kanal an der Berechnung beteiligt ist.

Ich habe versucht den berechneten Kanal umzubenennen mit dem VI "Attribute festlegen" (Oben im Bild) und diesen neuen Kanal dann an "Signale zusammenführen" angeschlossen. Leider klappt das nicht, der Kanal wird nicht umbenannt und die Datei speichert dann noch nicht einmal.

Mir ist klar, dass die Berechnung auch im Nachgang erfolgen könnte, ich möchte aber die Berechnung gleich mit aufzeichnen.

Die konkrete Frage lautet also wie ich den berechneten Messkanal umbenennen kann.

Gruß Titus


RE: Kanalnamen berechneter Kanäle neu definieren - GerdW - 10.12.2019 08:13

Hallo Titus,

Zitat:Ich lese ein Datenarray ein (1D)
Du liest ein 1D-Array of Waveforms ein…


Zitat:schlüssele die einzelnen Kanäle danach auf
Warum benötigst du dafür 4× IndexArray mit 4 Konstanten? Das geht mit einem einzigen IndexArray - ohne Konstanten!

Zitat:und führe einige einfache Berechnungen durch.
Wieso wird das Ergebnis der Berechnung - eine Waveform - dann in skalaren numeric-Indicators angezeigt?

Zitat:Ich habe versucht den berechneten Kanal umzubenennen mit dem VI "Attribute festlegen" (Oben im Bild) und diesen neuen Kanal dann an "Signale zusammenführen" angeschlossen. Leider klappt das nicht, der Kanal wird nicht umbenannt und die Datei speichert dann noch nicht einmal.
Leider zeigst du nicht, wie du das versucht hast.
Und warum musst du hier ein ExpressVI verwenden, wenn du eigentlich ein Array of Waveforms bauen willst? Dafür gibt es doch BuildArray!

Zitat:Danach will ich die einzelnen Kanäle in eine Datei schreiben und den berechneten Kanal ebenfalls. Das Problem hierbei ist, dass Labview den berechneten Kanal unter einem der Kanalnamen führt der zur Berechnung notwendig ist, somit habe ich dann in der geschriebenen Datei doppelt soviele Datenpunkte auf dem besagten Kanal. Die Benennung scheint willkürlich da ja mehr als ein Kanal an der Berechnung beteiligt ist.
Wie wird denn dein TDMS konfiguriert? Wie legst du die Gruppen- und Kanalnamen fest?

Zitat:Die konkrete Frage lautet also wie ich den berechneten Messkanal umbenennen kann.
Das steht in der Hilfe zu "Attribute festlegen": man kann einen beliebigen Namen bei NI_ChannelName festlegen…

Wenn man dann auf ExpressVIs verzichtet und die Queue auch korrekt mit einem 1D-Array of Waveforms als Datentyp initialisiert, dann sollte das auch wunderbar funktionieren!

Zu deinem Bild:
Bilder lassen sich mit LabVIEW ganz schlecht debuggen. Wenn du dagegen dein Projekt als VIs (ZIP) angehangen hättest, wäre dir wahrscheinlich schon geholfen worden…


RE: Kanalnamen berechneter Kanäle neu definieren - Titus85 - 10.12.2019 11:58

Hallo Gerd,

zunächst einmal vielen Dank für Deine ausführliche Antwort, ich hätte da auch noch die ein oder andere Rückfrage aber zunächst habe ich ein anderes Problem. Ich habe das "Signale zusammenführen" durch "Array erstellen" ersetzt, worauf ich auch selbst hätte kommen können. Das Benennen des Attributes habe ich anfangs falsch, jetzt richtig gemacht, der Kanalname wird nun umbenannt. Die Kontrolleuchte "Ersetzt" ist auf jeden Fall an, ich habe es auch mit einer Sonde kontrolliert. 33 ist vor dem Signalverlaufsattribut 44 ist direkt danach, den einzigen Unterschied den ich erkennen kann sind die geschweiften Klammern bei 44, also nach dem Umbenennung. ABER ... und jetzt verstehe ich gar nichts mehr, dieser Kanal lässt sich nicht aufzeichnen! Die anderen Waveforms lassen sich alle problemlos bünden und abspeichern aber sobald das geänderte Signal im Array ist, wird die Datei, ohne jedwede Form von Fehlermeldung, nicht abgespeichert.

Also: 33 funktioniert so wie es soll. Bei 44 wird die Datei gelöscht, egal in welcher Konstellation sobald der geänderte Kanal im Array ist wird nicht aufgezeichnet.

Auch alleine kann man den geänderten Kanal nicht abspeichern........ im Ordner wird die potentielle Datei zwar zunächst angezeigt aber wenn das Programm beendet wird, verschwindet sie eine Sekunde später. Wie bereits gesagt, ohne Fehlermeldung ... einfach weg.

Was soll ich nun machen?


RE: Kanalnamen berechneter Kanäle neu definieren - Titus85 - 10.12.2019 12:25

(10.12.2019 08:13 )GerdW schrieb:  Zu deinem Bild:
Bilder lassen sich mit LabVIEW ganz schlecht debuggen. Wenn du dagegen dein Projekt als VIs (ZIP) angehangen hättest, wäre dir wahrscheinlich schon geholfen worden…

Hab das VI mal hochgeladen, es sind aber lizenzpflichtige Treiber drin, deswegen hab ich es zunächst gelassen, kann man aber auch ein paar Tage so benutzen. Hier der Link.

https://www.hbm.com/de/4404/labview-drivers-to-integrate-daq-systems/

Nachtrag: Die Kanalnamen werden von dem VI "Get Signals" abgefragt und zwar von einer Initialisierungssoftware, da kann man nichts gegen tun und auch die Namen kann ich nur bedingt ändern, da viele Sensoren TEDS haben.


RE: Kanalnamen berechneter Kanäle neu definieren - GerdW - 10.12.2019 15:03

Hallo Titus,

so funktioniert das bei mir:
[attachment=60622]

Zitat:Wie bereits gesagt, ohne Fehlermeldung ... einfach weg.
Wenn ich wie du ein SetAttribute einsetze, bekomme ich den Fehler -2513 geliefert!
Ich verstehe nicht, wieso du keine Fehlermeldung bekommst…


RE: Kanalnamen berechneter Kanäle neu definieren - Titus85 - 10.12.2019 15:49

Hallo Gerd,

(10.12.2019 15:03 )GerdW schrieb:  Hallo Titus,

so funktioniert das bei mir:

Ja so funktioniert das bei mir auch, das Problem ist aber, dass ich es so nicht will.

Du hast, beispielsweise, die Kanäle A,B,C und D und verrechnst diese miteinander und erlangst so einen Wert F den Du ebenfalls auf einem Kanal mitschreiben willst. Wenn Du ihn aber ohne ihn umzubenennen mitschreibst, vermischt er sich mit einem der Kanäe A,B,C oder D und Du hast auf einem dieser Kanäle die doppelte Anzahl an Werten, wenn Du den Kanal umbenennst wird final keine Datei erstellt.

Ich habe an jeden Fehlerausgang nochmal eine Anzeige gehängt, keine Fehlermeldung.

Ich verstehe es nicht ganz warum das so nicht funktioniert und ich verstehe nicht warum die Fehlermeldung bei mir nicht auftaucht.... da ist doch was faul. Noch eine Idee was man da tun könnte?

Gruß Titus

PS: Auch komisch, den Fehler -2513 scheint es auch nicht zu geben...^^


RE: Kanalnamen berechneter Kanäle neu definieren - GerdW - 10.12.2019 16:53

Hallo Titus,

Fehler -2513 ist für mich definiert, es ist ein TDMS-Fehler… (LV2011)

Nachtrag: auch unter LV2019 ist dieser Fehler definiert…


RE: Kanalnamen berechneter Kanäle neu definieren - seuk - 10.12.2019 17:28

(10.12.2019 15:49 )Titus85 schrieb:  Du hast, beispielsweise, die Kanäle A,B,C und D und verrechnst diese miteinander und erlangst so einen Wert F den Du ebenfalls auf einem Kanal mitschreiben willst.

[attachment=60625]

Vielleicht hilft dir das weiter? Aber eigentlich verwendest du ja schon das richtige VI Attribut setzen...

Auf deinem Bild sieht es so aus, als würde der Kanal "Wirkungsgrad2" mit dem neuen Attribut gesetzt. Verwendest du den Output dann auch für das TDMS File? Das was du unten in die Queue schreibst, hat das Attribut natürlich nicht gesetzt, so wie es verbunden ist - da heiße alle drei Kanäle noch genau wie vor dem Aufruf des VIs...


RE: Kanalnamen berechneter Kanäle neu definieren - Titus85 - 11.12.2019 07:21

Guten Morgen,

nein das hilft leider nicht. Ich habe jetzt mal etwas (verzweifelt) herumgespielt. Wenn ich das Programm mit dem Original-Messkanalnamen beginne und nach dem Start umschalte, wird die Messung aufgezeichnet, allerdings scheint der Kanal dann als unbenannter Kanal zu laufen, das TDMS VI Schreiben zeigt dann aber auch weder Kanal- noch Gruppennamen an.

PS: Den Fehler -2513 habe ich jetzt ebenfalls erzahlten.


RE: Kanalnamen berechneter Kanäle neu definieren - GerdW - 11.12.2019 07:52

Hallo Titus,

Zitat:allerdings scheint der Kanal dann als unbenannter Kanal zu laufen, das TDMS VI Schreiben zeigt dann aber auch weder Kanal- noch Gruppennamen an.
Wieso willst du auch ein String-Array Cluster als Kanalnamen einstellen!? Wall Hmm

Probiere mal den Anhang aus…

P.S.: Profil_ergaenzen wenn du nicht mehr mit LV2012 arbeitest!