Порт rs 485 что это?

Что такое Modbus и RS-485 — максимально просто

Изучая оборудование систем Умный Дом мы постоянно сталкиваемся с упоминанием протокола Modbus и порта RS-485.

Например, у контроллера EasyHomePLC есть два порта RS-485 и два порта RS-232, у контроллера Wiren Board есть два порта RS-485, у контроллера Beckhoff CX-8080 есть порт RS-485 и порт RS-232. У различного оборудования есть возможность управления по протоколу Modbus: кондиционеры, вентустановки, модули ввода-вывода. А ещё программное обеспечение EasyHome связывается с контроллером по протоколу Modbus TCP. Что всё это означает? Значит ли это, что если у контроллера есть интерфейс Modbus, и у устройства есть такой интерфейс, они сразу заработают вместе? Многие так считают, но это неверно. Объясню максимально просто и понятно.

Что такое RS-485

RS-485 — это стандарт физического уровня. Что это означает? Он определяет следующие параметры общения устройств:

  • связь кабелем «витая пара» по двум жилам
  • максимальная длина кабеля 1200 метров
  • дискретные сигналы (либо 1, либо 0)
  • если напряжение жилы А больше напряжения жилы В более, чем на 200 милливольт, то сигнал считается единицей. Если наоборот, то нулем
  • скорость общения может быть до 1 мегабита в секунду по одной витой паре и до 10 мегабит по двум витым парам
  • максимальный ток в шине 250 миллиампер
  • напряжение от -7 до +12 вольт постоянного тока
  • в один момент времени может передавать информацию только одно устройство в сети

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

Что такое RS-232

Другой стандарт, тоже по кабелю «витая пара». Не буду перечислять все параметры стандарта, он используется достаточно мало сейчас. В частности, все помнят мышки, которые подключались к компьютеру через широкий COM-порт, вот это как раз была связь по RS-232. К контроллерам EasyHomePLC и Beckhoff подключается GSM модем для приёма и отправки смс как раз через порт RS-232. Длина кабеля совсем небольшая.

Существуют переходники с RS-232 на RS-485 и обратно. Мы получаем возможность подключить на порт RS-232 что-то, что подключается по RS-485 или сделать длинную линию связи для устройств RS-232, поставив в начале линии переходник на 485, а в конце обратно.

Что такое Modbus

Переходим к более интересной вещи. Modbus — это уже протокол. Он определяет правила общения устройств. Например, он говорит, что одно устройство должно быть ведущим (master), а остальные ведомыми (slave). Ведущее посылает в шину связи сообщение определённого формата, в котором либо указан адрес нужного slave устройства, либо сообщение предназначено для всех устройств. Устройство slave, на которое отправлено сообщение, может ответить мастеру. Протокол регламентирует формат сообщения, его длину, возможные значения элементов сообщения. Есть также контрольная сумма, которая нужна для проверки того, что сообщение дошло неискажённым.

Но протокол Modbus не регламентирует, какими могут быть сами команды и какая среда передачи данных используется. Есть Modbus serial — это работа по RS-485 или RS-232, то есть, по одной перевитой паре кабелей. Есть Modbus TCP — это работа в компьютерной сети TCP/IP, где у каждого устройства есть IP адрес и порт.

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

Протокол общения — это ещё не язык, нет. Протокол даёт нам такие понятия как то, что сообщение состоит из слов, разделяемых тишиной. Слова состоят из слогов. А ещё то, что в начале общения надо здороваться, а в конце прощаться. Говорить может только один в один момент времени. Как-то так.

И вот мы подошли к главному вопросу. У нас контроллер имеет порт (он же разъём, он же шлюз) RS-485 и в него программно заложена возможность общения по Modbus. Также у нас есть кондиционер, у которого также есть физический разъём RS-485 и в паспорте указана возможность работы по Modbus. Что это для нас значит? Это значит, что устройства теоретически могут работать совместно.
Как люди, имеющие возможность говорить, теоретически могут общаться. Для нас такая возможность подразумевает полноценное управление и контроль обратной связи. Но заставить их работать вместе не так просто. Нужно в контроллере написать драйвер для работы именно с этим устройством. Для этого в инструкции к устройству надо найти карту регистров, то есть, описание возможных команд устройства. Вот пример некоторых регистров для вентмашины:

[Request0]
Direction=read
Type=bit
Baudrate=115200
Address=1
Period=100
var0=3800#bool#SCo_Зима/

Мест
var2=3802#bool#SCo_Таймер
var3=3803#bool#SCo_Блокировка
var4=3804#bool#SCo_Пуск/

Пуск/Стоп var6=3806#bool#SCoРежимR2 var7=3807#bool#SCoРежимR3 var8=3808#bool#SCoРежимR4 var9=3809#bool#SCoРежимR5 var10=380a#bool#SCoРежим_R6

Чем сложнее устройство, тем вариантов команд больше. В вентмашине или кондиционере их может быть до сотни. Также по протоколу RS-485 мы можем общаться с инфракрасными приёмопередатчиками, генераторами, конвекторами, электрокарнизами, кондиционерами, термостатами, датчиками и различными элементами расширения контроллера на DIN рейку: модулями входов и выходов, диммерами.

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

Например, в программном обеспечении EasyHome есть поддержка ИК-передатчиков ICPDas и Insyte, модулей связи с кондиционерами Mitsubishi и Daikin, конвекторов Varmann, счётчиков электричества Delta, блоков расширения Овен, Razumdom, Bolid, вентмашин Komfovent и ещё много чего. Нужно смотреть конкретные поддерживаемые модели, у разных моделей разные спецификации команд.

Есть устройства с поддержкой Modbus TCP, там нужно, чтобы оно было включено в локальную сеть, отдельный порт RS-485 контроллера не нужен.

К системам на Z-Wave напрямую ничего по Modbus не подключить, там нет такой возможности. Только используя промежуточный контроллер, который поддерживает и Modbus, и Z-Wave, например, Wiren Board.

Есть важная особенность работы устройств по Modbus. У Modbus есть устройство-мастер (это контроллер) и устройство-слейв (то, что к нему подключается). Слейв не может сам инициировать передачу данных, поэтому мастер постоянно опрашивает все подключенные к нему слейвы на предмет их состояния. Если у нас датчик подключен к дискретному входу устройства Овен МВ, то при изменении состояния датчика меняется состояние входа, но модуль не может сразу же сообщить об этом контроллеру, так как не может сам инициировать связь. Нужно дождаться, пока контроллер опросит этот модуль, тогда модуль отправит ему в ответ своё состояние и контроллер поймёт, что датчик изменил состояние и что-то сделает.

Что произойдёт, если на вход Овен МВ пришёл сигнал о сработке датчика, а потом датчик изменил состояние на первоначальное, а контроллер не успел его опросить? В программе модуля МВ есть счётчики количества сработок каждого входа, вот их-то контроллер и считывает, и видит, что было изменение.

Скорость опроса модулей контроллером ограничена, поэтому контроллер не мгновенно узнаёт о событии, это зависит от того, какая скорость опроса, насколько она оптимизирована, и сколько модулей расширения подключено к контроллеру. Если у нас очень много модулей, которых контроллер по очереди опрашивает, то весь цикл опроса занимает некоторое время, пока очередь нужного нам модуля не подойдёт, об изменении состояния мы не узнаем. А потом контроллер должен будет отправить нужную команду соответствующему модулю реле для изменения его состояния. У EasyHomePLC при количестве модулей расширения не более 5 максимальная задержка отрабатывания события не превышает 1.5 секунды, что достаточно быстро. Зависит от того, что опрашивалось в момент изменения состояния входа. У контроллеров Beckhoff связь между модулями расширения происходит по собственному протоколу связи, там независимо от количества модулей всё отрабатывает мгновенно.

Версии Modbus — TCP и RTU

Ещё раз обозначим разницу между версиями связи по ModBus.

Modbus RTU, он же Modbus Serial — работа по RS-485 или RS-232. Подключение устройств по витой паре, где контроллер мастер, а остальные устройства — слейвы, которые не могут сами инициировать связь. Самый распространённый вариант связи.

Modbus TCP или Modbus TCP/IP — общение устройств происходит по обычной компьютерной сети TCP/IP, включающей работу через интернет и через Wi-Fi. То есть, возможна связь между устройствами на любом расстоянии, когда оба подключены к интернет.

Есть ещё несколько разновидностей: Modbus RTU/IP (отличается от TCP наличием контрольной суммы), Modbus over UDP, Modbus Plus (собственный протокол фирмы Schneider Electric, в сети могут быть несколько мастеров).

Ещё небольшая статья про работу устройств по протоколу Modbus в системах Умный Дом: RS-485 Modbus в системах Умного Дома.

265,417 просмотров всего, 232 просмотров сегодня

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

  • Вычислительная техника
    • Микроконтроллеры микропроцессоры
    • ПЛИС
    • Мини-ПК
  • Силовая электроника
  • Датчики
  • Интерфейсы
  • Теория
    • Программирование
    • ТАУ и ЦОС
  • Перспективные технологии
    • 3D печать
    • Робототехника
    • Искусственный интеллект
    • Криптовалюты

Чтение RSS

Ключевые различия между протоколами RS-485 и RS-232

Сравнение RS-232 и RS-485

Использование последовательной связи дает ряд преимуществ, включая простоту, легкость в использовании и требует всего нескольких контактов GPIO. RS-485 и RS-232 – это два стандарта последовательной передачи данных, которые были рождены давно. Они существовали задолго до USB, SPI, I2C и многих других протоколов, но все еще остаются актуальными и имеют свое место в сегодняшнюю эпоху. Хоть они в возрасте, но они все еще живы и работают.

В этой статье мы проведем сравнительный обзор RS485 и RS232 на основе их рабочего расстояния, методов передачи электрических сигналов, скорости передачи данных, количества драйверов и приемников, а также требований к напряжению. Давай начнем.

Основы протокола RS-232

RS-232 (Рекомендуемый стандарт-232) был представлен в 1960-х годах, и после нескольких пересмотров он был назван TIA/EIA -232-F в 1977 году. За это отвечают Ассоциация электронной промышленности (EIA) и Ассоциация индустрии телекоммуникаций (TIA).

Стандарт RS-232 был разработан для обеспечения совместимой связи между различными поставщиками небольших интерфейсов последовательной передачи данных. Он определяет имена и электрические характеристики сигналов в интерфейсах, а также механические атрибуты используемых интерфейсов. Любой интерфейс RS-232 используется только для подключения двух устройств. Одним из них является оконечное оборудование данных (DTE), а другим – оборудование передачи данных (DCE). Интерфейсы RS-232 обычно используются для подключения периферийных устройств к ПК, поэтому обычно DTE может быть ПК, а DCE может быть принтером. Связь между двумя устройствами увеличена до 50 футов, а скорость передачи данных – до 20 Кбит/с.

Связи, используемые в RS-232, классифицируются как несимметричные и несимметричные. Это означает, что линии передачи связаны с общей землей, или, проще говоря, один провод используется для передачи данных, а земля служит вторым проводом. Несимметричные линии могут быстро исказить передаваемые данные при использовании на очень больших расстояниях. Повреждение может быть вызвано сдвигом заземления, контурами заземления и даже разными потенциалами заземления между отправителем и получателем.

С точки зрения электрических характеристик передаваемых сигналов логический уровень 0 определяется как равный или более положительный, чем +3 В, а логический уровень 1 определяется как равный или более отрицательный, чем -3 В. Сигналы используют отрицательную логику. В протоколах также указано, что входные сигналы между -3 В и + 3 В не определены.

Другая особенность заключается в том, что RS-232 — это протокол асинхронной связи точка-точка. Термин «асинхронный» говорит нам, что не используется общее тактирование для синхронизации передатчика и приемника. Они работают по своим тактам. Синхронизированная передача данных между ними происходит, потому что данные передаются в форме известного формата данных протокола.

Основы протокола RS-485

RS-485 носит официальное название TIA/EIA-485. Он был разработан для увеличения расстояния и преодоления ограничения передачи данных RS-232, а также для преодоления односторонней связи через двухпроводной интерфейс RS-422. Это двунаправленный многоточечный интерфейс, поэтому он не ограничивается подключением только двух устройств, так как при RS-232. К порту RS-485 можно подключить до 32 комплектов драйверов и приемников, расстояние увеличивается до 4000 футов, а скорость передачи данных – до 100 Кбит/с.

Двухпроводные линии передачи A и B, которые связывают устройства, являются симметричными линиями. Симметричны в том смысле, что, когда линия A передает напряжение, линия B несет дополнение к напряжению или наоборот. Эта балансировка технически называется сбалансированной дифференциальной сигнализацией и обеспечивает подавление синфазного шума. Итак, RS-485 будет иметь более высокую помехозащищенность. Когда данные не передаются, две линии передачи уравновешиваются или их напряжения компенсируют друг друга. Когда есть данные на одной из линий, создается электрический дисбаланс, который улавливается и усиливается приемником. RS-485 указывает, что кабели, используемые в качестве каналов передачи, должны быть витыми парами, а используемый формат данных такой же, как у RS-232.

Разница между протоколами связи RS232 и RS485

RS-232 покрывает меньшее расстояние и имеет меньшую скорость передачи данных. Он имеет максимальную длину кабеля 50 футов и максимальную скорость передачи данных 20 Кбит/с, в то время как RS-485 распространяется на расстояние до 4000 футов и имеет максимальную скорость передачи данных 100 Кбит/с. Это объясняет, почему RS-232 используется для соединений на малых расстояниях, а RS-485 – на больших расстояниях с более высокими требованиями к скорости передачи данных.

Методы электрической передачи сигналов – важный параметр, определяющий помехоустойчивость двух протоколов. В RS-232 используются несимметричные линии или несимметричная передача сигналов, что снижает помехозащищенность стандарта от помех, таких как контуры заземления. Более высокая помехозащищенность обеспечивается RS-485, поскольку он использует метод сбалансированной дифференциальной сигнализации, который награждает пользователя подавлением синфазного шума.

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

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

Приемник RS-485 определяет логический уровень полученных данных путем сравнения уровней сигналов линий передачи A и B. Состояние логической 1 возникает, когда линия A по крайней мере на 200 мВ положительнее, чем линия B, а состояние логического 0 возникает, когда линия как минимум на 200 мВ больше, чем в линии A. Стандарт объявляет разность напряжений менее 200 мВ неопределенной. Увеличьте разницу напряжений до минимум 200 мВ, если вы хотите, чтобы данные обнаруживались в топологии RS-485. В RS-232 двухпроводные сравнения не выполняются, поскольку данные передаются только по одному проводу, а другой провод является опорным. Здесь логический 0 означает напряжение более +3 В, а логический 1 означает напряжение более -3 В. Любой уровень напряжения между двумя порогами не определен.

Выводы

Скажем, мистер Х хочет подключить модем к своему ПК, а расстояние между двумя устройствами чуть более 1,5 метров. Мистер Икс не любит сложных вещей и предпочитает более дешевое решение. Какой из протоколов RS-232 и RS-485 использовать мистеру X? RS-232, конечно!

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

Интерфейс RS 485, принцип действия, организация работы

В современной технике все большее значение приобретает обмен информацией между различными устройствами. А для этого требуется передавать данные как на небольшие расстояния, так и на значительные, порядка километров. Один из таких видов передачи данных – связь между устройствами по интерфейсу RS-485.

  1. Где необходимо передавать данные по RS 485.
  2. Интерфейс RS-232 — младший брат RS 485.
  3. Организация интерфейса RS-485.
  4. Порядок обмена данными между устройствами по RS-485.
  5. Требования к кабельным соединениям.

Где необходимо передавать данные по RS 485.

Один из самых распространенных примеров применения устройств для обмена данными – дистанционные системы учета электроэнергии. Электросчетчики, объединяемые в единую сеть, рассредоточены по шкафам, ячейкам распределительных устройств и даже подстанциях, находящимся на значительном удалении друг от друга. В этом случае интерфейс служит для отправки данных от одного или нескольких устройств учета.

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

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

Компьютер же обменивается данными с контроллерами – устройствами, преобразующими команды от датчиков на язык, понятный машине, и обратное преобразование: от языка машины в команды управления. Связь с контроллером, а также – между разными контроллерами, осуществляется через интерфейсы связи.

Интерфейс RS-232 — младший брат RS 485.

Нельзя хотя бы коротко не упомянуть об интерфейсе RS-232, который еще называют последовательным. Разъем под соответствующий порт имеют некоторые ноутбуки, а некоторые цифровые устройства (те же терминалы релейной защиты) снабжаются выходами для связи с помощью RS-232.

Для того, чтобы обмениваться информацией, нужно уметь ее передавать и принимать. У RS-232 для этого есть передатчик и приемник сигналов. Они имеются в каждом устройстве. Причем выход передатчика одного устройства (TX) соединяется со входом приемника другого устройства (RX). И, соответственно, по другому проводнику аналогичным образом сигнал движется в обратную сторону.

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

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

Поэтому RS-232 в основном применяется для небольших временных подключений ноутбука к цифровому устройству, например, для установки начальной конфигурации или исправления ошибок.

Организация интерфейса RS-485.

Главное отличие RS-458 от RS-232 – все приемники и передатчики работают на одну пару проводов, являющуюся линией связи. Провод земли при этом не используется, а сигнал в линии формируется дифференциальным методом. Он передается одновременно по двум проводам («А» и «В») в инверсном виде.

Если на выходе передатчика – логический «0», то на проводник «А» выдается нулевой потенциал. На проводнике «В» формируется сигнал «не 0», то есть – «1». Если передатчик транслирует «1», получается все наоборот.

Что такое RS-485 и зачем используется интерфейс

Передача информации между устройствами осуществляется с помощью специального протокола или интерфейса. Иногда требуется передавать данные на расстояние до нескольких километров. Одним из самых популярных интерфейсов для передачи информации, является RS-485.

Что такое RS-485?

Стандарт RS-485 подразумевает отправку данных одного или нескольких устройств на главный терминал. Хороши примером работы такой системы будет получение информации от микропроцессорных терминалов. Они подключены между собой и к главному диспетчеру.

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

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

Этот интерфейс связи необходим для обработки команд. Так, оператор совершает определенные действия, которые стандарт преобразовывает в машинный язык. После этого все команды передаются на указанный терминал и происходит обратное преобразование.

Интерфейс RS-485 допускает до 32 приемопередатчиков на один сегмент сети. Длина может достигать 1200 метров. Максимальное количество узлов составляет 256. Для лучшей передачи данных нужно использовать витую пару.

Принцип связи между устройствами

Компоненты сети соединяются двумя проводами, используя балансный (дифференциальный) метод подключения. При таком способе сигнал передается по двум проводам. Если один из проводников обозначить буквой «A», а второй «B», то информация будет передаваться по A в исходном виде, а по B —в инвертированном. Если на проводе A максимальное значение, то на B — минимальное.

Поэтому всегда существует разность значений напряжения между проводами A и B. Итоговая информация считывается в точке приема по этому показателю.

Благодаря дифференциальному способу передачи, достигается высокая помехоустойчивость к электромагнитным помехам. Так как витая пора состоит из двух проводников сигнала, расположенных близко к друг другу, то любая наводка действует практически одинаково на них. Если произошло изменение амплитуды на проводе A, то настолько же изменился инвертированный сигнал на B.

Но значение имеет не величина напряжения относительно земли на одном из проводов, а разность потенциалов между ними, которая не изменится, и полезная информация не исказится.

Напряжение относительно земли может быть от -7 В до +12 В. Значения от 200 мВ до 12В приемники на линии воспринимают как логическую 1, от -7 В до -200 мВ — как логический 0. Балансное напряжение на выходе должно быть не менее 1,5 В. Приемник реагирует на величины от 200 мВ.

В рассматриваемом стандарте большая разность потенциалов позволяет передавать управляющие сигналы на длинные расстояния. В RS-482 максимальная длина линии достигает 1200 метров при скорости обмена данными около 100 кбит/с.

Описание интерфейса

Стандарт имеет несколько основных характеристик. Обмен данными происходит в полудуплексном режиме. При этом используется одна двухпроводная линия связи. Интерфейс применяется в промышленности во время создания автоматизированной системы управления технологическими процессами (АСУ ТП).

Количество подключаемых устройств

Значение данной характеристики вычисляется из расчета количества оборудования на одну линию связи. Здесь число может варьироваться в зависимости от сопротивления приемника. В одной линии связи может присутствовать до 32 устройств. Приемник может иметь входное сопротивление 1/2, 1/4, 1/8. От этого числа зависит и конечное количество устройств. Так, его можно увеличить в 2, 4 или 8 раз.

Расстояние и скорость

Максимальное расстояние подключаемых устройств зависит от скорости передачи информации. Это необходимо учитывать перед подключением. Так, при скорости 10 Мб/с расстояние будет составлять 120 метров. При скорости 100 Мб/с можно размещать оборудование на расстоянии до 1200 метров.

Протоколы передачи и разъемы

Для передачи информации используются стандартные фреймы:

  • стартовый бит;
  • стоповый бит;
  • биты данных.

Принцип действия протоколов обмена системы состоит в «ведущий-ведомый». Главное устройство инициирует и контролирует передачу данных между остальными.

Стандартом не предусмотрено обозначение типа соединителей. Это же относится и к распайке. Так, можно встретить различные соединители, например, DB9 или клеммные.

Порядок обмена данными по RS-485

Несколько устройств подключаются между собой с помощью цепочки кабелей. Для обмена информации необходим специальный протокол. Чаще всего используется Modbas.

Например, есть несколько устройств, которые собирают информацию. Раз в месяц они должны передать все данные в центральный компьютер. Для этого главное устройство оформляет запрос. Каждый терминал имеет свой порядковый номер. Эти цифры будут идти первыми в запросе. Если команда не совпадает с номером терминала, то он будет его игнорировать.

Следующие цифры в запросе отвечают за действие, которое должно произвести устройство. Например, передача информации. Таким образом, команда дойдет до нужного терминала и будет выполнена нужная операция.

В некоторых случаях запрос не доходит до устройства. Происходит сбой на линии или помехи. Для исключения помех используется контрольная сумма. Это некий набор цифр, который присутствует в запросе. Также, он есть и на самом оборудовании. Таким образом можно проверить, достигла ли команда конечной цели.

Требования к кабельным соединениям

При подключении интерфейса RS-485 нужно соблюдать некоторые требования. Требуется две пары кабелей «витая пара». Однако, для обмена информации достаточно и одной. Вторая пара используется в качестве резерва.

Чтобы уменьшить помехи, необходимо экранировать кабели. Экраны следует соединить по всей длине линии. Заземлять провод нужно только в одном месте. В противном случае возникнут наводки, из-за разницы потенциала в двух точках. Они пройдут по всей длине экрана.

С самим подключением кабелей проблем возникнуть не должно. Однако, программная часть соединения устройств гораздо сложнее. Здесь лучше доверить работу профессионалам.

Распиновка RS-485

Наиболее часто для соединения устройств в стандарте RS-485 используется разъем DB-9, мама (F) или папа (M).

Схема контактов выглядит так:

Разъем DB-25 также используется в соединениях RS-485:

Соответствие между DB-9 и DB-25:

Маркировка обозначает следующее:

  • GND — земля;
  • DCD — обнаружение устройства готового к передаче;
  • DSR — вход, который информирует, что все предварительные настройки выполнены, приемопередатчик готов к работе;
  • DTR — выход, посылающий сигнал DSR;
  • CTS — вход, который сообщает передатчику, что приемник готов к получать данные по TXD;
  • RTS — выход трансмиттера, отправляющего CTS ресиверу;
  • RD или RXD — асинхронный вход, принимающий информацию;
  • TD или TXD — асинхронный выход, отправляющий данные;
  • RI — вход, сообщающий ресиверу о запросе от передатчика.

Для стандарта используются 3 контакта в разъеме:

Схемы подключений

Интерфейс RS-485 может работать в режиме полного дуплекса или полудуплекса. В первом случае устройство может одновременно передавать и получать данные. Полудуплекс подразумевает только одно из действий.

Режим полного дуплекса предполагает наличие 4 контактов. Он имеет следующую схему подключения:

Схема подключения полудуплексного RS 485 с 2 контактами:

Правильная разводка сетей

На первом рисунке находится один трансмиттер и один ресивер. Установлены терминаторы.

На следующем рисунке обозначены 1 передатчик и несколько приемников. Ответвления к ресиверам короткие.

Сложная схема с несколькими приемопередатчиками. Также нужно подключать их к сети короткими проводами.

Неправильные подключения

На рисунке изображена сеть без согласующего резистора. Такое подключение искажает сигнал.

На следующем изображении есть терминаторы, но один расположен неверно, не в конце сети.

Далее показана цепь с длинными ответвлениями, что тоже расстраивает всю систему.

RS-232 и RS-485

Интерфейс RS-232 состоит из передатчика и приемника сигнала. Данный стандарт применяются в небольших сетях. Его главным недостатком является плохая помехоустойчивость. Все дело в том, что данные формируются относительно земли. Это приводит к частым сбоям и потере информации.

Часто RS-232 используется для временного подключения. С его помощью можно настроить начальную конфигурацию или исправить возникшие ошибки.

Данный интерфейс имеет полудуплексный режим связи. Вход приемника соединяется с выходом передатчика. Прием и передача может осуществляться в одно и то же время.

В целом, если обобщить, отличаются 2 интерфейса по следующим параметрам:

  1. Дистанция. У RS-232 она составляет 15 м, а у конкурента — 1200 м.
  2. Количество подключаемых устройств. 1 против 256 у RS-485.
  3. RS-232 подвержен сильным искажениям при электромагнитных помехах, так как не использует дифференциальную передачу сигнала.
  4. RS-485 распространен в промышленности.

Порт rs 485 что это?

Очень разные реализации

Разберем подробнее каждый из пунктов. Во-первых, поясню, что такое дифференциальный сигнал. Это значит, что измеряется напряжение между двумя проводами. Имеет значение только напряжение между проводами, а каков потенциал этих проводов относительно Земли – не очень важно.

На практике это означает, что передатчик подает то на один провод 0В а на другой 5В, то наоборот. А приемник анализирует, на каком проводе напряжение выше и понимает, «0» или «1» ему передали.

А теперь тонкость номер 1. Изначальный стандарт требовал, чтобы приемник заведомо воспринимал разницу напряжений, превышающую 200 мВ. Если один провод на 200 мВ выше другого – это «1». Если ниже – значит «0». А что будет, если разницы напряжений вообще нет ? Например, если передатчик отключен ? Приемник имеет право воспринимать малейшие шумы то как «1», то как «0». Конечно, шум – это просто бессмысленный шум, но, говорят, даже обезьяна за пишущей машинкой за миллион лет может случайно написать «Войну и Мир». А вам надо случайно получить команду включения пожаротушения ? Что же делать ? Есть несколько решений проблемы, применяемые разными производителями микросхем. Первое – если напряжение между проводами заметное время находится между -200 и +200 мВ, то микросхема приемника выдает отдельный сигнал «линия свободна». Некоторые системы используют этот сигнал для того, чтобы устройства понимали, когда они могут начать передавать. Второе решение – микросхема приемника воспринимает все, что выше -200 мВ как заведомую «1». Поэтому между пакетами, когда никто на линии ничего не передает, наш прибор будет заведомо видеть «1» и не получит никаких нежелательных команд от источников помех. Если не применять специальные микросхемы, то аналогичный эффект достигается, если подключить (см. пункт 2 таблицы) пару резисторов к питанию, чтобы в случае отключенных передатчиков на линии заведомо было +250 мВ. Кстати, на картинке выше именно такой вариант – в паузах между пакетами явно присутствует небольшое напряжение. Вот как это обычно реализуют:

Но самый распространенный вариант борьбы с шумами – добавить гистерезис на 100-150 мВ. Тогда получается, что если последний раз напряжение было выше +200, и после этого болтается между -200 и +200, микросхема считает, что на линии все еще передается «1». А если напряжение вылезло ниже -200, то теперь микросхема будет выдавать «1» пока напряжение не перейдет вверх верхнюю границу и не станет выше +200. Картинка ниже иллюстрирует работу приемника с гистерезисом. График U – это входное напряжение, график А – это что бы выдал на выход приемник без гистерезиса, график В – с гистерезисом (шумы исчезли, а переключения при приеме сигнала немного сдвинулись).

Все описанные решения хороши, но никакое из них не идеально. Особенно чревато, если в одной системе встретятся устройства, которые ожидают реального нуля (между – и + 200 мВ), чтобы начать передачу и устройства, которые в паузах легонько растягивают напряжение до -200 мВ. В таком случае первое устройство никогда не дождется возможности что-то передать.

Перейдем ко второму пункту. Согласование кабеля. В теории, на концах длинной линии передачи должны быть подключены резисторы, равные ее так называемому «волновому сопротивлению». Тогда распространяющийся по линии сигнал воспринимает этот резистор как бесконечное продолжение линии связи, и уходит в него без отражений. В противном же случае получается то, что изображено на рисунке ниже.

Вверху – исходный передаваемый сигнал, следующие две пары осциллограмм – напряжения на передатчике и приемнике, последний (нижний) луч – восстановленный приемником информационный сигнал. Правда, довольно корявая форма сигнала ? Приемник, конечно, восстановил довольно точно, но мы понимаем, что помехоустойчивость во время этих переходных процессов, отражений сигнала от концов – наверняка не так высока, как нам бы хотелось.

Конечно, по стандарту положено согласовать. Конечно, на практике мы прокладываем линии связи кабелем, про который никто не скажет, какое у него волновое сопротивление. И насколько оно однородно по длине кабеля (а на скачках параметров кабеля, или на скрутках, тоже будут отражения, как бы вы ни согласовали концы). Так вот, в реальности отсутствие согласования почти никогда никому не мешает. Обратите внимание на шкалу времени на картинке. Отражения (в данном случае на 50-метровом участке кабеля) занимают меньше 200 наносекунд. Несколько отражений от обоих концов кабеля – максимум одна микросекунда – и сигнал уже успокоился. Если кабель длинный (например 1 километр), отражения распространяются дольше – скажем, 5 микросекунд, но зато отражение будет только одно – отраженный сигнал настолько затухает на длинном кабеле, что второго и третьего отражения уже точно не будет. Итак, все отражения и искажения длятся всего несколько микросекунд. Согласно тому же исходному тексту стандарта RS485 (да и согласно требованиям микросхем последовательных передатчиков) установление сигнала должно занимать не более 1/10 длительности бита данных. Умножаем 5 микросекунд на 10 – получаем, что при длительности бита 50 микросекунд (то есть при скорости передачи 19200 бит/сек) все эти отражения на километровой линии можно игнорировать. Вот так! Конечно, лучше не игнорировать, лучше, чтобы отражений не было, но на типичной скорости передачи 9600 на длине кабеля меньше километра проблемы, вызванные плохим согласованием, мягко говоря, маловероятны. Если у вас не работает канал связи RS485 – скорее всего это вызвано совсем другими причинами.

Более того. Выходное сопротивление передатчика согласно стандарту должно быть 54 Ом. Согласующие резисторы (по 120 Ом с каждой стороны) являются нагрузкой 60 Ом. Таким образом, сигнал изначально делится пополам. Передатчик мог бы передать разностное напряжение 5 В, а на линии получается всего лишь 2 .. 2,5 В. Сигнал меньше, помехоустойчивость хуже. И запас на затухание меньше. Например, довольно толстый кабель сечением 0.75 мм2 имеет сопротивление провода около 3 Ом на 100 метров. Два провода на длине 1 км добавят еще 60 Ом. То есть сигнал на конце линии окажется еще в два раза меньше. А если вы взяли замечательную витую пару 6-й категории (сечением 0.2 мм2, т.е. в 4 раза тоньше рассмотренного ранее кабеля) сигнал будет еще в 4 раза меньше. Это сколько ? 2 вольта, да пополам, да еще на 4, итого – 250 милливольт. Практически на границе чувствительности приемника. Работать точно не будет уже на 1 км, хотя стандарт нам вроде бы обещает 1200 метров. Так что не гонитесь за категорией витой пары, возьмите лучше кабель потолще. Кстати, если проблема с большим затуханием в тонком кабеле – снимите согласующие резисторы. Все равно никакие отражения никуда не дойдут – затухнут, да и, как мы уже показали, на скорости 9600 отражения никого и не волнуют. Зато сигнал подрастет в несколько раз.

Вот теперь вы знаете, откуда берутся некоторые ограничения, описанные в стандарте. Так, стандарт описывал максимальную скорость 10 МБод, однако это было связано с тем, что отдельно требовалось от передатчиков не искажать фронты импульсов более чем на 20 нс. Современные передатчики могут уложиться в 2 нс, потому и скорость декларируется до 50..70 Мбод. Однако такая скорость возможна только на коротких линиях. Известное мнемоническое правило рекомендует, чтобы произведение скорости передачи в битах в секунду на длину кабеля в метрах не превышало величины 108. Это и дает примерно 1 километр на скорости 100 кбит/с, и 10 метров на скорости 10Мбит/сек. Это из-за возможных отражений (идеального согласования не бывает) и времени на установление сигнала. Конечно, при тщательном согласовании, указанное произведение можно несколько повысить, но не стоит намного. Из этого же правила вытекает, что на скорости 9600 (примерно 10кбит/сек) вроде бы можно передать аж на 10 км. Но: только если у вас будет достаточно толстый кабель. Стандарт подразумевал использование типичного многопарного кабеля 22..26 AWG, и потому для любых скоростей ограничивал длину линии величиной 4000 футов (1200м). Но мы то знаем, что на самом деле, если взять кабель потолще, можно и перекинуть сигнал подальше. Хотя у производителей оборудования обычно написано просто 1200м без вариантов. У большинства потому, что они сами не знают откуда берется число 1200. У некоторых, просто потому, что лучше перебдеть (указывается длина самого тонкого доступного на практике кабеля). Кроме того, производители предпочитают в большие системы продать дополнительно усилители-разветвители или еще какие-нибудь удлинители линии связи.