Без описания - гадать бесполезно.
Меня там больше напрягают отрицитательные ide. Вы видели отрицательные номера квартир/домов ?
Судя по
+ несколько раз высказанным предположениям что ТС в каких-то циклах использует время для выхода (как обыденность), хотя ТС и сказал что у него
таких циклов - нет, там (
внизу) могли, например, напереводить и забыть про unsigned. Они ж внизу не на СТ и не в квадратиках пишутъ.
Проекта нет. Вачдог в цикле может быть не только при юзании времени как условия выхода :
-внутри цикла доступен для изменения сам счетчик
for i := 1 to 2 do //2 раза - и домой.
i := 1;
end_for
-машинный ноль
x : real;
--
x := 20_000_000;
while x < 20_000_0
10 do //10 раз - это такая ведь фигня
x := x + 1;
end_while
...
Так же перезагруз это не только зависание, а и обращения к левой памяти (косяки с индексами, указателями ..)
В общем много разной хрени
(К квадратофилам: пожалуйста, не надо сообщать про то, что тут ST, а было б Си так даже кофе бы на клаву опрокинулось бы, в вот в квадратиках такого нету и всё работает)
Имхо проект в виде
(с текущей конфигурацией обмена - если она есть и ) чётче бы локализовал проблему по ветке система/пользователь. Но нужно всего-то свободный ПЛК [+ ?], 2 месяца и бесперебойник.