-> Hier kostenlos registrieren
Hallo zusammen:
Ich habe ein Array (Data_Ch1) in meinem Programm als Speicherpuffer für aus Klemmer übernommene Daten deklariert und mit Hilfe von CSV-Funktionsblöcke und File-Funktionsblöcke (Open=>Write=>Close) wird diese Array in einer CSV-Datei gespeichert.
\Code:
VAR_INPUT
Data_Ch1 : ARRAY [1..3999] OF ST_LogTimestampedValue;
End_VAR
TYPE ST_LogTimestampedValue :
STRUCT
nIdx:UDINT;
nDataCnt:UDINT;
nnTimestamp:T_DCTIME;
wValue:WORD; (*raw data*)
rValue:REAL;
END_STRUCT
END_TYPE
Wenn diese Array 3999 lange ist, kann das Programm ohne Problem laufen und die bestimmte CSV-Datei kann als auch richtig geschrieben werden. Aber wenn ich die Länge der Array (Data_Ch1) mehr als 3999 verändere, kann das Programm weiter ohne Problem laufen. trotzdem die bestimmte CSV-Datei nicht geschrieben werden kann. Wenn ich die CSV-datei eröffnen, entdecke ich, dass die Datei leer ist, nichts dazu geschrieben wird. Weiß jemand was ist die vieleichte Ursache?
Noch zu bemerken ist, ich habe die Parameter unter Projekt=>Optionen=>TwinCAT
Input: 2000KBytes
Output:2000KBytes
Memory:4000KBytes
Retain:4000KBytes
Data:20000KBytes verändert. Trotzdem weiß ich noch nicht, was stellen diese Parameter dar. Aber wenn ich diese Parameter in default wert (16;16;32;32;1024) sein lasse, entsteht die Fehler bei Übersetzung des Programms: Fehler 3801: Variable XXXXXX zu groß ist
Ich habe ein Array (Data_Ch1) in meinem Programm als Speicherpuffer für aus Klemmer übernommene Daten deklariert und mit Hilfe von CSV-Funktionsblöcke und File-Funktionsblöcke (Open=>Write=>Close) wird diese Array in einer CSV-Datei gespeichert.
\Code:
VAR_INPUT
Data_Ch1 : ARRAY [1..3999] OF ST_LogTimestampedValue;
End_VAR
TYPE ST_LogTimestampedValue :
STRUCT
nIdx:UDINT;
nDataCnt:UDINT;
nnTimestamp:T_DCTIME;
wValue:WORD; (*raw data*)
rValue:REAL;
END_STRUCT
END_TYPE
Wenn diese Array 3999 lange ist, kann das Programm ohne Problem laufen und die bestimmte CSV-Datei kann als auch richtig geschrieben werden. Aber wenn ich die Länge der Array (Data_Ch1) mehr als 3999 verändere, kann das Programm weiter ohne Problem laufen. trotzdem die bestimmte CSV-Datei nicht geschrieben werden kann. Wenn ich die CSV-datei eröffnen, entdecke ich, dass die Datei leer ist, nichts dazu geschrieben wird. Weiß jemand was ist die vieleichte Ursache?
Noch zu bemerken ist, ich habe die Parameter unter Projekt=>Optionen=>TwinCAT
Input: 2000KBytes
Output:2000KBytes
Memory:4000KBytes
Retain:4000KBytes
Data:20000KBytes verändert. Trotzdem weiß ich noch nicht, was stellen diese Parameter dar. Aber wenn ich diese Parameter in default wert (16;16;32;32;1024) sein lasse, entsteht die Fehler bei Übersetzung des Programms: Fehler 3801: Variable XXXXXX zu groß ist