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!
Habe im Anhang den Programmteil der den String einzeln einliest. Inzwischen ist mir klar was ich brauche, aber ich habe keinen Plan wie ich das programmieren soll!
Bis morgen kannst du dir ja mal zu folgenden Dingen was überlegen.
1) Warum beendest du die Schleife bei i=0? Das bedeutet nur ein Schleifendurchlauf.
2) Lass die Lokale Variable von Offset weg und verbinde das direkt... was du da hast bietet die Möglichkeit einer RaceCondition.
3) Poste mal eine Beispiel-Textdatei... das mag dem Verständnis helfen oder nicht... wir werden sehen.
4) Was steht in der Textdatei drin... (siehe 3.). Willst du zeilenweise "Wert;Zeitstempel" auslesen?
5) Was erwartest du als Daten zu bekommen?
6) Gibt es das Read from Spreadsheet VI in deiner Version schon?
7) Wie führst du das Programm aus? Mit dem RunContinous Pfeilen in der Menüleiste?
8) Warum benutzt du immer noch das InitArray VI? Ich sagte doch bereits, das du damit nur ein Array der Länge Eins erzeugst... Ich meine das widerspricht sich doch selbst.
Gute Nacht und Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
1) Warum beendest du die Schleife bei i=0? Das bedeutet nur ein Schleifendurchlauf.
Sonst bekomme ich keine Daten nach der Schleife. Die werden immer erst beim Stop der Schleife ausgegeben.
2) Lass die Lokale Variable von Offset weg und verbinde das direkt... was du da hast bietet die Möglichkeit einer RaceCondition.
Ok, hab ich gemacht!
3) Poste mal eine Beispiel-Textdatei... das mag dem Verständnis helfen oder nicht... wir werden sehen.
Ist im Prinzip eine endlos lange Datei die weder Überschriften noch sonst etwas außer "Wert; Zeitstempel" enthält. Nach diesem Schema:
140; 14.03.2010 18:04:57
140; 14.03.2010 18:06:43
130; 14.03.2010 18:08:31
200; 14.03.2010 18:10:21
130; 14.03.2010 18:12:10
130; 14.03.2010 18:13:58
140; 14.03.2010 18:15:49
130; 14.03.2010 18:17:35
; 14.03.2010 18:21:47
130; 14.03.2010 18:25:22
130; 14.03.2010 18:32:50
4) Was steht in der Textdatei drin... (siehe 3.). Willst du zeilenweise "Wert;Zeitstempel" auslesen?
Jeder Wert soll mit seinem dazugehörigen Zeitstempel im Graph angezeigt werden. Zeit=X-Achse, Wert=Y-Achse.
5) Was erwartest du als Daten zu bekommen?
Im Prinzip ist es mir egal welche Daten ich bekomme. Sie müssen nur angezeigt werden können. Welcher Datentyp dass ist, ist nicht so wichtig denke ich.
6) Gibt es das Read from Spreadsheet VI in deiner Version schon?
Ja gibt es.
7) Wie führst du das Programm aus? Mit dem RunContinous Pfeilen in der Menüleiste?
Ja. Aber auch mit dem "Einzellauf"-Pfeil funktioniert das Programm.
8) Warum benutzt du immer noch das InitArray VI? Ich sagte doch bereits, das du damit nur ein Array der Länge Eins erzeugst... Ich meine das widerspricht sich doch selbst.
Hab ich nun geändert.
1) Eine Schleife die nur einmal ausgeführt wird ist...? Jepp. Überflüssig. Die kannst du auch weglassen.
3) Siehst du, hat geholfen. Ich musste mir keine Werte ausdenken (was ich nämlich gar nicht mag).
5):mellow:Es kann dir doch nicht egal sein, welcher Datentyp dabei rauskommt. Schließlich hast du ein Ziel (-> XY-Graph), welches nur bestimmte Datentype verarbeiten kann. ...(Zeit-)Strings können z.B. nicht einfach als X-Achse herhalten.
6) siehe Anhang
7)Nööö. Dafür ist das nicht gedacht. Die "Neu-Einlesen" Funktionalität ließ mich das schon ahnen. Da gehört eine Haupt-Schleife drumrum. RunOnce lass ich mir noch gefallen, für Programme die sich selbst beenden wenn sie durchgelaufen sind. Aber RunContinous zu benutzten um das Programm am Leben zu halten...
Zwei Beispiele wie man das angehen kann:
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Also eine Schleife hab ich jz um das ganze Programm gezogen.
Aber mit deinem Bsp. werden immer noch nur einzelnen Punkte angezeigt. Wie bringe ich alle Punkte auf einmal in den Graph? Oder hab ich beim Nachbauen einen Fehler gemacht?
Du hast weder das Eine noch das Andere nachgebaut.
:mellow:Ich habe dich gefragt, ob du das 'Read from Spreadsheet' VI benutzen kannst... deine Antwort war positiv. Nur benutzen, wie ich es im oberen Beispiel gezeigt habe, tust du es nicht.
Im unteren Beispiel zeige ich, wie man eine Textdatei ZEILENWEISE einliest, jede Zeile scannt und per Autoindexing in ein Array überführt, wobei die Einleseschleife per Errorcluster auf das EOF reagiert und sich selbst beendet.
//Nebenbei bemerkt:
Hauptschleifen mit einer Konstanten am Laufen zu halten ist schlecht, da man die SChleife so nicht 'normal' beenden kann.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
So, jetzt hab ichs genau so wie im obigen Bsp.. Abgesehen von der kleinen Umgehung wegen dem Zeitstempel. Aber der Übergang nach dem Array indizieren passt noch nicht. Warum?
An der Farbe erkennt man doch schon: Das ReadFromSpreadsheet gibt dir ein ArrayOfDouble aus. Du willst aber ein ArrayOfString haben. Wie du das einstellen musst, kann ich dir nicht sagen, da ich kein LV 7.x habe.
Überzeugst du das Read..VI davon, dir ein ArrayOfString zu geben, hast du gewonnen.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!