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!
29.04.2013, 09:36 (Dieser Beitrag wurde zuletzt bearbeitet: 29.04.2013 09:39 von JohnnyBlack.)
habe da mal ein Problem, bin wie viele noch ein relativer Neuling in LabVIEW aber schreibe gerade ein Programm zur Datenprotokollierung für meine Abschlussarbeit.
Und zwar lese ich in Zukunft über eine Messkarte diverse analoge Stromsignale ein. Diese sollen in dem Programm dann umgerechnet werden auf den dazugehörigen Messwert und in einer Datei gespeichert werden.
Ich bin gerade dabei mit Simulierten Signalen die Protokollierung zu erstellen.
Stand jetzt:
Bei Start des Programms werden 5 Signale simuliert und dann bei betätigen des Stop Buttons (entfällt in der fertigen Version) in eine HTML Datei mit dem aktuellen Datum gespeichert.
Was folgen soll:
Datei soll alle x-Messwerte geschrieben werden. Wird mit einer for Schleife gemacht, sollte ich hinbekommen.
Prüfung ob die Datei bereits vohanden ist, und dann mit einer case Struktur entwder die Datei erzeugen oder alternativ an eine bestehende Datei anhängen
Das Problem:
Ist diese Protokolldatei bereits vorhanden, so überschreibt er die bestehende Datei. Ich habe keine Möglichkeit gefunden, die *.html-Datei einzulesen, um mit dem VI "Tabelle an Protokoll anfügen" die neuen Messwerte anzufügen.
Die Frage:
Gibt es irgendeine möglichkeit dazu, eine bestehende, mit LabVIEW erzeugte html Datei einzulesen und diese zu bearbeiten, und wenn ja, wie?
Oder aber ist es an sich schlauer, in einer Textdatei zu speichern?
Lade mein aktuelles VI einmal hoch, um die Funktion zu zeigen. Der Pfad muss natürlich dementsprechend geändert werden damit es keinen Fehler gibt.
Geschrieben wurde das Programm mit LV2011, kann das aber gern bei Bedarf für eine andere Version speichern.
(29.04.2013 09:36 )JohnnyBlack schrieb: Die Frage:
Gibt es irgendeine möglichkeit dazu, eine bestehende, mit LabVIEW erzeugte html Datei einzulesen und diese zu bearbeiten, und wenn ja, wie?
Ist sicherlich möglich, aber nicht mit den Report-VIs, die du verwendest. html-Datei als Text-Datei einlesen, entsprechenden Abschnitt manipulieren, und wieder die gesamte Datei speichern.
(29.04.2013 09:36 )JohnnyBlack schrieb: Oder aber ist es an sich schlauer, in einer Textdatei zu speichern?
Um fortlaufend immer wieder Daten zu sichern, ist es definitiv besser und einfacher, das in einer txt-Datei zu machen.
Zusammenfassend:
Die Report-VIs sind dafür geeignet, um am Ende eine Zusammenstellung in einer bestimmten Formatierung zu erhalten, aber nicht dafür gedacht, um immer wieder was dranzuhängen.
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!
Zitat:Gibt es irgendeine möglichkeit dazu, eine bestehende, mit LabVIEW erzeugte html Datei einzulesen und diese zu bearbeiten, und wenn ja, wie?
Ich kenne mich mit den RGT-Funktionen nicht aus, kann dir hier nicht weiterhelfen.
Zitat:Oder aber ist es an sich schlauer, in einer Textdatei zu speichern?
Ich persönlich würde bei fester (bekannter, konstanter) Signalanzahl eine CSV-Datei wählen, die speichert auch lesbaren Text, mit erheblich weniger Overhead als HTML und ist direkt in Excel/OOffice/wasauchimmer einlesbar. Auch dort kannst du problemlos Headerzeilen einfügen...
Zum Check, ob eine Datei schon vorhanden ist:
- du kannst Funktionen wie ListFolder bemühen und schauen, ob bestimmte Dateien gelistet werden
- du kannst die Datei einfach mittels FileOpen öffnen (Modus "Replace" wäre hier allerdings hinderlich ): wenn ein Fehler gemeldet wird, existiert die Datei nicht oder konnte aus anderen Gründen nicht geöffnet werden...
Allgemeiner Tipp:
Dateipfade sollte man immer mit den passenden Funktionen zusammensetzen. Stringfunktionen führen irgendwann zu schlecht "debugbaren" Fehlern...
Danke euch für die schnellen Antworten. Dann werde ich mich mal bemühen das alles in eine .csv Datei zu packen. Hatte den Ansatz schon einmal fand die HTML Version aber optisch sehr Ansprechend da die Ergebnisse der Datenprotokollierung an ein Amt unter Einhaltung gewisser Auflagen geschickt werden müssen.
Dann hoffe ich mal das es nicht allzu viel Arbeit ist die umsonst war und ich wenigstens ein paar Sachen übernehmen kann
Hab mein Programm nun mal geändert, dass automatisch eine .csv-Datei geschrieben wird und die Daten darin gesichert werden. Auch wird jeweils bei Wechsel des Datums eine neue Datei erzeugt (Abbruchbedingung der Whileschleife).
Nun mal die Fragen die erste (nicht ganz so wichtig) geht die Abbruchbedingung der Schleife bei Datumwechsel eleganter?
Und die zweite: Das Programm soll nach bisherigem Stand durchlaufen. Auf Grund von Fehlern kann ja Windows das ein oder andere mal abstürzen. Starte ich das Programm neu, überschreibt der die bestehende Datei. Nun will ich gerne prüfen, ob die Datei vorhanden ist und wenn ja, soll er die neuen Daten anhängen, wenn nicht diese Datei erzeugen. Ich bekomme aber die Prüfung, ob die Datei vorhanden ist und das Ergänzen der bestehenden Datei nicht hin, kann mir da jemand wieterhelfen?
Gruß Johnny
30.04.2013, 10:40 (Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2013 10:43 von GerdW.)
hier dein VI mit ein paar Änderungen, u.a. den schon vorher genannten Tipps...
Zitat:Nun will ich gerne prüfen, ob die Datei vorhanden ist und wenn ja, soll er die neuen Daten anhängen, wenn nicht diese Datei erzeugen. Ich bekomme aber die Prüfung, ob die Datei vorhanden ist und das Ergänzen der bestehenden Datei nicht hin, kann mir da jemand wieterhelfen?
- Beim Dateiöffnen einfach einen anderen Modus wählen, "Replace or Create" ist da nicht hilfreich. "Open or Create" scheint sinnvoller, wenn du anhängen willst.
- Nach dem DateiÖffnen per "Dateiposition festlegen" den Schreibpointer ans Ende der Datei setzen
Dankeschön, aber irgendwie ist das Problem noch vorhanden, dass er nicht an eine existierende Datei anhängt sondern sie auch an dem gleichen Tag immer neu erzeugt und somit alle bisherigen Daten verloren sind.
Zitat:irgendwie ist das Problem noch vorhanden, dass er nicht an eine existierende Datei anhängt sondern sie auch an dem gleichen Tag immer neu erzeugt
Das könnte daran liegen, dass ich die gezeigten Maßnahmen noch nicht im VI integriert hatte?
Habs erst später gemerkt sorry und als es soweit war durfte ich nicht mehr editieren
Also vielen Dank. Da das Projekt wird noch viel weitergehen wird, werde ich bestimmt noch die ein oder andere Hilfe benötigen bis es fertig ist..aber das sieht ja schonmal als Grungerüst gut aus und als wenn es seine Aufgaben gut verrichten könnte..