Просмотр полной версии : Библиотека архивации для СПК
Александр Приходько
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
Жду Ваших отзывов и рекомендаций!
Поработал с данной библиотекой, архивирование работает нормально, только вот не совсем удобно то, что он каждый раз дописывает один и тот же файл, а не создает вместо этого новый. Например, если в день несколько раз снимают данные то это не совсем удобно, желательно их разделить на отдельные файлы(указать число и время записи например или в конце добавлять номер записи..), чтоб была например возможность использовать макросы для построения графиков и т.д. для каждой записи отдельно.
Александр Приходько
31.10.2013, 04:17
Поработал с данной библиотекой, архивирование работает нормально, только вот не совсем удобно то, что он каждый раз дописывает один и тот же файл, а не создает вместо этого новый. Например, если в день несколько раз снимают данные то это не совсем удобно, желательно их разделить на отдельные файлы(указать число и время записи например или в конце добавлять номер записи..), чтоб была например возможность использовать макросы для построения графиков и т.д. для каждой записи отдельно.
Спасибо, возьму на заметку.
Думаю алгоритм в данном случае простой. Через подчеркивание добавляется число 3-4 знака не более - номер файла.
При каждом пуске номер увеличивается.
Возможно это надо делать опцией.
Где ссылка на 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
минимальный таймаут архивации какой можно сделать?
Здравствуйте, уважаемые, не побоюсь этого слова, коллеги.
Возникла необходимость вести журнал аварийных событий с записью на SD и последующим выводом на визуализацию при нажатии на соответствующую кнопку "Журнал".
Информация должна содержать дату, время события, строковую переменную наименования события и состояние или значение измеренного в момент аварии параметра.
Кто-нибудь может подсказать как можно это реализовать?
Мурат Ахриев
12.02.2014, 11:26
Простого решения нет, реализовать можно, но нужно уметь не плохо программировать.
Почитайте http://www.owen.ru/forum/showthread.php?t=15072, тут велось обсуждение подобной задачи.
Спасибо, Мурат, посмотрю.
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. Добавлена индикация записи на носитель.
Релиз новой версии в течении мая.
Возможно это уже есть, пока еще руки не дошли изучить эту библиотеку. Но запись нужна не столько по времени сколько по фронту булевой переменной. Если процесс цикличный то в конце каждого цикла кидаем в файл результат. Или при появлении ошибки записываем основные параметры. Извините если это уже реализовано.
Мурат Ахриев
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 карту выните, то дальше работать с ней не сможете до перезагрузки.
Начали доработку данной библиотеки.
Релиз новой версии в течении мая.Раз уж планируется все данные сначала в буфер писать, то наверно логично будет все переменные в одну строку писать, которые на тот момент времени, в соответствии с их периодичностью, должны быть записаны. А то получается мне надо момент окончания цикла записывать, т.е. я не буду использовать встроенный таймер, а писать буду по тригеру. Как-то странно в таком варианте смотрятся итоговые данные (переменные) каждая в своей строке.
И еще вопрос: возможно будет использовать эту библиотеку для мониторинга состояния носителей, возможно для копирования, если я запись на них буду делать самостоятельно через 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 недели релиза не будет.
Добрый день, в процессе архивации данных, визуализации на СПК207.web начинают сильно подвисать в не зависимости от установленного времени таймаута и количества архивируемых переменных. Что можно с этим сделать?? Можно ли включать функцию не в каждом цикле программы, а например в 1 из 50?
Попробовал так:
IF NOT(UINT_TO_BOOL(busy MOD 50)) THEN
My_ARCH(...)
END_IF
busy:=busy+1;
Отклик на нажатия вроде улучшился...
Непойму как работать с архивацией, мне в табличку архива необходимо записывать 2 переменные REAL ну и 3я колонка будет дата архивации. Как в архив подставить свои переменные?
Чёкнутый Рысь
29.09.2014, 16:39
А может стоит дать сырую библиотеку народу по-тестировать? С последующим описанием всех встреченных трудностей, само-собой!
Чёкнутый Рысь
29.09.2014, 16:40
А вот если сам написал, то можешь поделиться с коллегами?
может скинеш исходники библиотеки
попробуем дописать
Вообще я себе свою написал. По мере написания тоже постоянно хотелось из чужой своять. Но сейчас я понимаю, что хорошо, что я ее с нуля написал. Появилось полное понимание что там для чего и где узкие места. Так что если готовы дописать, то рекомендую с нуля написать. Там не так много когда на самом деле. Надо только CAA File изучить.
Чёкнутый Рысь
13.10.2014, 16:40
Можете поделиться материалами, коими пользовался для разработки библиотеки? А то как-то даже не знаю с какого краю укусить.
http://www.owen.ru/forum/showthread.php?t=17003&p=134564&viewfull=1#post134564 приглядитесь к проекту, то место где с помощью бибки SysExec выполняется команда mount...
только вместо этой команды посылайте строку с нужными для сохранения параметрами, например echo "36.6 25.5 `date`" >> archiv.log ну естественно путь к файлу еще
Подскажите пожалуйста, как сделать что бы строка в архиве создавалась по событию?
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. Заранее спасибо!
Смените бибку на предыдущую версию
Скажите пожалуйста, доработали ли библиотеки по архивированию?
Чтобы архивировать, а потом считывать в самой же панели, для построения графика. Очень хочу разобраться.
Где можно скачивать последние версии библиотек?
И где можно скачать пример "вытаскивание данных из архива"?
И где можно скачать пример "вытаскивание данных из архива"?
Так может просто использовать SysFile, сами пишите сами читаете, разницы то ни какой по сравнению с другими, это же просто оболочки
Чёкнутый Рысь
25.10.2014, 00:32
А примерчиком не поделитесь?
что подразумеваете под примерчиком, я должен сесть и придумать проект,который бы Вас удовлетворил, так потрудились бы задачу описать. читайте документацию или пользуйтесь тем что есть, вот напнимер -можно из этого что то подчерпнуть www.owen.ru/forum/showthread.php?t=17003&p=141820&viewfull=1#post141820
Чёкнутый Рысь
28.10.2014, 13:23
Надо сделать архивирование на флешке по внешнему сигналу параметр+ время с возможностью чтения панелью этих значений. Я сам бы сделал, но я не знаю как. Указанный пример посмотрел, но как-то не очень помогло.
Я сам бы сделал, но я не знаю как. Указанный пример посмотрел, но как-то не очень помогло.
Так а когда учится то начнете? Сколько готовы выложить чтоб за Вас работали
ЗЫ сразу предупреждаю, пример с грубыми ошибками, уж с этим то разберетесь
Чёкнутый Рысь
28.10.2014, 14:58
Учиться готовы. За пример благодарю, постараюсь разобраться.
Вот вам на 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? ФБ из библиотеки? Если да, то где её добыть?
на сайте овен бибка которую я использовал, как добавлять библиотеки нужно объяснять?
Чёкнутый Рысь
29.10.2014, 12: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, и приступим пилить библиотеки.
Да, есть много хотелок по этой библиотеки. Сейчас закончим Шаблоны МХ110, и приступим пилить библиотеки.
буквально сегодня ночью разбирался с проблемой, оказалось что вовсе это и не проблема. Ваши конкуренты во внутреннюю память архивы просто так не пишут, какое бы время записи небыло, ждут пока данных не накопится 4кб и только тогда делают запись в физическую память, естественно при отключениях питания из оперативки данные не теряются, причем сохраняются не в архив а в ретайн ипосле восстановления вновь ожидают пока не накопится размер до стандартного кластера FAT. Так как у меня были вялотекущие процессы архив долго "не двигался с места", а я долго не мог понять почему у меня не ведется архив, оказалось рациональное использование пространства влияет
А есть пример или пояснение, как, всё-таки, добавить запись в архив списка аварий? Как в "таблица тревог" с названием и временем формирования аварии.
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;
Архив кстати пишется, но только там одни нули.. ((
Всё разобрался)) Можно не отвечать на данное сообщение)
Всем привет! Использовал данную библиотеку. Записываю три переменные с адресов 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:=...;" вписать слово? Поддерживает ли библиотека такое?
А вот теперь еще возник вопрос... Можно ли записывать вместо переменной слово, например "Обрыв" при выполнении определенного условия? Как, допустим, сюда "ARCH_DATA[2].pPB:=...;" вписать слово? Поддерживает ли библиотека такое?Пишите в формате STRING и формируйте его сами в зависимости от состояния датчика или цифры или текст ОБРЫВ и т.д.
Трофимов Артем
12.12.2014, 09:25
Вам в любом случае нужна переменная String , куда будете писать обрыв и т.д.
присвоение происходит указателю через ADR. кодесис будет гневно ругаться на ссылку на адресное пространство значения, а не переменной ( типо ADR('обрыв')).
Если выставить 0, то он должен работать с максимально возможной скоростью.
Александр, скажите пожалуйста. Такое дело:
1. Один архив записывает данные.
2. второй архив записывает STRING сообщения событий, т.е. журнал всех действий, которые произвел оператор.
ВОПРОС: Как поменять имя архива??? Ну чтобы архивы были разные...
Кто подскажет, можно-ли открыть архив на СПК каким-либо образом для просмотра?
GoodLuck
26.12.2014, 23:12
Кто подскажет, можно-ли открыть архив на СПК каким-либо образом для просмотра?
Смотрите п.6
http://www.owen.ru/catalog/sreda_programmirovaniya_codesys_v3/19944443
GoodLuck, Вы наверное несовсем правильно меня поняли... Для архивирования я пользуюсь библиотекой Archiverspk_3.5.3.53, архивные данные пишутся на указанное устройство, с которого в дальнейшем архив можно посмотреть на ПК... Можно-ли открыть архив для просмотра на СПК? Если я что-то по ссылке упустил - ткните пжлста точнее.
GoodLuck
27.12.2014, 00:45
В принципе, нет ничего невозможного. Для чтения файлов можно, например, использовать библиотеку CAA_FILE.
Никогда не пользовался этой библиотекой, не могу найти нормального описания, если можно в двух словах как и чем она тут поможет... Шапку в archiverSPK так похоже и не реализовали?
Мурат Ахриев
27.12.2014, 09:44
Описание на библиотеку CAA_File есть в справке по f1, также в справке есть пример использования.
Спасибо, Мурат! Шапку архива в библиотеке archiverSPK так и не реализовали?
Мурат Ахриев
27.12.2014, 13:22
Пока не реализовано. В планах объединение имеющихся библиотек архивации в одну. Учтем пожелание при разработке.
Пока не реализовано. В планах объединение имеющихся библиотек архивации в одну. Учтем пожелание при разработке.
Приблизительно когда будет готов Архиватор со всеми нюансами? Ждем с большой надеждой!
Эдуард_Н
07.01.2015, 05:52
Нужно описание работы с библиотекой в текстовом виде как у других библиотек.
И кто ни будь, пожалуйста помогите, выложите небольшой действующий пример по архивированию, желательно на языке CFC, данных с 2-ух, 3-ёх аналоговых датчиков и несколько дискретных сигналов.
Коллеги, добрый день!
Не знаю, может быть уже кто-то писал о следующем нюансе. У меня оказался плохим адаптер SD-карточки, и когда я пытался на нее писать, то функциональный блок не обработал эту ошибку, а СПК107 вывалился в "Программа загружена-ИСКЛЮЧЕНИЕ". Может это касается и работы с USB Flash, нечем было проверить.
Хотелось бы, чтобы такие ситуации обрабатывались программно, без ухода СПК в исключение
Здравствуйте.
Помогите советом пожалуйста.
Намечается установка 4 СПК, на четырех идентичных шкафах управления. Есть необходимость архивирования на каждом СПК. Насколько я понимаю при копировании с СД-карты на флеш надо будет после каждого СПК сбрасывать на комп, а потом копировать архив со следующего СПК, иначе предыдущий будет стираться на флешке последующим? Копировать каждый раз на комп очень проблематично.
Как быть? Есть ли возможность как-то изменить название папки в которую копируется на СД-карту?
Александр Приходько
10.02.2015, 02:20
Здравствуйте.
Помогите советом пожалуйста.
Намечается установка 4 СПК, на четырех идентичных шкафах управления. Есть необходимость архивирования на каждом СПК. Насколько я понимаю при копировании с СД-карты на флеш надо будет после каждого СПК сбрасывать на комп, а потом копировать архив со следующего СПК, иначе предыдущий будет стираться на флешке последующим? Копировать каждый раз на комп очень проблематично.
Как быть? Есть ли возможность как-то изменить название папки в которую копируется на СД-карту?
Вы можете написать свой собственный алгоритм архивирования.
Подскажите пожалуйста:
сд карта - 128 МБ, свободного места - 119 МБ, копирование на флешку длится минут 5, во время копирования нет связи по компору (светодиод не моргает).
Это нормально?
Сколько же будет длиться копирование при заполнении сд карты?
Подскажите, каким образом пишутся архивы - как на МСД - один день - один файл и по каталогам раскладываются? Когда место закончится - будут старые затираться?
Можно вести отдельный файл, в котором будут раз в сутки писаться данные?
Посмотрите на библиотеку CAA File и пишите с ее помощью что вам надо и как вам надо. А библиотека архивации - это всего лишь один пример реализации и там нет гибких настроек. В частности обрезания архива и записи в один файл. Писать все в один файл я бы вообще не советовал - могут быть проблемы при пропадании питания в момент записи.
а я получаю в процессе работы СПК110 массив данных 2х150 real
его, наверное, надо сохранять в файл КАК?????????????????
и потом хочу воспользоваться данной программой для записи на флэшку
вопрос - где к этой программе подключать файл???????????????
Эта библиотека и вам не поможет. Читайте постом выше что делать.
попробовал запустить этот проект(без изменений)- он при записи на флэшку через 1 сек прекращает работать программа- типа выгружается из режима "работа".,на флэшке ничего не добавляется
пишет в файл числа от 1 до 63(exel), но мне надо одну строку в результате получить , а программа пишет в файл 5 и более строк.
какую переменную надо контролировать, чтобы в файл exel попадала только одна строка?
т.е. как останавливать копирование или архивирование в нужный момент?
хоть бы к программе было какое-нибудь руководство по эксплуатации программы!!!
буду читать эту тему всю , но не знаю , найду ли что нужное мне!
пишет в файл числа от 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 .
Если надо чтобы работало как надо - надо алгоритм самостоятельно реализовывать , а не надеятся на ... скажем так ... странные програмные вещи от производителя .
Хотя могу и ошибаться и может эти бибки и классные , но ... сам ими не пользуюсь.
пишет в файл числа от 1 до 63(exel), но мне надо одну строку в результате получить , а программа пишет в файл 5 и более строк одинаковых.
какую переменную надо контролировать, чтобы в файл exel попадала только одна строка?
т.е. как останавливать копирование или архивирование в нужный момент?
хоть бы к программе было какое-нибудь руководство по эксплуатации программы!!!
буду читать эту тему всю , но не знаю , найду ли что нужное мне!
программа лупит без остановки и повторяет копирование( или архивирование?)
http://www.owen.ru/forum/showthread.php?t=12816&p=84866&viewfull=1#post84866
Ваш пример кода не открывается
Ваш пример кода не открывается
Ваш пример кода не открывается
а что должно открываться?
в проект добавляете библиотеку, при наступлении события запускаете приведенную функцию, добавив к самому файлу путь до флешки и всё, файл будет заполнятся данными
http://www.owen.ru/forum/showthread.php?t=17003&p=134564&viewfull=1#post134564 вот здесь вроде тоже имеет место быть использование чудо-библиотеки, а в СПК однозначно она есть, даже более новая, она умеет не только записывать а и вычитывать вывод в консоль. ГЛАВНОЕ знать команды линукса, чтоб выполнить ту или иную задачу
это моя реплика на вышестоящий пример
а у меня на сегодня КОПИРУЕТСЯ ТОЛЬКО ОДИН столбец из 63 данных массива 8х63
если перехожу на копирование другого столбца arr_out
то в файл exel копируется только последний (второй) столбец
НЕ получается остановить копирование программно после первого столбца
МНЕ НАДО создавать файл EXEL в СПК110
если ставлю условия сигнализации конца цикла копир. столбца, то программа вообще не копирует в файл
как выкл arch_start после коприрования 63 элементов????
Вам уже и так весьма прозрачно намекают что эта библиотека не лучший вариант для этой задачи, если вообще вариант. Используйте команду Linux или библиотеку CAA File.
Возникли ошибки при компиляции. Работаю с библиотекой ArchiverSPK. Примечательно, что проект, в котором присутствует только один архиватор, не выдает ошибок. Все библиотеки добавлены. Не пойму, из-за чего ошибки.
Коллеги, нельзя ли все-таки (для новичков и поклонников CFC) опубликовать пример работы с библиотекой на CFC? Не только от меня были такие просьбы. Читал, что профи советуют "изучить ST для работы с архивацией", что "CFC не подходит для этих задач" итд. Я новичок, не профи, проект у меня один и личный (отопление частного дома). Разобрался с визуализацией, подключением М*110, датчиков температуры, давления, но с архивацией на флешку СПК107 никак не получается. Пытался с Get-Write-data - не получилось до конца. Перекинулся на эту библиотеку - тестовый пример работает, но он на ST. Ну не изучать же ST для этой небольшой задачи! Входы-выходы ФБ в общем понятны, кроме входа Arch_data. Очень нужен живой пример на CFC с архивированием 2-3-переменных.
Поверьте, CFC ближе радиолюбителям, схемотехникам - а их не мало. Хочется в этот отопительный сезон войти на новом оборудовании Owen. ;)
Возникли ошибки при компиляции. Работаю с библиотекой ArchiverSPK. Примечательно, что проект, в котором присутствует только один архиватор, не выдает ошибок. Все библиотеки добавлены. Не пойму, из-за чего ошибки.
а ни чего что вместо Вашего выделения, присмотревшись к желтым кругляшкам мы прочитаем какие библиотеки не установленны для правильной работы
Приветствую!
Пытаюсь архивировать дискретные значения (около 160 булевых переменных), пока безуспешно.
Подскажите, как правильно это реализовать? В функционале библиотеки нет typeBOOL или что-то вроде того. WORD не устраивает, нужно писать "1" или "0". Это вообще возможно?
GoodLuck
12.01.2016, 09:27
Приветствую!
Пытаюсь архивировать дискретные значения (около 160 булевых переменных), пока безуспешно.
Подскажите, как правильно это реализовать? В функционале библиотеки нет typeBOOL или что-то вроде того. WORD не устраивает, нужно писать "1" или "0". Это вообще возможно?
Можно же записывать 1 или 0 как STRING.
Приветствую!
Пытаюсь архивировать дискретные значения (около 160 булевых переменных), пока безуспешно.
Подскажите, как правильно это реализовать? В функционале библиотеки нет typeBOOL или что-то вроде того. WORD не устраивает, нужно писать "1" или "0". Это вообще возможно?в чем подвох, 160 булевых это 10 слов,типа WORD
в чем подвох, 160 булевых это 10 слов,типа WORD
в том, что я хочу видеть 160 (+1 со временем) столбцов с "0" и "1"
с типом данных проблем нет, сконвертил, но темперь другая проблема: библиотека не позволяет архивировать более 64 переменных
GoodLuck
12.01.2016, 13:07
в том, что я хочу видеть 160 (+1 со временем) столбцов с "0" и "1"
с типом данных проблем нет, сконвертил, но темперь другая проблема: библиотека не позволяет архивировать более 64 переменных
Сначала соберите все значение в одну переменную типа STRING. В вашем случае она получится длиной 160 символов.
Если надо еще и пробелы делать между 0 и 1, тогда получится две переменных.
мОжет кто-нибудь поделиться небольшим примером работы с CAA FILE? в частности интересует чтение данных из файла. желательно с комментариями. справку смотрел, и, честно признаться, не совсем понял что к чему.
это мне нужно для вывода исторических данных с флешки. заранее спасибо.
и ище, здесь прочитал, что рассинхрон устранен, однако не похоже (см файл). или может кто подскажет, в чем может быть проблема?
GoodLuck
12.01.2016, 20:32
Что вы имеете ввиду под словом "рассинхрон"?
Что вы имеете ввиду под словом "рассинхрон"?
в файле обратите внимание, что данные в какой-то момент идут не по порядку:
сначала нормально, каждые 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 сек.
с 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), насколько я понял это пример из буржуйского хэлпа. Кто может объяснить для чего, в каком порядке и как это работает.
Если у вас есть немного свободного времени, могу позвонить, пообщаемся устно. Пишите в личку.
С другой стороны нужно БЫ сейчас это внедрить на производстве уже вчера
не раз приводил пример как архивировать данные в любом формате через 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 предупреждений
аналогичная ситуация, что делать???
ну первое что в голову приходит, это вопрос добавлена ли бибка SysDir и нет ли возле неё желтого треугольника или что там появляется если есть несоответствие версий
a_gricaj
06.05.2016, 13:57
ну первое что в голову приходит, это вопрос добавлена ли бибка SysDir и нет ли возле неё желтого треугольника или что там появляется если есть несоответствие версий
Добавлена вроде, вот:
24324
это скачанный пример не компилируется
наверное когда открывали пример первый раз, то согласились на обновление библиотек до последней версии, просто сам архиватор на SP3 делан, а системная бибка почему то уже от SP8
a_gricaj
06.05.2016, 18:04
СПС, работает, а подскажите еще как стереть файл архива с СПК....
СПС, работает, а подскажите еще как стереть файл архива с СПК....
как обычно, через бибку execute выполнить команду линукс rm, только очень осторожно чтоб не снести всё :)
a_gricaj
06.05.2016, 20:04
как обычно, через бибку execute выполнить команду линукс rm, только очень осторожно чтоб не снести всё :)
С этим архивированием панель начала тупить сильно - подскажите пожалуйста как это побороть...
А по execute - библиотеку добавил, а дальше, что делать не знаю......
вот здесь я веду архив 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 посте нет ничего о архиве....
Или я уже перегрелся или хз, но в 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
Могу только присоединится к фразе " У вас уровень программирования просто недосягаемый".....
Могу только присоединится к фразе " У вас уровень программирования просто недосягаемый".....
ерунда это все, во первых я пишу как можно примитивнее, во вторых пользуюсь выложенными примерами до меня, обобщая нужное под конкретную задачую.
Про команды линукс полно инфы в инете
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 тогда??
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
СПС за помощь, все получилось)))
Внимание! Разработка данной библиотеки полностью прекращена.
В компании начата разработка новой библиотеки для архивации.
В конечном варианте библиотека будет настраиваться (конфигурироваться) через 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
Еще пол года прошло. Есть ли какие подвижки?
Евгений Кислов
08.08.2017, 11:53
Еще пол года прошло. Есть ли какие подвижки?
До конца месяца выложим руководство (с примером) по работе с файлами с помощью библиотеки CAA File.
Новая библиотека архивации, насколько мне известно, пока на начальной стадии разработки. Не могу конкретизировать сроки, но по факту ее выхода мы, разумеется, опубликуем соответствующую новость на сайте и форуме.
Хорошо. Подождем потом протестим на СПК 110 в полевых условиях..
Доброго времени.
Кто знает, подскажите, как пример модернизировать ArchivSPK107_v2.projectarchive из шапки темы,
чтобы он смешанную строку в архив писал: несколько переменных типа string и столько же типа типа int
В общем виде требуется получить что-то вроде таблицы испытаний - номер образца и запись - годен, не годен.
Евгений Кислов
26.08.2017, 20:04
Вариант со склеиванием номера и результата испытаний в строку и ее запись в архив - не подходит?
Как раз то, что надо.
Буду признателен, если наведете на ссылку, где про это почитать.
Евгений Кислов
26.08.2017, 20:32
Собственно, выглядит именно так, как звучит:
sEntry:=CONCAT(INT_TO_STRING(iNumber), sResult));
где iNumber - номер испытания, sResult - результат ('годен' или 'не годен')
Ну и sEntry уже записываете в архив с помощью библиотеки.
А если на FBD
Могу я эту склеенную sEntry подать на вход ARCH DATA FB Archiver ?
А потом запись в архив инициировать.
Евгений Кислов
26.08.2017, 21:03
На FBD отличий, в принципе, не будет. Разве что ":=" на MOVE поменять, ну и порядок размещения операторов.
На вход ArchData подается указатель на данные. Лучше посмотреть видео из первого поста темы - там поясняется, как использовать блок.
Я его смотрел, скачал даже - звука нет, а без комментариев неискушенному пользователю сложно вникнуть, что к чему.
Только там не FBD. Может где-то в другом месте. Всю тему перерыл, люди тоже пример на FBD просили, но увы..
нашел такой пример
https://fundamental-research.ru/ru/article/view?id=40167
может кому пригодится
Доброго времени.
Возможно ли как-то сделать запись в архив не циклическую по времени , а по событию.
Т.е. при наступлении какого-то события происходит запись в архив одной строки, путем добавления к предыдущим.
И еще вопрос, готово ли уже " руководство по работе с файлами с помощью библиотеки CAA File" которое планировали выложить в конце месяца.
Евгений Кислов
29.08.2017, 08:31
Доброго времени.
Возможно ли как-то сделать запись в архив не циклическую по времени , а по событию.
Т.е. при наступлении какого-то события происходит запись в архив одной строки, путем добавления к предыдущим.
И еще вопрос, готово ли уже " руководство по работе с файлами с помощью библиотеки CAA File" которое планировали выложить в конце месяца.
1. В рамках библиотеки ArchieverSPK - нет, доступна только циклическая архивация.
2. Руководство готово, вносятся последние изменения по результатам внутреннего тестирования. Как и планировали - выложим до начала следующего месяца.
Здравствуйте. При попытке скачивания 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-систем.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot