PDA

Просмотр полной версии : АРХИВАЦИЯ (Библиотека SysLibFILE)



Андрей Макаров
02.06.2009, 14:42
люди добрые, подскажите, пожалуйста, куда я сохраняю свои данные и как мне их оттуда достать? (если, конечно я все правильно сделал)/

Acid CooL
03.06.2009, 11:39
похоже, что никуда.

Pou архивации вроде бы нигде не вызывается

Андрей Макаров
03.06.2009, 12:37
вот! я и не понял как ее вызывать. это ж не фб. как ее вызывать? и как указывать путь для сохранения?
я не нашел описания как пользоваться этой библиотекой ...

Филоненко Владислав
03.06.2009, 12:40
это не фб, это функции, их вызывают как фб (но со своими особенностями синтаксиса). возьмите примеры у нас на сайте и посмотрите, как вызываются функции.

Acid CooL
03.06.2009, 13:52
это не фб, это функции, их вызывают как фб (но со своими особенностями синтаксиса). возьмите примеры у нас на сайте и посмотрите, как вызываются функции.
Кстати о примерах.

Вы как то писали, что на флеш нужно писать как можно реже (оно и понятно), накапливая несколько значений и затем записывать их разом.

Есть ли у вас какой нибудь наглядный пример записи нескольких переменных (особенно вещественных), в котором показан правильный подход к решению такой задачи? Чтобы можно было его использовать как базис

Андрей Макаров
04.06.2009, 09:47
то есть не нужно отдельно создавать программу архивации, а просто там где нужно обращаться к этим функциям? не красиво как-то получается тогда! может быть можно их в функциональный блок запихнуть, а в нужный момент к нему обратиться и все что нужно сохранится???

Филоненко Владислав
04.06.2009, 10:10
как вы реализуете процесс архивации - дело ваших предпочтений. возможны разл. варианты.

Андрей Макаров
04.06.2009, 10:28
влад, вот именно, я их не могу раализовать. поэтому и обратился на форум, думал поможите или посоветуете что. напишите хоть с чего начать или как он работает ...

Kirill
04.06.2009, 11:46
влад, вот именно, я их не могу раализовать. поэтому и обратился на форум, думал поможите или посоветуете что. напишите хоть с чего начать или как он работает ...

Посмотрите эти примеры:

http://www.owen.ru/forum/showpost.php?p=23817&postcount=45

Андрей Макаров
05.06.2009, 07:28
спасибо большое, кирилл. примеры очень хорошие! я пока не большой специалист, поэтому будьте так любезны и подскажите:
- можно ли записать значения, рассчитанные программой только один раз по факту? для этого нужно убрать таймер? или уменьшить задержку?
- и как автоматически записывать созданный файл на жесткий диск компьютера? или придется ежедневно считывать этот файл с плк?
спасибо.

Gerkules
09.06.2009, 16:46
Кирилл, пример организации архива с использованием библиотеки syslibfile- arc.zip отказался работать в контроллере(150U-L) создавались пустые архивы. в чём может быть дело? и ещё у меня вопрос-
как можно записывать в архив периодически (ну скажем через секунду) строковую переменную 'slovo'. в данной программе оно записывается только 1 раз. если кто поможет то буду очень благодарен!!!

PROGRAM PLC_PRG
VAR
x:STRING; (*строка для архивирования*)
number: DWORD; (*дескриптор файла*)
dipos: DINT; (*текущая позиция в файле*)
dwSize: DWORD; (*количество записанных байт данных*)
dwSize1: DWORD; (*размер файла*)
END_VAR

(*открываем файл*)
number:=SysFileOpen('arc.log', 'w');
(*создаём строку*)
x:='slovo';
(*Пишем строку в файл*)
dwSize:=SysFileWrite(number,ADR(x),LEN(x));
(*получаем текущую позицию в файле*)
dipos:=SysFileGetPos(number);
(*получаем размер файла в байтах*)
dwSize1:=SysFileGetSize('arc.log');

Филоненко Владислав
09.06.2009, 21:56
А закрывать файл кто будет?
Повторный вход в number:=SysFileOpen('arc.log', 'w'); выдает ДРУГОЙ дескриптор с запретом записи, т.к. файл уже был открыт в предыдущем цикле.
А всего дескрипторов 5 - т.е. на 6 цикле они кончатся.

Serp
10.06.2009, 07:04
а всего дескрипторов 5 - т.е. на 6 цикле они кончатся.

означает ли это, что я не могу писать одновременно более 5 файлов?

Kirill
10.06.2009, 10:08
спасибо большое, кирилл. примеры очень хорошие! я пока не большой специалист, поэтому будьте так любезны и подскажите:
- можно ли записать значения, рассчитанные программой только один раз по факту? для этого нужно убрать таймер? или уменьшить задержку?
- и как автоматически записывать созданный файл на жесткий диск компьютера? или придется ежедневно считывать этот файл с плк?
спасибо.

1. когда вам необходимо сделать запись (через if перечисляете условия), вы открываете файл, пишете и закрываете. После чего снова ждете условий начала записи.

2. ежедневно считывать. Либо нужные данные передавать на ПК и уже там проводить архивацию удобными вам средствами.

Филоненко Владислав
10.06.2009, 11:43
да, нельзя открывать более 5 файлов одновременно. желательно не открывать больше 4, оставив 1 для системных нужд.
проблем с этим никаких не вижу.

zmw
13.04.2010, 12:52
2. ежедневно считывать. Либо нужные данные передавать на ПК и уже там проводить архивацию удобными вам средствами.[/QUOTE]

Подскажите пожалуйста как считать файл не используя CoDeSys

Владимир Васильевич
19.04.2010, 10:18
Подскажите пожалуйста как считать файл не используя CoDeSys Используй http://www.kipshop.ru/CoDeSys/EasyWorkPLC/plc_io.zip

Max81
20.04.2010, 19:04
Подскажите пожалуйста, можно ли как-нибудь настроить «ТРЕНД», чтобы он строил график в определенный момент времени и соответственно также записывались данные в файл. Пока что получилось настроить непрерывный сбор данных, т.е. когда надо и не надо осуществляется построение графика и запись данных в файл *.trd Или может вообще по другому можно решить эту задачу!?
*** Пример: С датчика тока должны сниматься показания, датчик выдает ток не всегда, поэтому надо сохранять данные, когда появился ток.