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

)
Перезагрузка при обрыве связи
Добавлено: 17 май 2020, 11:01
Ingwar
Dragony писал(а): 17 май 2020, 09:32
Какие из "сигнальных" проводов, идущих к сетевой плате(CS, SI, SO, SCK) можно использовать в качестве контрольных?
Dragony писал(а): 17 май 2020, 09:32
но данные не обновляются.
Вопрос, данные не обновляются (старые значения) или перестают передаваться вообще?
А вообще можно осликом посмотреть и линию, на которой перестает меняться уровень сигнала, посадить на вход вачдога.
Перезагрузка при обрыве связи
Добавлено: 17 май 2020, 13:14
Dragony
СКАДА закрашивает датчик "серой штриховкой" - связь потеряна.
Осциллографа нету, придется использовать пробник со светодиодом.

Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 09:17
olddolin
Самый простой способ это со скады подавать на контроллер секундные импульсы, и через Rtrig на вход сброса. Я обычно обнуляю таймер, работает сто процентов. Конечно не везде применимо, но как вариант. Есть ещё способ от Ровки, где-то в видеоуроках есть у него перезагрузка есп8266 при зависании wifi, но суть одна, импульсы сброса таймера или со скады или с каскады, корни одни.
Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 11:09
Dragony
Да вот пока не нашел, как что-то со СКАДы передавать...

Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 11:37
olddolin
Dragony писал(а): 18 май 2020, 11:09
Да вот пока не нашел, как что-то со СКАДы передавать...
Здесь уж никто не поможет не зная что у вас за скада, а вообще через скрипт это делается, по крайней мере в симплскада у меня так.
Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 12:33
Dragony
У меня тоже Симпл-СКАДА, на этом форуме ее и порекомендовали...
Со скриптами еще не разбирался.
В предыдущем проекте у меня просто одна Ардуина каждые полминуты посылала строчку на другую, а там просто был прицеплен вывод "Новые данные" с блока UART. Есть новые данные - выводится ONLINE. Если пару минут ничего нет - меняется на OFFLINE.
А вот как в СКАДЕ все это реализовать - пока не понял.
Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 13:21
Ingwar
Dragony писал(а): 18 май 2020, 12:33
Есть новые данные - выводится ONLINE. Если пару минут ничего нет - меняется на OFFLINE.
Ну так сделайте по аналогии. Отправляйте в какой-нибудь регистр скады запросы, скада из этого регистра отправляет обратно. Ну и контролируйте. Другое дело, если повиснет контроллер...
Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 13:45
olddolin
Dragony писал(а): 18 май 2020, 12:33
У меня тоже Симпл-СКАДА, на этом форуме ее и порекомендовали...
Со скриптами еще не разбирался.
В предыдущем проекте у меня просто одна Ардуина каждые полминуты посылала строчку на другую, а там просто был прицеплен вывод "Новые данные" с блока UART. Есть новые данные - выводится ONLINE. Если пару минут ничего нет - меняется на OFFLINE.
А вот как в СКАДЕ все это реализовать - пока не понял.
Скрипты создаются только в виртуальных каналах, а там выбирайте в чем вы сильны, в си, паскале или фбд. От зависания контроллера только собака поможет факт, но как правило если виснет контроллер, значит или питание или перегрев, это сравнительно легко лечится. А вот ваша проблема очень распространена, у меня та же история и с некоторыми вайфай устройствами и не важно какие они, рак425, есп 8266 или 32, не важно, бывают сбои в разной степени частые от устройства к устройству. Думаю, что здесь еще роутер фонит, но у меня ройтер-модем скайлинк, пока не проверял догадку.
И вообще если вам в течении двух минут данные не важны, то этот вариант для вас однозначно. При регулировании какого нибудь процесса, пусть и не очень быстрого, лучше не более 10 секунд контролировать, я таймером и оперирую.
Ещё. Я использую для кнопок битовую маску (так экономятся теги), вот в один из битов и пишите импульсы снимаемые с таймера. В 32 тега можно очень много вкорячить если постараться, спасибо разработчикам.
Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 14:16
Dragony
У меня будет много устройств. Пока что используется 4 тега (канала) в каждом, при бесплатной версии это 8 выносных датчиков. И то начальство думало - нужны ли показания влажности, например?..
И вообще, думаю встроить еще таймер на перезагрузку каждые 12 часов, например. Хотя, версия датчика с RS-485-UART пашет без перезагрузок уже больше месяца... Но LAN вроде как более привередливый.

Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 14:40
olddolin
По любому битовую маску никто не отменял,очень удобная штука. Ну а если вы не стеснены в тегах, то флаг в руки, перезагрузка по таймеру это уже край, сделаете как я советую, не пожалеете, просто и сердито. Если будут нужны подробности, в личку пишите,чем сам себе помог то и покажу, сам недавно скаду начал осваивать, но работает же и без тормозов практически.
Перезагрузка при обрыве связи
Добавлено: 18 май 2020, 18:08
Dragony
Мне пока еще сам термин неизвестен...

Насчет программирования - изучал FORTRAN-IV больше 30 лет назад.
Так что...
А тегов мала-мала не хватает, возможно, даже скажут убрать какие-то "ненужные". Да и память Ардуины загружена уже на 85%, буквально пару строк добавляешь - уже вываливается предупреждение о нестабильной работе, а этого категорически не нать...
Перезагрузка при обрыве связи
Добавлено: 26 июл 2020, 10:54
Dragony
После того, как обновил SimpLite, проект перестал работать.
то, что было сделано - новая программа не признает - вываливает сообщение об ошибках.
Пытался соорудить то же, что и в предыдущей версии - не работает, данные не передаются, показывает сообщение об ошибке.
Так что... Проблемы с перезагрузкой пока уходят на второй план, связь бы восстановить...

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