Опять RS485 и ModBus

Одновременная работа устройств на одной шине

Использование протокола Modbus
xmaxzzz
Рядовой
Сообщения: 49
Зарегистрирован: 26.10.2017{, 16:29}
Репутация: 0
Откуда: Санкт-Петербург

Опять RS485 и ModBus

#1

Сообщение xmaxzzz » 09.05.2018{, 18:48}

Прошу помощи, уже неделю бьюсь с подключением двух ардуино.
Вводные данные:

2 Ардуино Мега + 2 конвертера UART-485 (те что с пинами TX и RX) подключены через преобразователь интерфейса RS-485 - Ethernet (RTU->TCP) к системе УД (iobroker). Если из УД запускать опрос этих слэйвов по отдельности - все ок, но когда преобразователь опрашивает их одновременно - постоянно сыпятся ошибки, а индикатор 485-й сети помимо стандартного мигания периодически начинает гореть и после этого ошибки по таймауту. Тайминги уже увеличивал до неприличия - не помогает.

Проекты во вложении, также прошу покритиковать правильность использования переменных модбаса в проекте.

Заранее благодарю!
Проекты.zip
(338.86 КБ) 104 скачивания

Аватара пользователя
jonik22sm
Капитан
Сообщения: 703
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 6
Откуда: Краснодар
Имя: Евгений
Контактная информация:

Опять RS485 и ModBus

#2

Сообщение jonik22sm » 09.05.2018{, 21:00}

А кто нибудь знает программу под винду для прослушивания Rs485?
Можно сделать ВСЁ. Было бы желание.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Опять RS485 и ModBus

#3

Сообщение Ingwar » 09.05.2018{, 21:09}

Что касается драйвера MODBUS на iobroker, то буквально пару месяцев назад тестил его и пришел к выводу - "сырой" он.
Где то даже писал об этом.
Что касается переходников UART-485 для ардуино - приобрел 4 платки на али, парился пару дней, но не смог соединить 2 ардуинки, хотя через USB-485 с любой из них соединялся. В итоге все микросхемы max485 заменил на adm485 и заработало.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

xmaxzzz
Рядовой
Сообщения: 49
Зарегистрирован: 26.10.2017{, 16:29}
Репутация: 0
Откуда: Санкт-Петербург

Опять RS485 и ModBus

#4

Сообщение xmaxzzz » 09.05.2018{, 21:56}

Ingwar писал(а):
09.05.2018{, 21:09}
Что касается драйвера MODBUS на iobroker, то буквально пару месяцев назад тестил его и пришел к выводу - "сырой" он.
Где то даже писал об этом.
Что касается переходников UART-485 для ардуино - приобрел 4 платки на али, парился пару дней, но не смог соединить 2 ардуинки, хотя через USB-485 с любой из них соединялся. В итоге все микросхемы max485 заменил на adm485 и заработало.
Перепайку микросхем вряд ли осилю, может есть какие-то более качественные платы, не знаете?
Проблема когда сажаешь 2 слэйва и один мастер на шину - происходят зависания.

fsergei70
Капитан
Сообщения: 786
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 54
Имя: Сергей

Опять RS485 и ModBus

#5

Сообщение fsergei70 » 09.05.2018{, 22:22}

xmaxzzz писал(а):
09.05.2018{, 18:48}
2 Ардуино Мега + 2 конвертера UART-485 (те что с пинами TX и RX) подключены через преобразователь интерфейса RS-485 - Ethernet (RTU->TCP) к системе УД (iobroker). Если из УД запускать опрос этих слэйвов по отдельности - все ок, но когда преобразователь опрашивает их одновременно - постоянно сыпятся ошибки, а индикатор 485-й сети помимо стандартного мигания периодически начинает гореть и после этого ошибки по таймауту. Тайминги уже увеличивал до неприличия - не помогает.
В ковертерах RS485 на концах линии должны стоять согласующие резисторы 120 ом, если устройств больше 2 то скорей всего на крайних коверторах надо оставить резисторы а в остальные выпаять. вот ссылка на статью почитайте http://www.bookasutp.ru/Chapter2_3.aspx

pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25.02.2018{, 17:56}
Репутация: 24
Имя: sonata

Опять RS485 и ModBus

#6

Сообщение pony sonata » 10.05.2018{, 08:55}

китайские шилды не предназначены для связи более 2х ус-в. резистор 120ом мешает. можно также подтяжку с линий А и В выпаять и оставить только на одном шилде, заменил 20К резюки на чени-нить типа 500-560 Ом. но это не критично в данном случае
СпойлерПоказать
Изображение
подключены через преобразователь интерфейса RS-485 - Ethernet (RTU->TCP) к системе УД (iobroker)
также учтите, что такие шилды не имеют гальванической развязки. чем чревато - гугл подскажет

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

Опять RS485 и ModBus

#7

Сообщение KSP » 10.05.2018{, 09:33}

Смотреть капитально проекты времени не хватает, но на вскидку, что бросилось в глаза слейв №3 плата 1 и 3 переменная "гистерезис полов". На 1 плате Вы его считываете из памяти , а на 3 записываете по модбас, т.е эта переменная уже будет прыгать. Я обычно для передачи нескольких Боленов использую блоки прикреплю отдельно, это уменьшает число переменных. И с переменными разбирайтесь таких косяков я так понял много , если переменная есть в ЕПРОМ то с ней и работайте , можно читать ее неограниченное число раз в разных платах. И на плате 2 генератор , зачем такая частота опроса датчиков все измеряемые параметры у Вас инерционные за 4 миллисекунды ничего критичного не произойдет поставьте опрос в секундах.
Вложения
Reg_Bit_16_(FBD).ubi
(254.44 КБ) 104 скачивания
Reg_Bit_8_(FBD).ubi
(218.69 КБ) 94 скачивания
Bit_Reg_16_(CODE).ubi
(61.07 КБ) 92 скачивания
Bit_Reg_8_(CODE).ubi
(22.52 КБ) 86 скачиваний
S

Аватара пользователя
jonik22sm
Капитан
Сообщения: 703
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 6
Откуда: Краснодар
Имя: Евгений
Контактная информация:

Опять RS485 и ModBus

#8

Сообщение jonik22sm » 10.05.2018{, 10:04}

А обязательно делать гальваническую развязку если блоки находятся в одном здании и питание и рс 485 идёт по одной витой паре в звезде
Можно сделать ВСЁ. Было бы желание.

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

Опять RS485 и ModBus

#9

Сообщение KSP » 10.05.2018{, 10:25}

jonik22sm, У меня RS-485 стоят в разных зданиях , но питаются по одному кабелю КСПВ никакой развязки нет, все прекрасно работает, на средних платах я сдул резисторы 120 Ом оставил только на крайних.
S

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Опять RS485 и ModBus

#10

Сообщение nalnik » 10.05.2018{, 10:35}

jonik22sm
пишет про подключение "звездой" - крайних там не будит, и поэтому убирать надо все :nono:
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

Опять RS485 и ModBus

#11

Сообщение Dev1 » 10.05.2018{, 10:58}

Господа, вы хоть смотрите что у вас за уровни там гуляют или сделано по принципу работает и ладно... :senile: Звезда - это вапще "огонь" :wizard:
Win10-64 FLProg v7.5.2 Portable :fie:

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

Опять RS485 и ModBus

#12

Сообщение KSP » 10.05.2018{, 11:20}

Да звезда это не очень хорошо, иногда по возможности лучше по кабелю прогнать туда и обратно , чтобы получилось по фен-шую. А вообще все проверяется на месте.
S

trak
Сержант
Сообщения: 136
Зарегистрирован: 29.08.2016{, 20:27}
Репутация: 0
Откуда: Нижний Новгород

Опять RS485 и ModBus

#13

Сообщение trak » 10.05.2018{, 13:26}

rs485 не любит тип подключения звезда , свободной парой прогоните туда сюда лучше.

pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25.02.2018{, 17:56}
Репутация: 24
Имя: sonata

Опять RS485 и ModBus

#14

Сообщение pony sonata » 10.05.2018{, 13:55}

jonik22sm писал(а):
10.05.2018{, 10:04}
А обязательно делать гальваническую развязку если блоки находятся в одном здании и питание и рс 485 идёт по одной витой паре в звезде
а какая разница где что находится? гальваническая развязка эт немного другое и расстояние там может влиять косвенно
в пром модулях с rs485/422 развязка в каждом модуле идет, а стоят они чаще всего в пределах одного щита и в районе до 80 см кабелем
по сабжу. вообще лучше звездой не подключать

xmaxzzz
Рядовой
Сообщения: 49
Зарегистрирован: 26.10.2017{, 16:29}
Репутация: 0
Откуда: Санкт-Петербург

Опять RS485 и ModBus

#15

Сообщение xmaxzzz » 10.05.2018{, 21:42}

У меня вот такаие платы и как я понял из описания для задействования резистора 120 необходимо замкнуть R0, можете прокомментировать.
Я замкнул на последней - разницы нет (
Спасибо!
Screenshot_10.png
Видел есть еще платы где есть выход DE RE - а также видел где с ними подключено по 5 устройств - на этом сайте кстати. Может такие взять?

Может есть какие-то более дорогие модули или варианты, буду признателен за подсказку.

Отправлено спустя 5 минут 34 секунды:
KSP писал(а):
10.05.2018{, 09:33}
Смотреть капитально проекты времени не хватает, но на вскидку, что бросилось в глаза слейв №3 плата 1 и 3 переменная "гистерезис полов". На 1 плате Вы его считываете из памяти , а на 3 записываете по модбас, т.е эта переменная уже будет прыгать. Я обычно для передачи нескольких Боленов использую блоки прикреплю отдельно, это уменьшает число переменных. И с переменными разбирайтесь таких косяков я так понял много , если переменная есть в ЕПРОМ то с ней и работайте , можно читать ее неограниченное число раз в разных платах. И на плате 2 генератор , зачем такая частота опроса датчиков все измеряемые параметры у Вас инерционные за 4 миллисекунды ничего критичного не произойдет поставьте опрос в секундах.
Благодарю! Буду корректировать!

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Опять RS485 и ModBus

#16

Сообщение Sancho » 10.05.2018{, 21:48}

xmaxzzz писал(а):
10.05.2018{, 21:42}
У меня вот такаие платы
Для меня - самые лучшие. Но не дешёвые. В пределах большого дома никаких проблем, никогда, без гал. развязок, везде gnd заземлено.

Отправлено спустя 46 секунд:
скорость 115200
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

xmaxzzz
Рядовой
Сообщения: 49
Зарегистрирован: 26.10.2017{, 16:29}
Репутация: 0
Откуда: Санкт-Петербург

Опять RS485 и ModBus

#17

Сообщение xmaxzzz » 10.05.2018{, 21:51}

pony sonata писал(а):
10.05.2018{, 08:55}
китайские шилды не предназначены для связи более 2х ус-в. резистор 120ом мешает. можно также подтяжку с линий А и В выпаять и оставить только на одном шилде, заменил 20К резюки на чени-нить типа 500-560 Ом. но это не критично в данном случае
СпойлерПоказать
Изображение
подключены через преобразователь интерфейса RS-485 - Ethernet (RTU->TCP) к системе УД (iobroker)
также учтите, что такие шилды не имеют гальванической развязки. чем чревато - гугл подскажет
Можете подсказать какие конкретно убрать и какие заменить - попробую..
Screenshot_11.png
Отправлено спустя 8 минут 59 секунд:
Sancho писал(а):
10.05.2018{, 21:49}
Для меня - самые лучшие. Но не дешёвые. В пределах большого дома никаких проблем, никогда, без гал. развязок, везде gnd заземлено.

Отправлено спустя 46 секунд:
скорость 115200
А у вас сколько устройств на шине?

pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25.02.2018{, 17:56}
Репутация: 24
Имя: sonata

Опять RS485 и ModBus

#18

Сообщение pony sonata » 10.05.2018{, 22:09}

xmaxzzz писал(а):
10.05.2018{, 22:00}
Можете подсказать какие конкретно убрать и какие заменить - попробую..
1.
между А и В должен быть резюк 120 Ом или примерный (китайцы любят слово "примерно")
2.
с линии А на питание должен идти резюк 20К, заменить на 560 Ом
с линии В на землю должен идти резюк 20К, заменить на 560 Ом

1 - резюки 120 Ом должны быть только на крайних с каждой стороны модулях. те что в шине "посередке" должны быть вообще без этого резюка
2 - резюки 560 Ом должны остаться только на одном шилде из всех, на остальных выпаять
схему шилда выкладывал выше

Отправлено спустя 1 минуту 16 секунд:
также желательно проверить сам драйвер 485 шины. на некоторых уже есть резюки эти в самом корпусе

но сначало начните с поиска резюков 120 Ом

xmaxzzz
Рядовой
Сообщения: 49
Зарегистрирован: 26.10.2017{, 16:29}
Репутация: 0
Откуда: Санкт-Петербург

Опять RS485 и ModBus

#19

Сообщение xmaxzzz » 10.05.2018{, 22:14}

https://photos.app.goo.gl/fyIbU7PF83JHpncw1 Тут видео как ведет себя преобразователь RTU-TCP в момент выпадания ошибки

Отправлено спустя 10 минут 45 секунд:
20180510_222412.jpg
Вот с номиналами, по 20к не нашел.

Аватара пользователя
jonik22sm
Капитан
Сообщения: 703
Зарегистрирован: 20.11.2015{, 11:28}
Репутация: 6
Откуда: Краснодар
Имя: Евгений
Контактная информация:

Опять RS485 и ModBus

#20

Сообщение jonik22sm » 10.05.2018{, 22:30}

А если в звезду и на концах рассчитать резисторы та чтоб линия получилась 120 ом?

Отправлено спустя 5 минут 5 секунд:
Вот получается 600 ом

Отправлено спустя 20 секунд:
На пять концов
Можно сделать ВСЁ. Было бы желание.

Ответить

Вернуться в «Modbus»