Contec CONPROSYS nano CPSN-PCB271-S1-041 Reference Manual page 117

Table of Contents

Advertisement

 Sample 3
To get a file size by using a file pointer move function.
Variable declaration
uiState: UINT := 0;
eAreaType: INT := CONTEC_File_Access_Library.AREATYPE.USB;
sFileName: CONTEC_File_Access_Library.FILENAME := 'sample1.dat';
hFile: CONTEC_File_Access_Library.HANDLE := 16#FFFFFFFF;
eError: CONTEC_File_Access_Library.ERROR;
diFileSize: DINT := 0;
CFA_FileAccess: CONTEC_File_Access_Library.CFA_FileAccess;
CFA_FileOpen: CONTEC_File_Access_Library.CFA_FileOpen;
CFA_FileClose: CONTEC_File_Access_Library.CFA_FileClose;
CFA_FileSeek: CONTEC_File_Access_Library.CFA_FileSeek;
Program
CASE uiState OF
0:
CFA_FileAccess.eArea := eAreaType;
CFA_FileAccess.bMount := TRUE;
CFA_FileAccess.bWriteEnable := FALSE;
CFA_FileAccess(eError => eError);
IF eError = 0 THEN
uiState := 1;
ELSE
uiState := 5;
END_IF
1:
CFA_FileOpen.eArea := eAreaType;
CFA_FileOpen.sFileName := sFileName;
CFA_FileOpen.sFileMode := 'r';
CFA_FileOpen(hFile => hFile, eError => eError);
IF eError = 0 THEN
uiState := 2;
ELSE
uiState := 4;
END_IF
2:
CFA_FileSeek.diOffset := 0;
CFA_FileSeek.eWhence := CONTEC_File_Access_Library.SEEKWHENCE.END;
CFA_FileSeek(hFile := hFIle, diPos => diFileSize, eError => eError);
uiState := 3;
3:
CFA_FileClose(hFile := hFile, eError => eError);
uiState := 4;
4:
CFA_FileAccess.eArea := eAreaType;
CFA_FileAccess.bMount := FALSE;
CFA_FileAccess.bWriteEnable := FALSE;
CFA_FileAccess(eError => eError);
uiState := 5;
Programing with CODESYS
CPSN-PCB271-S1-041 Reference Manual (Software)
— 117 —

Advertisement

Table of Contents
loading

Table of Contents