PDA

Просмотр полной версии : Библиотека архивации для СПК



Александр Приходько
30.09.2013, 19:21
Внимание! Разработка данной библиотеки полностью прекращена.
В компании начата разработка новой библиотеки для архивации.
В конечном варианте библиотека будет настраиваться (конфигурироваться) через Target файл.
Первые версии библиотеки появятся осенью 2017г.

Здравствуйте, уважаемые форумчане.

Мной была задумана библиотека архивации для контроллеров линейки СПК1хх и СПК2хх.

Отличительной особенностью данной библиотеки является то, что в отличии от всех других библиотек она показывает размер устройства, на которое пишутся данные, свободное и занятое пространство. Также эта библиотека позволяет перенести архив с одного устройства на другое.

Это первая - экспериментальная версия.
Проект выкладываю для того, чтобы все могли с ним ознакомиться, попробовать и предложить свои идеи по его дальнейшему развитию.

Основные возможности:
1) Запись архива в формате CSV (Формат совместимый с Excel)
2) Число архивируемых переменных до 1 до 64
3) Типы данных поддерживаемые архиватором DWORD, DINT, REAL, STRING
4) Возможность выбора устройства на которое ведется архивация
5) Копирование всех архивных данных на другой носитель
6) Выбор носителя на который данные будут копироваться
7) Для каждой переменной можно задать свой период архивации и свой тип данных

Библиотека и пример обновлены.

30.10.2013 - версия 3.5.3.52
- Исправлена ссылка на USB2 для СПК2хх

31.10.2013 - версия 3.5.3.53
- Получение информации о размере устройства полностью реализовано на sysExecute2 (значительно ускоряет процесс)
- Подправлены используемые библиотеки в менеджере библиотек
- Уменьшил интервал опроса информации об устройствах
- Скрыты внутренние ФБ библиотеки и внутренние переменные
- Поддержаны типы данных WORD, INT

Внимание!!! Начиная с версии 3.5.3.53 , Библиотека будет работать с СПК1хх и СПК2хх на ядре 3.5.3.40 или выше (прошивка 3.302)


Библиотека: 10591
Архив проекта для СПК107: 10590

Видео инструкция по подключению библиотеки:

http://youtu.be/SjxgytNQhiI

Пример работы библиотеки:

http://youtu.be/i_A2R2G4vT4

Жду Ваших отзывов и рекомендаций!

grr
31.10.2013, 00:37
Поработал с данной библиотекой, архивирование работает нормально, только вот не совсем удобно то, что он каждый раз дописывает один и тот же файл, а не создает вместо этого новый. Например, если в день несколько раз снимают данные то это не совсем удобно, желательно их разделить на отдельные файлы(указать число и время записи например или в конце добавлять номер записи..), чтоб была например возможность использовать макросы для построения графиков и т.д. для каждой записи отдельно.

Александр Приходько
31.10.2013, 04:17
Поработал с данной библиотекой, архивирование работает нормально, только вот не совсем удобно то, что он каждый раз дописывает один и тот же файл, а не создает вместо этого новый. Например, если в день несколько раз снимают данные то это не совсем удобно, желательно их разделить на отдельные файлы(указать число и время записи например или в конце добавлять номер записи..), чтоб была например возможность использовать макросы для построения графиков и т.д. для каждой записи отдельно.

Спасибо, возьму на заметку.
Думаю алгоритм в данном случае простой. Через подчеркивание добавляется число 3-4 знака не более - номер файла.
При каждом пуске номер увеличивается.
Возможно это надо делать опцией.

grr
31.10.2013, 12:19
Да как то так...

arlyn
20.11.2013, 13:54
Где ссылка на ArchiverSPK_3.5.3.52 ? Хочу работать на старой прошивке контроллера.

Александр Приходько
20.11.2013, 20:16
Где ссылка на ArchiverSPK_3.5.3.52 ? Хочу работать на старой прошивке контроллера.
Старую версию поддерживать не будем. Так же как и старую прошивку.

Дмитрий Сай
08.12.2013, 12:03
Добрый день. Опробовал вашу библиотеку для архивации. Работает отлично и по функционалу всё шикарно. Но вот вопрос такой. Реально ли сделать, что бы архивация была для большего числа переменных? Например можно было бы сделать так. в программе используется не один блок архивации, а несколько. Один архив пишется например в файл 1_дата, а второй пишет в 2_дата (это в случае если информация пишется на одно и то же устройство). Иногда ведь встречаются достаточно крупные объекты, на которых помимо основных параметров требуется вести лог ошибок. А это может привести к тому, что надо писать гораздо больше чем 64 переменных.

И ещё, возможно реализовать такую вещь? например мы архивируем аварит. Можно ли сделать так что архивация аварии выполнялась только при наступлении аварии? Сами аварии хранятся в массиве. Каждая "ячейка" массива отвечает за каждую аварию

Александр Приходько
20.12.2013, 23:02
Добрый день. Опробовал вашу библиотеку для архивации. Работает отлично и по функционалу всё шикарно. Но вот вопрос такой. Реально ли сделать, что бы архивация была для большего числа переменных? Например можно было бы сделать так. в программе используется не один блок архивации, а несколько. Один архив пишется например в файл 1_дата, а второй пишет в 2_дата (это в случае если информация пишется на одно и то же устройство). Иногда ведь встречаются достаточно крупные объекты, на которых помимо основных параметров требуется вести лог ошибок. А это может привести к тому, что надо писать гораздо больше чем 64 переменных.

И ещё, возможно реализовать такую вещь? например мы архивируем аварит. Можно ли сделать так что архивация аварии выполнялась только при наступлении аварии? Сами аварии хранятся в массиве. Каждая "ячейка" массива отвечает за каждую аварию

Можно. Я уже над этим работаю несколько недель.
В новой версии функционал будет реализован так:
1. Отдельный ФБ для опроса необходимого устройства.
Например, если Вы хотите диагностировать объем SD и USB1, то делаете 2 экземпляра ФБ, которые постоянно анализируют устройства.
2. В этих же блоках реализовано расширенное управление. Т.е. будут 2 входа, то фронту сигнала которых будут запускаться либо форматирование, либо извлечение устройства(команда Umount в Linux).
3. Блок архивации пока не трогал. Но он будет отдельным, соответственно для данного блока можно будет делать любое кол-во экземпляров.
4. Копирование информации также будет иметь статус завершения.

ru522464
08.02.2014, 15:53
Александр как можно реализовать запись на флеш 2000 переменных а не 64 как сейчас

ru522464
08.02.2014, 15:53
И запись одновременно нескольких массивов

ru522464
08.02.2014, 16:00
минимальный таймаут архивации какой можно сделать?

vlalys
12.02.2014, 07:50
Здравствуйте, уважаемые, не побоюсь этого слова, коллеги.
Возникла необходимость вести журнал аварийных событий с записью на SD и последующим выводом на визуализацию при нажатии на соответствующую кнопку "Журнал".
Информация должна содержать дату, время события, строковую переменную наименования события и состояние или значение измеренного в момент аварии параметра.
Кто-нибудь может подсказать как можно это реализовать?

Мурат Ахриев
12.02.2014, 11:26
Простого решения нет, реализовать можно, но нужно уметь не плохо программировать.
Почитайте http://www.owen.ru/forum/showthread.php?t=15072, тут велось обсуждение подобной задачи.

vlalys
12.02.2014, 12:41
Спасибо, Мурат, посмотрю.

semenov_ol
16.02.2014, 12:10
Запись хорошо, а нет библиотеки для чтения из файла этих переменных?

Мурат Ахриев
17.02.2014, 11:02
Готовой библиотеки для чтения переменных нет.
В библиотеке CAA File есть функциональные блоки работы с файлами, при помощи которых, обладая не плохими знаниями по программированию, можно реализовать и чтение и запись переменных в файл.

Владимир Теркин
21.02.2014, 13:53
Уважаемые коллеги !
При использовании библиотеки ArhiverSPK 3.5.3.53 совместно с СПК207 (spc2xx-03.cs-web версия 3.5.0.0), при загрузке в прибор получаю ошибку:
[FATAL ERROR] Неразрешённая ссылка: 'SYSEXECUTE2__MAIN'. Найдена 1 неразрешенная ссылка.
Подскажите в чем тут дело. Заранее благодарен.
terarm@mail.ru

Александр Приходько
22.02.2014, 19:33
Уважаемые коллеги !
При использовании библиотеки ArhiverSPK 3.5.3.53 совместно с СПК207 (spc2xx-03.cs-web версия 3.5.0.0), при загрузке в прибор получаю ошибку:
[FATAL ERROR] Неразрешённая ссылка: 'SYSEXECUTE2__MAIN'. Найдена 1 неразрешенная ссылка.
Подскажите в чем тут дело. Заранее благодарен.
terarm@mail.ru

Все крайне просто. У Вас не самая последняя прошивка. И в ней нет поддежки библиотеки SYSEXECUTE. Данная библиотека является не внешней, а внутренней. Вот собственно и результат ошибки.

Если хотите работать с данной библиотекой надо прошить СПК на последнюю версию прошивки.
Собственно об этом написано в шапке.

Последнюю прошивку можно скачать тут: http://www.owen.ru/catalog/32050189

figa8713
30.04.2014, 09:18
Когда стоит ожидать новые релизы библиотеки?

А именно добавления новых возможностей:
1. Добавить информацию о завершении копирования данных
2. Автоочистка памяти от старых данных (опция). На данный момент архив перестанет записываться, если свободного места <98%
3. Добавление номера файла, если архивация запускается несколько раз в день (опция)
4. Копирование не всей папки архива, а либо определенного файла, либо выбор диапазона дат.
5. Возможность очистки архива

Александр Приходько
30.04.2014, 21:51
Когда стоит ожидать новые релизы библиотеки?

А именно добавления новых возможностей:
1. Добавить информацию о завершении копирования данных
2. Автоочистка памяти от старых данных (опция). На данный момент архив перестанет записываться, если свободного места <98%
3. Добавление номера файла, если архивация запускается несколько раз в день (опция)
4. Копирование не всей папки архива, а либо определенного файла, либо выбор диапазона дат.
5. Возможность очистки архива

Добрый день. Разработка библиотеки временно приостановлена. К дальнейшим разработкам приступим в июне-июле.

GoodLuck
14.05.2014, 14:48
Запускаю проект ArchivSPK107_v2.projectarchive, выбираю уст-во SD карта, но возникает ошибка: устройство не подключено.
Помогите разобраться, что не так?

GoodLuck
14.05.2014, 15:38
Когда выбираю флешку или внутреннюю память СПК, все в порядке, как и положено определяется объем памяти и т.д., а при выборе SD карты возникает ошибка. Несмотря на то, что SD карта подключена, программа WinSCP ее видит.

Я запускаю программу на СПК110, а в теме написано, что этот проект для СПК107. Может в этом все дело? И надо что-то подправить в программе?

GoodLuck
16.05.2014, 14:54
Еще один вопрос по архивации: можно ли задавать свое название файла?

Мурат Ахриев
16.05.2014, 16:22
1.Какая установлена версия прошивки(посмотреть можно в конфигураторе на самой панели)?
2.Отформатируйте SD карту в FAT32, желательно в программе HP USB Disk Storage Format Tool

GoodLuck
19.05.2014, 09:28
Версия прошивки: 3.407, после форматирования SD карты программа все равно ее не видит.

Александр Приходько
19.05.2014, 22:17
Когда выбираю флешку или внутреннюю память СПК, все в порядке, как и положено определяется объем памяти и т.д., а при выборе SD карты возникает ошибка. Несмотря на то, что SD карта подключена, программа WinSCP ее видит.

Я запускаю программу на СПК110, а в теме написано, что этот проект для СПК107. Может в этом все дело? И надо что-то подправить в программе?
А в каталоге /mnt/ufs/media/mmcblk0p1 файлы, которые на самой SD карте присутсвуют видны или нет? Или есть ток сам каталог?


Еще один вопрос по архивации: можно ли задавать свое название файла?
Пока нет.


Версия прошивки: 3.407, после форматирования SD карты программа все равно ее не видит.
Версию библиотеки какуйю используете?

Александр Приходько
19.05.2014, 22:32
Начали доработку данной библиотеки.
Из нововведений, которые будут в очередной версии:
1. Все операции с файлами переведены на библиотеку CAA
2. Сканирование всех SD, USB и внутренней памяти происходит всегда не зависимо от того какое устройство выбрано для архивации.
3. Реализован механизм извлечения и форматирования носителей
4. Алгоритм архивации значительно изменился. В предыдущей версии каждый параметр писался отдельно. Теперь все параметры собираются в буфер только потом идет запись. В результате все данные считываются синхронно и нагрузка на носители значительно уменьшилась.
5. Изменился алгоритм опроса изменений. В предыдущих версиях у каждой переменной был свой таймер. В связи с этим через некоторое время наблюдалась рассинхронизация данных.
6. Перед записью данных на носитель они буферезируются. Что в свою очередь позволяет избежать потери данных, даже если устройство перегружено операциями чтения/записи. Буфер на данный момент предназначен на 20 записей. К релизу будет увеличен до 64 или более.
7. Возможно задать название каталога, куда будет писаться архив.
8. Добавлена индикация завершения копирования данных.
9. Добавлена индикация записи на носитель.

Релиз новой версии в течении мая.

RV9WFJ
20.05.2014, 05:56
Возможно это уже есть, пока еще руки не дошли изучить эту библиотеку. Но запись нужна не столько по времени сколько по фронту булевой переменной. Если процесс цикличный то в конце каждого цикла кидаем в файл результат. Или при появлении ошибки записываем основные параметры. Извините если это уже реализовано.

Мурат Ахриев
20.05.2014, 12:47
У функционального блока архиватора есть логический вход "Start" , соответственно TRUE - пишет, FALSE - нет

GoodLuck
20.05.2014, 22:05
Версию библиотеки какуйю используете?
Использую ArchiverSPK 3.5.3.53
Кстати, когда архивирую с помощью библиотеки Archivatorowenlib проблем, вообще никаких не возникает.

GoodLuck
20.05.2014, 22:07
[QUOTE=Александр Приходько;138089]А в каталоге /mnt/ufs/media/mmcblk0p1 файлы, которые на самой SD карте присутсвуют видны или нет? Или есть ток сам каталог?

Да, все файлы видны.

Александр Приходько
22.05.2014, 01:06
[QUOTE=Александр Приходько;138089]А в каталоге /mnt/ufs/media/mmcblk0p1 файлы, которые на самой SD карте присутсвуют видны или нет? Или есть ток сам каталог?

Да, все файлы видны.
Очень странно. Тогда должно все работать. Попробуйте в меню компиляция выполнить пункты Очистить все и затем генерировать код. И перезагрузите программу в СПК.
Если это не поможет, дам вам на пробу не завершенную новую версию библиотеки, проверите ее работоспособность.

Еще один момент. Если вы в момент записи рхива SD карту выните, то дальше работать с ней не сможете до перезагрузки.

RV9WFJ
22.05.2014, 18:14
Начали доработку данной библиотеки.
Релиз новой версии в течении мая.Раз уж планируется все данные сначала в буфер писать, то наверно логично будет все переменные в одну строку писать, которые на тот момент времени, в соответствии с их периодичностью, должны быть записаны. А то получается мне надо момент окончания цикла записывать, т.е. я не буду использовать встроенный таймер, а писать буду по тригеру. Как-то странно в таком варианте смотрятся итоговые данные (переменные) каждая в своей строке.

RV9WFJ
22.05.2014, 18:18
И еще вопрос: возможно будет использовать эту библиотеку для мониторинга состояния носителей, возможно для копирования, если я запись на них буду делать самостоятельно через CAA. CVS не всех устраивает :-(

Александр Приходько
24.05.2014, 16:40
Раз уж планируется все данные сначала в буфер писать, то наверно логично будет все переменные в одну строку писать, которые на тот момент времени, в соответствии с их периодичностью, должны быть записаны. А то получается мне надо момент окончания цикла записывать, т.е. я не буду использовать встроенный таймер, а писать буду по тригеру. Как-то странно в таком варианте смотрятся итоговые данные (переменные) каждая в своей строке.


И еще вопрос: возможно будет использовать эту библиотеку для мониторинга состояния носителей, возможно для копирования, если я запись на них буду делать самостоятельно через CAA. CVS не всех устраивает :-(

Запись по тригеру не заложена ни в старой ни в новой версии библиотеки.
Новая версия библиотеки скорее всего будет готова к понедельнику.
Сейчас она проходит испытания.

Рассинхронизация полностью исправлена. Все данные полностью привязаны к часам реального времени. Как только часы изменяются на секунду, формируется строка данных, которая помещается в буфер. Буфер расширен до 64 записей. Если буфер переполняется, старые данные из него удаляются. Но такое возможно, только если извлечено устройство SD или USB. По сути это горячая замена, примерно так реализовано в нашем МСД.

Еще одна особенность, часть библиотеки отвечающая за опрос размеров устройств вынесена в отдельный ФБ. Но связано это с тем, что функции из библиотеки CmpSysExec (SysExecute) в некоторых ситуациях могут сильно растянуть цикл программы. В связи с этим этот блок выносится в отдельную программу и живет самостоятельной жизнью.
Его можно использовать отдельно без блока архивации для вывода информации или для написания своей библиотеки архивации.
Но обо всем этом еще будет рассказано в Руководстве на библиотеку.
13060

Библиотека тестирование в полном объеме не прошла. Релиз перенесен на неделю(30 мая).

Getmanov
11.07.2014, 01:31
Релиз перенесен на неделю(30 мая).

Так будет ли релиз? А то описанные изменения библиотеки очень хорошо вписываются в мою задачу.
Или не стоит ждать, а начинать писать самому?

Александр Приходько
11.07.2014, 17:19
Так будет ли релиз? А то описанные изменения библиотеки очень хорошо вписываются в мою задачу.
Или не стоит ждать, а начинать писать самому?
К сожалению пришлось отложить в очередной раз релиз. Т.к. сейчас активно идут работы по созданию прошивок. В ближайшие 2-3 недели релиза не будет.

mudretz
11.09.2014, 16:24
Добрый день, в процессе архивации данных, визуализации на СПК207.web начинают сильно подвисать в не зависимости от установленного времени таймаута и количества архивируемых переменных. Что можно с этим сделать?? Можно ли включать функцию не в каждом цикле программы, а например в 1 из 50?

mudretz
11.09.2014, 16:35
Попробовал так:
IF NOT(UINT_TO_BOOL(busy MOD 50)) THEN
My_ARCH(...)
END_IF
busy:=busy+1;
Отклик на нажатия вроде улучшился...

Deoxes
18.09.2014, 11:36
Непойму как работать с архивацией, мне в табличку архива необходимо записывать 2 переменные REAL ну и 3я колонка будет дата архивации. Как в архив подставить свои переменные?

Чёкнутый Рысь
29.09.2014, 16:39
А может стоит дать сырую библиотеку народу по-тестировать? С последующим описанием всех встреченных трудностей, само-собой!

Чёкнутый Рысь
29.09.2014, 16:40
А вот если сам написал, то можешь поделиться с коллегами?

uJluac
01.10.2014, 17:27
может скинеш исходники библиотеки
попробуем дописать

RV9WFJ
02.10.2014, 07:22
Вообще я себе свою написал. По мере написания тоже постоянно хотелось из чужой своять. Но сейчас я понимаю, что хорошо, что я ее с нуля написал. Появилось полное понимание что там для чего и где узкие места. Так что если готовы дописать, то рекомендую с нуля написать. Там не так много когда на самом деле. Надо только CAA File изучить.

Чёкнутый Рысь
13.10.2014, 16:40
Можете поделиться материалами, коими пользовался для разработки библиотеки? А то как-то даже не знаю с какого краю укусить.

capzap
13.10.2014, 17:30
http://www.owen.ru/forum/showthread.php?t=17003&p=134564&viewfull=1#post134564 приглядитесь к проекту, то место где с помощью бибки SysExec выполняется команда mount...
только вместо этой команды посылайте строку с нужными для сохранения параметрами, например echo "36.6 25.5 `date`" >> archiv.log ну естественно путь к файлу еще

msnya
15.10.2014, 21:03
Подскажите пожалуйста, как сделать что бы строка в архиве создавалась по событию?

aydarkin
19.10.2014, 10:32
Здравствуйте,, подскажите пожалуйста после компиляции проекта архивации на СПК207 -220.03.00-CS-WEB (версия прошивки 3302) выдает 1 ошибку: "Невозможно установить библиотеку CmpSysExec 1.0.02 (OWEN)". Версия К.С.- CoDeSyS V3.5 SP3 Patch 5. Скажите пожалуйста, мне тоже необходимо обновить прошивку контроллера СПК207, или установить более новую версию CoDeSyS. Заранее спасибо!

capzap
19.10.2014, 11:29
Смените бибку на предыдущую версию

Пьер
24.10.2014, 13:55
Скажите пожалуйста, доработали ли библиотеки по архивированию?
Чтобы архивировать, а потом считывать в самой же панели, для построения графика. Очень хочу разобраться.

Где можно скачивать последние версии библиотек?
И где можно скачать пример "вытаскивание данных из архива"?

capzap
24.10.2014, 17:33
И где можно скачать пример "вытаскивание данных из архива"?

Так может просто использовать SysFile, сами пишите сами читаете, разницы то ни какой по сравнению с другими, это же просто оболочки

Чёкнутый Рысь
25.10.2014, 00:32
А примерчиком не поделитесь?

capzap
25.10.2014, 07:11
что подразумеваете под примерчиком, я должен сесть и придумать проект,который бы Вас удовлетворил, так потрудились бы задачу описать. читайте документацию или пользуйтесь тем что есть, вот напнимер -можно из этого что то подчерпнуть www.owen.ru/forum/showthread.php?t=17003&p=141820&viewfull=1#post141820

Чёкнутый Рысь
28.10.2014, 13:23
Надо сделать архивирование на флешке по внешнему сигналу параметр+ время с возможностью чтения панелью этих значений. Я сам бы сделал, но я не знаю как. Указанный пример посмотрел, но как-то не очень помогло.

capzap
28.10.2014, 13:59
Я сам бы сделал, но я не знаю как. Указанный пример посмотрел, но как-то не очень помогло.

Так а когда учится то начнете? Сколько готовы выложить чтоб за Вас работали



ЗЫ сразу предупреждаю, пример с грубыми ошибками, уж с этим то разберетесь

Чёкнутый Рысь
28.10.2014, 14:58
Учиться готовы. За пример благодарю, постараюсь разобраться.

RV9WFJ
29.10.2014, 06:20
Вот вам на CAA пример записи в файл без использования SysExecute. На вход ФБ необходимо подать вашу команду на запись и указатели на записываемую строку и заголовок. iDivice соответствует перечислению:

TYPE StorageDeviceEnum :
(
Dev_USB_A := 0,
Dev_USB_B := 1,
Dev_SD := 2,
Dev_Flash := 3
);
END_TYPE
На счет чтения из файла и вывода на экран пока руки не дошли, но там тоже не сложно.

Чёкнутый Рысь
29.10.2014, 09:36
Что такое САА? Где про него читать и как с этим работать?
А экспортный файл почему-то пустой!

Чёкнутый Рысь
29.10.2014, 09:47
Что такое sysexecute? ФБ из библиотеки? Если да, то где её добыть?

capzap
29.10.2014, 11:27
на сайте овен бибка которую я использовал, как добавлять библиотеки нужно объяснять?

Чёкнутый Рысь
29.10.2014, 12:24
Нет, это не нужно. Благодарю.

byv7
11.11.2014, 09:16
Как изменить название файла архивации и папки?

Пьер
17.11.2014, 14:24
Кто нибудь в курсе, знает? Какой минимальный таймаут архивации в ArchiverSPK, в примере стоит T#1S, можно меньше ставить и на сколько меньше?

Александр Приходько
17.11.2014, 15:28
Кто нибудь в курсе, знает? Какой минимальный таймаут архивации в ArchiverSPK, в примере стоит T#1S, можно меньше ставить и на сколько меньше?
Если выставить 0, то он должен работать с максимально возможной скоростью.

Солнечный заяц
19.11.2014, 16:53
Таблица получается без шапки, или я что-то не понимаю? Было бы здорово использовать шаблон MS Excel от МСД200 для построения графиков.
Думаю первые движения по данной библиотеке начнутся уже в январе 15.

Александр Приходько
19.11.2014, 23:29
Да, есть много хотелок по этой библиотеки. Сейчас закончим Шаблоны МХ110, и приступим пилить библиотеки.

capzap
28.11.2014, 09:07
Да, есть много хотелок по этой библиотеки. Сейчас закончим Шаблоны МХ110, и приступим пилить библиотеки.
буквально сегодня ночью разбирался с проблемой, оказалось что вовсе это и не проблема. Ваши конкуренты во внутреннюю память архивы просто так не пишут, какое бы время записи небыло, ждут пока данных не накопится 4кб и только тогда делают запись в физическую память, естественно при отключениях питания из оперативки данные не теряются, причем сохраняются не в архив а в ретайн ипосле восстановления вновь ожидают пока не накопится размер до стандартного кластера FAT. Так как у меня были вялотекущие процессы архив долго "не двигался с места", а я долго не мог понять почему у меня не ведется архив, оказалось рациональное использование пространства влияет

Nov64
02.12.2014, 17:10
А есть пример или пояснение, как, всё-таки, добавить запись в архив списка аварий? Как в "таблица тревог" с названием и временем формирования аварии.

air16rus
05.12.2014, 01:19
Всем привет! Использовал данную библиотеку. Записываю три переменные с адресов T21, T22 и P2. Вроде компиляция успешная, но переменные по нулям. Почему не знаю. Хотя в программе опроса датчиков и в визуализации все значения есть... ((

ARCH_DATA[0].dDT:=typeREAL;
ARCH_DATA[0].pPB:=ADR(T21);
ARCH_DATA[0].tTM:=T#1S;
ARCH_DATA[1].dDT:=typeREAL;
ARCH_DATA[1].pPB:=ADR(T22);
ARCH_DATA[1].tTM:=T#1S;
ARCH_DATA[2].dDT:=typeREAL;
ARCH_DATA[2].pPB:=ADR(P2);
ARCH_DATA[2].tTM:=T#1S;

Архив кстати пишется, но только там одни нули.. ((

Всё разобрался)) Можно не отвечать на данное сообщение)

Пьер
05.12.2014, 08:01
Всем привет! Использовал данную библиотеку. Записываю три переменные с адресов T21, T22 и P2. Вроде компиляция успешная, но переменные по нулям. Почему не знаю. Хотя в программе опроса датчиков и в визуализации все значения есть... ((

ARCH_DATA[0].dDT:=typeREAL;
ARCH_DATA[0].pPB:=ADR(T21);
ARCH_DATA[0].tTM:=T#1S;
ARCH_DATA[1].dDT:=typeREAL;
ARCH_DATA[1].pPB:=ADR(T22);
ARCH_DATA[1].tTM:=T#1S;
ARCH_DATA[2].dDT:=typeREAL;
ARCH_DATA[2].pPB:=ADR(P2);
ARCH_DATA[2].tTM:=T#1S;

Архив кстати пишется, но только там одни нули.. ((

Всё разобрался)) Можно не отвечать на данное сообщение)

Как ты эту проблему решил? Если не секрет?

air16rus
05.12.2014, 14:38
Как ты эту проблему решил? Если не секрет?

Очень просто. Сам сглупил. Я указал адреса переменных просто T21, T22 и P2, то есть переменные из этой программы (Arch), а опрос модулей у меня в другой, т.е. и адреса нужно было просто указать PLC_PRG.T21, PLC_PRG.T22 и PLC_PRG.P2 (программа опроса модуля PLC_PRG).

air16rus
05.12.2014, 15:58
А вот теперь еще возник вопрос... Можно ли записывать вместо переменной слово, например "Обрыв" при выполнении определенного условия? Как, допустим, сюда "ARCH_DATA[2].pPB:=...;" вписать слово? Поддерживает ли библиотека такое?

RV9WFJ
08.12.2014, 09:35
А вот теперь еще возник вопрос... Можно ли записывать вместо переменной слово, например "Обрыв" при выполнении определенного условия? Как, допустим, сюда "ARCH_DATA[2].pPB:=...;" вписать слово? Поддерживает ли библиотека такое?Пишите в формате STRING и формируйте его сами в зависимости от состояния датчика или цифры или текст ОБРЫВ и т.д.

Трофимов Артем
12.12.2014, 09:25
Вам в любом случае нужна переменная String , куда будете писать обрыв и т.д.
присвоение происходит указателю через ADR. кодесис будет гневно ругаться на ссылку на адресное пространство значения, а не переменной ( типо ADR('обрыв')).

Пьер
17.12.2014, 14:54
Если выставить 0, то он должен работать с максимально возможной скоростью.
Александр, скажите пожалуйста. Такое дело:
1. Один архив записывает данные.
2. второй архив записывает STRING сообщения событий, т.е. журнал всех действий, которые произвел оператор.
ВОПРОС: Как поменять имя архива??? Ну чтобы архивы были разные...

KoT'86
26.12.2014, 22:21
Кто подскажет, можно-ли открыть архив на СПК каким-либо образом для просмотра?

GoodLuck
26.12.2014, 23:12
Кто подскажет, можно-ли открыть архив на СПК каким-либо образом для просмотра?

Смотрите п.6
http://www.owen.ru/catalog/sreda_programmirovaniya_codesys_v3/19944443

KoT'86
27.12.2014, 00:34
GoodLuck, Вы наверное несовсем правильно меня поняли... Для архивирования я пользуюсь библиотекой Archiverspk_3.5.3.53, архивные данные пишутся на указанное устройство, с которого в дальнейшем архив можно посмотреть на ПК... Можно-ли открыть архив для просмотра на СПК? Если я что-то по ссылке упустил - ткните пжлста точнее.

GoodLuck
27.12.2014, 00:45
В принципе, нет ничего невозможного. Для чтения файлов можно, например, использовать библиотеку CAA_FILE.

KoT'86
27.12.2014, 01:29
Никогда не пользовался этой библиотекой, не могу найти нормального описания, если можно в двух словах как и чем она тут поможет... Шапку в archiverSPK так похоже и не реализовали?

Мурат Ахриев
27.12.2014, 09:44
Описание на библиотеку CAA_File есть в справке по f1, также в справке есть пример использования.

KoT'86
27.12.2014, 10:59
Спасибо, Мурат! Шапку архива в библиотеке archiverSPK так и не реализовали?

Мурат Ахриев
27.12.2014, 13:22
Пока не реализовано. В планах объединение имеющихся библиотек архивации в одну. Учтем пожелание при разработке.

Пьер
30.12.2014, 22:27
Пока не реализовано. В планах объединение имеющихся библиотек архивации в одну. Учтем пожелание при разработке.
Приблизительно когда будет готов Архиватор со всеми нюансами? Ждем с большой надеждой!

Эдуард_Н
07.01.2015, 05:52
Нужно описание работы с библиотекой в текстовом виде как у других библиотек.
И кто ни будь, пожалуйста помогите, выложите небольшой действующий пример по архивированию, желательно на языке CFC, данных с 2-ух, 3-ёх аналоговых датчиков и несколько дискретных сигналов.

Ilych
24.01.2015, 12:20
Коллеги, добрый день!
Не знаю, может быть уже кто-то писал о следующем нюансе. У меня оказался плохим адаптер SD-карточки, и когда я пытался на нее писать, то функциональный блок не обработал эту ошибку, а СПК107 вывалился в "Программа загружена-ИСКЛЮЧЕНИЕ". Может это касается и работы с USB Flash, нечем было проверить.
Хотелось бы, чтобы такие ситуации обрабатывались программно, без ухода СПК в исключение

Изюм
09.02.2015, 10:47
Здравствуйте.
Помогите советом пожалуйста.
Намечается установка 4 СПК, на четырех идентичных шкафах управления. Есть необходимость архивирования на каждом СПК. Насколько я понимаю при копировании с СД-карты на флеш надо будет после каждого СПК сбрасывать на комп, а потом копировать архив со следующего СПК, иначе предыдущий будет стираться на флешке последующим? Копировать каждый раз на комп очень проблематично.
Как быть? Есть ли возможность как-то изменить название папки в которую копируется на СД-карту?

Александр Приходько
10.02.2015, 02:20
Здравствуйте.
Помогите советом пожалуйста.
Намечается установка 4 СПК, на четырех идентичных шкафах управления. Есть необходимость архивирования на каждом СПК. Насколько я понимаю при копировании с СД-карты на флеш надо будет после каждого СПК сбрасывать на комп, а потом копировать архив со следующего СПК, иначе предыдущий будет стираться на флешке последующим? Копировать каждый раз на комп очень проблематично.
Как быть? Есть ли возможность как-то изменить название папки в которую копируется на СД-карту?
Вы можете написать свой собственный алгоритм архивирования.

RV9WFJ
10.02.2015, 12:00
Или завести 4 флешки ;-)

Изюм
16.04.2015, 23:47
Подскажите пожалуйста:
сд карта - 128 МБ, свободного места - 119 МБ, копирование на флешку длится минут 5, во время копирования нет связи по компору (светодиод не моргает).
Это нормально?
Сколько же будет длиться копирование при заполнении сд карты?

vnkorol
27.04.2015, 11:33
Подскажите, каким образом пишутся архивы - как на МСД - один день - один файл и по каталогам раскладываются? Когда место закончится - будут старые затираться?
Можно вести отдельный файл, в котором будут раз в сутки писаться данные?

RV9WFJ
28.04.2015, 07:57
Посмотрите на библиотеку CAA File и пишите с ее помощью что вам надо и как вам надо. А библиотека архивации - это всего лишь один пример реализации и там нет гибких настроек. В частности обрезания архива и записи в один файл. Писать все в один файл я бы вообще не советовал - могут быть проблемы при пропадании питания в момент записи.

in37usd
11.05.2015, 13:09
а я получаю в процессе работы СПК110 массив данных 2х150 real
его, наверное, надо сохранять в файл КАК?????????????????
и потом хочу воспользоваться данной программой для записи на флэшку
вопрос - где к этой программе подключать файл???????????????

RV9WFJ
12.05.2015, 05:43
Эта библиотека и вам не поможет. Читайте постом выше что делать.

in37usd
20.05.2015, 14:23
попробовал запустить этот проект(без изменений)- он при записи на флэшку через 1 сек прекращает работать программа- типа выгружается из режима "работа".,на флэшке ничего не добавляется

in37usd
24.05.2015, 15:38
пишет в файл числа от 1 до 63(exel), но мне надо одну строку в результате получить , а программа пишет в файл 5 и более строк.
какую переменную надо контролировать, чтобы в файл exel попадала только одна строка?

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

in37usd
24.05.2015, 15:42
пишет в файл числа от 1 до 63(exel), но мне надо одну строку в результате получить , а программа пишет в файл 5 и более строк одинаковых.
какую переменную надо контролировать, чтобы в файл exel попадала только одна строка?

т.е. как останавливать копирование или архивирование в нужный момент?
хоть бы к программе было какое-нибудь руководство по эксплуатации программы!!!
буду читать эту тему всю , но не знаю , найду ли что нужное мне!
программа лупит без остановки и повторяет копирование( или архивирование?)

Sergey666
24.05.2015, 16:00
Посмотрите на библиотеку CAA File и пишите с ее помощью что вам надо и как вам надо. А библиотека архивации - это всего лишь один пример реализации и там нет гибких настроек. В частности обрезания архива и записи в один файл. Писать все в один файл я бы вообще не советовал - могут быть проблемы при пропадании питания в момент записи.

Если использовать качественный БП (напр. Дельта) после пропадания сети и до падения выхода 24в проходит примерно 1.5...2 сек минимум . Этого времени вполне хватает на запись во флэш , детекцию пропадания питания 220в производим простой релюхой , проверено лично .(Правда не на Овене , но с КДС 2 КДС3). А у нового ПЛК110 вообще батарея емкостей такая , что он пропадание 3...5 сек держит.
По поводу архивации - это-ж библиотека от Овен , а они не считаю необходимым производить архивацию однократно по событию-триггеру и примеры этому МСД 100...200 .
Если надо чтобы работало как надо - надо алгоритм самостоятельно реализовывать , а не надеятся на ... скажем так ... странные програмные вещи от производителя .
Хотя могу и ошибаться и может эти бибки и классные , но ... сам ими не пользуюсь.

capzap
24.05.2015, 16:48
пишет в файл числа от 1 до 63(exel), но мне надо одну строку в результате получить , а программа пишет в файл 5 и более строк одинаковых.
какую переменную надо контролировать, чтобы в файл exel попадала только одна строка?

т.е. как останавливать копирование или архивирование в нужный момент?
хоть бы к программе было какое-нибудь руководство по эксплуатации программы!!!
буду читать эту тему всю , но не знаю , найду ли что нужное мне!
программа лупит без остановки и повторяет копирование( или архивирование?)

http://www.owen.ru/forum/showthread.php?t=12816&p=84866&viewfull=1#post84866

in37usd
24.05.2015, 17:34
Ваш пример кода не открывается

in37usd
24.05.2015, 17:35
Ваш пример кода не открывается

capzap
24.05.2015, 19:08
Ваш пример кода не открывается

а что должно открываться?
в проект добавляете библиотеку, при наступлении события запускаете приведенную функцию, добавив к самому файлу путь до флешки и всё, файл будет заполнятся данными
http://www.owen.ru/forum/showthread.php?t=17003&p=134564&viewfull=1#post134564 вот здесь вроде тоже имеет место быть использование чудо-библиотеки, а в СПК однозначно она есть, даже более новая, она умеет не только записывать а и вычитывать вывод в консоль. ГЛАВНОЕ знать команды линукса, чтоб выполнить ту или иную задачу

in37usd
26.05.2015, 16:00
это моя реплика на вышестоящий пример
а у меня на сегодня КОПИРУЕТСЯ ТОЛЬКО ОДИН столбец из 63 данных массива 8х63
если перехожу на копирование другого столбца arr_out
то в файл exel копируется только последний (второй) столбец
НЕ получается остановить копирование программно после первого столбца
МНЕ НАДО создавать файл EXEL в СПК110
если ставлю условия сигнализации конца цикла копир. столбца, то программа вообще не копирует в файл
как выкл arch_start после коприрования 63 элементов????

RV9WFJ
27.05.2015, 06:24
Вам уже и так весьма прозрачно намекают что эта библиотека не лучший вариант для этой задачи, если вообще вариант. Используйте команду Linux или библиотеку CAA File.

Lyohin
11.06.2015, 20:45
Возникли ошибки при компиляции. Работаю с библиотекой ArchiverSPK. Примечательно, что проект, в котором присутствует только один архиватор, не выдает ошибок. Все библиотеки добавлены. Не пойму, из-за чего ошибки.

AlexEl
10.09.2015, 16:04
Коллеги, нельзя ли все-таки (для новичков и поклонников CFC) опубликовать пример работы с библиотекой на CFC? Не только от меня были такие просьбы. Читал, что профи советуют "изучить ST для работы с архивацией", что "CFC не подходит для этих задач" итд. Я новичок, не профи, проект у меня один и личный (отопление частного дома). Разобрался с визуализацией, подключением М*110, датчиков температуры, давления, но с архивацией на флешку СПК107 никак не получается. Пытался с Get-Write-data - не получилось до конца. Перекинулся на эту библиотеку - тестовый пример работает, но он на ST. Ну не изучать же ST для этой небольшой задачи! Входы-выходы ФБ в общем понятны, кроме входа Arch_data. Очень нужен живой пример на CFC с архивированием 2-3-переменных.
Поверьте, CFC ближе радиолюбителям, схемотехникам - а их не мало. Хочется в этот отопительный сезон войти на новом оборудовании Owen. ;)

capzap
10.09.2015, 18:30
Возникли ошибки при компиляции. Работаю с библиотекой ArchiverSPK. Примечательно, что проект, в котором присутствует только один архиватор, не выдает ошибок. Все библиотеки добавлены. Не пойму, из-за чего ошибки.

а ни чего что вместо Вашего выделения, присмотревшись к желтым кругляшкам мы прочитаем какие библиотеки не установленны для правильной работы

serg_s
12.01.2016, 09:06
Приветствую!

Пытаюсь архивировать дискретные значения (около 160 булевых переменных), пока безуспешно.
Подскажите, как правильно это реализовать? В функционале библиотеки нет typeBOOL или что-то вроде того. WORD не устраивает, нужно писать "1" или "0". Это вообще возможно?

GoodLuck
12.01.2016, 09:27
Приветствую!

Пытаюсь архивировать дискретные значения (около 160 булевых переменных), пока безуспешно.
Подскажите, как правильно это реализовать? В функционале библиотеки нет typeBOOL или что-то вроде того. WORD не устраивает, нужно писать "1" или "0". Это вообще возможно?

Можно же записывать 1 или 0 как STRING.

capzap
12.01.2016, 09:30
Приветствую!

Пытаюсь архивировать дискретные значения (около 160 булевых переменных), пока безуспешно.
Подскажите, как правильно это реализовать? В функционале библиотеки нет typeBOOL или что-то вроде того. WORD не устраивает, нужно писать "1" или "0". Это вообще возможно?в чем подвох, 160 булевых это 10 слов,типа WORD

serg_s
12.01.2016, 12:58
в чем подвох, 160 булевых это 10 слов,типа WORD

в том, что я хочу видеть 160 (+1 со временем) столбцов с "0" и "1"
с типом данных проблем нет, сконвертил, но темперь другая проблема: библиотека не позволяет архивировать более 64 переменных

GoodLuck
12.01.2016, 13:07
в том, что я хочу видеть 160 (+1 со временем) столбцов с "0" и "1"
с типом данных проблем нет, сконвертил, но темперь другая проблема: библиотека не позволяет архивировать более 64 переменных

Сначала соберите все значение в одну переменную типа STRING. В вашем случае она получится длиной 160 символов.

Если надо еще и пробелы делать между 0 и 1, тогда получится две переменных.

serg_s
12.01.2016, 19:33
мОжет кто-нибудь поделиться небольшим примером работы с CAA FILE? в частности интересует чтение данных из файла. желательно с комментариями. справку смотрел, и, честно признаться, не совсем понял что к чему.
это мне нужно для вывода исторических данных с флешки. заранее спасибо.

и ище, здесь прочитал, что рассинхрон устранен, однако не похоже (см файл). или может кто подскажет, в чем может быть проблема?

GoodLuck
12.01.2016, 20:32
Что вы имеете ввиду под словом "рассинхрон"?

serg_s
13.01.2016, 06:27
Что вы имеете ввиду под словом "рассинхрон"?

в файле обратите внимание, что данные в какой-то момент идут не по порядку:

сначала нормально, каждые 3 секунды, как и выставляю:
18:20:23;00000000000000000000000000000000;00000000 000000000000000000000000;0000000000000000000000000 0000000;00000000000000000000000000000000;000000000 00000000000000000000000;
18:20:26;00000000000000000000000000000000;00000000 000000000000000000000000;0000000000000000000000000 0000000;00000000000000000000000000000000;000000000 00000000000000000000000;

потом начинается нечто такое:
18:27:13;00000000000000000000000000000000;00000000 000000000000000000000000;0000000000000000000000000 0000000;00000000000000000000000000000000;;
18:27:13;;;;;00000000000000000000000000000000;

было бы легче обработать файлы, если бы данные всегда были однородны.

с CAA FILE не поможете?

GoodLuck
13.01.2016, 08:49
Вы архивируете данные по таймеру раз в 3 сек? Если так, то да, в этом случае наблюдается рассинхрон.

Я пишу данные в файл несколько по-другому. Допустим, мне надо архивировать 2 раза в минуту, соответственно пишу архив, когда на часах 0 сек и 30 сек.

vniko
15.01.2016, 14:30
с CAA FILE не поможете?
Посмотрите вот эту тему: http://www.owen.ru/forum/showthread.php?t=15072&p=177981&viewfull=1#post177981.
Еще почитайте в шапке этой темы http://www.owen.ru/forum/showthread.php?t=15530&p=115706&viewfull=1#post115706
F.A.Q. - Вопросы и ответы/Как в программе получить доступ к SD или USB.

firetester
05.02.2016, 13:39
А у меня библиотека "вешает" СПК207 когда вставляешь или вынимаешь USB флешку. Не каждый раз, но если 2-3 раза вставить-вынуть, СПК точно повиснет. Причем, если не использовать
SDEV_Size=> ,
SDEV_Used=>,
SDEV_Available=> ,
то все нормально. Как только назначаешь им переменные STRING чтоб в визуализации отобразить - все, начинаются подтормаживания индикатора МодБас в момент когда вставляешь-вынимаешь. "Через раз" подвешивает и СПК.

Александр Приходько
07.02.2016, 18:18
Внимание! Разработка данной библиотеки полностью прекращена.
В компании начата разработка новой библиотеки для архивации.
В конечном варианте библиотека будет настраиваться (конфигурироваться) через Target файл.
Первые версии библиотеки появятся через 2-3 месяца.

firetester
09.02.2016, 15:13
НЕ подскажите как такое лечить?
22521
SP5 Patch 5, библиотека устанавливается с ошибками и из репозитория СПК и отдельно. Ошибка: 22523

killbill2
12.02.2016, 15:43
Подскажите пожалуйста в чём может быть проблема?22588Происходит , когда начало записи становится true.Поставил вместо цифры 5 в dDT typeWORD.Но исключение осталось(

KAPITOSHKARU
12.02.2016, 18:57
Внимание! Разработка данной библиотеки полностью прекращена.
В компании начата разработка новой библиотеки для архивации.
В конечном варианте библиотека будет настраиваться (конфигурироваться) через Target файл.
Первые версии библиотеки появятся через 2-3 месяца.

С одной стороны новость хорошая.
С другой стороны нужно БЫ сейчас это внедрить на производстве уже вчера, но с 30.09.2013, 19:21 вы работали и все равно до логического завершения не дошло.
Ах уж это руководство, не дающее время доделать начатое до конца!!!
все было бы не плохо, если бы хотя бы реализовали подобие "Журнала тревог" но с записью на флеш.
Ввод и вывод информации в одном флаконе.
И так от себя, для увеличения объема работы, а на тренды будет возможность выводить данные с архива?

И совсем не хочу показаться наглым, но есть ли на сегодняшний день реализовать такой ход конем.
Пишем тревоги и нужные события- средствами "Журнала тревог" в определенный час, ставим паузу, в это время берем и копируем файл на флешку.
А потом,если нужно, просматриваем его табличкой из стандартного набора.

KAPITOSHKARU
13.02.2016, 08:31
На сегодняшний день, с выбором архивации не определился, но осталось 2 варианта

1й - ArchiverSPK_3.5.3.53.zip (http://www.owen.ru/forum/showthread.php?t=15867&p=120163&viewfull=1#post120163)

2й- CAA File (потихоньку можно разобраться)

Остался главный вопрос:
КАК вывести данные в табличку на СПК?
Предполагаю, что все равно придется использовать библиотеку CAA File.

Может кто уже делал такое или где то спрятано в недрах какой то инструкции (имею в виду Русскоязычную, из хэлпа на буржуйском с помощью переводчика мало, что понятно).

Уважаемый serg_s писал в своем посте выше (http://www.owen.ru/forum/showthread.php?t=15867&p=192451&viewfull=1#post192451), насколько я понял это пример из буржуйского хэлпа. Кто может объяснить для чего, в каком порядке и как это работает.
Если у вас есть немного свободного времени, могу позвонить, пообщаемся устно. Пишите в личку.

capzap
13.02.2016, 08:43
С другой стороны нужно БЫ сейчас это внедрить на производстве уже вчера

не раз приводил пример как архивировать данные в любом формате через sysexecute, самая простая, что еще надо, непонимаю

KAPITOSHKARU
13.02.2016, 09:31
не раз приводил пример как архивировать данные в любом формате через sysexecute, самая простая, что еще надо, непонимаю

Извините, sysexecute, я что то пропустил, сегодня обязательно посмотрю.
Либо пропустил по своей не внимательности, либо в тех ветках где я читал этого не встречалось.

P.S. Точно моя не внимательность!

divinewinhs
05.04.2016, 18:11
Хотел через библиотечку получать инфо о подключенных девайсах чтобы выводить токущее сосотояние о размере и оставшемся месте но выдает ероры

------ Компиляция : Приложение: Device.Application -------
типизировать код...
[ERROR] archiverspk, 3.5.3.53 (owen): Archiver: C0032: Невозможно конвертировать тип 'Неизвестный тип: 'SysDirCreate(szDir := SP.NameFolder)'' в тип 'UDINT'
[ERROR] archiverspk, 3.5.3.53 (owen): Archiver: C0046: Идентификатор 'SysDirCreate' не задан
[ERROR] archiverspk, 3.5.3.53 (owen): Archiver: C0035: Вместо 'SysDirCreate' требуется имя программы или экземпляр функционального блока
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
Компиляция завершена -- 3 ошибок, 6 предупреждений

a_gricaj
06.05.2016, 13:18
Хотел через библиотечку получать инфо о подключенных девайсах чтобы выводить токущее сосотояние о размере и оставшемся месте но выдает ероры

------ Компиляция : Приложение: Device.Application -------
типизировать код...
[ERROR] archiverspk, 3.5.3.53 (owen): Archiver: C0032: Невозможно конвертировать тип 'Неизвестный тип: 'SysDirCreate(szDir := SP.NameFolder)'' в тип 'UDINT'
[ERROR] archiverspk, 3.5.3.53 (owen): Archiver: C0046: Идентификатор 'SysDirCreate' не задан
[ERROR] archiverspk, 3.5.3.53 (owen): Archiver: C0035: Вместо 'SysDirCreate' требуется имя программы или экземпляр функционального блока
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
[WARNING] archiverspk, 3.5.3.53 (owen): Archiver: C0195: Неявная конверсия типа со знаком 'INT' в тип без знака 'DWORD': возможно изменение знака
Компиляция завершена -- 3 ошибок, 6 предупреждений

аналогичная ситуация, что делать???

capzap
06.05.2016, 13:47
ну первое что в голову приходит, это вопрос добавлена ли бибка SysDir и нет ли возле неё желтого треугольника или что там появляется если есть несоответствие версий

a_gricaj
06.05.2016, 13:57
ну первое что в голову приходит, это вопрос добавлена ли бибка SysDir и нет ли возле неё желтого треугольника или что там появляется если есть несоответствие версий
Добавлена вроде, вот:
24324

это скачанный пример не компилируется

capzap
06.05.2016, 14:06
наверное когда открывали пример первый раз, то согласились на обновление библиотек до последней версии, просто сам архиватор на SP3 делан, а системная бибка почему то уже от SP8

a_gricaj
06.05.2016, 18:04
СПС, работает, а подскажите еще как стереть файл архива с СПК....

capzap
06.05.2016, 19:21
СПС, работает, а подскажите еще как стереть файл архива с СПК....

как обычно, через бибку execute выполнить команду линукс rm, только очень осторожно чтоб не снести всё :)

a_gricaj
06.05.2016, 20:04
как обычно, через бибку execute выполнить команду линукс rm, только очень осторожно чтоб не снести всё :)

С этим архивированием панель начала тупить сильно - подскажите пожалуйста как это побороть...
А по execute - библиотеку добавил, а дальше, что делать не знаю......

capzap
06.05.2016, 20:58
вот здесь я веду архив http://www.owen.ru/forum/showthread.php?t=23072&p=192666&viewfull=1#post192666, если точнее то в #6 посте само ведение архива
а про удаление можно здесь прочесть http://losst.ru/kak-udalit-fajl-cherez-terminal-linux, команда которая больше всего подходит в execute добавте

a_gricaj
06.05.2016, 21:23
вот здесь я веду архив http://www.owen.ru/forum/showthread.php?t=23072&p=192666&viewfull=1#post192666, если точнее то в #6 посте само ведение архива
а про удаление можно здесь прочесть http://losst.ru/kak-udalit-fajl-cherez-terminal-linux, команда которая больше всего подходит в execute добавте

Или я уже перегрелся или хз, но в 6 посте нет ничего о архиве....

capzap
06.05.2016, 23:23
Или я уже перегрелся или хз, но в 6 посте нет ничего о архиве....

нет это у меня, вот http://www.owen.ru/forum/showthread.php?t=24003&p=208269&viewfull=1#post208269

a_gricaj
07.05.2016, 02:18
нет это у меня, вот http://www.owen.ru/forum/showthread.php?t=24003&p=208269&viewfull=1#post208269

Могу только присоединится к фразе " У вас уровень программирования просто недосягаемый".....

capzap
07.05.2016, 07:55
Могу только присоединится к фразе " У вас уровень программирования просто недосягаемый".....

ерунда это все, во первых я пишу как можно примитивнее, во вторых пользуюсь выложенными примерами до меня, обобщая нужное под конкретную задачую.
Про команды линукс полно инфы в инете

a_gricaj
07.05.2016, 09:08
я так понял мне подходит этот кусок кода:

tak(IN:=NOT tak.Q, PT:=T#30S); //Период записи ???
IF tak.Q THEN (*пишем в файл на флешку*)
texts:=CONCAT('echo "',REAL_TO_STRING(uno));
texts:=CONCAT(texts,';`date`" >>/mnt/ufs/media/sda1/archiv.log');
SysExecute(sys_command:=texts);
END_IF;
Подскажите пожалуйста
1. /mnt/ufs/media/sda1/archiv.log - это запись на SD карточку????
2. Если архивирую несколько переменных то и файлов архивов будет по количеству переменных(например archiv.log, archiv1.log, archiv2.log, archiv3.log и т.д.)??
3.echo это просто текст подписи переменной при сборе строки????
4. SysExecute(sys_command:=texts); - эту строку я вообще не пойму - нет описания в CodeSys просто блок и ппц - это типа, значениe text (в нашем случае echo + uno(значение переменной) +дата) - будут пихатся через коммандную строку??? И что такое echo тогда??

capzap
07.05.2016, 09:59
1) путь до фешки может быть и другой, это надо смотреть на конкретном устройстве
2 и 4) texts это переменная STRING, с помощью конкатенации можно собрать строку из нескольких значений переменных, разделяя их точкой с запятой и с расширением файла csv Вы получите документ читающийся в екселе, т.к. не обязательно писать в разные файлы. Несколько файлов лучше создавать когда нужно разделять архив посуточно например.
3) команда echo "какой_то_текст" нужна для того чтобы всё что после неё записано отправилось в файл, если есть символы >>/какой_то_путь_до_файла
команда `date` именно с такими кавычками запишет в конце строки текущую дату

ЗЫ строка в конечном итоге должна быть что то вроде этого echo "36.6;`date`" >>/mnt/ufs/media/sda1/archiv.log

a_gricaj
09.05.2016, 02:21
1) путь до фешки может быть и другой, это надо смотреть на конкретном устройстве
2 и 4) texts это переменная STRING, с помощью конкатенации можно собрать строку из нескольких значений переменных, разделяя их точкой с запятой и с расширением файла csv Вы получите документ читающийся в екселе, т.к. не обязательно писать в разные файлы. Несколько файлов лучше создавать когда нужно разделять архив посуточно например.
3) команда echo "какой_то_текст" нужна для того чтобы всё что после неё записано отправилось в файл, если есть символы >>/какой_то_путь_до_файла
команда `date` именно с такими кавычками запишет в конце строки текущую дату

ЗЫ строка в конечном итоге должна быть что то вроде этого echo "36.6;`date`" >>/mnt/ufs/media/sda1/archiv.log

СПС за помощь, все получилось)))

AntoK
19.09.2016, 15:45
Внимание! Разработка данной библиотеки полностью прекращена.
В компании начата разработка новой библиотеки для архивации.
В конечном варианте библиотека будет настраиваться (конфигурироваться) через Target файл.
Первые версии библиотеки появятся через 2-3 месяца.


Товарищи, я что-то не нашел информации, а в итоге какая библиотека была разработана взамен ArchiverSPK? Судя по времени последнего редактирования первого поста - 07.02.2016, прошло уже полгода с момента анонса новой библиотеки.

Евгений Кислов
19.09.2016, 15:45
Товарищи, я что-то не нашел информации, а в итоге какая библиотека была разработана взамен ArchiverSPK? Судя по времени последнего редактирования первого поста - 07.02.2016, прошло уже полгода с момента анонса новой библиотеки.

Библиотека в процессе разработки.

Egerenok
31.01.2017, 07:36
И какая же последняя версия ArchiverSPK и где она?

Евгений Кислов
31.01.2017, 07:38
И какая же последняя версия ArchiverSPK и где она?

Последняя на данный момент версия - 3.5.5.53, доступна на сайте:
http://www.owen.ru/catalog/codesys_v3/80224381

faa2005
08.08.2017, 11:48
Еще пол года прошло. Есть ли какие подвижки?

Евгений Кислов
08.08.2017, 11:53
Еще пол года прошло. Есть ли какие подвижки?

До конца месяца выложим руководство (с примером) по работе с файлами с помощью библиотеки CAA File.
Новая библиотека архивации, насколько мне известно, пока на начальной стадии разработки. Не могу конкретизировать сроки, но по факту ее выхода мы, разумеется, опубликуем соответствующую новость на сайте и форуме.

faa2005
08.08.2017, 12:53
Хорошо. Подождем потом протестим на СПК 110 в полевых условиях..

SA104
26.08.2017, 18:36
Доброго времени.
Кто знает, подскажите, как пример модернизировать ArchivSPK107_v2.projectarchive из шапки темы,
чтобы он смешанную строку в архив писал: несколько переменных типа string и столько же типа типа int
В общем виде требуется получить что-то вроде таблицы испытаний - номер образца и запись - годен, не годен.

Евгений Кислов
26.08.2017, 20:04
Вариант со склеиванием номера и результата испытаний в строку и ее запись в архив - не подходит?

SA104
26.08.2017, 20:13
Как раз то, что надо.
Буду признателен, если наведете на ссылку, где про это почитать.

Евгений Кислов
26.08.2017, 20:32
Собственно, выглядит именно так, как звучит:

sEntry:=CONCAT(INT_TO_STRING(iNumber), sResult));

где iNumber - номер испытания, sResult - результат ('годен' или 'не годен')

Ну и sEntry уже записываете в архив с помощью библиотеки.

SA104
26.08.2017, 20:50
А если на FBD
Могу я эту склеенную sEntry подать на вход ARCH DATA FB Archiver ?
А потом запись в архив инициировать.

Евгений Кислов
26.08.2017, 21:03
На FBD отличий, в принципе, не будет. Разве что ":=" на MOVE поменять, ну и порядок размещения операторов.
На вход ArchData подается указатель на данные. Лучше посмотреть видео из первого поста темы - там поясняется, как использовать блок.

SA104
26.08.2017, 21:35
Я его смотрел, скачал даже - звука нет, а без комментариев неискушенному пользователю сложно вникнуть, что к чему.
Только там не FBD. Может где-то в другом месте. Всю тему перерыл, люди тоже пример на FBD просили, но увы..

SA104
27.08.2017, 09:03
нашел такой пример
https://fundamental-research.ru/ru/article/view?id=40167
может кому пригодится

SA104
29.08.2017, 06:13
Доброго времени.

Возможно ли как-то сделать запись в архив не циклическую по времени , а по событию.
Т.е. при наступлении какого-то события происходит запись в архив одной строки, путем добавления к предыдущим.
И еще вопрос, готово ли уже " руководство по работе с файлами с помощью библиотеки CAA File" которое планировали выложить в конце месяца.

Евгений Кислов
29.08.2017, 08:31
Доброго времени.

Возможно ли как-то сделать запись в архив не циклическую по времени , а по событию.
Т.е. при наступлении какого-то события происходит запись в архив одной строки, путем добавления к предыдущим.
И еще вопрос, готово ли уже " руководство по работе с файлами с помощью библиотеки CAA File" которое планировали выложить в конце месяца.

1. В рамках библиотеки ArchieverSPK - нет, доступна только циклическая архивация.
2. Руководство готово, вносятся последние изменения по результатам внутреннего тестирования. Как и планировали - выложим до начала следующего месяца.

syurial
23.09.2017, 21:04
Здравствуйте. При попытке скачивания 09 ArchiverSPK - "Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster

Error 404". Почему?

Евгений Кислов
23.09.2017, 22:04
Ссылка на сайте сломалась, поправим в ближайшие дни.
Вот рабочая: http://ftp.owen.ru/index.html/CoDeSys3/04_Library/02_Manual_installation/09_ArchiverSPK/3.5.4.20/ArchiverSPK_3.5.4.2.compiled-library

Alexey0027
26.09.2017, 19:19
добрый вечер. Не работает никак , все перебрал в разных вариантах, но на флэшку не пишет . Носитель библиотека видит , но не определят размер и не может его примонтировать. Дайте пожалуйста ссылку на описание вашей библиотеки. И желательно в подробностях. А то вот как что касается библиотек так хоть все плк в топку от овен. Уже устал. Проще взять контроллер и самому написать. К счастью руководство начинает одобрительно смотреть в сторону простых контроллеров.

Alexey0027
26.09.2017, 19:28
нашел такой пример
https://fundamental-research.ru/ru/article/view?id=40167
может кому пригодится

не работает , пробовал с картой 4 гига

Alexey0027
26.09.2017, 20:29
Добрый вечер , а в чем разница форматирования под виндой?

evgeni293
04.10.2017, 14:23
Ссылка на сайте сломалась, поправим в ближайшие дни.
Вот рабочая: http://ftp.owen.ru/index.html/CoDeSys3/04_Library/02_Manual_installation/09_ArchiverSPK/3.5.4.20/ArchiverSPK_3.5.4.2.compiled-library

Так же не работает. Можете выложить в облачный сервис и отправить ссылку в л/с?

Евгений Кислов
04.10.2017, 14:41
Так же не работает. Можете выложить в облачный сервис и отправить ссылку в л/с?

http://ftp.owen.ru/index.html/CoDeSys3/04_Library/02_Manual_installation/09_ArchiverSPK/3.5.4.2/ArchiverSPK_3.5.4.2.compiled-library

Serhioromano
07.12.2017, 10:33
Пожалуйста поясните следующие вопросы.

1. В чемр разница ArchivatorOwenLib и ArchiverSPK? Это альтернативы? Тогда какой в каком случае использовать?
2. Можно получить не откомпилированую библиотеку ArchiverSPK для ее доработки? Мне нужно каждый процесс сохранять в отдельный файл. Процесс длится 2-3 дня.

Вроде при использвоании ArchivatorOwenLib я могу указать имя файла, но не могу изменить формат файла и не понятно как потом работать с этим файлом, чем его открывать. ArchiverSPK, работает прекрасно, но не могу добавить заголовок, и сам давать имя файла.

Почитал статью про СПК Архивация при помощи САА Файл, шикарный материал, все понятно, но с ним придется писать свою библиотеку. А смысл тогда в ArchivatorOwenLib и ArchiverSPK если мне все равно писать свою библиотеку. Я думаю если бы был достук к файлу типа *.library то я смог бы расширить библиотеку под свои нужщы. Добавить имя файла к ArchiverSPK и заголовк в CSV. Это все что мне нужно.

Евгений Кислов
07.12.2017, 10:55
1. Основные отличия - ArchivatorOwenLib используется для чтения/записи данных в формате, совместимом ПЛК1хх. ArchiverSPK - для записи данных в формате .csv.

2. Нет, нельзя.

Обе библиотеки являются устаревшими, и в обозримом будущем будут заменены на один универсальный компонент архивации,
Возможность выбрать названия файла в нем будет, возможности добавить произвольный заголовок (например, адрес объекта) - нет.

В вашем случае проще взять пример из документа СПК. Архивация и адаптировать его под ваш архив - это не должно составить труда.

Serhioromano
07.12.2017, 11:03
возможности добавить произвольный заголовок (например, адрес объекта) - нет.

Речь о заголвке первой строки определяющей имена колонок.


В вашем случае проще взять пример из документа СПК. Архивация и адаптировать его под ваш архив - это не должно составить труда.
Это не составит проблем, но труда составит. День или 2 уйдет. Хотя мне все понятно, но с файлами я не работал еще, и скорей всего придется столкнуться с подводными камнями, пока код будет отлажен.


2. Нет, нельзя.

Если они все равно устарели и больше не разрабатываются, может можно их рассекретить? Тем более что и так понятно что там внутри если используется САА Файл.

Евгений Кислов
07.12.2017, 11:19
Заголовок первой строки, определяющий имена колонок - в новом компоненте его можно будет настроить.

Рассекречиваться ничего не будет, прошу закончить дискуссию на эту тему.

Serhioromano
07.12.2017, 16:56
А где будет объявлено о релизе новой библиотеки?

Евгений Кислов
07.12.2017, 18:20
А где будет объявлено о релизе новой библиотеки?

В этой теме:
http://www.owen.ru/forum/showthread.php?t=27332

grisha-faulty
14.12.2017, 19:16
Возможна ли архивация более 64 переменных?

Евгений Кислов
14.12.2017, 19:43
Возможна ли архивация более 64 переменных?

С помощью библиотеки ArchiverSPK - нет.
С помощью библиотеки CAA File - в принципе, возможно.

Вообще, обычно когда речь идет о таких объемах данных, архивация производится средствами SCADA-систем.