Данные архива не сохраняются при отключении питания. Файл создается коректно, данные читаются тоже, если вместо переменной pwr (имя канала Power status) ставлю переменные, описывающие кнопки "Сохранить в файл" и "Прочитать из файла".
Знаю, что при включении питания данные читаются из файла (запись в файл осуществлялась через кнопку "Сохранить в файл").
Ниже привожу кусок из текста программы:
VAR
Q: INT; bArh: BOOL; bSbros: BOOL; bSort: BOOL; R_TR1: R_TRIG;
R_TR2: R_TRIG; R_TR3: R_TRIG; N: INT; ValBuf: INT; K: INT:=0;
R_TR4: R_TRIG; Enter: REAL; file_name:STRING[10] := 'File1';
hFile: DWORD; file_opened: BOOL :=FALSE; size_file: DINT;
read_fileINT; set: BOOL; R_TRIG_Read: R_TRIG;
flagPower: BOOL; F_TRIG_Write: F_TRIG; bRead: BOOL;
bWrite: BOOL; R_TRIG_write: R_TRIG; proba: ARRAY [0..9] OF DWORD; write_file: DWORD; size_of: DWORD; R_TRIG_PowerOut: R_TRIG;
F_TRIG_PowerOut: F_TRIG; read: STRING; flag: BOOL;
END_VAR

(*ОТКРЫТИЕ/СОЗДАНИЕ/ЗАПИСЬ/ЧТЕНИЕ ФАЙЛА*)

F_TRIG_PowerOut(CLK:=pwr);
IF F_TRIG_PowerOut.Q THEN
SysFileClose(hFile); (*закрываем для надежности*)
file_opened:=FALSE;
hFile:=SysFileOpen(file_name, 'w'); (*и создаем его*)
write_file:=SysFileWrite(hFile, ADR(proba), SIZEOF(proba)); (*затем записываем заголовок*)
file_opened:=SysFileClose(hFile); (*закрываем файл*)
END_IF;

R_TRIG_PowerOut(CLK:=pwr); (* При включении питания *)
IF R_TRIG_PowerOut.Q THEN
SysFileClose(hFile); (*закрываем для надежности*)
file_opened:=FALSE;
hFile:=SysFileOpen(file_name, 'r'); (*открываем его*)
size_file:=SysFileGetSize(file_name); (* определяем размер файла *)
size_of:=SIZEOF(proba);
read_file:=SysFileRead(hFile,ADR(proba), SIZEOF(proba)); (*читаем данные из файла*)
file_opened:=SysFileClose(hFile); (*закрываем файл*)
END_IF