Настройка корректной работы линии связи RS-485

Доброго дня. В обслуживании приняли систему теплогенераторов на базе горелочных устройств под управлением ПЛК-110 ( далее ПЛК). ПЛК связаны по протоколу ModbusRTU RS-485 шиной. Топология прикреплена. Главным контроллером является WirenBoard7 (далее WB7). Настройку и наладку всего оборудования, проводили другие организации.

При обслуживании, обнаружилось отсутствие связи между всеми ПЛК и WB7, при этом опрос умного реле WBMR3 (далее wbm) происходит штатно. В результате диагностики смогли определить:

  • Линии связи исправны, подключение верно. Было проверено путем подключения на местах установки ПЛК подменного прибора ТРМ, с последующим опросом его непосредственно от места установки WB7.
  • Подключение к WB7 выполнено по 4 каналам: MOD1, MOD2, MOD3, RS485-1. 9600 8N2
  • MOD3, к которому подключены выхода wbm, не описан в “Настройка драйвера serial-устройств”.
  • К MOD1 (вероятно) шиной подключены через усилитель сигнала 4 ПЛК (№1, №2, №3, №4) в паре с 4 wbm (по 1 wbm на каждый ПЛК).
  • К MOD2 шиной подключены через усилитель сигнала 2 ПЛК (№6, №7) в паре с 2 wbm.
  • К MOD3 шиной подключены выхода 2 wbm.
  • К RS485-1 подключен 1 ПЛК (№5).
  • Обнаружен ПЛК, фигурирующий в опросе согласно “Каналы MQTT” но не имеющий адрес SlaveID.
  • ПЛК в настройках подключения верхнего уровня ModbusRTU имеют одинаковый, 7й адрес SlaveID и неверный стоп-бит. В настройках WB7 каждый ПЛК расписан со своим адресом от 1 до 7. Описаны уникальные параметры регистров для каждого ПЛК. Созданы виджеты с привязкой к параметрам каждого описанного ПЛК.
  • Изменили конфигурацию Modbus в ПЛК№6, поменяли значение SlaveID на 6. После перезапусков связь с ПЛК №6 не появилась.

! Изменение SlaveID (адресов) описанных ПЛК в “Настройка драйвера serial-устройств” между собой (6й ПЛК получил номер 7, а 7й соответственно 6) с последующей перзагрузкой WB7, привело к тому, что: При физическом отключении любого из ПЛК (6й или 7й), происходит опрос, согласно информации из “Каналы MQTT” ПЛК№7, с последующим выводом в виджет ПЛК№7. При работе обоих ПЛК на канале MOD2, опрашивается первый успевший установить связь. Иногда это ПЛК№6, иногда ПЛК№7.

! При физической перестановке ПЛК№7 из канала MOD2 на канал MOD1 за место ПЛК№1 с последующей корректировкой адреса SlaveID в “Настройка драйвера serial-устройств” между собой (1й ПЛК получил адрес 7, а 7й соответственно 1) с последующей перезагрузкой WB7, привело к тому, что: согласно информации из “Каналы MQTT” происходит опрос ПЛК№7, с последующим выводом в виджет ПЛК№7 вне зависимости от физического расположения ПЛК№7.

Собрали короткую линию только для одного ПЛК, физически отключили остальные каналы, оставив только RS485-2.
Удалили старое описание канала из MOD2. Описали ПЛК№6 в канале RS485-2 в WB7, с настройками порта как в ПЛК№6. После перезагрузок получаем данные в виджете ПЛК№7. В “Каналы MQTT” видим успешный опрос ПЛК№7 "teplovey_7/smokeFumesTemperature | value |

/devices/teplovey_7/controls/smokeFumesTemperature | 213.911| OK

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

Заключение: Даже перенастроив ПЛК на правильные адреса SlaveID не смогли добиться устойчивой связи по MOD2, совсем никакой связи по MOD1, RS485-1.

  • Диагностическая информация собранная WB7 приложена.

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

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

1 лайк

Благодарю.

По окончании работ, постараюсь описать действия, что были проведены.

Прикладываю краткий, промежуточный отчет по проведенным работам.

  1. ОВЕН ПЛК-110-30-v2.

  2. Панель оператора ONI ETG-CP-070.

  3. Контроллер Wiren Board 7 (wb-2507).

  4. ОВЕН ПЛК-110-30-v2.
    Проблема заключалась в отсутствии связи между ПЛК и Панелью и WB.
    Проблема была решена путем изменения значения Адреса ветки ModBus(slave).
    Для каждого ПЛК, был установлен уникальный номер (от 1 до 6). После был выполнен Сброс. Только после этого, через спец.ПО ModBus_Poll корректно смог подключиться к ПЛК под его номером. После чего, отключилась связь с Панелью Оператора (у всех ПЛК, кроме ПЛК №7).

  5. Панель оператора ONI ETG-CP-070.
    Просмотрев проект, не понял, как это работает с ПЛК №7. Нашел в параметрах связи Ethernet ПЛК номер станции по умолчанию, на всех панелях был равен 1.
    Скорректировал согласно номерам ПЛК. Зашел в Библиотеку адресных меток и для каждого параметра (источником которого указан удаленный ПЛК) сменил Номер станции.
    После перезагрузки панели, связь между ней и ПЛК восстановилась.

  6. Контроллер Wiren Board 7 (wb-2507).
    … за то интересно.
    Только после изменений в ПЛК, появилась возможность работать с WB. Проблеск надежды пришел после создания канала заданных пользователем, с полным описанием настроек.
    Таким образом, смогли настроить связь с 3мя ПЛК. После, по непонятной причине, сломалось ядро. Восстановили ядро, за одно и обновили.

    Используя SSH был восстановлен и отредактирован файл wb-mqtt-mbgate.conf, описаны параметры одного устройства. Начали успешно получать данные.
    Нашли информацию о Шаблонах, восстановили из дефолтной папки файл образца. Переписали под своё устройство. Начали получать данные, согласно шаблону. Но в логах, появлялись и не исчезали Warning на различные операции чтения с удаленных регистров.
    Удалил устройства из wb-mqtt-mbgate.conf и логи стали чистыми, видимо был конфликт. На текущий момент, подключено 3 ПЛК. Устройства опрашиваются отлично.

В дополнение скажу:
Опрашиваю 59 параметров с каждого ПЛК, разбив их на группы. Создал правило, для чтения состояний некоторых регистров при появлении сигнала об аварии.

Прикладываю файлы конфигурации Serial и правило опроса.

config-teplovey-Alarms.json (19,6 КБ)

teplovey_alarms.js (2,0 КБ)

ПС: Буду признателен за советы и предложения по оптимизации и настройке оборудования.

Добрый день.
Спасибо большое за обратную связь.

К сожалению не могу советовать оптимизацию вашей системы, тем более когда так много сторонних контроллеров, это задача инженера АСУТП и проектировщика.
Мы, как техподдержка производителя, можем подсказать только по конкретным вопросам по оборудованию. Писать и править код не наша специализация.
Если что либо не получается настроить с помощью нашей документации либо устройства работают не корректно, пишите, мы постараемся разобраться и помочь.