-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - puma8080

#1
Danke für die Info.
Leider nicht ganz so einfach für mich. Die Beispiele aus der Network.lib bekomm ich nur in Codesys 2.3 geöffnet und nicht in 3.5. Dann sind Sie nicht in ST! Dazu kommt, dass ich aus 2.3 nichts auf meinem Raspberry testen kann.
Oder ich blicke es gerade einfach nicht! Auch möglich.

So ich habe mein Programm mal versucht aufs minimalste zu reduzieren:

PROGRAM PLC_PRG
VAR
   b_EnableStoreCSV:BOOL:=true;
   b_SetRTC:BOOL;
   fb_StoreCSV:OSCAT_NETWORK.DLOG_STORE_FILE_CSV;
   st_DLogData:OSCAT_NETWORK.DLOG_DATA;
   Log_test:OSCAT_NETWORK.DLOG_STRING;
   Log_counter:OSCAT_NETWORK.DLOG_DINT;
   c_RealTimeClock:OSCAT_BASIC.RTC_2;
   t_DateTime:DT;
   counter:DINT:=0;
END_VAR

---------------------------------------------------------------------------------------

c_RealTimeClock(SET:=b_SetRTC,
   SDT:=DT#2016-02-22-09:00:00,
   UDT => t_DateTime);

counter := counter + 1;

Log_counter(VALUE:=counter,
   COLUMN:='Counter',
   DELTA:=,
   X:=st_DLogData);
             
Log_test(STR:='test',
   COLUMN:='Ergebnis',
   X:=st_DLogData);

fb_StoreCSV(ENABLE:=b_EnableStoreCSV,
         TRIG_M:=,
         TRIG_T:=5,
         FILENAME:='/home/pi/testfile.csv',
         DTI:=t_DateTime,
         SEP:=59,
         ERROR_C:=,
         ERROR_T:=,
         X:=st_DLogData);

Die Zykluszeit vom mainTask habe ich auf 500ms eingestellt.
Laut meinem Verständnis sollten jetzt alle 5s zehn neue Werte in mein testfile.csv geschrieben werden, oder?
Die testfile.csv sollte dann so aussehen:
Counter; Ergebnis
1; test
2; test
3; test
...

Macht es aber nicht! Irgenwie bin ich gerade irgendwo auf dem Holzweg.
Kann mir bitte irgendwer, irgenwie helfen?

Danke & Grüße
Timo
#2
Hallo,

ich habe das Problem, dass ich ein paar Daten in eine CSV loggen möchte. Bekomme es aber nicht hin und weiß nicht warum.
Das folgende Programm soll einfach nur alle 5s die gewünschten Daten in das Logfile schreiben: Warum tut es das nicht?

PROGRAM PLC_PRG
VAR
   b_EnableStoreCSV:BOOL:=TRUE;
   b_SetRTC:BOOL;
   fb_StoreCSV:OSCAT_NETWORK.DLOG_STORE_FILE_CSV;
   st_DLogData:OSCAT_NETWORK.DLOG_DATA;
   Log_test:OSCAT_NETWORK.DLOG_STRING;
   Log_counter:OSCAT_NETWORK.DLOG_DINT;
   Log_timestamp:OSCAT_NETWORK.DLOG_STRING;
   c_RealTimeClock:OSCAT_BASIC.RTC_2;
   t_DateTime:DT;
   tTimer:TIME;
   counter:DINT:=0;
   test : BOOL;
END_VAR


c_RealTimeClock(SET:=b_SetRTC,
   SDT:=DT#2016-02-22-09:00:00,
   UDT => t_DateTime);

IF TIME()-tTimer > T#5S THEN
      tTimer := TIME();
      counter := counter + 1;
       
      Log_test(STR:='test',
         COLUMN:='Ergebnis',
         X:=st_DLogData);
         
      Log_timestamp(STR:='tTimer',
         COLUMN:='timestamp',
         X:=st_DLogData);
      
      Log_counter(VALUE:=counter,
         COLUMN:='Counter',
         DELTA:=,
         X:=st_DLogData);
      
      fb_StoreCSV(ENABLE:=b_EnableStoreCSV,
         TRIG_M:=true,
         TRIG_T:=1,
         FILENAME:='/home/pi/TestCSV.csv',
         DTI:=t_DateTime,
         SEP:=59,
         ERROR_C:=,
         ERROR_T:=,
         X:=st_DLogData);
END_IF


Wenn ich mich einlogge sehe ich im X unter Buf_Size, dass er sich alle 5s erhöht. Aber warum schreibt er denn nicht in meine CSV?

Vorab schon besten Dank für eure Hilfe
Grüße Timo

Edit: Wo finde ich denn eine Ausführliche Beschreibung über alle Funktionen, wie z.B. welche Funktionen gibt es für z.B. eine automatische Namensgenerierung abhängig vom Datum?


[gelöscht durch Administrator]