Зависание шины контроллера

Продолжая обсуждение из темы Залипание модуля wbio-do-r10a-8:

Добрый день. Оператор с объекта прислал письмо с просьбой разобраться что случилось:

Отключение на КТП 10 09.11.2025
09.11.2025 с 15:19 несколько раз появлялись аварии датчиков температура всех без исключения. При этом по графику 1 видно, что температура не изменялась, не падала в крайние положения, значит обрыв можно исключить.
График 1

В 15:25:15 и 15:26:26 в Scada-системе появились сообщения о том, что вентиляторы 1 и 2 не включились по достижению уставки температуры (журнал 1).

В 15:31:17 на Scada-системе появились аварии 4-х автоматических выключателей и сигнал об их выключении: 2QF3, 2QF4, 2QF5, 2QF6. Автоматические выключатели 2QF4, 2QF5, 2QF6 были без нагрузки. Автоматический выключатель 2QF3 был нагружен. На графике 2 показана нагрузка контейнера и сигналы аварии и состояние включения автоматических выключателей. По графику определили, что нагрузка упала раньше, чем изменилось состояние 2QF3.
Также по графикам 1 и 2 видно что в 15:31 был разрыв соединения с контроллером, предполагаем, что контроллер перезагружался, после обнаружения собственного зависания (данный функционал был внедрен ЭйТиПи при содействии разработчиков WB, для предотвращения зависания контроллера, которые были обнаружены при эксплуатации (wb-mqtt-gpio_2.16.0_armhf.deb) ).
После перезагрузки вентиляторы 1 и 2 запустились.
График 2

Вопрос состоит в том, что 4 автоматических выключателя отработали по аварии. На данный момент предполагаем, что сам контроллер при зависании, каким-то образом отправил сигнал на расцепители, часть из них отработали (возможно и на остальные 8 автоматических выключателей был подан сигнал на расцепители, но они не отработали из-за нехватки мощности расцепителя на отключения автоматического выключателя, такая проблема существует).
Графики, журнал и системный журнал контроллера с 08:00 09.11.2025 также прикладываю отдельными файлами.

log_20251109T080525.log (38,3 КБ)

Добрый день.
Благодарю за подробное описание.

Тут для меня слегка непонятно - на приведенном скриншоте нет никаких данных что за параметр показан. Точнее - его источник. Иными словами - что за значение выводится? Откуда оно читается?

Тот же вопрос.

Собственно тот же вопрос. Мне, к сожалению, ничего не говорят обозначения: чему они соответствуют? То есть изменения чего, какого параметра показаны?

Хочется подробностей. Что за функционал, если он как-то меняет/дополняет стандартное ПО контроллера - то как? Куда, в какой лог записываются его сообщения?

Вижу что приложен лог за период 2025-11-09T05:05:25.214Z - 2025-11-09T04:56:42 составляющий 10 минут.
Я не вижу в нем странного. Пожалуйста дайте логи за интересующий период.

Ну и пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

Также проверьте что на контроллере актуальный релиз ПО.

Добрый день. Попрошу оператора оперативно прислать данные.
По этому объекту периодически возникают вопросы и как радует, когда грамотные специалисты оперативно отвечают на возникающие вопросы.
Добавлю пару ссылок на эти вопросы:

  1. описание объекта - Залипание модуля wbio-do-r10a-8
  2. схема шкафа - Просадка напряжения на модуле WB-MAO4 - #10 от пользователя Nic

Добрый день. Оператор ответил более подробно:
Отключение на КТП 10 09.11.2025

09.11.2025 с 15:19 несколько раз появлялись аварии датчиков температура всех без исключения.

На графики отображены показания температуры с 3 разных датчиков. На всех датчиках в разное время появлялись аварии датчика. Насколько я знаю, данная авария появляется при обрыве линии датчика, но при этом показания должны резко уйти к нижнему значению, но показания никак не изменяются. Данная авария появляется моментом, всего на 1 опрос контроллера scada-системой (1 раз в 2 секунды). Возможно данная авария появляется на контроллере намного чаще, просто scada не попадает в опрос.

Почему возникает такая ситуация? Температура показывается, но при этом показывает аварию (обрыв датчика), на 1 опрос scada. Проблема с модулем аналогового входа или со связью с контроллером самого модуля?

График 1

В 15:25:15 и 15:26:26 в Scada-системе появились сообщения о том, что вентиляторы 1 и 2 не включились по достижению уставки температуры. Данное сообщение формируется scada-системой в случае, если показания с датчиков температуры выше уставки (по которой запускаются вентиялторы), а вентиляторы не запускаются.
image

Вероятно, что из-за зависания контроллера, он не давал команду на запуск вентиляторов. Данная проблема была раньше, приходилось перезагружать контроллер сбросом питания. После обращения, была добавлена функция перезагрузки контроллера, при обнаружении таких вот зависаний.

Журнал

В 15:31:17 на Scada-системе появились аварии 4-х автоматических выключателей и сигнал об их выключении (журнал): 2QF3, 2QF4, 2QF5, 2QF6. Автоматические выключатели 2QF4, 2QF5, 2QF6 были без нагрузки. Автоматический выключатель 2QF3 был нагружен. На графике 2 показана нагрузка контейнера и сигналы аварии и состояние включения автоматических выключателей (все события прошли одновременно, после перезагрузки контроллера). По графику определили, что нагрузка упала раньше, чем изменилось состояние 2QF3.

Также по графикам 1 и 2 видно что в 15:31 был разрыв соединения с контроллером, предполагаем, что контроллер перезагружался, после обнаружения собственного зависания.

После перезагрузки контроллера вентиляторы 1 и 2 запустились, 4 автоматических выключателя показали аварию и отключение.

График 2

Вопрос состоит в том, что 4 автоматических выключателя отработали по аварии. На данный момент предполагаем, что сам контроллер при зависании, каким-то образом отправил сигнал на расцепители, часть из них отработали (возможно и на остальные 8 автоматических выключателей был подан сигнал на расцепители, но они не отработали из-за нехватки мощности расцепителя на отключения автоматического выключателя, такая проблема существует).

Также реальное состояние автоматических выключателей и аварии появились только после перезагрузки контроллера.

Файлы диагностики прилагаются.

КТП 12 и 9

События аварий датчиков стали появляться и на других КТП.

На КТП9 16.11.2025 в 05:48:05 появилась и сразу пропала (при следующем опросе контроллера) авария датчика температуры трансформатора 2, в 12:51:43 авария датчика температуры трансформатора 1.

На КТП12 15.11.2025 в 00:14:59 появилась и сразу пропала (при следующем опросе контроллера) авария датчика температуры РУНН, в 14:28:40 авария датчика температуры РУНН.

На данных КТП аварии датчиков периодически появляются. Данные аварии стали появляться примерно 1-2 месяца назад.

Данные диагностики по данным КТП прилагаются.

приложен диагностический архив, доступен только сотрудникам поддержки
(160,7 КБ)
приложен диагностический архив, доступен только сотрудникам поддержки
(164,7 КБ)
приложен диагностический архив, доступен только сотрудникам поддержки
(164,0 КБ)

По журналу логов с КТП10, где были отключения, данные только с 11.11.2025 (отключения были 09.11.2025) и по сейчас.

Так. Информации много, она вполне доступно описана. Но главного, то что хотел узнать - нет.
Попробую сформулировать. То есть описание каких-то значений - оно полезно только в плане времени. Откуда берутся эти значения? То есть каким оборудованием, куда оно (и как) подключено? Логи этого оборудования?

А чем контролируется факт “запуск вентилятора”?
Вот например есть вентилятор. Он управляется каналом одного реле а импульсы (частоа вращения) с тахогенератора вентилятора подключены на вход другого модуля.
В программе я включаю вентилятор (переключаю канал реле) и устанавливаю периодическую проверку частоты. Первая проверка - откладывается на время выхода на рабочую частоту.
Тут как реализовано?

Я все ж предлагаю перейти от SCADA сисемы непосредственно к контроллеру.

Очень хочется посмотреть в логи. Я проверил содержимое архива - но виду там записи с 14 числа. То есть пользы для диагностики не очень много.
А что такое “обнаружение собственного зависания”? Это какой-то сервис? Мне совершенно необходимо понимать как механизм работает.

Какие топики? То есть как устройство называется в контроллере?

Смотрю.
Ну, видно что контроллер перезапускался Tue 2025-11-11 10:44:11 UTC
И - используется релиз 2501. Очень рекомендую выполнить обновление до актуальнго, 2507.
Логов раньше 14 числа нет.
Если знать о каких параметрах (имена топиков) речь, чтобы определить механизм формирования значений - то можно выгрузить именно интересующие логи.

Тот же вопрос. Как этот “датчик” представлен в контроллере? Вижу что настроен WB-MAI6 с адресом “133”. У которого IN3, IN4 сконфигурированы для Pt1000.
В логах сервиса (это все логи):

-- Journal begins at Tue 2025-11-11 15:42:14 UTC, ends at Mon 2025-11-17 10:55:58 UTC. --
Nov 13 05:57:09 wirenboard-ACCDLA6O wb-mqtt-serial[1718]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device </dev/ttyRS485-1 9600 8 N 2> modbus:140: Serial protocol error: request timed out
Nov 15 17:59:10 wirenboard-ACCDLA6O wb-mqtt-serial[1718]: WARNING: [modbus] failed to read 1 input(s) @ 9476 of device </dev/ttyRS485-1 9600 8 N 2> modbus:133: Serial protocol error: request timed out
Nov 16 02:52:26 wirenboard-ACCDLA6O wb-mqtt-serial[1718]: WARNING: [modbus] failed to read 1 input(s) @ 17668 of device </dev/ttyRS485-1 9600 8 N 2> modbus:133: Serial protocol error: request timed out
Nov 16 09:56:04 wirenboard-ACCDLA6O wb-mqtt-serial[1718]: WARNING: [modbus] failed to read 1 input(s) @ 13572 of device </dev/ttyRS485-1 9600 8 N 2> modbus:133: Serial protocol error: request timed out
Nov 17 01:08:05 wirenboard-ACCDLA6O wb-mqtt-serial[1718]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device </dev/ttyRS485-1 9600 8 N 2> modbus:140: Serial protocol error: request timed out
Nov 17 03:31:08 wirenboard-ACCDLA6O wb-mqtt-serial[1718]: WARNING: [modbus] failed to read 2 input(s) @ 1536 of device </dev/ttyRS485-1 9600 8 N 2> modbus:133: Serial protocol error: request timed out

То есть на один запрос, которые происходят порядка 10 раз в секунду - была ошибка таймаута. Для шины RS485 ошибки, единичные, - вполне допускаются. Одна на сотню тысяч опросов - пренебрежимо мала. Аварией стоит считать повторяющуюся более нескольких раз за минуту (или длящуюся дольше нескольких секунд, время должно быть больше чем период опроса всей шины в 2-5раз) ошибку.

Добрый день.
На удаленном объекте смонтировали и запустили оборудование на 8 трансформаторных подстанциях.
Дискретка-положение автоматов wbio-di-wd-14 + при помощи двух модулей wbio-do-r10a-8 отключение автоматов и управление вентиляцией (пуск ПЧ)
Температура собирается по WB-MAI6 датчиками PT 1000 - 1 датчик в помещении где установлен шкаф, 2 и 3 температупа в помещениях где установлены трансформаторы.
0-10 отдается на ПЧ по WB-MAO4.
Управление вентиляцией написана на wb-rules.
Вентиляций на трансформатор срабатывает довольно часто примерно каждые 15-20 минут в зависимости от загрузки трансформатора.
Вентиляторы все стоят в автоматическом режиме.
Вентиляция запускается через частотный преобразователь. На контроллер уходит факт запуска ПЧ. А так же запуск вентиляции контолируется датчиками температуры.
Данные с контроллера через MOXA преобразуются в оптику - MQTT- ModBus RTU/TCP - и отдаются в скаду.
Схема шкафа
==0184.0-АК.ШД1=ШД1_Э3_1.pdf|attachment (609,7 КБ)
Программы контроллера
vent1.txt (2,0 КБ)
vent2.txt (2,0 КБ)
проверка датчиков.txt (1,4 КБ)

Подскажите как долго хранятся логи, и как их выцарапать с контроллера
желательно через веб интерфейс

Ага, отлично, тут понятно.

Смотрю на приложенную схему.
Как я понимаю сам контроллер на 5 листе,
ПЧ-2, например управляется каналом 6 WBIO-DO-


который замыкает промежуточное реле K57
Включенный ПЧ-2 в свою очередь замыкает K58 и его контактами вход 8 на модуле WBIO-DI-WD-14 на 23 листе

Вот теперь, со схемой этот момент понятен.

Для логов отведено 10% раздела в /mnt/data То есть чем больше логов в единицу времени - тем меньший период времени. Обычно - порядка месяца.
Выгрузить удобно с помощью journalctl — утилита просмотра системного журнала — Wiren Board
Можно из веб-интерфейса (раздел Настройки / Системный журнал) но не слишком удобно анализировать.

Добрый день.
Получилось ли достать логи?

Добрый день.
Оператор пока ничего не присылал.
Я ему скинул ссылку на тему. Возможно он просто поставит задержку на скаде для срабатывания аварийной ситуации.
Спасибо.