18.12.2007, 01:00
Zum Thema Fehlermeldung bei deinem File-Access: Vollkommen logisch.
Du öffnest bei Bedarf in der Case-Struktur (Zwischenfrage: Wieso verwendest du hierzu nicht die Event-Struktur, um auf die Betätigung des Buttons Start zu reagieren) einen File und speicherst die kreierte File-Refnum in einem Indicator, verlässt jetzt die Case-Struktur und schreibst dann einen Wert in den File und schließt ihn dann. Mit dem Close-File wird die File-Refnum ungültig, der File ist ja geschlossen, wenn du sie jetzt aus der lokalen Variablen in deiner Case-Struktur ausliest und an das Write-VI weitergibst, muss da ein Fehler rauskommen!
Und zum Punkt Werte immer gleich mal ein Beispiel. Nehmen wir an, es wird immer per VISA-Read ein String der Art Ai (i=Zahl) ausgelesen. Durch die Konstruktion, immer den ausgelesenen String an schon ausgelesene hinten dranzuhängen, baut sich mir der Zeit ein String der Art
A1A2A3A4A5...
auf. Jetzt willst du irgendwie deinen String zerteilen und daraus irgendwelche Zahlen auslesen. Gut, dann fängt man am Anfang des Strings damit an. ABER: Wenn du da jetzt irgendwas gefunden hast, das du verwenden kannst, dann darfst du das natürlich nicht an den nächsten Schleifendurchlauf weitergeben. Momentan wird aber immer ALLES weitergegeben. In dem einfachen Bsp von oben würde man z.B. den String von vorne beginnend nach dem ersten Auftauchen einer Zahl durchsuchen (in diesem Fall 1), dort String teilen (A1 und A2A3A4...), aus A1 die Zahl 1 extrahieren, dann mit dem REST-String A2A3A4... das ganze wiederholen, bis der Reststring keine Zahl mehr enthält und dann diesen Reststring an den nächsten Durchlauf weitergeben.
MfG, Jens
EDIT: Ach ja, und bitte in Zukunft Verdrahtungen nach Möglichkeit von links nach rechts verlegen und nicht kreuz und quer, musste erst einmal ein paar Minuten dein VI aufrämen, um Überblick zu bekommen.
Du öffnest bei Bedarf in der Case-Struktur (Zwischenfrage: Wieso verwendest du hierzu nicht die Event-Struktur, um auf die Betätigung des Buttons Start zu reagieren) einen File und speicherst die kreierte File-Refnum in einem Indicator, verlässt jetzt die Case-Struktur und schreibst dann einen Wert in den File und schließt ihn dann. Mit dem Close-File wird die File-Refnum ungültig, der File ist ja geschlossen, wenn du sie jetzt aus der lokalen Variablen in deiner Case-Struktur ausliest und an das Write-VI weitergibst, muss da ein Fehler rauskommen!
Und zum Punkt Werte immer gleich mal ein Beispiel. Nehmen wir an, es wird immer per VISA-Read ein String der Art Ai (i=Zahl) ausgelesen. Durch die Konstruktion, immer den ausgelesenen String an schon ausgelesene hinten dranzuhängen, baut sich mir der Zeit ein String der Art
A1A2A3A4A5...
auf. Jetzt willst du irgendwie deinen String zerteilen und daraus irgendwelche Zahlen auslesen. Gut, dann fängt man am Anfang des Strings damit an. ABER: Wenn du da jetzt irgendwas gefunden hast, das du verwenden kannst, dann darfst du das natürlich nicht an den nächsten Schleifendurchlauf weitergeben. Momentan wird aber immer ALLES weitergegeben. In dem einfachen Bsp von oben würde man z.B. den String von vorne beginnend nach dem ersten Auftauchen einer Zahl durchsuchen (in diesem Fall 1), dort String teilen (A1 und A2A3A4...), aus A1 die Zahl 1 extrahieren, dann mit dem REST-String A2A3A4... das ganze wiederholen, bis der Reststring keine Zahl mehr enthält und dann diesen Reststring an den nächsten Durchlauf weitergeben.
MfG, Jens
EDIT: Ach ja, und bitte in Zukunft Verdrahtungen nach Möglichkeit von links nach rechts verlegen und nicht kreuz und quer, musste erst einmal ein paar Minuten dein VI aufrämen, um Überblick zu bekommen.