Перезагрузка при обрыве связи W5100

Перезагрузка по таймеру для восстановления коннекта по LAN

Ответить
Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи W5100

#1

Сообщение Dragony » 17.05.2020{, 09:32}

Приветствую всех!
Продолжаю работать на своим проектом "SCADA+датчики", выяснилось следующее:
сетевые платы после разрыва связи/линии перестают передавать данные. Светодиоды на них мигают, но данные не обновляются. Помогает перезагрузка всего выносного блока по питанию. Почитал темы на форуме, решил сделать вот такую схему:
Сброс.jpg
В одной из тем (про зависание W5100) входные сигналы снимались с индикаторных светодиодов на плате (Mega). Я использую Nano, и паять провода к плате не хочется - нужно сохранить возможность быстрой замены микроконтроллера.
Какие из "сигнальных" проводов, идущих к сетевой плате(CS, SI, SO, SCK) можно использовать в качестве контрольных?
(или придется выяснять это методом "тыка"... :D )

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Перезагрузка при обрыве связи

#2

Сообщение Ingwar » 17.05.2020{, 11:01}

Dragony писал(а):
17.05.2020{, 09:32}
Какие из "сигнальных" проводов, идущих к сетевой плате(CS, SI, SO, SCK) можно использовать в качестве контрольных?
Dragony писал(а):
17.05.2020{, 09:32}
но данные не обновляются.
Вопрос, данные не обновляются (старые значения) или перестают передаваться вообще?
А вообще можно осликом посмотреть и линию, на которой перестает меняться уровень сигнала, посадить на вход вачдога.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи

#3

Сообщение Dragony » 17.05.2020{, 13:14}

СКАДА закрашивает датчик "серой штриховкой" - связь потеряна.
Осциллографа нету, придется использовать пробник со светодиодом. :)

Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08.09.2017{, 19:47}
Репутация: 14
Откуда: Тверь
Имя: Вадим

Перезагрузка при обрыве связи

#4

Сообщение olddolin » 18.05.2020{, 09:17}

Самый простой способ это со скады подавать на контроллер секундные импульсы, и через Rtrig на вход сброса. Я обычно обнуляю таймер, работает сто процентов. Конечно не везде применимо, но как вариант. Есть ещё способ от Ровки, где-то в видеоуроках есть у него перезагрузка есп8266 при зависании wifi, но суть одна, импульсы сброса таймера или со скады или с каскады, корни одни.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи

#5

Сообщение Dragony » 18.05.2020{, 11:09}

Да вот пока не нашел, как что-то со СКАДы передавать... :)

Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08.09.2017{, 19:47}
Репутация: 14
Откуда: Тверь
Имя: Вадим

Перезагрузка при обрыве связи

#6

Сообщение olddolin » 18.05.2020{, 11:37}

Dragony писал(а):
18.05.2020{, 11:09}
Да вот пока не нашел, как что-то со СКАДы передавать... :)
Здесь уж никто не поможет не зная что у вас за скада, а вообще через скрипт это делается, по крайней мере в симплскада у меня так.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи

#7

Сообщение Dragony » 18.05.2020{, 12:33}

У меня тоже Симпл-СКАДА, на этом форуме ее и порекомендовали...
Со скриптами еще не разбирался.
В предыдущем проекте у меня просто одна Ардуина каждые полминуты посылала строчку на другую, а там просто был прицеплен вывод "Новые данные" с блока UART. Есть новые данные - выводится ONLINE. Если пару минут ничего нет - меняется на OFFLINE.
А вот как в СКАДЕ все это реализовать - пока не понял.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Перезагрузка при обрыве связи

#8

Сообщение Ingwar » 18.05.2020{, 13:21}

Dragony писал(а):
18.05.2020{, 12:33}
Есть новые данные - выводится ONLINE. Если пару минут ничего нет - меняется на OFFLINE.
Ну так сделайте по аналогии. Отправляйте в какой-нибудь регистр скады запросы, скада из этого регистра отправляет обратно. Ну и контролируйте. Другое дело, если повиснет контроллер...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08.09.2017{, 19:47}
Репутация: 14
Откуда: Тверь
Имя: Вадим

Перезагрузка при обрыве связи

#9

Сообщение olddolin » 18.05.2020{, 13:45}

Dragony писал(а):
18.05.2020{, 12:33}
У меня тоже Симпл-СКАДА, на этом форуме ее и порекомендовали...
Со скриптами еще не разбирался.
В предыдущем проекте у меня просто одна Ардуина каждые полминуты посылала строчку на другую, а там просто был прицеплен вывод "Новые данные" с блока UART. Есть новые данные - выводится ONLINE. Если пару минут ничего нет - меняется на OFFLINE.
А вот как в СКАДЕ все это реализовать - пока не понял.
Скрипты создаются только в виртуальных каналах, а там выбирайте в чем вы сильны, в си, паскале или фбд. От зависания контроллера только собака поможет факт, но как правило если виснет контроллер, значит или питание или перегрев, это сравнительно легко лечится. А вот ваша проблема очень распространена, у меня та же история и с некоторыми вайфай устройствами и не важно какие они, рак425, есп 8266 или 32, не важно, бывают сбои в разной степени частые от устройства к устройству. Думаю, что здесь еще роутер фонит, но у меня ройтер-модем скайлинк, пока не проверял догадку.
И вообще если вам в течении двух минут данные не важны, то этот вариант для вас однозначно. При регулировании какого нибудь процесса, пусть и не очень быстрого, лучше не более 10 секунд контролировать, я таймером и оперирую.
Ещё. Я использую для кнопок битовую маску (так экономятся теги), вот в один из битов и пишите импульсы снимаемые с таймера. В 32 тега можно очень много вкорячить если постараться, спасибо разработчикам.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи

#10

Сообщение Dragony » 18.05.2020{, 14:16}

У меня будет много устройств. Пока что используется 4 тега (канала) в каждом, при бесплатной версии это 8 выносных датчиков. И то начальство думало - нужны ли показания влажности, например?.. :smile44:
И вообще, думаю встроить еще таймер на перезагрузку каждые 12 часов, например. Хотя, версия датчика с RS-485-UART пашет без перезагрузок уже больше месяца... Но LAN вроде как более привередливый. :D

Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08.09.2017{, 19:47}
Репутация: 14
Откуда: Тверь
Имя: Вадим

Перезагрузка при обрыве связи

#11

Сообщение olddolin » 18.05.2020{, 14:40}

По любому битовую маску никто не отменял,очень удобная штука. Ну а если вы не стеснены в тегах, то флаг в руки, перезагрузка по таймеру это уже край, сделаете как я советую, не пожалеете, просто и сердито. Если будут нужны подробности, в личку пишите,чем сам себе помог то и покажу, сам недавно скаду начал осваивать, но работает же и без тормозов практически.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи

#12

Сообщение Dragony » 18.05.2020{, 18:08}

Мне пока еще сам термин неизвестен... :shok: Насчет программирования - изучал FORTRAN-IV больше 30 лет назад. :smile44:
Так что... :smile37:
А тегов мала-мала не хватает, возможно, даже скажут убрать какие-то "ненужные". Да и память Ардуины загружена уже на 85%, буквально пару строк добавляешь - уже вываливается предупреждение о нестабильной работе, а этого категорически не нать...

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи

#13

Сообщение Dragony » 26.07.2020{, 10:54}

После того, как обновил SimpLite, проект перестал работать. :fie:
то, что было сделано - новая программа не признает - вываливает сообщение об ошибках.
Пытался соорудить то же, что и в предыдущей версии - не работает, данные не передаются, показывает сообщение об ошибке.
Так что... Проблемы с перезагрузкой пока уходят на второй план, связь бы восстановить... :smile390:

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Перезагрузка при обрыве связи

#14

Сообщение Dragony » 12.09.2020{, 11:14}

В результате проверки методом проб и ошибок датчики работают в режиме:
Опрос каждые 5 секунд
Запись в базу данных СКАДы каждые 30 секунд
Перезагрузка Ардуины по таймеру каждые 15 минут.
(Остановился на этом варианте, потому что добавление переменных приводит к нестабильной работе Ардуины - библиотека под сетевуху занимает много памяти...)
Если перезагрузка попадает на моменты между опросами - то СКАДа ее вообще не замечает.

Ответить

Вернуться в «Ethernet»