Защита от зависания контроллера

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 475
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Защита от зависания контроллера

#1

Сообщение Siberian » 10.12.2017{, 10:11}

Здравствуйте, Коллеги!
Кто-то пробовал на практике функцию "Защита от зависания контроллера" ?

СпойлерПоказать
Опишите пожалуйста, как это реально работает.

Аватара пользователя
support
Супермодератор
Сообщения: 1838
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 687
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Защита от зависания контроллера

#2

Сообщение support » 10.12.2017{, 10:37}

При старте контроллера запускается аппаратный таймер, и в его прерывании проверяется изменение переменной, значение которой изменяется в основном цикле программы. Если в течении заданного времени значение переменной не изменилось, происходит программный ресет контроллера ( принудительная установка счётчика команд в 0).
У меня он используется в одном старом устройстве, где работает ещё старая библиотека DHT которая отличалась высокой "зависаемостью". Отрабатывает стабильно. устройство четко перегружается при зависании библиотеки (работает 24/7 уже пару лет)
Автор программы FLProg.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Защита от зависания контроллера

#3

Сообщение Сергей » 10.12.2017{, 16:55}

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

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Защита от зависания контроллера

#4

Сообщение Сергей » 10.12.2017{, 16:58}

Вот нашел свои блоки, как альтернатива стандартной функции
Вложения
_WDT__-CODE-.ubi
(14.89 КБ) 141 скачивание
_WDT-CODE-.ubi
(8.73 КБ) 117 скачиваний

Аватара пользователя
Siberian
Лейтенант
Сообщения: 475
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Защита от зависания контроллера

#5

Сообщение Siberian » 12.12.2017{, 11:32}

Спасибо!

Добавлено (11.12.2017, 06:22)
---------------------------------------------
Вчера попробовал функцию "Защита от зависания контроллера" на Mega 2560, что-то не сработало...

Дело в том, что при подключении одновременно на шину I2C датчик HTU21 и символьный дисплей 1608, через какое-то время контроллер зависает, тоже самое происходит и при одновременном подключении HTU21 и внешней EEPROM по шине I2C, адреса разные, подтягивающие резисторы стоят.

Добавлено (12.12.2017, 11:32)
---------------------------------------------
support писал(а):У меня он используется в одном старом устройстве, где работает ещё старая библиотека DHT которая отличалась высокой "зависаемостью".
Здравствуйте, Сергей!
В версии FLProg 3.0.2 библиотека DHT не грешит "зависаниями"?

fok52
Рядовой
Сообщения: 98
Зарегистрирован: 15.09.2016{, 09:44}
Репутация: 10

Защита от зависания контроллера

#6

Сообщение fok52 » 13.12.2017{, 08:26}

а можно настроить как то этот таймер чтобы плюсом еще 1 раз в сутки перезагружал?

Аватара пользователя
Anydy
Администратор
Сообщения: 3272
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Защита от зависания контроллера

#7

Сообщение Anydy » 13.12.2017{, 11:43}

fok52 писал(а):а можно настроить как то этот таймер чтобы плюсом еще 1 раз в сутки перезагружал?
Нет, если требуется перегружать раз в сутки то думаю надо использовать загрузчик Optiboot, включить аппаратный ватчдог и им уже перегружать (вставить Millis)  .. или блок пользователя сбацать для тех кто с кодом не особо дружит)))

Arduino watchdog или автоматический RESET в случае зависания

Аватара пользователя
CraCk
Лейтенант
Сообщения: 600
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 9

Защита от зависания контроллера

#8

Сообщение CraCk » 06.01.2018{, 01:11}

Для знающих может буде интересно

GENIUS4444
Рядовой
Сообщения: 25
Зарегистрирован: 01.01.2018{, 20:24}
Репутация: 0

Защита от зависания контроллера

#9

Сообщение GENIUS4444 » 06.01.2018{, 12:56}

Siberian писал(а):
12.12.2017{, 11:32}
Вчера попробовал функцию "Защита от зависания контроллера" на Mega 2560, что-то не сработало...
У меня тоже самое , Мега не видит одновременно датчик давления и часы реал.времени. А метеостанция на Уно при включении висит пока не перезагрузишь кнопкой ресет

Отправлено спустя 1 час 12 минут 1 секунду:
Что то читал , и не много не понял, у меня когда на метеостанции выключить питание, а потом снова включить, то ардуина висит пока не перезагрузишь кнопкой ресет, поставил этот блок, перезагружается постоянно через 8 секунд, с блоком всё понятно, а как сделать что бы после включения только один раз перезагрузилась и потом аж до следующего выключения питания? Пробовал и на часы реал. времени ставить, и таймеры, ни чего не получается, может кто подскажет как сделать????

stypler
Сержант
Сообщения: 144
Зарегистрирован: 01.06.2018{, 07:25}
Репутация: 6

Защита от зависания контроллера

#10

Сообщение stypler » 19.08.2018{, 20:32}

support писал(а):
10.12.2017{, 10:37}
У меня он используется в одном старом устройстве, где работает ещё старая библиотека DHT которая отличалась высокой "зависаемостью".
DHT я так понял это датчики температуры. Flprog 3.1.2, Nodemcu ESP8266 V3, на схеме установил два датчика DHT 11.
От компилировалось без проблем но по WiFi с KaScada связь пропала. Отключал питание, нажимал сброс не помогло.
Решил вернуться к исходному состоянию с одним датчиком DHT 11, всё заработало. Видно есть ограничения.

Аватара пользователя
Rovki
Полковник
Сообщения: 4484
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 236
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Защита от зависания контроллера

#11

Сообщение Rovki » 19.08.2018{, 20:58}

stypler писал(а):
19.08.2018{, 20:32}
support писал(а):
10.12.2017{, 10:37}
У меня он используется в одном старом устройстве, где работает ещё старая библиотека DHT которая отличалась высокой "зависаемостью".
DHT я так понял это датчики температуры. Flprog 3.1.2, Nodemcu ESP8266 V3, на схеме установил два датчика DHT 11.
От компилировалось без проблем но по WiFi с KaScada связь пропала. Отключал питание, нажимал сброс не помогло.
Решил вернуться к исходному состоянию с одним датчиком DHT 11, всё заработало. Видно есть ограничения.
Интересно бы на проект глянуть
Электронщик до мозга костей и не только

stypler
Сержант
Сообщения: 144
Зарегистрирован: 01.06.2018{, 07:25}
Репутация: 6

Защита от зависания контроллера

#12

Сообщение stypler » 20.08.2018{, 15:12}

N_8266_Лист1.jpg
Сейчас переделан проект.
Один датчик убран, в датчике DHT выведена влажность
а два нижних модбаса сделаны integer подключены напрямую к DHT
В каскаде сделаны соответствующие изменения. Всё работает
Но с двумя датчиками DHT я менял платы причем всё отключил,
только хотел увидеть IP - нет. С одним датчиком всё нормально.
По большому счёту мне не нужно два, просто попробовал - не получилось.

Allkonafft
Рядовой
Сообщения: 7
Зарегистрирован: 12.01.2019{, 11:16}
Репутация: 0
Имя: Игорь

Защита от зависания контроллера

#13

Сообщение Allkonafft » 23.01.2020{, 13:47}

Здравствуйте! При включении функции "Защиты от зависания" не проходит компиляция в Arduino IDE. Контроллер Arduino UNO.
Вложения
002.jpg
001.jpg

vjwhite
Рядовой
Сообщения: 28
Зарегистрирован: 21.11.2017{, 15:03}
Репутация: 2

Защита от зависания контроллера

#14

Сообщение vjwhite » 23.01.2020{, 16:13}

У меня при активации это функции ESP32 после прошивки циклично-бесконечно перезагружается

Gordon0007
Сержант
Сообщения: 137
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 13
Имя: Павел

Защита от зависания контроллера

#15

Сообщение Gordon0007 » 23.01.2020{, 16:23}

vjwhite, и Allkonafft, а могли бы продублировать это в эту ветку
viewtopic.php?t=5909&start=200
Чтобы исправили ошибки в новой версии программы

Утвш
Рядовой
Сообщения: 92
Зарегистрирован: 02.12.2016{, 07:31}
Репутация: 1

Защита от зависания контроллера

#16

Сообщение Утвш » 24.01.2020{, 10:36}

Вопрос к знатокам. А можно ли включать и выключать защиту от зависания программно? Просто в определенной части программы, перезагрузка недопустима.

Аватара пользователя
Alias
Лейтенант
Сообщения: 476
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Защита от зависания контроллера

#17

Сообщение Alias » 24.01.2020{, 10:45}

А чем принципиально выгоднее программная защита от аппаратной?https://flprog.ru/uchebnyj-centr/articl ... ntrollera/
Реально работает и очень простая схема. Вторая версия в частности.

Аватара пользователя
Phazz
Полковник
Сообщения: 2062
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 248
Откуда: Сургут
Имя: Анатолий

Защита от зависания контроллера

#18

Сообщение Phazz » 24.01.2020{, 12:52}

Утвш, так если программа повисла, то она уже не выполняется и ребут ничего не испортит.

tolochko
Сержант
Сообщения: 236
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 6
Откуда: Днепропетровск

Защита от зависания контроллера

#19

Сообщение tolochko » 24.01.2020{, 13:17}

Подскажите можно с D0 подавать импульсы на сторожевой таймер если он уже работает с СОМ портом

Аватара пользователя
Phazz
Полковник
Сообщения: 2062
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 248
Откуда: Сургут
Имя: Анатолий

Защита от зависания контроллера

#20

Сообщение Phazz » 24.01.2020{, 14:29}

Нет

Ответить

Вернуться в «Спросить у знатоков»