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 

2D Array mit "Write Dalalog" protokollieren



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!

26.02.2007, 14:34
Beitrag #1

Striefchen Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: Sep 2006

8.00 / 8.2
2006
kA


Deutschland
2D Array mit "Write Dalalog" protokollieren
Hallo Leute.

Seit einiger Zeit arbeite ich schon an einem Programm für meine Diplomarbeit. Ich hatte in der Beispielbibliothek mal eine Möglichkeit gesehen wie man Messdaten festhalten kann und später wieder ausliest. Das wäre für meine Zwecke in etwa diesem Beispiel:
[attachment=31772:1D_Array...ollieren.JPG]
Mit der FOR-Schleife erzeuge ich mir die Messdatenpakete die ich im eigentlichen Programm als Paket aus dem FIFO erhalte. Die Pakete werden zu einem bestimmten Index protokolliert. Diese berechnet sich aus dem Hauptschleifenindex mal mer Anzahl meiner Elemente mal den Zeitindex für den Graph.

Das alles klappt ganz gut auf folgende Art und Weise auszulesen.
[attachment=31773:1D_Array_auslesen.JPG]

Jetzt habe ich mir gedacht ich könnte auch ein 2D Array protokollieren. Ich habe ja zwei Signale in meiner Messung. Also habe ich dann auch zwei Datenpakete vorliegen. Um sie im Verlaufsgraph darzustellen füge ich sie zu einem 2D Array zusammen mit "built array". [attachment=31775:2D_Array...ollieren.JPG]
Das klappt so recht gut. Wie man sieht habe ich beim Datensatztyp von "Öffnen/Erstellen einer Protokolldatei" eine Dimension hinzugefügt.
Genauso habe ich es beim Auslesen gemacht. Nur hier funktioniert es nicht so.[attachment=31776:2D_Array_auslesen.JPG] Es läßt sich einfach kein Graph mehr an meinen Protokollausgang anfügen. Warum? Ich habe doch auch hier den Typ korrekt angegeben und ne Dimension hinzugefügt?

Die beiden Dateien im ZIP-Format:[attachment=31777:Daten_im_Protokoll.zip]

Gunni
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2007, 14:38 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2007 14:38 von Achim.)
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
2D Array mit "Write Dalalog" protokollieren
Hi

ohne das jetzt genauer zu untersuchen: Geh mal mit der "Kabeltrommel" auf den gebrochenen Draht und schau dir die Fehlermeldung mal an. Da hast du einen Datentypkonflikt, und den must du irgendwie beheben...

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2007, 14:42
Beitrag #3

Striefchen Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: Sep 2006

8.00 / 8.2
2006
kA


Deutschland
2D Array mit "Write Dalalog" protokollieren
' schrieb:Hi

ohne das jetzt genauer zu untersuchen: Geh mal mit der "Kabeltrommel" auf den gebrochenen Draht und schau dir die Fehlermeldung mal an. Da hast du einen Datentypkonflikt, und den must du irgendwie beheben...

A.

Die Fehlermeldung ist folgende:[attachment=31778:Datentypkonflikt.JPG]

Das sieht für mich ganz normal aus. Ich habe den Graph ja auch an so nem Datensatz beim Protokoll schreiben dran. Das ganze wird wohl als eine Art Array ins Protokoll geschrieben. ich habe mal versucht mit "Array nach Cluster" das wieder zu nem Cluster zu normalisieren, aber das war auch nicht der Bringer.

Gunni
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2007, 15:24
Beitrag #4

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
2D Array mit "Write Dalalog" protokollieren
Hallo,

klappt es denn wenn du ein "Index Array" dazwischen hängst?

Gruß
VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2007, 15:31
Beitrag #5

Striefchen Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: Sep 2006

8.00 / 8.2
2006
kA


Deutschland
2D Array mit "Write Dalalog" protokollieren
' schrieb:Hallo,

klappt es denn wenn du ein "Index Array" dazwischen hängst?

Gruß
VDB

Grüß dich VDB.

Danke für deine Antwort.
Was ist denn ein "Index Array"? Ich kann es weder in meiner Funktionspalette noch in meiner Elementepalette finden.

Gunni
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2007, 15:48 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2007 15:49 von Achim.)
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
2D Array mit "Write Dalalog" protokollieren
Hi,

Array Palette, erste Zeile, zweites Icon!

Ja, dann klappt es natürlich...alle Records kommen als 1D-Array of Cluster...die muss er jetzt hintereinanderschieben (z.b. mit ner Forschleife + Schieberegister), danach kann er wieder ein Waveform-Graph anschließen. Oder er packt in die For-Schleife einen Waveform-Chart...

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2007, 09:38
Beitrag #7

Striefchen Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: Sep 2006

8.00 / 8.2
2006
kA


Deutschland
2D Array mit "Write Dalalog" protokollieren
Morgen.

Danke. Mit "Array indizieren" oder "Index Array" hat es geklappt. Jetzt muß ich mir nur noch klar machen warum?

Gunni
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2007, 10:21
Beitrag #8

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
2D Array mit "Write Dalalog" protokollieren
' schrieb:Morgen.

Danke. Mit "Array indizieren" oder "Index Array" hat es geklappt. Jetzt muß ich mir nur noch klar machen warum?

Gunni

weil der Datentyp "Waveform" festgelegt ist als Struktur (dbl t0, dbl dt, dbl[] Y) und Y immer ein 1D-Array ist. Du kannst zwar ein 2D Array in die Datei schreiben, aber dann ist es eben keine Waveform mehr.

Stattdessen kannst du für 2 Kanäle ein 1D Waveform-Array mit 2 Elementen verwenden, dann klappt das auch wieder mit der Anzaige ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2007, 11:18
Beitrag #9

Striefchen Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: Sep 2006

8.00 / 8.2
2006
kA


Deutschland
2D Array mit "Write Dalalog" protokollieren
' schrieb:weil der Datentyp "Waveform" festgelegt ist als Struktur (dbl t0, dbl dt, dbl[] Y) und Y immer ein 1D-Array ist. Du kannst zwar ein 2D Array in die Datei schreiben, aber dann ist es eben keine Waveform mehr.

Stattdessen kannst du für 2 Kanäle ein 1D Waveform-Array mit 2 Elementen verwenden, dann klappt das auch wieder mit der Anzaige ...


Hi.

Ich nehme an du meintest damit wieder diese Splittung des Speicherblocks in zwei Elemente des nächstkleineren Datensatzes. Das hatte ich mir doch schon mal in nem Bsp. von dir abgeguckt.

Gunni
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2007, 14:26
Beitrag #10

Striefchen Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: Sep 2006

8.00 / 8.2
2006
kA


Deutschland
2D Array mit "Write Dalalog" protokollieren
' schrieb:Hi.

Ich nehme an du meintest damit wieder diese Splittung des Speicherblocks in zwei Elemente des nächstkleineren Datensatzes. Das hatte ich mir doch schon mal in nem Bsp. von dir abgeguckt.

Gunni

Gut, so einfach geht es dann wohl doch nicht. Die zwei Werte in ein Element des Arrays zu schreiben mittels "Join Numbers (Zahlen verbinden)" funktioniert nur mit integeren Zahlen. Da ich alles in SGL vorliegen hatte mußte ich in meinem Projekt einiges zurück ändern damit ich wieder die I32-Messwerte zur Verfügung hab.
Hab mir ein SubVI gebaut das mir je nach Modul (12 Bit oder 16 Bit), die Inkrementzahl in eine Dezimalzahl umwandelt. Das sind die zwei VIs in den FOR-Schleifen.
[attachment=31793:polymorp...nschluss.jpg]
Wie man sieht läßt sich da was nicht verbinden. Der Kommentar dazu steht in der Hilfebox. "Die Verbindung führt zu einem polymorphen Anschluß, der diesen Datentyp nicht akzeptiert. Nun hatte ich gadacht ich bin mal schlau und konvertiere diese Zahl schön in DBL um, wandel sie beim Datei auslesen wieder in I32 um und splitte sie - ABER Nein. Das ist doch meines Erachtens genauso wie wenn ichs vorm Graph abgreife, oder?


Gunni

Update:

Entschuldigung, ich hatte vergessen beim Datentyp fürs Protokoll die eine Dimension zu entfernen. Jetzt funzt es. Was ich noch festgestellt habe ist das ein SubVI wenn's mehrfach parallele gebraucht wird, den Rechner ganz schön ausbremst.
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
  Read/Write 3D/4D data: Read Write.vi Error 1 DavidK 2 6.504 30.09.2004 11:08
Letzter Beitrag: DavidK

Gehe zu: