АБАК ПЛК
Руководство по настройке и программированию
×

Запись в файл

 
Код:
PROGRAM PLC_PRG
VAR
strFileName : STRING :='/var/opt/codesys/test.txt' ;
// путь где должен лежать файл в PLC
strReadedString : STRING;
// тип данных при чтение
strStringToWrite : STRING:= '12345' ;
// тип данных при записи
pWBuffer : POINTER TO BYTE := ADR(strStringToWrite);
// указатель на буфер с данными для записи в файл
pBuffer : POINTER TO BYTE := ADR(strReadedString);
// Указатель на буфер для чтения данных
nBufferSize : __XWORD:= 25;
// количество символов которое может считать
stFileHandle: SysFile.RTS_IEC_HANDLE;
pResult : POINTER TO SysFile.RTS_IEC_RESULT;
//тип данных в UDINT
nSize : __XWORD;
// переменная для чтения файла
wSize : __XWORD;
// переменная для записи файла
bDone : BOOL;
//переменная для проверки
am:  SysFile.ACCESS_MODE;
// тип использования файла
WriteToFile: BOOL;
//переменная для проверки записи файла
END_VAR
 
IF NOT WriteToFile THEN
StFileHandle:=SysFileOpen(strFileName, SysFile.AM_WRITE, ADR(pResult));
// открытие файла для записи
wSize:=SysFileWrite(stFileHandle, pWBuffer ,TO___XWORD(LEN(strStringToWrite)), ADR(pResult));
// записывание в файл
pResult:= SysFileClose(stFileHandle);// закрытие файл
         IF Wsize > 0 THEN  
                   WriteToFile := TRUE; //конец записи файла
         END_IF
END_IF
StFileHandle:=SysFileOpen(szFile := strFileName, am:= SysFile.AM_READ, pResult:= pResult);
// открытие файла для чтения
nSize:=SysFileRead(hFile:= stFileHandle, pbyBuffer:= pBuffer, ulSize:= nBufferSize, pResult:= pResult) ;
// чтение файла
 
IF nSize > 0 THEN
            bDone := TRUE;
            SysFileClose(hFile:= stFileHandle); // закрытие файла
END_IF
 
Результат работы программы:
 
Результат работы программы
Онлайн помощь создана в Dr.Explain