Вход

Просмотр полной версии : Persistent переменные



Dennstroyer
22.11.2023, 10:31
Здравствуйте!

После перезапуска ПЛК200 Persistent-переменные обнуляются. Похожая тема:

https://owen.ru/forum/showthread.php?t=38128

но там решение не приведено.

71791

Евгений Кислов
22.11.2023, 10:37
Здравствуйте!

После перезапуска ПЛК200 Persistent-переменные обнуляются. Похожая тема:

https://owen.ru/forum/showthread.php?t=38128

но там решение не приведено.

71791

Добрый день.
Свяжитесь со мной по телеграм (в подписи) и обеспечьте удаленный доступ по AnyDesk.

Евгений Кислов
22.11.2023, 11:48
Проблема была с "проблемной" SD-картой - из-за нее почти мгновенно забивался системный лог ("mmc0: skipping voltage switch") и сервис CODESYS не мог вычитать из него адрес сегмента MRAM-памяти.

DemonDy
06.12.2023, 10:32
Бывает иногда такое. Со 150 ПЛК200 с полностью одинаковыми прошивками, настройками и программами на нескольких периодически обнуляется Persistent.
Техподдержка говорит, что это может быть из-за проблем с напряжением.
Но после замены проблемных ПЛК на другие проблема исчезает :confused:

stalke-z
10.01.2024, 10:26
добрый день.
столкнулся с такой же проблемой, не видит SD-карту, хотя бук читает ее без проблем, в системном логе ("mmc0: skipping voltage switch") и не сохраняются ретайн переменные после перезагрузки по питанию.
вылечил полным сбросом контроллера до заводских настроек и извлечении SD-карты.

smnt
11.01.2024, 13:22
Извиняюсь за глупый вопрос. А что, для Persistent переменных обязательно нужна SD карта?

Евгений Кислов
11.01.2024, 13:28
Извиняюсь за глупый вопрос. А что, для Persistent переменных обязательно нужна SD карта?

Нет.
Для работы с энергонезависимой памятью контроллер должен знать некоторые характеристики микросхемы.
При запуске контроллера драйвер микросхемы выводит их в лог, а наш сервис считывает их оттуда и записывает в конфиг-файл CODESYS.
Если по каким-то причинам лог сразу после запуска забивается и начинает перезаписываться (например - из-за сообщений о проблемах с SD-картой; может и по другим причинам) -
то наш сервис не может их считать и работать с MRAM не получится.

chm
17.04.2025, 16:42
Здравствуйте.
Как сделать, чтобы можно было обновлять версию своей программы, а они сохраняли значения?

Евгений Кислов
17.04.2025, 17:12
Здравствуйте.
Как сделать, чтобы можно было обновлять версию своей программы, а они сохраняли значения?

Добрый день.
Используйте для этого PERSISTENT-переменные - они сохраняют свои значения после загрузки нового проекта.