Datei wiederholt einlesen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +---- Thema: Datei wiederholt einlesen (/Thread-Datei-wiederholt-einlesen) |
Datei wiederholt einlesen - bluesaturn - 31.05.2011 14:16 Hallo LVF. Ich moechte gerne eine Date test.txt wiederholt einlesen. Ist der erste Charakter eine Null oder Eins, soll die Boolean Lampe an- oder ausgehen. Koenntet ihr mit bitte Feedback geben, ob das so okay ist? Oder mir Verbesserungsvorschlaege unterbreiten? Was ist der Unterschied zwischen dem Metronom und der Uhr? Ich habe jetzt 200ms angeschlossen. Ist das zu lange? Ich moechte spaeter ein Geraet automatisch damit steuern, aber erstmal kleine Kekse backen. Danke. Gruss blue RE: Datei wiederholt einlesen - TSC - 31.05.2011 14:26 Welchen Sinn macht es, die gleiche Datei immerwieder an der gleichen Stelle auszulesen? Davon abgesehen, kannst du die Cas-Struktur ersetzen durch einen Vergleich mit 0. Oder einen Vergleich ungleich 0. Jenachdem was du möchtest. Die Wartezeit spielt keine große Rolle. es bedeutet nur, dass deine While-Schleife nicht mit maximaler CPU-Last ausgeführt wird. In deinem Fall wird in jedem Schleifendurchlauf 200 ms gewartet. Der Unterschied zum Metronom ist, dass hier eine fixe Anzahl an ms gewartet wird. Beim Metronom wird gewartet, bis der Timer des Systems ein Vielfaches von 200 ms erreicht hat. Die tatsächlich Wartezeit kann also zwischen 0 und 199 ms betragen. Grüße, Totti RE: Datei wiederholt einlesen - Lucki - 31.05.2011 15:59 Einen besonderen Sinn kann ich in dem VI auch nicht kennen. Was tut denn z.B. Deine Lampe, wenn die Zahl weder 0 noch 1 ist? Die Umwandlung String in Zahl könntest Du dir sparen: [attachment=34044] Weitere Unterschiede Metronom/Wait: Wenn eine Berechnung in einer Schleife 210 ms braucht, denn ist die Gesamtzeit für einen Scheifendurchlauf Mit Wait 200ms: 210 ms Mit Metronom 200 ms: 400 ms (nächstes Vielfaches von 200ms) Bei parallelen Scheifen mit Wait/Metronom mit gleichen Zeiten: Metronom: Die Schleifen laufen synchron und "in Phase" Wait: Nicht synchron und nicht in Phase. RE: Datei wiederholt einlesen - bluesaturn - 31.05.2011 16:28 (31.05.2011 14:26 )TSchAC schrieb: Welchen Sinn macht es, die gleiche Datei immerwieder an der gleichen Stelle auszulesen? Ein anderes Programm soll spaeter eine Eigenschaft kontrollieren. Sagen wir mal, sie heisst X (genaugenommen handelt es sich u die Probentransmission bei einem Roentgenversuch). Sobald X einen Grenzwert ueberschreitet, sol die Datei von 0 auf 1 springen oder anders herum. Das programmiert aber jemand in einer Sprache. Wir haben und darauf geeinigt, dass wir via einer Datei, in der 0 oder 1 steht, kommunizieren koennen. Die einzulesende Datei wird also immer mal wieder ihren Wert veraendern. Das wird fuer mein Geraet ein Start und Stop-Signal sein. Solange z.B. in der Datei 1 steht, soll mein Geraet laufen. Ist es 0, soll es anhalten. Deswegen muss ich immer wieder die Datei einlesen. Macht das nun mehr Sinn? Die Datei, die ich einlese, ist sozusagen ein Trigger zum Starten oder Stoppen meines Geraetes. TSchAC schrieb:Davon abgesehen, kannst du die Cas-Struktur ersetzen durch einen Vergleich mit 0. Oder einen Vergleich ungleich 0. Jenachdem was du möchtest.In Ordnung. TSchAC schrieb:Die Wartezeit spielt keine große Rolle. es bedeutet nur, dass deine While-Schleife nicht mit maximaler CPU-Last ausgeführt wird. In deinem Fall wird in jedem Schleifendurchlauf 200 ms gewartet. Der Unterschied zum Metronom ist, dass hier eine fixe Anzahl an ms gewartet wird. Beim Metronom wird gewartet, bis der Timer des Systems ein Vielfaches von 200 ms erreicht hat. Die tatsächlich Wartezeit kann also zwischen 0 und 199 ms betragen.Danke fuer die Erklaerung und fuer dein Feedback. Gruss Blue (31.05.2011 15:59 )Lucki schrieb: Einen besonderen Sinn kann ich in dem VI auch nicht kennen. Was tut denn z.B. Deine Lampe, wenn die Zahl weder 0 noch 1 ist? Hallo Lucki, den Sinn habe ich gerade im Post zuvor erklaert. Soweit ich verstanden habe, gibt es nur 0 oder 1. Das war zumindest der Plan. Metronom/Wait: Spaeter moechte ich dieses Programm in mein Hauptprogramm integrieren. Dieses hat auch eine Schleife. Die Schleifen werden aber nicht in Phase und auch nicht synchron laufen. Ich glaube, daher ist es egal ob ich in diesem Programm hier Metronom oder Wait habe, richtig? Danke fuer Euer Feedback! Gruss Blue RE: Datei wiederholt einlesen - TSC - 31.05.2011 16:37 Abgesehen davon, dass ich die Schnittstelle "Datei" nicht gerade optimal finde, könnte es dabei sehr schnell zu Konflikten bezüglich des Dateizugriffs kommen. Lösungsansatz: anstatt immer die Datei auszulesen, vergleiche das Änderungsdatum der Datei. Wenn es sich gegenüber dem ersten Einlesen geändert hat, dann wurde der Inhalt angepasst. Grüße, Totti RE: Datei wiederholt einlesen - bluesaturn - 31.05.2011 17:27 (31.05.2011 16:37 )TSchAC schrieb: Abgesehen davon, dass ich die Schnittstelle "Datei" nicht gerade optimal finde, könnte es dabei sehr schnell zu Konflikten bezüglich des Dateizugriffs kommen. Hallo Totti, okay, es ist ein schmutzige Loesung, aber ich habe deren Software nicht zum testen hier. Wenn ich mit meinem Geraet anreise, bleibt kaum Zeit vor Ort, es zu programmieren. Ausserdem bin ich kein LabView-Guru! Wie vergleicht man bitte das Aenderungsdatum der Datei bitte? Danke schoen und vielel Gruesse Blue RE: Datei wiederholt einlesen - TSC - 31.05.2011 18:37 Als Anregung: RE: Datei wiederholt einlesen - bluesaturn - 01.06.2011 11:29 (31.05.2011 18:37 )TSchAC schrieb: Als Anregung: Hallo TSchAC, vielen Dank dafuer. Mir ist gestern noch aufgefallen, dass Labview nicht gemeckert hat, als es staendig meine Datei einlesen sollte, obwohl diese offen war und ich sie,waehrend Labview lief, veraendert habe. Warum sollte es dann zu Dateikonflikten kommen? Anscheinend besteht noch die Moeglichkeit, dass das andere Program staendig Signal via UPD schickt und Labview lauschen koennte. Wuerde das besser sein, wenn ich das hinbekomme? Vielel Gruesse Blue |