LabVIEWForum.de - unerwartete Lücke beim Schreiben von Array in Excel

LabVIEWForum.de

Normale Version: unerwartete Lücke beim Schreiben von Array in Excel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

als absoluter Labview Neuling bin ich mit dem folgenden Problem leider ein bisschen überfordert. Da ich bisher zu diesem Thema keinen Thread finden konnte bin ich jetzt einfach mal so mutig und eröffne einen neuen.
Ich entschuldige mich auch schon einmal im Vorraus für ungenaue bzw. unvollständige AngabenWink

Und zwar will ich ein in einem Array abgelegtes Signal (Zeit- und Spannungswert) in eine Excel Datei schreiben. Dies funktioniert mit meinen jetzigen VIs (hochgeladen) so weit auch ganz gut, jedoch gibt es ab einer Zeilenzahl von 275 Zeilen das Problem, dass einige Werte in Excel einfach ausgelasssen werden(Siehe Bild). Dies geschieht immern nur an einer Position und die Größe der Lücke entspricht immer den fehlenden Werten aus dem Array.

Ich kann mir diese Lücke leider absolut nicht erklären und hoffe jetzt einfach mal, dass mir hier jemand weiterhelfen kann. Bestimmt ist es wieder einer dieser kleinen Denkfehler die man selbst einfach übersieht.

Vielen Dank

Version: 2009 (9.0)
Hallo Jogi,

warum verwendest du Whileloops anstatt FOR-Loops?
Warum diese komplizierte Umwandlung Zahl nach String (im subVI)?
Warum lokale Variablen, wenn Drähte ziehen auch geht?

Probier mal den Anhang aus...

Lv09_img2
Hallo GerdW,

vielen Dank für deine schnelle Antwort. Mit deinen VI's scheint es wunderbar zu funktionieren.

-für die Verwendung von Whileloops habe ich keinen besonderen Grund. Warum verwendest du For-Loops? Sind Whileloops schlechter Programmierstil?

-Deine Umwandlung in String ist deutlich übersichtlicher, das stimmt. Meine Version habe ich 1:1 aus einem Beispiel übernommen. Ich vermute, dass der Entwickler einfach einheitlich mit der ASCII Tabelle arbeiten wollte um Verwirrung zu vermeiden (Lehrbeispiel).

-Bis jetzt finde ich es übersichtlicher lokale Variablen zu verwenden. Aber hierzu wieder meine AnfängerfrageWink:
schlechter Programmierstil?


Hast du eine Ahnung warum meine Version diesen Bug verursacht?


Danke nochmals
Hallo Jogi,

"Warum verwendest du For-Loops? Sind Whileloops schlechter Programmierstil?"
Ja, schlechter Programmierstil.
Du willst eine feste Datenmenge nach Excel übertragen - also eine FOR-Loop über x Elemente. Mit der Whileloop handelst du dir hier nur Overhead ein durch den zusätzlichen Ende-Check. FOR-Loops arbeiten außerdem effizienter mit AutoIndexing.

"um Verwirrung zu vermeiden"
Vielleicht Verwirrung vermieden, aber dafür "RubeGoldberg" produziert...

"Bis jetzt finde ich es übersichtlicher lokale Variablen zu verwenden. ... schlechter Programmierstil?"
Extrem schlechter Programmierstil!
LabVIEW arbeitet Datenfluß-basiert: es gibt keine "Variablen", sondern stattdessen Drähte, in denen die Daten fließen...
"Lokale Variablen" dienen hier anderen Zwecken und haben Nachteile (u.a. RaceConditions, Speicherkopien)!

LabVIEW-Training gibt es u.a. hier (auch kostenlos).

Edit:
Wozu setzt du eigentlich die Größe des Array-Indicators per Propertynode? Dieses VI sollte als subVI genutzt werden, welches der Benutzer nie sieht. Außerdem ist es wenig sinnvoll, ein Array mit mehr Zeilen darstellen zu lassen, als auf den Bildschirm passen. Kannst die Propertynode also auch weglassen...
Okay danke dir für die kleine LehrstundeWink
Das mit den Kursen habe ich mir bereits überlegt... bis jetzt arbeite ich aber noch mit einem Buch das bisher recht gut zu sein scheint und mit welchem ich mich jetzt (auch wenn es gerade etwas trockene Kost ist) wieder beschäftigen werde.

schönen Tag noch
Edit:
Wozu setzt du eigentlich die Größe des Array-Indicators per Propertynode? Dieses VI sollte als subVI genutzt werden, welches der Benutzer nie sieht. Außerdem ist es wenig sinnvoll, ein Array mit mehr Zeilen darstellen zu lassen, als auf den Bildschirm passen. Kannst die Propertynode also auch weglassen...


das habe ich zum testen des VIs gemacht. So kann ich nachvollziehen ob werte am VI ankommen und wie Sie ungefähr aussehen. Wie gesagt ich bin Anfänger. Da geht einiges noch über probieren Cool
Referenz-URLs