22.10.2021, 08:49 | #1 |
Senior Member
Регистрация: Jan 2013
Сообщения: 739
Благодарил(а): 22 раз(а)
Поблагодарили:
13 раз(а) в 12 сообщениях
|
Вопрос по Modbus общего характера
Имеется мастер и несколько слейвов. Можно ли послать один за другим запросы ко всем слейвам, а потом собрать с них ответы? Или необходимо последовательно, дожидаться ответа на первый запрос, затем отправлять второй и т.д.? Что-то я запутался вдруг тут. Ответ от слейва содержит в себе его адрес, т.е. ответы нельзя перепутать, даже если они кучей придут. С другой стороны я сам всегда так и делал - опрашивал последовательно.
|
22.10.2021, 10:24 | #2 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Ответы вообще не могут приходить кучей.
|
22.10.2021, 10:56 | #3 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Может ли одна бригада из 4х человек за одну ночь удовлетворить 300 женщин. Ответ: может если ночь полярная и бригада ударная.
Ответы могут уходить кучей и приходить кучей если MODBUS TCP. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
22.10.2021, 11:01 | #4 |
Senior Member
Регистрация: Jan 2013
Сообщения: 739
Благодарил(а): 22 раз(а)
Поблагодарили:
13 раз(а) в 12 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Я тут прояснил для себя, что интересующий меня способ опроса называется асинхронным. При работе с Modbus TCP такой вариант возможен, но меня интересует Modbus RTU. Вроде там только синхронный доступ (пишут так в Инете), но хотелось бы понять почему?
|
22.10.2021, 11:10 | #5 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
|
22.10.2021, 11:10 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Вы не интернет читайте, а даташит. Применительно к старым протоколам это и время экономит и вопросов после себя меньше оставляет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.10.2021, 11:14 | #7 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
На RS-485 в один момент времени активным на передачу может быть только одно устройство. Остальные будут только слушать пока не будет тишины.
Цитата:
|
|
22.10.2021, 11:43 | #8 | |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Если устройство увидело конец таймаута по тишине, разбирается пришедший запрос. Если запрос к этому устройству и запрос приемлем, устройство сразу переходит к ответу (таймаут уже до этого был). В связи с этим мастер не сможет передать второй запрос, так как в это время будет отвечать первый. Если ввести таймаут начала передачи ответа на устройстве и читать порт во время этого таймаута, а так же задать разные таймауты на разных устройствах. Далее уменьшать таймаут в зависимости от пропуска своей очереди. Назвать это carrier-sense-multiply-access with collision detection, CSMA/CD. Потом при увеличении устройств в сети поставить коммутаторы. Назвать все это Ethernet. На мой взгляд более правильное решение, я его неоднократно озвучивал, пропустить эти шаги в своем развитии и сразу использовать Ethernet. Добавлено через 3 минуты При Брежневе поговорка такая была. Если женщина красива и в постели горяча это личная заслуга Леонида Ильича. Какая разница чья заслуга. Главное результат. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|
22.10.2021, 11:50 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Проходили это в 2003/4. Всё уже придумано до нас. Существуют протоколы с арбитражем, там узлы начинают передачу одновременно, прослушивая при этом линию. Передача начинается с номера приоритета, затем адреса узла. Рано или поздно передаваемые 1/0 перестанут совпадать и победит тот, кто передаёт 0 - остальные отключат передачу. Добавлено через 1 минуту К сожалению, Леонидов на всех производителей железа не хватает, поэтому подобный опрос в основном работает через Ж. Жанну Агузарову, конечно __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.10.2021, 11:59 | #10 | |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
MODBUS TCP от правильных устройств, в том числе Ваших, работает довольно быстро. Отклик менее 1 мс. Вот и весь рецепт. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|
22.10.2021, 12:03 | #11 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Это всё на ком-портах работало до изобретения эзернета. Хотя что такое эзернет? Это всего лишь очень быстрый ком-порт...
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2021, 12:17 | #12 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
А у мастера есть запросы к другим? Одновременно? Будет полная жопа на 485-м. |
|
22.10.2021, 12:31 | #13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Изначально всё придумано для 232. Но работает и на 485 на модифицированных передатчиках и малом количестве узлов. Лучше работает на 422.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2021, 12:46 | #14 |
Senior Member
Регистрация: Jan 2013
Сообщения: 739
Благодарил(а): 22 раз(а)
Поблагодарили:
13 раз(а) в 12 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Спасибо за разъяснения.
|
22.10.2021, 13:03 | #15 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
+2 существенных, может даже гениальных отличия. Симметричная нагрузка (трансформатор) + витая пара а так да.
__________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
22.10.2021, 13:09 | #16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Транс как дешёвая на то время и автономная развязка, ставшая возможной из-за изначально высокой частоты. Первые "эзернеты" строились на антенный кабелях, а не на паре. Не было тогда уартов настолько быстрых. Это щас уарты на 80 гбит существуют. Тогда и 115k было иногда за горизонтом мечтаний.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2021, 13:11 | #17 | ||
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Есть ситуация похуже опять же из практики. Это когда устройство зависает или подгорает и на линии 485 все время напряжение. Это воспринимается как линия занята (собственно так и есть) и все стоят и слушают. Правда такое было только один раз, но ситуация не невозможная. Добавлено через 13 минут Цитата:
__________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
||
22.10.2021, 13:47 | #18 | |||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Цитата:
Про коаксиалку после пяти мегабит забыли. А MTBus работает на 3.75. (по длине линии не очень верю рекламе) Цитата:
232-й 422-й могут работать в дуплексе там разные линии Tx и Rx. Запросы мастера (или общий запрос) и ответы слейвов могут идти одновременно. Но одновременная передача слейвами никак. Последний раз редактировалось ATS, 22.10.2021 в 13:58 |
|||
22.10.2021, 13:53 | #19 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Как-как. Я писал такие протоколы в студенчестве, оно работало и работало стабильно. Идею и описание работы дёрнул из описания какой-то ЭВМ древней. Сейчас уже и не вспомню, какой. Но от передатчика чётко требовалось иметь ноль сильнее единицы. Дуплекс вообще не спасает, т.к. передатчики работают на единую линию. Помощь только в том, что на RX можно повесить R-сборку, снижающую степень оглушения собственным передатчиком. Это повышает скорость прохождения хендшейка.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2021, 14:12 | #20 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Цитата:
P.S. Оффтоп пора кончать - к модбасу это не относится |
||
22.10.2021, 14:22 | #21 | |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Коаксиалка должна быть дороже 100 руб. FTP cat 6 около 35 руб/м Соответственно транс и разъем добавят стоимости, но кабель перекроет удешевление. Ethernet в этом компоненте тоже не проигрывает. Вариант MTBus и он же по необходимости modbus RTU/ASC. Вижу только одно преимущество - отсутствие лицензионных ограничений. Можно предложить EMTBus (MTBus Ethernet). При необходимости другие протоколы. Это если рассматривать других производителей. Profibus/Profinet, CAN/Ethercat, DeviceNet(CIP)/"Ethernet/IP" До 80-100 м однозначно Ethernet выигрывает, далее за счет перехода на оптику некоторый проигрыш, затем опять выгрыш, но только по стоимости. По скорости проигрыша нет ни в каких вариантах. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|
22.10.2021, 14:42 | #22 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Стандартные уровни напряжения в RS-485 -7...+12В относительно 0.
ANSI TIA/EIA-422 and TIA/EIA-485 В Ethernet относительно земли переменное напряжение на выводах TIA/EIA-568-B.2 __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... Последний раз редактировалось Arsie, 20.01.2022 в 12:57 |
22.10.2021, 14:44 | #23 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
|
22.10.2021, 14:52 | #24 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
А нет никаких разных линий. Все слушают всех. Два провода в линии связи. Иногда три: синхронизация старта.
Хорошо, коньчаю)) конь_лите.jpg __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2021, 14:56 | #25 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
Драйверов с питанием более 5 вольт не припомню. Минуса там быть вообще не дожно. А так и в Ethernet и RS-485 (хотя больше общего с 422-м) дифференциальные шины. Отличие только в наличии смещения относительно нуля у 485-го. Добавлено через 7 минут Цитата:
В в 422-м не меньше 4-х. в 485-м соответственно двух. И в четырехсотых дифференциальная шинка. 0 и 1 это смена полярности. |
||
22.10.2021, 15:07 | #26 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
22.10.2021, 15:12 | #27 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Общее время опроса у MODBUS TCP будет равно времени опроса одного слейва по MODBUS RTU + 0.05ms * 2 * 10. За счет возможности одновременного опроса. Если конечно требуется.
Добавлено через 1 минуту Я приложил страницу из стандарта. Хотите верьте хотите нет, но по стандарту так. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
22.10.2021, 15:26 | #28 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
Цитата:
https://www.analog.com/ru/products/l...oduct-overview А так-то давно уже уарты не требуют 2-3 уровней напряжений в питании) __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.10.2021, 15:34 | #29 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Вопрос по Modbus общего характера
|
22.10.2021, 15:43 | #30 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: Вопрос по Modbus общего характера
-7V to 12V Common Mode Range Permits ±7V Ground Difference Between Devices on the Data Line
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |