Ich schreibe täglich zur gleichen Uhrzeit Messwerte in eine Datei.
Die gespeicherten Messwerte möchte ich mir Tageweise aufrufen.
Über SysFileRead kann ich immer nur "alle" gespeicherten Werte auslesen. Gibt es eine Möglichkeit das auslesen auf eine bestimmte Zeile der CSV-Datei zu beschränken?
Ich verwende die XV 200 von Micro Innovation.
Danke.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
wir verwenden auch MI , habe auch ab und zu mit logging zu tun.
Ich kenne nur die Variante das File inne Struktur oder Array komplett einzulesen und dann den gesuchten Eintrag hinterher raussuchen. File Write geht ja anhängend !
Freue mich über jede Anregung zu dem Thema .
Gruß !
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
es gibt die Möglichkeit, jedes mal von der ersten Zeile an zu lesen und solange zu lesen, bis du in deiner Zeile angekommen bist.
Das geht über die PLM_Csv.lib und der Funktion csv_read.
Mal ein Bespiel:
csv_read.set_tabchar(TabChar:=59); (* TabChar 59 ist das Semikolon *)
      FORi:=0TOGV_Write_Index+1DO (*GV_Write_IndexistdieNummerderletztenMessung*)
        csv_read.read_val_tab;
          IFSTRING_TO_WORD(csv_read.val_str)= GV_Write_Index-(120)THEN
              csv_read.read_val_tab;                                                  (*DL: er sucht den Wert und setz ihn als Variable*)
              csv_read.read_val_tab;
              csv_read.read_val_tab;
              GV_Kurve[1]:=STRING_TO_REAL(csv_read.val_str)/CONST_Measure_To_Trend*-0.03907204*(1000/GV_Range_Multiplier);
            FORx:=1TO120DO
              csv_read.read_val_crlf;                                          (*DL: Alle Folgewerte werden eingesetzt*)
              csv_read.read_val_tab;
              csv_read.read_val_tab;
              csv_read.read_val_tab;
              csv_read.read_val_tab;
              GV_Kurve[x]:=STRING_TO_REAL(csv_read.val_str)/CONST_Measure_To_Trend*-0.03907204*(1000/GV_Range_Multiplier);
            END_FOR
          END_IF
        csv_read.read_val_crlf;
In diesem Beispiel werden die letzten 120 Werte ausgelesen und im Array GV_Kurve[x] gespeichert. Also kann man genau die Zeilen raussuchen die man haben will, besonders leicht fällt es natürlich, wenn der erste Wert eine Zeilennummer oder eine Uhrzeit ist an der man die gewünschte Zeile einsehen möchte.
Nachteil: Bei sehr vielen Messungen dauert es etwas, bis die CPU das komplette file von oben nach unten gelesen hat, bis es an der gewünschten Position angekommen ist. Dürfte hier aber kein Problem sein, weil die Paar sekündchen kann man einmal täglich denke ich mal gerne warten, nur bei dauerhafter Anwendung gehts es irgendwann auf die Nerven.
Hallo
Ich schreibe täglich zur gleichen Uhrzeit Messwerte in eine Datei.
Die gespeicherten Messwerte möchte ich mir Tageweise aufrufen.
Über SysFileRead kann ich immer nur "alle" gespeicherten Werte auslesen. Gibt es eine Möglichkeit das auslesen auf eine bestimmte Zeile der CSV-Datei zu beschränken?
Ich verwende die XV 200 von Micro Innovation.
Danke.
Hallo,
wir verwenden auch MI , habe auch ab und zu mit logging zu tun.
Ich kenne nur die Variante das File inne Struktur oder Array komplett einzulesen und dann den gesuchten Eintrag hinterher raussuchen. File Write geht ja anhängend !
Freue mich über jede Anregung zu dem Thema .
Gruß !
Hallo,
es gibt die Möglichkeit, jedes mal von der ersten Zeile an zu lesen und solange zu lesen, bis du in deiner Zeile angekommen bist.
Das geht über die PLM_Csv.lib und der Funktion csv_read.
Mal ein Bespiel:
In diesem Beispiel werden die letzten 120 Werte ausgelesen und im Array GV_Kurve[x] gespeichert. Also kann man genau die Zeilen raussuchen die man haben will, besonders leicht fällt es natürlich, wenn der erste Wert eine Zeilennummer oder eine Uhrzeit ist an der man die gewünschte Zeile einsehen möchte.
Nachteil: Bei sehr vielen Messungen dauert es etwas, bis die CPU das komplette file von oben nach unten gelesen hat, bis es an der gewünschten Position angekommen ist. Dürfte hier aber kein Problem sein, weil die Paar sekündchen kann man einmal täglich denke ich mal gerne warten, nur bei dauerhafter Anwendung gehts es irgendwann auf die Nerven.
mfg
Related
Talk.ru: 1
PLM_Csv.lib ?
wo gibt es die ? bzw. mit welcher Steurung wird die mitgeliefert ?!?
Hi,
die PLM_Csv.lib habe ich bei der Firma Sabo und der Steuerung PLM 700 bekommen.
mfg