Rs 485 для чего нужен
Интерфейс RS 485: описание
Определение понятия
Однако потом корпорация заменила данный префикс на EIA/TIA, чтобы стало возможным легко идентифицировать создателей стандарта. Но все же многие инженеры предпочитают использовать в работе, технических статьях прежнюю маркировку RS.
Описание интерфейса
Чтобы разобраться с преобразователем интерфейса RS 485/RS 232 (последний мы кратко представим в заключении статьи), нужно знать основные параметры. Разберем самые главные:
Технохарактеристики интерфейса
Что важно знать о разветвителе интерфейса RS 485? Сам стандарт формирует только электрические и временные его (интерфейса) характеристики. При этом стандарт не будет оговаривать следующее:
Особенности временные и электрические
Приведем важные для инженеров характеристики популярного промышленного интерфейса RS 485:
Характеристики по скорости обмена данными, определяющей длину всей линии:
Важное примечание для интерфейса RS 485. Стандарт оговаривает только следующие скорости: 62,5 Кбит/сек, 2400 Кбит/сек, 375 Кбит/сек. На всех иных (более 500 Кбит/сек) рекомендовано использование витых пар с экраном.
Теперь перейдем к требованиям, установленным для выходного каскада. Он должен представлять собой источник напряжения, имеющий малое сопротивление: |U вых|=1,5:5,0 В (не меньше 1,5 В и не больше 6,0 В). Отсюда выходит следующее:
Характеристики сигнала
Повествуя о подключении RS 485, приведем и эту информацию. Для передачи сигнала стандартом определяются следующие линии:
Согласно стандарту, также определяется следующее:
Здесь при описании состояний шины будет применяться инверсная логика. А логика однополярных сигналов на выходе приемника и входе передатчика не будет определяться.
Но при этом большинство производителей все же придерживаются предписаний стандарта. Неинвертирующая линия обозначается символом А. Соответственно, высокий сигнальный уровень на входе передатчика станет соответствовать состоянию VA> VB на шине. Также неравенство будет тождественно высокому уровню сигнала, наблюдаемого на выходе приемника.
Смещение и согласование
Что важно знать в продолжение темы о разветвителе RS 485 еще? Предлагаем вам затронуть также информацию о помехах, которые могут возникнуть в линии связи.
И вот что важно знать об искажениях. При большой продолжительности линии связи часто появляются эффекты длинных линий. Корень проблемы кроется в распределенных индуктивных и емкостных свойствах кабелей. Что выходит в итоге? Сигнал, переданный в линию каким-либо из узлов, начинает искажаться по продолжительности распространения в ней (линии). Появляются сложные резонансные явления.
Так как кабель на своей длине отличается одинаковой конструкцией, одинаковыми распределенными параметрами погонной индуктивности и емкости, данное свойство будет характеризоваться специальным параметром. Это волновое сопротивление.
На практике номинал резистора выбирают и большего значения, нежели волновое сопротивление, так как омическое сопротивление кабеля порой становится настолько большим, что сигнальная амплитуда на приемной стороне становится слишком малой для устойчивого приема. Тут находят равновесие между резонансными и амплитудными искажениями, повышая номинал терминатора и снижая скорость интерфейса.
Чтобы не было помех, линия связи должна последовательно обходить все передатчики. И еще важный момент. У витой пары не должно быть длинных отводов (участков-отрезов кабеля для подсоединения к узлу). Исключение: использование повторителей интерфейса, низкие скорости передачи данных (менее 9600 бит/с).
Если активный передатчик отсутствует, то уровень сигнала в линиях не определяется. Чтобы предотвратить ситуацию, когда разница между выходами В и А менее 200 мВ (неопределенное состояние), можно применить смещение с помощью специальной схемы или резисторов. Приемники станут принимать сигнал помехи в том случае, если состояние линий не определено. Для их стабилизации, качественного начала приема порой применяются передачи служебных последовательностей.
Особенности подключения
Кроме преобразователей RS 485, хочется подробнее остановиться на подключении. На основе этого интерфейса конструируется локальная сеть, объединяющая в себе несколько приемопередатчиков.
При подключении рекомендуется иметь в виду следующие рекомендации специалистов:
Примеры использования
Преобразователи RS 485 распространены в промышленной сфере. Рассмотрим также сетевые протоколы, использующие данный стандарт:
На основе RS 485 построены следующие промышленные сети:
Рекомендации по программированию
Сфера применения преобразователя интерфейса RS 485 широка. В данном пункте мы подробнее остановимся на программировании тех приложений для контроллеров, что для связи используют данный интерфейс:
Отличия интерфейсов RS 232, 422, 485
Давайте сравним эти популярные стандарты. Объединяет интерфейсы RS 232, RS 485, RS 422 то, что они используются для передачи цифровой информации. При этом 232 более известен как СОМ-порт компьютера. А другие два распространены в промышленной среде для соединения между собой различного оборудования.
Различия RS 232, RS 485 возможно отследить, представив техническую характеристику этих интерфейсов. Начнем с 232:
Теперь в сравнении RS 232, RS 485, RS 422 следующий интерфейс. Это 422:
Сравниваются между собой преобразователи RS 232, RS 485. Приведем краткую характеристику последнего интерфейса, главного в нашем рассказе:
Вот и все, что мы хотели рассказать об интерфейсе 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 — это стандарт физического уровня. Что это означает? Он определяет следующие параметры общения устройств:
То есть, стандарт подразумевает, что на 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 в системах Умного Дома.
300,153 просмотров всего, 144 просмотров сегодня
Основы RS-485: когда необходимо согласование и как это сделать правильно
Многие проблемы с полнотой сигнала и качеством связи в сетях RS-485 происходят из-за прерываний, либо из-за отсутствия
прерываний, или же из-за неправильных прерываний. Многие проблемы с полнотой сигнала и качеством связи с сетями RS-485 происходят из-за прерывания, либо из-за отсутствия прерывания, или же из-за неправильного прерывания. В данной статье об основах RS-485 мы поговорим о том, когда вы можете прекратить передачу данных, не прерывая сеть RS-485, и, если вам нужно согласование, как использовать стандартные (параллельные) выводы и прерывания переменного тока (AC).
Драйвер приемопередатчика RS-485 должен иметь возможность подавать 1,5 В на 32 приемника/передатчика, где сопротивление согласующих резисторов должно быть 120 Ом. Значение 120 Ом для согласующих резисторов происходит от так называемого характеристического сопротивления дифференциального режима проводов шины витой пары. Проще говоря, сечение провода, тип и толщина изоляции, а также количество витков на единицу длины способствуют сопротивлению, которое высокоскоростные сигналы данных «видят». Это сопротивление обозначается в омах и обычно составляет от 100 Ом до 150 Ом для витых пар. Авторы стандарта RS-485 выбрали 120 Ом в качестве номинального характеристического сопротивления; поэтому, чтобы соответствовать этому сопротивлению, согласующие резисторы также имеют значение по умолчанию 120 Ом.
Почему существует прерывание сигнала?
Сопоставление характеристического сопротивления кабеля с оконечной сетью позволяет приемнику на конце шины видеть максимальную мощность сигнала. Оставляя линию передачи без конечного подключения (штекер не подключен к приемнику сигнала) или подключенную но с некоторым значением, не равным сопротивлению кабеля, вы вносите несоответствие, которое создает отражения на концах сети. Отражение — это когда часть энергии сигнала буквально возвращается обратно вверх по линии, которая затем может конструктивно или деструктивно мешать следующим битам, передающимся по шине. Разрушительным примером является то, что отраженный сигнал, который отражается назад, не совпадает по фазе с входящим сигналом, в результате чего приемник видит меньший входящий сигнал. Если несоответствие достаточно велико, отраженная энергия может привести к неправильному толкованию и неправильному декодированию последующих битов приемником.
Уравнение ниже показывает, что для того, чтобы коэффициент отражения приблизился к нулю, входной импеданс ZL должен соответствовать исходному импедансу ZS. Если есть большое расхождение в нагрузке и импедансе источника, может отражаться почти весь сигнал.
Как видите, для оптимальной целостности сигнала всегда лучше всего согласовывать сопротивление линии переменного тока с терминатором равного значения. Почему бы не всем разработчикам это сделать? Потому что добавление терминаторов (согласующих резисторов) увеличивает стоимость всей системы, к тому же согласующие резисторы также добавляют параллельную нагрузку на драйверы, вызывая большие токи нагрузки в стационарном режиме. В чувствительных к энергопотреблению приложениях, где снижение энергопотребления имеет решающее значение (например, в приложениях с питанием от батареи), один из вариантов экономии энергии — оставить шину без подключения. Давайте обсудим, когда удаление оконечной нагрузки является жизнеспособным вариантом.
Сети, которые не нуждаются в оконечной нагрузке
Одна ситуация, в которой вам не нужны согласующие резисторы, — это когда время двусторонней петли в сети намного больше, чем время передачи одного бита (
Предполагая, что неподключенный конец шины имеет входной импеданс 96 кОм (нагрузка на одну восьмую единицу), а импеданс источника драйвера составляет 60 Ом, отражения сигнала будут уменьшаться в соответствии с расчетами, приведенными в таблице ниже.
Как видно из таблицы, к тому времени, когда сигнал отражается в шестой раз, он ослабевает до уровня ниже 4% от его первоначальной величины. После этого можно с уверенностью сказать, что отражения больше не способны вызывать проблемы с целостностью сигнала. Поскольку точка выборки бита обычно находится между 50-75% пути через бит, вы должны убедиться, что эти три задержки в обоих направлениях происходят до точки выборки.
Сети, которые требуют согласующего резистора (терминатора)
В тех случаях, когда время в битах не намного больше времени цикла в кабеле, согласование имеет решающее значение для минимизации отражений. Наиболее простое оконечное оборудование, известное как стандартные оконечные или параллельные согласующие резисторы, состоящие из одного резистора (рисунок ниже).
Для стандартного терминатора вы должны согласовать значение согласующего резистора с характеристическим сопротивлением дифференциального режима кабеля на обоих концах сети. Это обеспечивает корректную доставку сигналов, идущих в обоих направлениях по шине. Как упоминалось ранее, основным недостатком схемы терминации этого типа является то, что всякий раз, когда драйвер активен, резисторы создают постоянную нагрузку на драйвер.
Использование терминаторов переменного тока помогает уменьшить рассеяние мощности, не требуя столь же длительного времени на бит по отношению к длине шины. На рисунке ниже показана схема согласования переменного тока.
Поскольку ток обычно протекает в одну сторону драйвера RS-485 через согласующий контур, а затем в обратную сторону драйвера, устанавливают последовательный конденсатор, чтобы ток установившегося состояния стремится к нулю. Две особенности этого типа согласования состоят в том, что для каждой согласующей сети требуется один дополнительный компонент, а последовательно соединенные резистор и конденсатор вводят дополнительную задержку, свойственную RC цепи. Постоянная времени RC цепи будет замедлять нарастание и спад дифференциального сигнала и ограничивать максимальную скорость передачи данных в сети.
В таблице ниже подведены итоги трех сценариев согласования сигнала для RS-485:
Для обеспечения оптимального значения сигнала всегда лучше всего согласовать характеристическое сопротивление кабеля в дифференциальном режиме с равным сопротивлением. Но если вы предпримете надлежащие шаги, также возможно успешно реализовать AC согласование или вообще избежать прерывания.
Статьи и обзоры систем автоматизации и безопасности
RS-485 для чайников
Содержание:
Вступление
В этой статье я попытался собрать начальную информацию об устройствах, полезные добытые сведения (с ссылками) и собственный опыт.
1. Универсальный асинхронный приемопередатчик (UART)
Возможно, связь через асинхронный последовательный порт уходит в прошлое, однако сложно найти контроллер, не имеющего в составе своей периферии UART. Поэтому хоронить его, думаю, рановато. Раз так, то будет нелишним сказать пару слов о том, как оно работает. Описание конкретной реализации последовательного порта есть в datasheet на каждый контроллер, поэтому опишу общее для всех.
Электрический сигнал кадра посылки выглядит так:
Перед началом связи между двумя устройствами необходимо настроить их приемопередатчики на одинаковую скорость связи и формат кадра.
Формат кадра определяет число стоп-битов (1 или 2), число бит данных (8 или 9), а также назначение девятого бита данных. Все это зависит от типа контроллера.
Поскольку бодрейт устанавливается делением системной частоты, при переносе программы на устройство с другим кварцевым резонатором, необходимо изменить соответствующие настройки UART.
2. Интерфейс RS-485
Обратите внимание: в расчете номинала Rзс учитывается нагрузка. Если на линии висит много приемников, то номинал Rзс должен быть меньше. В длинных линиях передачи необходимо так же учитывать сопротивление витой пары, которое может «съедать» часть смещающей разности потенциалов для удаленных от места подтяжки устройств. Для длинной линии лучше ставить два комплекта подтягивающих резисторов в оба удаленных конца рядом с терминаторами.
Многие производители приемопередатчиков заявляют о функции безотказности (failsafe) своих изделий, заключающейся во встроенном смещении. Следует различать два вида такой защиты:
Безотказность в открытых цепях. (Open circuit failsafe.) В таких приемопередатчиках применяются встроенные подтягивающие резисторы. Эти резисторы, как правило, высокоомные, чтобы уменьшить потребление тока. Из-за этого необходимое смещение обеспечивается только для открытых (ненагруженных) дифференциальных входов. В самом деле, если приемник отключен от линии или она не нагружена, тогда в среднем плече делителя остается только большое входное сопротивление, на котором и падает необходимая разность потенциалов. Однако, если приемопередатчик нагрузить на линию с двумя согласующими резисторами по 120 Ом, то в среднем плече делителя оказывается меньше 60 Ом, на которых, по сравнению с высокоомными подтяжками, ничего существенного не падает. Поэтому, если в нагруженной линии нет активных передатчиков, то встроенные резисторы не обеспечивают достаточное смещение. В этом случае, остается необходимость устанавливать внешние резисторы защитного смещения, как это было описано выше.
9. Защита устройств от перенапряжений в линии связи
10. Дополнительные меры защиты от помех
Заключение
Я не претендую на полноту сведений о физических и программных тонкостях связи по интерфейсу RS-485. Однако, полагаю, что еще одно изложение темы, немного по другому сформулированное, и к тому же дополненное личным опытом не будет лишним для разработчиков, только начинающих разбираться в этой области. Надеюсь, приведенная информация поможет Вам в организации беспроблемной и надежной связи.