PDA

Просмотр полной версии : Альтернатива флешке для ПЛК 110 МС4Д



Вова13
08.11.2022, 17:31
Добрый день.
Коллеги подскажите, может кто то реализовал вариант архивации данных на что то (например устройство пишущее архив на HDD)/
Суть проблемы такова.Есть АРМ (на ПК ) с БД MSSQL и есть ПЛК ,который передает данные через OPC UA в АРМ.
При потере связи или остановке АРМа данные в БД не пишутся(так как АРМ не работает),но они пишутся на USB флешку ,которая установлена в ПЛК.
После восстановления работоспособности АРМа данные из ПЛК подтягиваются в АРМ.
Система работает но не долго. Из за частой перезаписи флешка довольно быстро "умирает".
Нужна альтернатива флешке, некий девайс,который можно установить в щит.
В ТП ОВЕН и ИНСАТ обращался,но пока ни чего не предложили.
Есть предложение вместо флешки "воткнуть" внешний SSD диск,но как я понимаю там технология похожа на флешку и он тоже имеет ограничения по количеству циклов записи.

melky
09.11.2022, 09:49
проблема может быть в контроллере usb ПЛК, который проcто может не понять подключенный hdd или ssd. Или в отсутствии драйверов в ядре. Вариантов масса.

Вова13
11.11.2022, 10:24
Именно МС4D не юзал, но если запись в файл организована программно то

(это ж как так можно ухайдокать флешку ?)
Что там пишется и при каких условиях ? Может концепцию перезаписи немного поменять - буферизация/проверка на изменение и т.п. ?

ТЗ требует вести запись данных раз в 1 мин. Предполагалось вести запись на флэшку только в момент потери связи с АРМом (на форуме читал,что у этих ПЛК (с Кодесис) есть библиотеки(Но вроде бы и там танцы с бубном касаемо работоспособности (живучести) флешек.
В ТП Производителя ПО сказали ,что в МС4Д штатной возможности вести запись по событию на флешку, на данный момент нет.

melky
11.11.2022, 10:28
1 раз в минуту не должно убивать флешку так быстро... Если конечно не происходит перезапись файла на его же начальном месте, типа всегда запись в одну и ту же область флешки. тогда действительно она смертник сразу :)

Вова13
11.11.2022, 11:06
Вот расчет (расчёт на интервале 30 сек):
1. Нет. У каждой флеш карты есть заявленное число операций записи. 10 тысяч, 100 тысяч и т.д. Если Вы пишете раз в 30 секунд, то можно оценить, что карта проживёт 30 секунд * 100000 = 830 часов.
Реже запись - дольше сохранится ресурс.
У нас бытовая флешка на 10000 циклов( может и меньше) соответственно 83 часа или 3,5 суток

Валенок
11.11.2022, 15:49
Вот...
...У каждой флеш карты есть заявленное число операций записи. 10 тысяч, 100 тысяч и т.д. Если Вы пишете раз в 30 секунд, то можно оценить, что карта проживёт 30 секунд * 100000 = 830 часов.
Вы каждые 30 сек закидываете полный объем флешки ?

Сергей0308
12.11.2022, 23:44
Добавьте сюда что во флешках реализован алгоритм равномерного износа(перезаписи) всех ячеек памяти, Вы же за минуту не весь объём флешки записываете, например флешка в 4 Гбайт(меньше трудно найти), вы каждую минуту пишите по 1 Мбайт, тогда чтобы однократно записать все ячейки памяти уйдёт 4000 минут, короче, при 10000 циклах перезаписи потребуется 76 лет чтобы флешку затереть до дыр!

melky
13.11.2022, 09:50
Сергей0308 алгоритмы встроенного контроллера видимо не работают, или работают не так, например если на RaspberryPi у меня постоянно пишутся текущие данные, ее хватает на год-полтора, после чего она труп. Для этого для текущих данных предусмотрен раздел tempfs... А там тоже файлы, которые встроенный контроллер должен был бы раскидывать по разным местам для сокращения циклов перезаписи...

Валенок
13.11.2022, 13:14
.. ее хватает на год-полтора, после чего она труп....
Ну и ? Это как-то противоречит Сергей0308'ю ?

Уважаемый melky - ну ни о чём вот это :

..у меня постоянно пишутся...
раз в 100мс ? раз в час ?

текущие данные
1 байт ? 100Мб ?

.. для текущих данных предусмотрен раздел tempfs....
Где развернутая tempfs живет - в ОЗУ или где ? Как сама tempfs обновляет данные на флешку - есть инфа, период/частота/условия ?

Сама флешка :
515M ? 32Гб ?

Сергей0308 выше привел конкретику:
4Гб. 10000раз. 1Мb. 1минута.

melky
13.11.2022, 13:27
Валенок tempfs в Linux живет в ОЗУ и без дополнительных шагов НИКАК не пишется на flash, по этому совершенно не важен период текущих данных. Но если что, текущие данные зависят от цикла опроса, если опрос установлен в цикл, а не по времени, то может и менее 100 мс может быть.

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

Валенок
13.11.2022, 13:30
tempfs в Linux живет в ОЗУ и без дополнительных шагов НИКАК не пишется на flash,
Т.е. сбой питания и всё тю-тю ?

melky
13.11.2022, 13:39
Валенок и что? это же текущие данные, которые сбрасываются системой раз в минуту в основные базы (другие файлы)...

А текущие данные это тоже файлы БД, но если им сразу определить место на flash, а там перезапись в зависимости от настроек опроса, то флешка умирает за указанное время +-
Объем данных при этом не очень большой. Просто ни ОС ни контроллер флешки не меняет местоположения файлов, как вы наивно думаете.

Кстати SSD это тоже касается, даже для Windows есть RAM диски, чтобы сократить время доступа к файлам и снизить нагрузку на SSD.

Валенок
13.11.2022, 14:30
.. и что? это же текущие данные, .

ТЗ требует вести запись данных раз в 1 мин.
На месте ТС я бы с Вами согласился (с радостью и пивом) сразу после подписи под "ТЗ требует от АРМ'а...". Махонькое такое смещение границы зоны ответственности.



но если им сразу определить место на flash
Конкретные кластеры для конкретного файла ? Можно поподробней ?

как вы наивно думаете.
Я наивно думал что api общения с файлами существует чтоб не зависеть от типов носителей. А оно вона как - каждое ПО (БД там) само рулит дорожками/секторами/кластерами и их разновидностями и т.п. Хорошо. Буду знать.

melky
13.11.2022, 14:52
Валенок не передергивайте. ОС и не должна знать, понимать и т.д. где и как лежат файлы, это задача контроллера диска, или низкоуровнего ПО той же ОС, чем мы обычно не управляем. Мы просто говорим "файл такой-то записать" - все.

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

Самый простой вариант для ТС создавать файлы с меткой времени и более старые через время удалять.

Petrovi4
13.11.2022, 18:25
melky
Прошу вас читать про ваши подозрения пережде, чем выдавать те перлы,что вы выдали выше. ОЧЕНЬ много глупости. Хотя бы по тому "маленькому и незначительному" обстоятельству что контроллеры HDD, NAND Flash, NOR Flash, SSD вот совсем немножко разные и с разными алгоритмами работы.

melky
13.11.2022, 20:25
ага, только в другом ценовом диапазоне... в дешевых абсолютно тупорылые алгоритмы или без оных.

Вова13
14.11.2022, 12:41
Прочитал несколько раз Вашу переписку.(Извините если я где то буду выглядеть глупо).
Скажите Ваша дискуссия касается конкретно ПЛК ОВЕН 110-хх c исполнительной средой MasterSCADA 4D? Дело в том, что ТП производителя ПО и ПЛК сказали ,что в МС4D на данный момент штатными средствами программы , нет возможности выполнять какие то манипуляции ,касаемо контроля записи на флешку.
Если у Вас есть какие то соображения, как сделать "контролируемую" запись на флешку поделитесь пожалуйста опытом.

Вова13
24.11.2022, 22:38
Добрый день. Нашёл способ записывать архив на внешний жёсткий диск
320 Гб, отформатировал в
FAT 32 и подал дополнительно питание. Посмотрю , что будет дальше.

Юрий Горелый2
02.12.2022, 11:13
День добрый.
На всякий случай этот вопрос дошёл и до меня.
у нашего ПЛК (не 110) жесткий диск usb работает вполне себе стабильно,
памяти 512 и в принципе то tempfs могла бы быть решением...
Но посчитав "на коленке" Я не нашел на вскидку Правильного решения.
потому как есть Большое число дополнительных нюансов.
начиная с передачи архива на верх после восстановления связи,
сам процесс очистки tempfs необходимо делать отдельно,
переключатели так же отдельно.
То-есть если издалека посмотреть на все требования - то получается монстр, который не нужен в 99% случаев, но
для тестирования и создания которого необходимо очень много времени.

Опять же FAT32 - ограничение на размер файла 4ГБ. спасает как у меня к примеру ext4
разбиение архива на отдельные под-архивы добавляют вопрос о передачи на верхний уровенm и управление ими.
Кажется что должен быть более простой путь, но пока я его не разглядел.

Вова13
08.12.2022, 09:37
Коллеги прошу покритиковать мой вариант, возможно что то еще подскажите.
В предыдущем сообщении я написал, что запись архива ведется на внешний HDD.
Теперь стоит задача контролировать физический диск(далее по тексту -Диск) ,его наличие и работоспособность.
- На диске создается файл(формат txt) (Условно - имя файла "TEST_File" ,текст - TEST_HDD. Раз в 10 сек (время можно задать любое) ФБ FileToString считывает текст из этого файла и сравнивает его с текстом в программе. Так же читаем код ошибки ФБ FileToString. Этот "узел" определяет наличие диска .
-ФБ StringToFile создает файл "2TEST_File" с текстом(в моем случае текст-это время в которое выполняется запись текста) ,а через 3 -5 сек ФБ FileToString считывает этот текст из этого файла и сравнивает его, если тексты совпадают- все норм. Этот "узел" определяет работоспособность диска .
Хотелось бы еще как то определять состояние архива(изменение его объема),хотя бы одного параметра ,что бы понимать, что запись в архив ведется.
Пример https://disk.yandex.ru/d/8XgSnvaqd0kmPA

Юрий Горелый2
31.01.2023, 13:48
вот кстати моё Фи и Олегу Малышеву с Владу:
за 20 дней с момента вопроса Клиента- у Клиента нет даже примерного понимания что делать с проблемой.
то-есть простая проблема с тем, чтобы надёжно состыковать к плк hdd не смогла решиться почти за месяц.
Обижаете Своего Клиента, дада.

Малышев Олег
01.02.2023, 12:20
Обычно внешние HDD драйвы имеют возможность внешнего питания. Есть так же активные USB-Hub.
Есть так же вариант совершенно стандартный и применяемый всеми. Industrial SD card.

Непонятна вообще постановка проблемы. Что бы ее решить - надо ее четко сформулировать. Я не понял что именно нужно.

Вова13
01.02.2023, 15:07
Обычно внешние HDD драйвы имеют возможность внешнего питания. Есть так же активные USB-Hub.
Есть так же вариант совершенно стандартный и применяемый всеми. Industrial SD card.

Непонятна вообще постановка проблемы. Что бы ее решить - надо ее четко сформулировать. Я не понял что именно нужно.

Добрый день.Проблему описал в этой теме:
https://owen.ru/forum/showthread.php?t=37313

Юрий Горелый2
01.02.2023, 15:11
Вот поэтому и написал что "ФИ".
Месяц прошёл, а ещё не в курсе вопроса и проблемы Клиента. Ай я я й! и персонально Фи!
С надеждой на скорейшее решение вопроса, само собой.


p.s. как я понял там и со внешним питанием диск, и все-равно при включении-выключении диск имеет другое имя.
но это я у меня то всё по-другому, я и клиентов по-другому понимаю, чем они пишут... или говорят ;).

Юлия Лукина
01.02.2023, 16:23
Добрый день! Проблему на данный момент решаем. Вопрос https://owen.ru/forum/showthread.php?t=37313 был задан 23 января и передан специалисту. С 23 января прошло чуть больше недели.

Юрий Горелый2
02.03.2023, 21:57
Добрый день! Проблему на данный момент решаем. Вопрос https://owen.ru/forum/showthread.php?t=37313 был задан 23 января и передан специалисту. С 23 января прошло чуть больше недели.

вот уже и 23 февраля прошло...
а тема то поднята пользователем ещё в Октябре месяце.

Как то не ожидал я, может Олег с коронавирусом ослабел так так сильно что уже пустяковую Проблему Клиента ещё за один месяц не может решить...

Юлия Лукина
03.03.2023, 11:49
Добрый день! Юрий, обращаю Ваше внимание, что форум не является официальным каналом технической поддержки. Для решения Вашего вопроса рекомендую обращаться непосредственно на почту support@owen.ru с подробным описанием Вашей проблемы.

Вова13
05.03.2023, 01:33
Добрый день. Обращение в ТП было, ещё в конце января.
Ответ был таков:
"По поводу монтирования. В busybox в ПЛК110 нет утилиты для проверки и привязки накопителя по uuid. Возможно, есть вариант доустановить утилиту в ПЛК. По этому вопросу разработчики пока не ответили, к сожалению".
Подождав, я создал тему на форуме.
ПС больше ответов от официальной ТП я так и не получил.

Юлия Лукина
06.03.2023, 11:45
Добрый день! На прошлой неделе я Вам в личные сообщения продублировала ответ разработчиков по этому вопросу.

Вова13
06.03.2023, 14:16
Добрый день! На прошлой неделе я Вам в личные сообщения продублировала ответ разработчиков по этому вопросу.

Да.Спасибо ,я его получил.
Просто Вы выше написали " что форум не является официальным каналом технической поддержки" поэтому я и уточнил,что ответа по официальному каналу от тех. поддержки я больше не получал .