Скорость реакции

Очень познавательный получился тред!
Хотелось бы узнать, какие решения привели к снижению задержки передачи команд с 5 сек до приемлемых значений?

Я не уверен решил ли свои проблемы автор, но можно и не получать задержек в 5 секунд, если:

  1. Использовать нормальный, а не абы какой кабель. Не забыть про терминальные резисторы, если нужны(а не нужны они в крайне редких случаях).
  2. Поставить нормальную, а не самую низкую скорость.
  3. Использовать разумный обмен данными, т.е. не пытаться одним запросом узнать состояние одного бита.
    При выполнении этих трёх простых пунктов задержек в 5 секунд не будет.

Так я о том же, просто “ жаль что мы так и не услышали начальника транспортного цеха"

Добрый день!

Давайте только по тезисам:

Здесь согласен. Замечу, что и про КИС, и про терминаторы написано в нашей документации.

Здесь не согласен. С КСПЭВГ проблем ни разу не возникало у нас, и ни одной жалобы клиентов мы не слышали. Если вам известны случаи проблем в инсталляциях с КСПЭВГ - напишите, мы посмотрим внимательно, и возможно, действительно изменим рекомендации.

Согласен, но отмечу, что я это же писал в первом своём сообщении.

Утверждение формально верное, но как совет не подходит - потому что Wiren Board в любом случае так не делает.

Мне очень неприятно, что вы уверенно утверждаете о наличии проблем в Wiren Board, основываясь лишь на одной инсталляции с непонятной конфигурацией. Так как вопрос задержки при опросе всплывал на форуме несколько раз, напишу прямо здесь пару вероятных причин именно для экстремально длинных (секунду) задержек:

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

Любая из эти двух причин может привести к существенным задержкам при низкой скорости опроса. При этом ни одна из них не является “проблемой реализации” Wiren Board.
Поэтому если у вас есть какие-то более твёрдые основания так считать, приведите их, пожалуйста.

Погодите, кажется мы говорим на разных языках. Я говорю что невозможность работать на максимальных скоростях это проблема. Вы говорите что “проблем не возникало”, то есть в вашей терминологии “хоть какая-то работа означает отсутствие проблем”.

Позвольте я Вас поправлю. Я это пишу вовсе не потому, что “одна инсталляция с непонятной конфигурацией”, а потому что я видел следующий диалог:

То есть был прямой ответ что “цикл опроса в 5 секунд это нормально” и первым же советом было “используйте ethernet”. Но сейчас Вы уже изменили свою позицию с “нормально. Шина медленная прост” на “это экстремально длинная задержка”. Не надо так :slight_smile:

Но всё-таки ответьте, пожалуйста:

Я же уже сказал, что у нас с вами абсолютно разное понимание слова “проблема”. Для меня невозможность системы работать на максимальной скорости это проблема, для вас, похоже, абы какая работа это уже нормально и не проблема вовсе. Ещё раз повторюсь что “абы как”, особенно в условиях домашних инсталляций, RS-485 будет работать и по ВВГнг, поэтому “нет никакой необходимости покупать дорогой и недоступный КСПЭВГ”.
Давайте я покажу на другом примере то, о чём я говорю. Открываем официальную вики, на которой можно писать только с аппрува админами, да и сама статья написана из под учётки “админ” и видим следующее (чёрными прямоугольниками закрашено для того, чтобы было сложнее найти :slight_smile: ): image
Для тех, кто с Линуксом очень на “ты” ключ --force-all это установка пакета, игнорируя все возможные проблемы в том числе с зависимостями. При сломанных зависимостях штатные механизмы обновления и установки программ отрубаются и настойчиво предлагают сделать “fix broken install”(то есть в данном случае снести пакет, который установлен на скриншоте).
Стоит ли говорить что убитые зависимости потом не чинятся хотя бы ручной правкой установленных пакетов? Какое это имеет отношение к кабелю? К кабелю никакого, но к подходу самое прямое: система с убитыми зависимостями и невозможностью установки/обновления пакетов великолепно демонстрирует подход “хоть как-то работает - уже не проблема” :wink:
У нас с вами разный подход и разные стандарты. Нам не понять друг друга.
За сим предлагаю закончить этот бессмысленный разговор. Ведь право, шурупы тоже можно заколачивать и даже не молотком, а микроскопом.

Я проблему не решил, до окончания отопительного сезона экспериментировать со скоростями не буду, тк на wb реализованы пид регуляторы для управления температурой отопления.
Кабель уже в штробах, а штробы заштукатурены.

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

Спасибо всем за подсказки!

1 лайк

Хочется все таки выяснить до покупки.
Вот хочу купить Wiren Board 6 + WBIO-DI-WD-14 + Модуль реле 6-канальный WB-MR6 для управления светом.

То есть у меня что, будет эффект - кода выключатель замкнет контакт на WBIO-DI-WD-14, контроллер отработает логику (как я понял до контроллера все быстро дойдет и он быстро отработает), а реально физически контакт реле на WB-MR6 сработает только через 5 секунд ???

нет, у вас не будет такого эффекта, реле переключится мгновенно.

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

Резюме по треду выше:

  1. Команды на смену состояния выходов (например, переключение реле) уходят с контроллера и приходят на модули RS-485 мгновенно (миллисекунды).
  2. Если вы используете модуль входов с интерфейсом RS-485 Modbus RTU, то чтобы контроллер узнал об изменении состояния входа, в худшем случае пройдёт цикл опроса - опрос всех регистров всех устройств. С настройками по умолчанию и несколькими устройствами на шине такой цикл может занять несколько секунд. Чтобы уменьшить это время, нужно:
  • увеличить скорость устройств до 115200,
  • в настройках wb-mqtt-serial в веб-интерфейсе уменьшить задержки,
  • отключить опрос ненужных регистров.

+Перевести часть устройств на другие порты?
Порты можно добавить через WB-MGE? Время отклика уменьшиться?

Да.

Да.

Но это советы для больших инсталляций. Для маленьких (3-4 устройства) можно вещать всё на одну шину и добиться хорошего времени только правильной настройкой.

Всем привет!
Ситуацию с временем отклика исправил - посадил WB-MIO-E на отдельную шину RS485 и поднял скорость работы на 115200.
Вот хорошая статья, рекомендую к прочтению.
https://sprut.ai/client/article/2388

1 лайк

Но это советы для больших инсталляций. Для маленьких (3-4 устройства) можно вещать всё на одну шину и добиться хорошего времени только правильной настройкой.

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

Вы могли бы подробнее описать схему работы через модули WB-MGE для больших инсталляций? Если планируется достаточно много выключателей света (20) и групп света (приблизительно 35-40). И для более крупных объектов, например управления светом в ресторане?

Добрый день!
Чтобы всё работало быстро, нужно учесть несколько вещей. В частности, выбрать тип модулей входов-выходов.

Первый вариант. Боковые модули.

Работают мгновенно. То есть если вы заведёте 20 выключателей на два Модуль ввода-вывода WBIO-DI-WD-14 , то состояние выключателей будет приходить в контроллер мгновенно.
Если вы подключите нагрузку через боковые релейные модули https://wirenboard.com/ru/catalog/wb-extensions/, то переключаться они тоже будут мгновенно по сигналу с контроллера.

Но обычно это не лучший вариант по двум причинам:

  1. В боковых модулях установлены слабые реле - ими можно переключать контакторы, но нельзя коммутировать светодиодное освещение из-за больших пусковых токов светильников.
  2. Если вы используете боковые модули, вы лишаетесь прямой связи между входом (выключателем) и выходом (светильником). Связь между ними будет обеспечена только вашим скриптом на контроллере. Если со скриптом что-то пойдёт не так, или контроллер зависнет, вы не сможете переключить свет.

Второй вариант. Модули по Modbus.

Это, например, Модуль реле 6-канальный WB-MR6 .
Из плюсов:

  1. Умеют коммутировать мощную нагрузку. Выдерживают большие пусковые токи - можно управлять светодиодными светильниками.
  2. Прямо на модуле есть собственный вход для выключателя, которым можно напрямую управлять соответствующим ему выходом. То есть неважно, есть ли вообще контроллер, включен ли он - можно выключателем, подключенным к модулю WB-MR6, управлять выходом WB-MR6.
  3. Могут находиться не только рядом (и в одном ряду) с Wiren Board.

Недостатки:
при неправильной настройке опроса по Modbus, данные со входов модулей могут приходить в контроллер с задержкой. То есть вы нажали выключатель, модуль узнал про это мгновенно, а контроллер с задержкой пол-секунды, секунду или больше. При этом команды с контроллера (“включи группу 5”) отправляются всё равно мгновенно.
Что нужно сделать, чтобы не было задержек:

  1. Исключить из опроса устройства, которых физически нет на линии.
    Иногда после начальной/тестовой настройки в настройках контроллера остаются устройства, которые физически уже убрали с линии RS-485. Каждое обращение к такому устройству вызывает огромную задержку - контроллер пытается дождаться ответа, с остальными устройствами на линии в это время нельзя общаться.
  2. Разнести устройства по нескольким линиям RS-485. Условно, если у вас 40 групп освещения, это 8 шестиканальных модулей реле. Лучше подключить их по 4 штуки к каждому порту RS-485. Если есть другие устройства (например, датчики, счётчики - где скорость реакции не важна), их лучше убрать на отдельную шину RS-485. В Wiren Board 6 есть два порта RS-485 из коробки, и ещё два можно добавить внутренними модулями.

Хорошо, понятно. Каждый порт RS-485 это отдельная линия? Скажите, какой функционал у модулей WB-MGE? Что даёт их применение? И каждый модуль MGE это отдельная линия RS-485 или они будут относится к какой-то из существующих?

https://wirenboard.com/wiki/RS-485:Физическое_подключение
https://wirenboard.com/ru/product/WB-MGE/
В чём именно вопрос?

Если мы подключаем WB-MGE к контроллеру через Ethernet (Modbus TCP), а дальше к MGE другие устройства по RS-485, то это будет отдельная линия RS-485 или это будет относится к какой-либо из существующих линий RS-485? Если применить несколько модулей MGE ускорит ли это связь с устройствами?