Сегодня весь вечер промучался с щитом автоматики с кабинете. Пока что это самый проблемный блок автоматики у меня. Проблемный в том плане, что есть какие-то непонятные странности, не понятно с чем они связаны и как их лечить. Собственно, решил с ними разобраться.
Странности было 2:
1. Сдыхающий разъем ethernet на контроллере. Я их менял уже два раза. Работает неделю и опять умирает. Смерть его заключается в том, что он перестает работать в режиме 100 мбит, только 10 мбит работает. Хрен бы с ним, да вот только у меня свитчи 10 мбит не поддерживают. Да и вообще это как-то странно, хотелось бы понять в чем причина.
2. Почему-то при сбросе питания сбрасывается адрес на первом WB-LED. С вторым при этом все хорошо. Я думал модуль проблемный. Менял их местами. Брал из другого щита. В другом месте модуль начинал работать нормально, а тут так же глючить.
Первая теория у меня была, что что-то с питанием 220. У меня там подходят 2 линии, одна напрямую другая через УЗО. Я думал что может между ними разница потенциалов возникает которая пролезает через блоки питания и сжигает ethernet разъем и сбрасывает адрес на WB-LED. Посадил их сначала на одну линию. Ethernet я пока проверить не могу, так что проверял на WB-LED. Не помогло. Потом пробовал сажать на один блок питания. Потом на другой. Потом еще куча разных тестов.
В итоге заметил, что если сначала подать питание, а только потом подключить клеммную колодку к WB-LED, то адрес модуля не сбрасывается. Попробовал отключить линии A и B от модуля, включить питание и уже после их подключить. Адрес так же не сбросился. Стало понятно, что что-то такое летит по линии что ломает модуль.
Просмотрел код прошивки, ничего такого не заметил. Только вот заметил, что при подаче питания на WB-LED он первые пару секунд мигает светодиодом. По доке выяснилось, что он в это время работает в режиме загрузчика и его можно прошить. Я подумал: может мой контроллер быстро стартует, начинает слать команды на инициализацию WB-LED, а он еще в режиме загрузчика и что-то ломается?
Добавил в прошивку задержку в 10 секунд после старта. И о чудо, проблема ушла. Значит, так оно и есть. Надо будет в код общения со всеми WB девайсами добавить сначала запрос текущего состояния, и если модуль уже в основной прошивке, то настраивать его, иначе ждать пока загрузится. Видимо тут у меня там совпало, что инициализация моего контроллера происходит быстрее чем модулей WB-LED и он их ломает.
В общем, одну проблему устранить удалось. Со второй, надо заказывать новый ethernet разъем, менять, и тестировать на питании обоих блоков питания от одной линии. Если проживет месяц - значит в этом дело. Иначе я хз. Может какой-то аппаратный баг именно в этом контроллере. Придется наверное другой заказывать, менять и на нем проверять.
