Т.е. сбой питания и всё тю-тю ?tempfs в Linux живет в ОЗУ и без дополнительных шагов НИКАК не пишется на flash,
Т.е. сбой питания и всё тю-тю ?tempfs в Linux живет в ОЗУ и без дополнительных шагов НИКАК не пишется на flash,
Валенок и что? это же текущие данные, которые сбрасываются системой раз в минуту в основные базы (другие файлы)...
А текущие данные это тоже файлы БД, но если им сразу определить место на flash, а там перезапись в зависимости от настроек опроса, то флешка умирает за указанное время +-
Объем данных при этом не очень большой. Просто ни ОС ни контроллер флешки не меняет местоположения файлов, как вы наивно думаете.
Кстати SSD это тоже касается, даже для Windows есть RAM диски, чтобы сократить время доступа к файлам и снизить нагрузку на SSD.
На месте ТС я бы с Вами согласился (с радостью и пивом) сразу после подписи под "ТЗ требует от АРМ'а...". Махонькое такое смещение границы зоны ответственности.
Конкретные кластеры для конкретного файла ? Можно поподробней ?но если им сразу определить место на flash
Я наивно думал что api общения с файлами существует чтоб не зависеть от типов носителей. А оно вона как - каждое ПО (БД там) само рулит дорожками/секторами/кластерами и их разновидностями и т.п. Хорошо. Буду знать.как вы наивно думаете.
Последний раз редактировалось Валенок; 25.11.2022 в 18:51.
Валенок не передергивайте. ОС и не должна знать, понимать и т.д. где и как лежат файлы, это задача контроллера диска, или низкоуровнего ПО той же ОС, чем мы обычно не управляем. Мы просто говорим "файл такой-то записать" - все.
И сильно подозреваю, что контроллеры дисков тоже не озадачиваются что вы там себе придумали писать файл раз в час или раз в минуту. Записал первый раз, все, при следующих записях будет располагать его там же, по тем же кластерам и если файл будет увеличиваться по мере добавления данных, то будет занимать все новые и новые кластеры под файл.
И если вы один и тот же файл будете презаписывать многократно, то и убивать будете те же самые ячейки памяти диска.
Самый простой вариант для ТС создавать файлы с меткой времени и более старые через время удалять.
melky
Прошу вас читать про ваши подозрения пережде, чем выдавать те перлы,что вы выдали выше. ОЧЕНЬ много глупости. Хотя бы по тому "маленькому и незначительному" обстоятельству что контроллеры HDD, NAND Flash, NOR Flash, SSD вот совсем немножко разные и с разными алгоритмами работы.
ага, только в другом ценовом диапазоне... в дешевых абсолютно тупорылые алгоритмы или без оных.
Прочитал несколько раз Вашу переписку.(Извините если я где то буду выглядеть глупо).
Скажите Ваша дискуссия касается конкретно ПЛК ОВЕН 110-хх c исполнительной средой MasterSCADA 4D? Дело в том, что ТП производителя ПО и ПЛК сказали ,что в МС4D на данный момент штатными средствами программы , нет возможности выполнять какие то манипуляции ,касаемо контроля записи на флешку.
Если у Вас есть какие то соображения, как сделать "контролируемую" запись на флешку поделитесь пожалуйста опытом.
Добрый день. Нашёл способ записывать архив на внешний жёсткий диск
320 Гб, отформатировал в
FAT 32 и подал дополнительно питание. Посмотрю , что будет дальше.
День добрый.
На всякий случай этот вопрос дошёл и до меня.
у нашего ПЛК (не 110) жесткий диск usb работает вполне себе стабильно,
памяти 512 и в принципе то tempfs могла бы быть решением...
Но посчитав "на коленке" Я не нашел на вскидку Правильного решения.
потому как есть Большое число дополнительных нюансов.
начиная с передачи архива на верх после восстановления связи,
сам процесс очистки tempfs необходимо делать отдельно,
переключатели так же отдельно.
То-есть если издалека посмотреть на все требования - то получается монстр, который не нужен в 99% случаев, но
для тестирования и создания которого необходимо очень много времени.
Опять же FAT32 - ограничение на размер файла 4ГБ. спасает как у меня к примеру ext4
разбиение архива на отдельные под-архивы добавляют вопрос о передачи на верхний уровенm и управление ими.
Кажется что должен быть более простой путь, но пока я его не разглядел.
Коллеги прошу покритиковать мой вариант, возможно что то еще подскажите.
В предыдущем сообщении я написал, что запись архива ведется на внешний HDD.
Теперь стоит задача контролировать физический диск(далее по тексту -Диск) ,его наличие и работоспособность.
- На диске создается файл(формат txt) (Условно - имя файла "TEST_File" ,текст - TEST_HDD. Раз в 10 сек (время можно задать любое) ФБ FileToString считывает текст из этого файла и сравнивает его с текстом в программе. Так же читаем код ошибки ФБ FileToString. Этот "узел" определяет наличие диска .
-ФБ StringToFile создает файл "2TEST_File" с текстом(в моем случае текст-это время в которое выполняется запись текста) ,а через 3 -5 сек ФБ FileToString считывает этот текст из этого файла и сравнивает его, если тексты совпадают- все норм. Этот "узел" определяет работоспособность диска .
Хотелось бы еще как то определять состояние архива(изменение его объема),хотя бы одного параметра ,что бы понимать, что запись в архив ведется.
Пример https://disk.yandex.ru/d/8XgSnvaqd0kmPA
Последний раз редактировалось Вова13; 08.12.2022 в 09:39.