PDA

Просмотр полной версии : Global и persistent переменные не меняют значение.



MishaSur
22.12.2022, 13:06
Codesys3.5. SP17
Добрый день, не могу понять в какой момент и с чем это связанно. В проекте Часть переменных не могу записать значение. Как глобальных так и персистент. (Переменные ни где не перезаписываются ). Это происходит как в симуляторе так и на ПЛК. Часть переменных принимают значения не понятные (т.е. Переменная должна иметь значение 0 но при загрузке значение -256 и не перезаписывается).

Помогите разобраться в чем может быть проблема.

Заранее благодарю за обратную связь.

Евгений Кислов
22.12.2022, 13:11
Добрый день.
Создайте новый пустой проект, добавьте в него пару RETAIN и PERSISTENT переменных.
В режиме отладки присвойте им какие-то значения (Отладка - Записать значения) и проверьте, что они сохраняются после перезагрузки реального контроллера.

Если сохраняются - то проблема в вашем исходном проекте. Скорее всего, где-то в нем происходит некорректная работа с памятью (указатели, массивы и т.д.).
См. в подписи ссылку на статью про отладку.