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 

Kanalnamen erstellen



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!

30.10.2020, 09:38
Beitrag #1

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
Kanalnamen erstellen
Hallo,

ich möchte aus einem numerischen Wert ein Signal erstellen und dieses in einer TDMS Datei erfassen. Später soll das Array natürlich über eine Schleife erzeugt werden aber z. Z. hab ich das Problem, dass die Kanalnamen als "Unbekannt" erfasst werden und ich es nicht hinbekomme ein ordentliches Signal zu erzeugen. Die Namen die ich an das VI "Signalverlaufsattribut" anschließe werden einfach als zusätzliche Spalte erfasst.

Also ich hätte gerne, dass ich ein fertige Signale mit frei definierbaren Kanalnamen, Kanalgruppen und Zeitstempeln in die Queue einspeise, ohne dass ich an das VI "TDMS schreiben" noch ein Array mit Kanalnamen anschließen muss - das ganze basierend auf den numerischen Variablen Anton, Berta .... etc.

Kann jemand helfen?

Gruß Titus


Angehängte Datei(en) Thumbnail(s)
       

19.0 .vi  TestVIMesskanaele.vi (Größe: 18,69 KB / Downloads: 140)

lex et ordo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.10.2020, 10:37
Beitrag #2

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 415
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Kanalnamen erstellen
Hallo Titus,

einige TDMS Funktionen haben Eingänge für Gruppennamen und Kanalnamen. Diese musst du nutzen.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.10.2020, 10:55
Beitrag #3

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
RE: Kanalnamen erstellen
(30.10.2020 10:37 )Martin.Henz schrieb:  Hallo Titus,

einige TDMS Funktionen haben Eingänge für Gruppennamen und Kanalnamen. Diese musst du nutzen.

Hallo,

ja ich weiß, dass das eine Möglichkeit ist, aber wenn ich über ExpressVI in Excel abspeichere habe ich das gleiche Problem. Warum kann ich denn kein vollständiges Signal erstellen?

lex et ordo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.10.2020, 11:21 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2020 11:38 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.407
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanalnamen erstellen
Hallo Titus,

Zitat:Warum kann ich denn kein vollständiges Signal erstellen?
Du hast doch ein "vollständiges Signal" erstellt…

Schau dir das mal an:
   
Im TDMS-File finden sich alle Informationen, die du so angegeben hast.
Dummerweise hast du aber den "name" nicht definiert, also nimmt LabVIEW eben den Defaultwert…

Was soll dieses Spielchen über Bande mit dem Eintragen dreier Werte in einen Cluster, um dann zwei dieser Werte wieder aus dem Cluster auszulesen und als Arrays mit einem Element zu verpacken?
Dieser Code macht das gleiche:
   

Und so geht's richtig (zumindest das TDMS-Write):
   

Zitat:wenn ich über ExpressVI in Excel abspeichere habe ich das gleiche Problem.
Wer verwendet denn schon ExpressVIs freiwillig? (Es gibt IMHO nur 2 sinnvolle ExpressVIs: FileDialog und ElapsedTime.)
Das übliche Problem mit ExpressVIs ist: sie sind für einen bestimmten Einsatzzweck gemacht. Wenn man an die Grenzen dieses Zweckes stößt, muss man eben selbst programmieren!

Abgesehen von meiner Abneigung ggü. ExpressVIs: wenn du die Waveforms korrekt definierst, könnte ich mir schon vorstellen, dass Signalnamen auch korrekt gespeichert werden. Mangels Lust (und aufgrund meiner Abneigung) werde ich das jetzt aber nicht weiter testen…

Allgemeine Anmerkung:
Bitte VIs (Frontpanel und Blockdiagramm) NICHT auf maximale Fenstergröße setzen, insbesondere wenn kaum etwas darin enthalten ist. Stört einfach beim Debuggen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.10.2020, 11:39 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2020 11:41 von Titus85.)
Beitrag #5

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
RE: Kanalnamen erstellen
Hallo Gerd,

dann formuliere ich meine Frage um: Wie definiere ich die Kanalnamen korrekt? Ich versuche es jetzt schon Stunden und ich komme ich weiter. Ich habe mal einen Screenshot von einem HBM Treiber angehangen, die machen es auch "so" und das funktioniert einwandfrei, weiß nicht was ich da anders mache.



Zum Rest: Das "Spiel über Bande" kommt daher, dass es ein extrem reduziertes VI ist, der Cluster ergibt im Ganzen schon Sinn. Ich muss 200 Signale via CAN (NI-XNET Treiber) auslesen und der Treiber gibt einem nur ein numerisches VI aus, daher weise ich via Cluster den Elementen Namen zu. So hab ich alles gebündet und kann mir die benötigten Werte an den entsprechenden Stellen einfach ausleiten. Angeblich würde der NI Flex Logger da Anhilfe schaffen, konnte das Ding aber bisher nicht testen.


Angehängte Datei(en) Thumbnail(s)
   

lex et ordo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.10.2020, 11:46 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2020 11:50 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.407
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanalnamen erstellen
Hallo Titus,

Zitat:dann formuliere ich meine Frage um: Wie definiere ich die Kanalnamen korrekt? Ich versuche es jetzt schon Stunden und ich komme ich weiter.
Ich habe mal einen Screenshot von einem HBM Treiber angehangen, die machen es auch "so" und das funktioniert einwandfrei, weiß nicht was ich da anders mache.
Dann hättest du einfach nur das machen sollen, was die Programmierer bei HBM gemacht haben: den korrekten Attributnamen verwenden!
"NI_ChannelName" definiert nämlich den Namen einer Waveform - du dagegen hast stattdessen "Grupppe_XY" definiert…

Steht auch so in der LabVIEW-Hilfe, muss man einfach mal lesen

Zitat:Zum Rest: Das "Spiel über Bande" kommt daher, dass es ein extrem reduziertes VI ist, der Cluster ergibt im Ganzen schon Sinn. Ich muss 200 Signale via CAN (NI-XNET Treiber) auslesen und der Treiber gibt einem nur ein numerisches VI aus, daher weise ich via Cluster den Elementen Namen zu. So hab ich alles gebündet und kann mir die benötigten Werte an den entsprechenden Stellen einfach ausleiten.
Bei so vielen Signalen bietet sich eine Key-Value-Pairs-Tabelle an.
Früher hat man das mit Variantattributen erledigt, mittlerweile gibt es dafür Maps in LabVIEW…
(Außerdem findest du in VIPM noch ein paar andere KVP-Implementierungen…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2020, 08:27
Beitrag #7

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
RE: Kanalnamen erstellen
Zitat:Hallo Titus,
Steht auch so in der LabVIEW-Hilfe, muss man einfach mal lesen

Ok Tatsache, da hatte ich voreilig etwas anderes angenommen, jetzt funktioniert es. Danke.


Zitat:Bei so vielen Signalen bietet sich eine Key-Value-Pairs-Tabelle an.
Früher hat man das mit Variantattributen erledigt, mittlerweile gibt es dafür Maps in LabVIEW…
(Außerdem findest du in VIPM noch ein paar andere KVP-Implementierungen…)

Maps? Was soll das sein, finde ich nirgendwo. Mir wurde von NI selbst der FlexLogger empfohlen, konnte diesen aber bis dato noch nicht evaluieren.

lex et ordo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2020, 08:32 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2020 08:33 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.407
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Kanalnamen erstellen
Hallo Titus,

Zitat:Maps? Was soll das sein, finde ich nirgendwo.
Auch hier gilt: Anleitung lesen
(Ab S.12 stehen die Neuerungen in LV2019.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2020, 11:49
Beitrag #9

Titus85 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 78
Registriert seit: Jul 2014

2019
2014
DE


Deutschland
RE: Kanalnamen erstellen
(02.11.2020 08:32 )GerdW schrieb:  Hallo Titus,

Zitat:Maps? Was soll das sein, finde ich nirgendwo.
Auch hier gilt: Anleitung lesen
(Ab S.12 stehen die Neuerungen in LV2019.)
Ok kann sein, dass ich mich da jetzt irre aber ich sehe da keinen großen Vorteil gegenüber einem Cluster.

Ich fange mit einem .dbc-File an und muss die im File definierten Signale einem Anzeigeelement zuführen. Ich kenne es, z. B. von dSPACE mit Matlab/Simulink, aber auch von von NI-Echtzeitsystemen wie PXI so, dass .dbc-Files direkt in Variablen umgewandelt werden, die ich mir ins Programm ziehen kann. Worum ich hier scheinbar nicht herum komme ist, dass ich mir die Anzeigeelemente händisch erstelle und dann ein "Zubringersystem" wie Cluster oder eben eine Map definiere. Aber beide Systeme haben ihre Vor- und Nachteile die sich m. M. n. nicht viel nehmen oder siehst Du das anders?

lex et ordo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: