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 

Textfile Zeile unterschiedl. Länge in Bytearray umwandeln



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!

01.10.2014, 20:33
Beitrag #1

bartinivva14 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Nov 2011

2014
2010
DE


Deutschland
Textfile Zeile unterschiedl. Länge in Bytearray umwandeln
       
0.0 .zip  ConfigFileIO_Bsp Labview8.0.zip (Größe: 8,24 KB / Downloads: 226)

0.0 .zip  ConfigFileIO_Bsp.zip (Größe: 10,87 KB / Downloads: 221)


Hallo zusammen,

ich stehe gerade beim Versuch Hex-Werte aus einem File einzulesen und Zeilenweise als 1D- ByteArray an Hardware weiterzugeben auf dem Schlauch.
Es ist ein Konfig-File mit dem I2C Register gesetzt werden. Die ersten zwei Werte sind die 16bit Adresse, anschließend kommen Werte unterschiedlicher Länge

Das Konfig-File im Textformat liegen in folgendem Format vor:

02 A3 00
00 1E 00 00
00 26 00 00
00 2D 12
00 25 FF
00 96 00 54
00 11 30
00 1C 32
00 22 00 77
00 2D 10
00 B8 00 00 00 28
00 22 00 77
00 15 07

Probleme bereitet mir bei meiner jetzigen Lösung das automatische auffüllen des Arrays mit Nullen entsprechend der längsten Zeile.
Die Werte werden also so weitergegeben:

02 A3 00 00 00 00
00 1E 00 00 00 00
00 26 00 00 00 00
00 2D 12 00 00 00
00 25 FF 00 00 00
00 96 00 54 00 00
00 11 30 00 00 00
00 1C 32 00 00 00
00 22 00 77 00 00
00 2D 10 00 00 00
00 B8 00 00 00 28
00 22 00 77 00 00
00 15 07 00 00 00

Da ich hier I2C Register mit Werten befülle ist die Ausgabe der aufgefüllten Nullen ungeschickt.

Die Anforderungen sind also:

- Die Zeilen nacheinander als Bytearray weiterzugeben und die ursprüngliche Länge beibehalten

- Die Reihenfolge der Zeilen steht nicht fest, da die Möglichkeiten zur Konfiguration flexibel sein müssen.
Man weiß also nicht wann 3 Byte kommen und wann 4 oder 6 Byte.

- Nullen die zu den Werten gehören solen natürlich nicht gelöscht werden

-Die momentane Tabulatortrennung im Textfile ist nicht zwangsläufig nötig, dies war nur der erste Versuch mit übersichtlicher Darstellung.
Eine Lösung ohne Tabs ist auch ok.

Angehängt das VI in Labviewversion 2014 und 8.0
sowie zwei Screenshots

Vielen Dank für eure Hilfe,

Jörg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2014, 20:51
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Textfile Zeile unterschiedl. Länge in Bytearray umwandeln

Akzeptierte Lösung

So z.B.:
   
Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2014, 20:53
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Textfile Zeile unterschiedl. Länge in Bytearray umwandeln
Hallo Jörg,

Arrays sind in LabVIEW immer "rechteckig", d.h. alle Zeilen haben gleich viele Spalten! Du kannst also nicht einmal Zeilen mit 3 Elementen haben und dann welche mit 5…

Lösung:
Datei zeilenweise einlesen und/oder nur zeilenweise auswerten!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2014, 21:04 (Dieser Beitrag wurde zuletzt bearbeitet: 01.10.2014 21:24 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Textfile Zeile unterschiedl. Länge in Bytearray umwandeln
Es geht, wenn Du jede Zeile in einen Cluster verpackst. Als nicht "2D-Array", sondern "1D-Array of Cluster", wobei die Cluster als Element jeweils einen Zeilenarray enthalten. Dann können die Zeilen alle unterschiedliche Längen haben. Rein Äußerlich, wenn man die Cluster transparent macht, sieht das dann genau so aus wie ein "2D-Array mit unterschiedlichen Zeilenlängen"
Ein andere Möglichkeit ist, für die Darstellung der Zahlen eine 2D-Texttabelle oder ein 2D-Textarray zu verwenden. Echte Nullen bleiben dann Nullen, die angehängen unerwünschten Elemente sind hingegen unsichtbare Leerzeichen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2014, 21:12
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Textfile Zeile unterschiedl. Länge in Bytearray umwandeln
(01.10.2014 21:04 )Lucki schrieb:  Es geht, wenn Du jede Zeile in einen Cluster verpackst.
vgl. Beitrag #2. Big Grin

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2014, 23:04 (Dieser Beitrag wurde zuletzt bearbeitet: 01.10.2014 23:19 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Textfile Zeile unterschiedl. Länge in Bytearray umwandeln
(01.10.2014 21:12 )jg schrieb:  vgl. Beitrag #2. Big Grin
Antwort 1:
Vgl. Beitrag #2 hier
Oder Antwort 2:
Ja, ich bin langsam. Als ich anfing zu schreiben, gab es Null Antworten, als ich das abschickte, hattet ihr beiden Platzhirsche wie gewöhnlich schon die Vorderplätze belegt. Man könnte ja mit einem sofort geposteten "Moment bitte..." den Platz belegen. (So ähnlich wie die Deutschen auf Mallorca, die am Morgen vor dem Frühstück mit einem Handtuch sich ihren Strandplatz reservieren). Aber Scheiß drauf, es ist mir egal.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.10.2014, 11:50
Beitrag #7

bartinivva14 Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Nov 2011

2014
2010
DE


Deutschland
RE: Textfile Zeile unterschiedl. Länge in Bytearray umwandeln
Hallo zusammen,

vielen Dank für die schnelle Hilfe.
Die Lösung von Jens erledigt alles zur vollsten Zufriedenheit.

Grüße Jörg
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
  1 Zeile Hydrogencarbonat 8 8.862 12.05.2017 12:27
Letzter Beitrag: jg
  Problem mit Nachkommastellen beim Auslesen einer Tabstopgetrennten Textfile SEF 6 7.310 23.10.2013 10:22
Letzter Beitrag: SEF
  Zeile sortieren megalopo 5 5.898 22.06.2012 05:52
Letzter Beitrag: NWOmason
  Formatierung Textfile Idlewild 3 5.463 16.05.2012 10:20
Letzter Beitrag: Idlewild
  String in Textfile speichern Houfa 5 6.328 01.04.2011 17:44
Letzter Beitrag: Houfa
  Einzelne Zeile aus .txt auslesen pyrates 7 10.190 24.02.2010 08:28
Letzter Beitrag: SeBa

Gehe zu: