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 

Dieses Thema hat akzeptierte Lösungen:

Datenfluss vieler Kanäle + Signaldarstellungsverwaltung



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!

03.02.2015, 13:50 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2015 13:51 von tsa.)
Beitrag #1

tsa Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Feb 2015

2015
2015
DE


Deutschland
Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
Hallo zusammen!

Ich bin relativ neu in der LabView-Welt, komme aus der zeilenbasierten Programmierung (C#, C, etc) und habe noch Probleme, meine Pläne in grafischen Code umzuwandeln.

Evtl. benötige ich für mein Problem lediglich einige Stichwörter, bis jetzt habe ich noch keine sinnvolle Lösung gefunden.

Zu meiner Aufgabenstellung: Ich zeichne Messwerte von unterschiedlichen Messgeräten auf, die Anzahl der Kanäle liegt so im Bereich 40-50 (hauptsächlich Temperaturen, Leistungen, Spannungen, Ströme, etc).

Zu meinem ersten Problem: Die Verwaltung der Kanäle im Blockschaltbild. Derzeit liefern meine MessVI's Doublearrays, das Ganze artet in ein riesiges Arraykonstrukt aus, zusätzlich variieren Kanalanzahl und Bezeichnung je nach Messobjekt. Gibt es da eine Möglichkeit, sich aus einer "Kanalwurst" gezielt Kanäle z.B. nach einer Bezeichnung herrauszupicken? In C# hätte ich mir eine Klasse mit Bezeichnung, Double Array/Liste und Zeitstempeln generiert und die in einem Messobjekt abgelegt. Es gibt ja auch diesen Signaldatentyp, mit dem habe ich mich noch nicht so richtig angefreundet.
Außerdem würde ich gerne zu jedem Messwert einen Zeitstempel abspeichern, es gibt Berechnungen, z.B. die Erwärmung in der letzten halben Stunde, die auch bei variabler Abtastrate funktionieren soll.

Das zweite Problem: Das anzeigen dieser Daten, ich würde gerne die Kanäle in Gruppen einteilen, um sie dann per Buttondruck ein- bzw. auszublenden. Als Anzeigeobjekt selbst hat bis jetzt am besten ein Signalverlaufsdiagramm funktioniert, auch wenn ich mit dem noch nicht ganz glücklich bin. Die Aufzeichnungen gehen über mehrere Stunden, die Abtastrate ist z.B. 1 Hz. Wenn ich gezoomt durch den Chart fahre, springt der Blickbereich bei Aktualisierung (also jede Sekunde) zum aktuellsten Wert.
Mit mehreren unterschiedlichen Achsen habe ich mich noch gar nicht beschäftigt, das kommt aber bestimmt auch bald :-)

Noch ein kleine Punkt am Rand: Wenn ich die Grafik exportiere (ob Excel, Diadem oder ähnliches) wandelt mir Labview die Daten in Integer um, das Komma ist also weg.

Hat jemand dazu paar Vorschläge, Stichwörter, etc?
Schonmal Danke fürs Lesen :-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.02.2015, 14:35 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2015 14:37 von GerdW.)
Beitrag #2

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
Hallo tsa,

Zitat:Ich zeichne Messwerte von unterschiedlichen Messgeräten auf, die Anzahl der Kanäle liegt so im Bereich 40-50 (hauptsächlich Temperaturen, Leistungen, Spannungen, Ströme, etc).
Externe Messgeräte über eine VISA-Schnittstelle? Oder eine NI-DAQmx-Messkarte?
Konstante Samplerate? Alle Kanäle mit der gleichen Samplerate?

Zitat:Derzeit liefern meine MessVI's Doublearrays
Ein Array pro Kanal?
Ein Array pro Messgerät und mit je einem Element pro Kanal?

Zitat:In C# hätte ich mir eine Klasse mit Bezeichnung, Double Array/Liste und Zeitstempeln generiert und die in einem Messobjekt abgelegt.
LabVIEW könnte das prinzipiell auch - auch wenn ich das hier für Overkill halte…

Zitat:Signaldatentyp, mit dem habe ich mich noch nicht so richtig angefreundet.
Meinst du Signalverläufe aka Waveforms?

Zitat:bis jetzt am besten ein Signalverlaufsdiagramm funktioniert, auch wenn ich mit dem noch nicht ganz glücklich bin.
Mit Charts werde ich auch selten glücklich. Graphen bieten viel mehr Möglichkeiten!

Zitat:Wenn ich gezoomt durch den Chart fahre, springt der Blickbereich bei Aktualisierung (also jede Sekunde) zum aktuellsten Wert.
Was erwartest du? Der Chart stellt nun mal den aktuellsten Datenpunkt dar - oder hast du etwa vergessen, das Autoscaling abzuschalten?

Zitat:Wenn ich die Grafik exportiere (ob Excel, Diadem oder ähnliches) wandelt mir Labview die Daten in Integer um, das Komma ist also weg.
Das ist ein typisches Problem, wenn du einen Rechner mit deutschen Zahlenformaten nutzt. Das hatten wir erst so ähnlich vor kurzem diskutiert…

Zusammenfassung:
Bitte formuliere deine Fragen konkreter, detaillierter, präziser…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2015, 14:56 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2015 15:00 von tsa.)
Beitrag #3

tsa Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Feb 2015

2015
2015
DE


Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
(03.02.2015 14:35 )GerdW schrieb:  Hallo tsa,
Externe Messgeräte über eine VISA-Schnittstelle? Oder eine NI-DAQmx-Messkarte?
Konstante Samplerate? Alle Kanäle mit der gleichen Samplerate?

Teils VISA, teils vom Assistenten für Instrumen IO abgewandelte VI's (Messgeräte sind fast alle über GPIB verbunden)
Samplerate sei für ein Messobjekt konstant, kann aber für andere Messobjekte variieren (wobei das könnte für den Anfang auch vernachlässigt werden)

Zitat:
Zitat:Derzeit liefern meine MessVI's Doublearrays
Ein Array pro Kanal?
Ein Array pro Messgerät und mit je einem Element pro Kanal?
Von Messgeräten die nur einen Wert messen kommt ein Skalar (double)
Von einem Messgerät mit 10 Kanälen kommt ein 2d Array (double) mit 10 Einträgen, die Werte dieser 2 Messgeräte werden zu einem 2D array mit 11 Elementen verheiratet sodass aus dem "Mess VI" nur noch eine Messdatenleitung rauskommt, soweit der Plan, bin jedem Verbesserungsvorschlag aufgeschlossen!

Zitat:
Zitat:In C# hätte ich mir eine Klasse mit Bezeichnung, Double Array/Liste und Zeitstempeln generiert und die in einem Messobjekt abgelegt.
LabVIEW könnte das prinzipiell auch - auch wenn ich das hier für Overkill halte…
Bitte nur her mit den Vorschlägen! :-)

Zitat:
Zitat:Signaldatentyp, mit dem habe ich mich noch nicht so richtig angefreundet.
Meinst du Signalverläufe aka Waveforms?
Ja genau, ich experimentiere gerade mit Clusterkonstanten, in die ich so nen Signalverlauf mit Startzeitstempel, dt, Messwerten hineingezogen habe + nen String für Kanalbezeichnung, der Signalverlaufausgang hat den Datentyp waveform

Zitat:
Zitat:Wenn ich gezoomt durch den Chart fahre, springt der Blickbereich bei Aktualisierung (also jede Sekunde) zum aktuellsten Wert.
Was erwartest du? Der Chart stellt nun mal den aktuellsten Datenpunkt dar - oder hast du etwa vergessen, das Autoscaling abzuschalten?
Gut möglich dass ich das übersehen habe in einer Option Undecided

Zitat:Zusammenfassung:
Bitte formuliere deine Fragen konkreter, detaillierter, präziser…

Wie kann ich 40 Kanäle plus minus 5 sinnvoll verdrahten und anzeigen?

Der Hinweiß zu den Graphen war schonmal gut, darauf stürze ich mich nun!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2015, 15:01
Beitrag #4

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
Hallo tsa,

Zitat:Teils VISA, teils vom Assistenten für Instrumen IO abgewandelte VI's
Also alles mit VISA…

Zitat:Von Messgeräten die nur einen Wert messen kommt ein Skalar (double) Von einem Messgerät mit 10 Kanälen kommt ein 2d Array (double) mit 10 Einträgen, die Werte dieser 2 Messgeräte werden zu einem 2D array mit 11 Elementen verheiratet sodass aus dem "Mess VI" nur noch eine Messdatenleitung rauskommt
Du willst also einen Einzelwert mit einem 2D-Array von 10 Werten verknüpfen und machst daraus ein 2D-Array? Spätestens hier wäre ein Beispiel-VI hilfreich.

Ich würde alle Messwerte in einem 1D-Array ablegen…

Zitat:Bitte nur her mit den Vorschlägen! :-)
Konstante Samplerate? Oder variable/variierende Samplerate?
Im ersten Fall mit Waveforms arbeiten, im zweiten Fall mit X-/Y-Arrays…

Zitat:Wie kann ich 40 Kanäle plus minus 5 sinnvoll verdrahten und anzeigen?
Mit einem einzigen Array: 40±5 Zeilen für deine Kanäle…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2015, 15:53
Beitrag #5

tsa Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Feb 2015

2015
2015
DE


Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
Zitat:Ich würde alle Messwerte in einem 1D-Array ablegen…

Mein Fehler, hatte mich vertan, es sind natürlich 1D Arrays!

Zitat:Mit einem einzigen Array: 40±5 Zeilen für deine Kanäle…

Nach derzeitigem Erkenntnisstand werde ich die Doubles in ein Array aus waveforms konvertieren. Die große Frage die sich mir stellt ist nun die Selektion einzelner Kanäle. Ich möchte davon Abstand nehmen, die Kanäle über Indizes anzusprechen, da sich Anzahl und Index je nach Messobjekt ändern kann. So kann z.B. Index 5 einmal ein Strom und einmal eine Leistung sein. Mir wäre es am liebsten, die Kanäle über Namen anzusprechen (z.B. "U1"), die einmal an einem Ort im Programm zu definieren sind. Dieser Name soll dann im Graph gleich als Plotbezeichnung dienen. Idealerweise ist eine Liste hinterlegt, die vordefinierte Namen einer Gruppe zuordnet, die dann im Graphen einzeln anzeigbar und ausblendbar ist (z.B. U1, URMS als Spannung identifiziert, und der jeweiligen Achse im Graphen zuordnen)

Viele Grüße!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2015, 15:57
Beitrag #6

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
Hallo tsa,

du willst also mit Key-Value-Paaren arbeiten? Dafür bietet LabVIEW schon was, ist aber leicht über Einsteigerlevel.
Du tust dir einen Gefallen, wenn du erst mal ein paar Einsteigerkurse belegst!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.02.2015, 16:24
Beitrag #7

tsa Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Feb 2015

2015
2015
DE


Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
(03.02.2015 15:57 )GerdW schrieb:  Hallo tsa,

du willst also mit Key-Value-Paaren arbeiten? Dafür bietet LabVIEW schon was, ist aber leicht über Einsteigerlevel.
Du tust dir einen Gefallen, wenn du erst mal ein paar Einsteigerkurse belegst!

Ah das scheint mir schon recht nahe an dem zu sein, was ich benötige!

Ich bin noch nicht ganz fit mit den verschiedenen Leitungsfarben/Arten, Object Data ist in dem Beispiel ein Array aus Object Data Types, wobei das erste Element des Objekts DataTypes ein String ist?

Dieses Object Data, kann das als Cluster bestehend aus Waveform + String aufgebaut werden?
Der Cluster kann ja zerlegt in die einzelnen Elemente werden, da dann einfach auf Gleichheit des Strings prüfen?

Auf jeden Fall ein herzliches Dankeschön, das hat mich ordentlich weitergebracht, warum diese Dummy Variant Leitung benötigt wird erschließt sich mir jetzt auf Anhieb nicht, macht aber nix :-D
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2015, 16:27
Beitrag #8

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
Hallo tsa,

Zitat:warum diese Dummy Variant Leitung benötigt wird erschließt sich mir jetzt auf Anhieb nicht
Der Variant bietet eben diese Attribute, in denen die Key-Value-Paare gespeichert werden. Deshalb der Dummy-Variant, der selbst keinen Wert zugewiesen bekommt…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2015, 16:43
Beitrag #9

tsa Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Feb 2015

2015
2015
DE


Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
(03.02.2015 16:27 )GerdW schrieb:  Der Variant bietet eben diese Attribute, in denen die Key-Value-Paare gespeichert werden. Deshalb der Dummy-Variant, der selbst keinen Wert zugewiesen bekommt…

Er wird also nur als temporäre Datenstruktur verwendet, um den red/black tree Algorithmus durchführen zu können?


Um die andere Frage abzuschließen, das Objekt, das ich hier benötige, ist das ein Cluster? Mit Google und "Labview object data type" lande ich jedesmal bei Clustern. Am Front End (also die Benutzeroberfläche wie auch immer die heißt) konnte ich schon so nen Cluster bauen, im Blockschaltbild wills noch nicht so klappen, ist aber bestimmt nur ne Frage der Zeit.

Ich fange schon wieder zu schwafeln an, kurz formuliert: Wie erhalte ich aus meinen waveforms den hier benötigten Object Data Type?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.02.2015, 16:55
Beitrag #10

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenfluss vieler Kanäle + Signaldarstellungsverwaltung
Hallo tsa,

Zitat:Wie erhalte ich aus meinen waveforms den hier benötigten Object Data Type?
Falsche Fragestellung, die wahrscheinlich aus der Nutzung OOP-basierter Programmierung in C++/C# stammt…

Welche Daten willst du speichern? Name der Kurve (= Key für das Variant-Attribut!) und Waveform. Wenn das alles ist, dann ist der zu speichernde Datentyp ein Waveform. Wenn du mehr Daten zu einem Namen speichern willst, solltest du einen Cluster aus Waveform und diesen anderen Daten erstellen:
   

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


Gehe zu: