[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3702390#p3702390"]Зачем там древний протокол, где нужно выдерживать паузы и т.п.? Уже 21 век! Время релейных переключателей (откуда, собственно, паузы и взялись) давно прошло!!![/uquote]Причём тут реле?
Паузы (интервалы) в modbus - это маркеры границ пакета. Кодонезависимому протоколу нужны символы, которых нет в потоке данных. Но (так как данные - бинарные) нет такого значения символа, который можно было бы использовать как маркер границы кадра. Поэтому в modbus используется внеполосный сигнал - интервал. С таким же успехом можно было в качестве внеполосного сигнала использовать BREAK или дополнительные сигналы (всякие RTS/DTR).
В этом и есть минус modbus-а: необходимость таких внеполосных сигналов. Потому что как только нужно ретранслировать такой протокол в другой физический интерфейс, в котором таких сигналов нет (например: TCP-сокет, где просто поток байт) - сразу возникают проблемы.
Есть много других протоколов, тоже кодонезависимых, но в которых, в отличие от modbus, в качестве маркеров границ кадра используются не внеполосные сигналы, а экранирование символов из потока. Т.е. - объявляется, что некий кодовый символ == XX - является маркером границы кадра, а байты данных, равные по значению этому символу, заменяются специальной кодовой последовательностью (экранируются). Такие протоколы гораздо легче передавать через разные каналы связи, а не только UART/RS-485. Потому что они представляют из себя для любого нижележащего канала связи - просто поток байт. И также такие протоколы легко инкапсулируются в другие протоколы. Опять же - в отличие от modbus.
Но у этих протоколов есть конечно тоже недостатки. Например - увеличение числа передаваемых байт. Хотя оно обычно несущественное.
А почему modbus распространён повсеместно: Просто большинство новичков ничего больше не знают. Да и знать не хотят...
Добавлено after 1 minute 45 seconds:
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3702380#p3702380"]Живет и здравствует. Умирать не собирается. А что есть на замену на растояния 200-500м?[/uquote]А какое отношение
протокол имеет к
расстоянию? Вы что-же - думаете, что после 500м метров modbus как-то портится и перестаёт быть modbus-ом?
Добавлено after 3 minutes 38 seconds:
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3702434#p3702434"]Я вижу у Вас знание протокола на высоте

[/uquote]
Протокол != интерфейс. А CAN - это
интерфейс. А протокол - это то, что и в каком формате по нему (CAN) ходит.