Спасибо - все работает.
Вид для печати
Спасибо - все работает.
Жень, вопрос из прошлого года, сейчас архив суточный каждый божий день приходится читать через Excel (без графиков к сожалению никак), была надежда, что в перспективе программа от МСД200 тоже сможет читать эти текстовые файлы. Сам я пока ничего не сделал, все как у людей, нет времени на крупные дела т.к. начальство заставило заниматься ерундой.
Вопрос - планы еще есть или функция мало востребована и естественно не в приоритете. :) Задолбался я в Excel вставлять удалять и ждать пока он решит показать значение под курсором. Других адекватных решений со скроллингом не нашел.
Есть у меня варианты, если что пущу всю свою энергию туда, а это будет резервный архив :))))) Буду видеографический регистратор требовать, выпрашивать, ныть, угрожать и т.д....
Проверил, пока никак. График ОВЕН (последний) ругается на неправильную структуру.
Формат архива, совместимого с МСД200 - запланирован к разработке.
Неожиданный сюрприз, пару месяцев шло архивирование, ограничение размера архива установлено 20 Мб, намотал он 27 Мб с копейками без каких либо ошибок и неожиданно встал.... Обнаружилось через сутки, при просмотре снятого архива. Что интересно после перезагрузки СПК110 на SD карте (там формируется и храниться архив) появился архивный файл ArhUSPS_old.csv (так и должно было быть) с записью до момента сбоя и появился новый ArhUSPS.csv со значениями уже после перезагрузки, почти сутки выпали.
Посмотрим что будет через пару месяцев при новом заполнении. Сейчас не могу даже найти время для "поковыряться".
Почему то не отработало штатно. Пока рекомендую контролировать размер архивного файла и до того как "трах тибидох" с переполнением произойдет "ручками" на карте делать новый файл, а старый сохранять под новым именем. В смысле наоборот, ну Вы поняли, старый сохранять потом новый делать и пихать SD обратно в СПК.
Добрый день.
Спасибо за обращение.
Я проверю. Пришлите, пожалуйста, проект (projectarchive) на support@owen.ru с пометкой "Для Осинского Алексея".
Несколько вопросов, чтобы мне было проще воспроизвести ситуацию:
Все пару месяцев СПК работал непрерывно (не выключался)?
После того, как "встал" никаких ошибок не было?
А до перезагрузки его там не было? Или не смотрели?
Архив просматривается каждые сутки? SD-карта извлекается корректно? (Остановили архивацию -> Дождались подтверждения от архиватора -> Извлекли SD-карту через функционал таргет-файла -> Получили подтверждение -> Извлекли физически).
Или просто физически извлекаете SD-карту без этого процесса?
Извиняюсь, был занят. Алексей, я все отписал на почту.
Сейчас я все основательно проверю сначала у себя, с "краш тестами" :), сейчас архивирование идет как ни в чем не бывало.
Буду мучать СПК110 по полной. Обязательно отпишусь. Потребуется время конечно на несколько циклов проверок. По результатам посмотрим. Тем более хочется СПК с 3 RS485 и юзернетом......, но думаю спалить USB контролер на СПК110 только коротким по питанию удасться.
К стати, а нельзя по окончании записи архива с SD на USB автоматом размонтировать USB флеш, а монтирование USB флеш наоборот только по команде??? Так дельнее будет.
Еще раз, СПК110 работал и продолжает работать без сбоев, единственный сбой архивирования проверяется :)
Может подскажете, если сделать посуточный архив то как копировать с SD на USB эти папки. Может мне этот вариант применить? Копировать предыдущий и текущий день и все. Без ограничений размеров архива на SD.
Добрый день.
Дело в том, что архиватор не единственный, кто может писать на внешний накопитель и при попытке размонтировать по окончанию работы архиватора может произойти 3 вещи:
1) накопитель не размонтируется т.к. занят кем-то еще;
2) накопитель размонтируется и все остальные не смогут продолжить работу;
3) накопитель размонтируется, и в его расположении (например /mnt/ufs/media/sda1) образуется RAM-диск и все, кто работали с FLASH-накопителем так и не узнают о том, что накопителя уже нет.
Именно поэтому перед размонтированием нужно удостовериться, что на накопитель не идет запись.
Я предполагаю, что причиной пропажи части архива в Вашем случае стал №3.
Самым простым вариантом будет скопировать директорию архива при помощи команд Linux (выполнить их из CODESYS можно при помощи функционала библиотеки CmpSysExec).
Например, для полного копирования содержимого SD-карты (путь к ней /mnt/ufs/media/mmcblk0p1) на USB-Flash (путь /mnt/ufs/media/sda1) необходимо будет выполнить команду
Либо можно скопировать файлы (сгенерировав их имена из текущей даты) при помощи ФБ Copy библиотеки CAA File.Код:cp -R /mnt/ufs/media/mmcblk0p1 /mnt/ufs/media/sda1
Но это будет "костылем".
Я все же предлагаю совместно найти причины пропажи части архива, и устранить их.
Письмо Ваше получил, спасибо за развернутое описание. Пробую повторить.
Про накопитель понятно, непонятно зачем пихать на USB пользователю или СПК еще что либо при наличии SD. В смысле при работе на объектах конечно.
Это не каприз. Когда я прихожу на участок (или не я, тем более) в кармане только флешка. Linux это где то в другой галлактике, ну как минимуум в Африке. Скаде на ПК я не верю, полюбому более слабое звено.
Любой знающий как играть в "косынку" должен без проблем снять архив, задача такая, при этом запись должна идти постоянно (опасный производственный обьект по версии ростехнадзора).
Так же реализовывался ввод уставок с панели СПК (резервный вариант) и-или из Скады в любом сочетании (отказ ПК со скадой возможен, а блокировка работы участка преступление), сделали же :-), Жень Кислов, спасибо еще раз. Сейчас решаю ввод значения с запятой со стороны СПК.
По возможному останову архивирования из-за "кривых рук", не хотел, но после окончания проекта буду ограничивать доступ "детей из КИПиА" к изменению параметров, пока так пугалку поставил.
Божатся что не трогали, значит все таки №3..
Тема интересная, пробуем тестим. Может мэтры подтянутся, поделятся опытом.
Просто, чтобы исключить возможное недопонимание:
обратите внимание, что я предлагал выполнять команды Linux из программы на CODESYS (не предполагая любого другого доступа к ПЛК) как более простой способ скопировать директорию т.к. стандартного функционала для копирования директорий с содержимым CODESYS нет (на сколько мне известно) и его пришлось бы изобретать самостоятельно.
Это понятно.
Дописываю новый вариант программы и буду все это дело испытывать.
Сбой архива как выяснилось действительно вариант №3. КИПовцы не виноваты, не в этот раз :)
Аппаратчик ночью решил подключить USB флеш к ПК со Скадой. Пока на передней панели торчат в гермовводе два входа от шнурков идущих к СПК и ПК, мне это нужно для работы. ПК не запаролен (не успел грамотно сконфигурировать чтобы под пользователем при перезагрузке автоматом запускалась визуализация Скады) и новоявленный юзер напихал USB флеш во все "Дырки" :(. Win7 сдала его с потрохами.
Запись на SD продолжилась, а вот примонтировать USB флеш в 8.00 не вышло. Далее повторная попытка в 10.00 и уже я сам понатыкал чего не надо - размонтировал из программы SD карту соответственно архив встал....
Сейчас дописываю код под датчики переполнения резервуаров и разнесу и обозначу входа на передней панели шкафа. Скорее всего вход шнурка от СПК под пломбу. Плюсом разьяснительная беседа с персоналом.
Извините что пишу много, крупное кроется в мелочах, система должна работать без сбоев.
Конечно отпишу, добавлю архивируемых параметров, частоту записи и уменьшу размер. Примерно чтобы каждый час переполнялся.
Что сделал. Записки эксплуататора.
1. Вписал имя архива, ID флешки USB и SD в дефолт, при перезагрузках СПК ненужно по новой выбирать откуда куда копировать. Это более чем логично при ежедневном снятии архива. см. фото.
2. При корректном извлечении SD можно вынимать, после возвращения в СПК продолжается запись в архив (просто пока нет SD нет новых данных в текстовом файле) и это здорово товарищи! Плюсом при всех заливках в СПК с USB флеш новой программы в записи появлялись строки с нулями и после загрузки СПК архив продолжал писаться корректно. Двойным плюсом после успешного падения СПК по причине неправильного загиба рук и успешного восстановления прошивки сразу после заливки программы архив пошел дописываться, звезда в шоке... см. фото
3. Переполнение архива отрабатывается корректно, предыдущий скидывается в "имя_архива"_old.csv но нужно сделать чтобы предыдущие архивы не затирались, пока не знаю как.
4. Подключение к СПК на лицевой стороне щита защитил убрав USB разьем из рабочей зоны на периферию и все это под камеру наблюдения.
5. Чудеса закончились. :-)
С дерганьем USB пока еще не баловался. Ненужные мне визуализации из блока архивирования убрал, частично порезал просмотр каталогов, работу с бинарными и строковыми данными, но осторожно, крашится на раз и два, сохраняться приходится постоянно меняя имя проекта, иначе можно потерять все.
Здравствуйте Алексей, мне нравится оборудование ОВЕН, я имею возможность эксплуатировать его и в хвост и в гриву, соответственно я пытаюсь описать те моменты которые производитель не может учесть и испытать, не всякая эксплуатационная потребность очевидна, а также описать трудные моменты с которыми сталкивается пользователь.
Поэтому к сожалению много флуда от меня, ну а шо делать?
Как я снимаю архив:
- прихожу на участок примерно 7.30 - 8.05, проверяю соблюдение дисциплины (трудовой, производственной и т.д. и т.п.) минуты за три;
- сутки у нас считаются с 8.00 до 8.00, соответственно чтобы рассчитать суточный расход я снимаю с СПК110 архив;
сейчас это так: вставил флешь, перешел на главный экран, кликнул снять, кликнул извлечь, вернулся на информационно-развлекательный экран.
т.е. никаких вводов названия файлов, архив берется как есть, докуда записан. Единственное НО, может "выпасть" часть при переполнении размера в _old и придется вынимать SD.
Про каждый день, неплохо, но я еще не разбирался, нужно перекроить сутки на наш манер и не ясно как снимать архив, к примеру нужно за 3 дня (после выходных).
В перспективе - новый СПК110 с Юзернетом и не доконца использованы возможности скады работающей в паре с СПК110.
Сейчас я по техминимуму ввел АСУТП в пуско-наладочные и правлю программу, визуализирую все предупреждения и отработку защит. Архив работоспособен сейчас, обязательно заниматься буду, но безопасность в приоритете.
Флешку из СПК дергал вчера, но это его "родная", архив устоял. Сейчас другую подсуну раз 10 с NTFS посмотрим что будет. Надеюсь порт выдержит.
По мере поступления информации буду отписывать.
Все ОК.
Мне, как разработчику, архиватора обратная связь очень полезна.
В таком случае структура файлов не совсем подходит.
У нас создание нового файла происходит в 00:00.
Т.е. с утра Вам придется копировать 2 файла: за предыдущий день и за текущий день. Что не будет удобно.
Я подумаю, возможно, в будущих версиях введем настройку, отвечающую за то, во сколько происходит смена суток.
При разработке не предусматривался такой сценарий использования.
Возможно, стоит предусмотреть возможность получить имя архива за текущий и предыдущий дни?
Возможно стоит в настройках увеличить максимальный размер архива, чтобы не было ситуаций, когда за сутки появляется 2 файла?
Или при копировании сразу копировать оба файла: и стандартный и _old?
Когда будет нужно - обращайтесь, я почти каждый день здесь.
В точку, когда архив переполнился (вижу по маленькому размеру нового архива) я просто считываю текущий архив, потом добавляю к названию _old и считываю предыдущий. Далее либо убрать _old чтобы завтра считать новый архив, либо для неопытных просто перезагрузить СПК110.
По размеру - больше 10 Мб уже возрастает время снятия архива до неприемлемого. 20 Мб снимал ваапще долго (по моим меркам :-))))
Сейчас все работает стабильно.
Я смотрю в сторону возможности выбрать нужный файл для копирования из меню просмотра содержимого SD. Меню просмотра есть, но можно только посмотреть......
Добрый день.
Вопрос по монтированию флэшки с целью создания архива на СПК110.
Размонтировать флэшку я могу, используя канал USB Unmount узла Drives.
А как грамотно смонтировать флэшку?
Добрый вечер. Осваиваю архиватор. Пишу 6 переменных типа WSTRING и одну переменную типа REAL. Екселевский формат. В строковых переменных-слова, введенные с русско-английской клавиатуры на русском языке. Наименования столбцов также на русском языке. Файл архива создается, переменные пишутся. Но не смог подобрать кодировку при открытия файла: Наименования столбцов отображаются верно, а переменные-крякозябрами. Какую кодировку надо выбирать в екселе, или каким образом настроить архиватор, чтобы архивируемые переменные были на русском языке? Контроллер 107 новой редакции.
Добрый день.
Я правильно понял, что Вы переменную типа WSTRING привязали к модулю переменной "STRING variable"?
Вложение 41560
Если так, то не сработает: значение в переменной WSTRING кодируется двумя байтами, а переменная STRING - одним байтом.
Конвертируйте WSTRING в STRING при помощи функции UNICODE_TO_CP1251 из библиотеки OwenStringUtils (http://www.owen.ru/forum/showthread.php?t=25981).
Манипуляциями с USB флешками архиватор сбить с толку не удалось. Но вот к сожалению повторилась ситуация с переполнением архива, старый превысил 10 Мб ( в итоге размер _old.csv файла 10241 Кб), а новый с 0 размером (сразу увидел в окне с размером файла архива). old скопировал, прочитал, новый ушел в отказ. Перезагрузил СПК он начал сразу писать новый архив (размер появился).
Это для информации. Разбираться придется непосредственно на СПК, буду совать почти полный архив и смотреть где "собака зарыта".
Во время сбоя никаких действий не производилось, выходные дни, только запись :)
Буду искать и отпишу если найду в чем причина, возможно некорректно удалил неиспользуемый мной функционал блока. Восстановлю все в полном обьеме и буду проверять. Пока так.
Возможно я что то упустил, но после копирования csv файла с флешки на компьютер он сильно потерял в весе при одинаковом количестве данных, судя по сравнению таблиц. То есть я каждый раз копирую с флешки на комп (так удобнее и быстрее) и тут заметил, что файл с флешки больше, а данные одинаковы.
ArhUSPS_old.csv оригинал с флешки, второй файл взят с компьютера.
Как всегда добраться до СПК не дают, как будто это только мне нужно, так что быстро не получиться посмотреть что там, но сделаю - отпишусь.
Здравствуйте.
СПК 107 М01.
Пишу архив на USB-flash. (OwenArchiver Версия: 3.5.4.9)
Можно ли как либо считывать файлы архива компьютером, по сети (Ethernet)?
Добрый день.
Можно по FTP, например - в архивации выбрать устройство Директория FTP.
Подключение рассмотрено тут, п. 9.7:
https://ftp.owen.ru/CoDeSys3/11_Docu..._Faq_v.2.0.pdf
Через SCP или FTP как вариант.
Здравствуйте Алексей.Применил в своем проекте OwenArchiver,мне функционала данного компонента вполне хватает,кроме периода архивации,хотелось бы почаще.Не собираетесь ли обновлять OwenArchiver в скорм времени? Пример с библиотеками CAA File быстро не осилю,знаний маловато, да и для меня он избыточен,а как всегда надо побыстрее запустится.
У меня быстрый рост давления,потом резкое падение и мне надо зафиксировать высшую точку.На СПК110 я делал это через ArchiverSPK,период архивации был 200ms.
Если речь об одном параметре, то можно настроить архивацию по команде. В программе мониторить изменение давления и в высшей точке подавать команду на архивацию.
Так в архиве будут содержаться только высшие значения давления.
Такой способ подойдет только если скачки давления имеют период более 1с (т.к. в режиме архивации по команде архивация не чаще 1 раза в секунду).
На данный момент так и сделал(по команде 1 раз в секунду), а дальше будем думать.Очень не хочется связываться с CAA File,стандартный компонент всем устраивает,да и не программист я.
Добрый день,Алексей.При примонтировании флешки канал USB Mounted остается FALSE,канал ENABLE Drives TRUE до примонтирования.
Коллеги, добрый день!
Почитал мануалы, потестировал примеры - всё работает. Прибор - СПК110 [М01].
Задача такая: несколько параметров считываются с датчиков. Их нужно архивировать с некоторой периодичностью. В любой момент оператор может подойти к прибору и просмотреть архив, как в табличном представлении, так и на графике.
Запись на SD потестировал с помощью OwenArchiver. Прекрасно работает. Думаю, что и CAA File я бы без проблем осилил.
Дальше - график.
Как я понял, тренд с заданной периодичностью складывает в свою таблицу значение переменной (или нескольких) и отображает их на графике. Где он хранит свою таблицу - не ясно, в настройках не нашёл прямого указателя на место сохранения. Потестировал: график строится, но на карте пусто. Что-то мне подсказывает, что связать его с OwenArchiver не получится..
Подскажите, как связать тренд и архив на карте памяти?
Добрый день.
Проще всего привязать к тренду и OwenArchiver одни и те же переменные (т.е. компоненты будут работать независимо).