Как подключить rs 485 к компьютеру

Обновлено: 21.11.2024

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

В этой статье мы рассмотрим:

  • Что такое последовательная связь?
  • Введение в RS485
  • Реальные приложения RS485
  • Как работает RS485?
  • Преимущества RS485
  • Инструменты RS485

Что такое последовательная связь?

Последовательная связь — это способ отправки данных. Это похоже на универсальную последовательную шину (USB) или Ethernet, которую мы можем найти во многих наших современных компьютерах. Производственные предприятия используют последовательную связь для соединения своих устройств друг с другом. Как уже упоминалось, примером последовательной связи является RS485.

Почему бы компаниям просто не использовать USB или Ethernet для передачи данных между своими устройствами? По сравнению с последовательной связью USB и Ethernet значительно сложнее и дороже. Последовательная связь также имеет детерминированное поведение, чтобы избежать коллизий пакетов данных, что делает ее более надежной для системы связи со многими устройствами. В конечном счете, можно считать, что последовательная связь больше подходит для этого использования по сравнению с обычными USB и Ethernet.

Существуют различные стандарты последовательной связи, такие как RS232, RS422 и RS485. Наиболее широко используемый стандарт связи — RS232. Основное различие между ними заключается в оборудовании.

Подробнее о различиях между RS485 и RS232 можно узнать здесь.

О RS485

Существует множество стандартов последовательной связи, и RS485, также известный как TIA-485 (-A) или EIA-485, — лишь один из них. Этот стандарт является продуктом совместных усилий Ассоциации телекоммуникационной промышленности и Альянса электронной промышленности (TIA/EIA). Он известен тем, что может эффективно использоваться на больших расстояниях и в средах с электрическим шумом. Благодаря этому, а также возможности передавать данные на большие расстояния, RS485 обычно используется в качестве протокола для POS, промышленности и телекоммуникаций. RS485 также широко используется в компьютерах, ПЛК, микроконтроллерах и интеллектуальных датчиках в научных и технических приложениях.

RS485 используется в большей степени в промышленности, когда для создания системы необходимо соединить множество устройств. Однако любители Arduino и Raspberry Pi также используют его для некоторых своих проектов, когда к плате необходимо подключить несколько периферийных устройств.

Реальные приложения RS485

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

Однако RS485 чаще всего используется в программируемых логических контроллерах и на заводах, где много электрических помех. RS485 используется в качестве физического уровня для многих стандартов и проприетарных протоколов автоматизации для реализации систем управления, чаще всего Modbus.

Modbus — это самый популярный в мире протокол автоматизации на рынке. Разработанный Modicon протокол Modbus позволяет интегрировать в основную систему различные устройства от разных производителей. В большинстве реализаций Modbus используется RS485 из-за возможности больших расстояний, более высоких скоростей и нескольких устройств в одной сети.

Устройства Modbus взаимодействуют с использованием технологии "ведущий-ведомый", при которой только одно устройство (ведущее) может инициировать транзакции (запросы AKA). Другие устройства (подчиненные) отвечают, передавая запрошенные данные ведущему или выполняя действие, запрошенное в запросе. Вся эта система позволяет производственным предприятиям удаленно управлять своими устройствами, а также настраивать автоматизацию.

RS485 также используется на концертных площадках для управления освещением и системами, такими как показанная ниже.

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

Как работает RS485?

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

RS485 по своей сути с двумя проводами обеспечивает полудуплексную передачу данных. Это означает, что данные могут передаваться в обоих направлениях на устройства и обратно по одному направлению за раз. Добавляя еще 2 провода, превращая систему в 4-проводную, она позволяет передавать данные в обоих направлениях к устройствам и обратно одновременно, что также известно как полнодуплексный режим. Однако в полнодуплексной настройке они ограничены связью между ведущим и подчиненным, когда подчиненные не могут взаимодействовать друг с другом.

2-проводная полудуплексная система

TX и RX относятся к переданному сигналу и полученному сигналу соответственно. Это также представлено ориентацией треугольников.

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

4-проводная полнодуплексная система

Аналогично, TX и RX относятся к переданному сигналу и полученному сигналу соответственно. Это также представлено ориентацией треугольников.

Возможно, на этот раз и TX, и RX имеют свои собственные 2 провода для передачи данных. Это означает, что данные могут одновременно передаваться и приниматься между устройствами.

Устройства будут связаны друг с другом с помощью конфигурации шины, как показано на рисунке выше.

Вот подробные характеристики RS485.

< /tr>
RS485
Система напряженияДифференциал
Всего драйверов и приемников на одной линии32 драйвера, 32 приемника (одновременно активен один драйвер)
Конфигурация линииМноготочечный
Максимальное рабочее расстояние1200 м / 3000 футов
Максимальная передача данных Скорость10 Мбит/с
Дуплексный режимПолудуплекс или полный дуплекс
Максимальное выходное напряжение драйвераот -7 В до +12 В
Входное сопротивление приемника12 кОм
Диапазон входного напряжения приемника-7В до +12В
Чувствительность приемника±200мВ

Преимущества RS485

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

RS485 имеет много преимуществ по сравнению с другими стандартами, особенно когда речь идет о приложениях в шумных промышленных условиях. Конструкция RS485 направлена ​​на то, чтобы он был терпимым и щадящим к шуму и длинным кабелям с витой парой. Он позволяет использовать кабели длиной до 1200 м/4000 футов.

Еще одним важным преимуществом является то, что в соединении может быть более одного ведомого устройства. К системе можно подключить до 32 ведомых устройств. Это отлично подходит для систем диспетчерского управления и сбора данных (SCADA), где есть много устройств, а также очень низкая стоимость реализации.

Кроме того, данные могут передаваться со скоростью до 10 Мбит/с, что быстрее, чем большинство стандартов.

Эти преимущества по сравнению с другими альтернативами сделали RS485 популярным и широко используемым.

Инструменты RS485

Как уже упоминалось, RS485 используется для связи устройств вместо других средств, поскольку он обеспечивает значительные преимущества. Однако что, если вы хотите использовать RS485 в своих проектах, но ваше устройство поддерживает только USB? Не волнуйтесь. Существуют инструменты, которые можно использовать для преобразования портов USB в порты RS485.

Промышленный изолированный преобразователь USB-RS232/RS485/TTL

  • Этот преобразователь преобразует порт USB не только в RS485, но также в RS232 и TTL, что делает его более универсальным.
  • Он также имеет функции защиты встроенных цепей, такие как изоляция питания, магнитная изоляция ADI и диод TVS.
  • Благодаря корпусу из алюминиевого сплава он прослужит долго.
  • Это, несомненно, идеальный выбор для использования в промышленном оборудовании благодаря высокой скорости, надежности, безопасности и универсальности.

Промышленный преобразователь USB в RS485

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

Регистратор данных 4G промышленного класса SenseCAP с протоколом MODBUS-RTU RS485

  • Это промышленный регистратор данных 4G из серии продуктов Seeed SenseCAP.
  • К нему можно подключить до 32 датчиков RS-485 в соответствии с отраслевым стандартом.
  • Он имеет класс защиты IP66, водонепроницаемый и пыленепроницаемый, что делает его идеальным для долгосрочного удаленного мониторинга окружающей среды в суровых условиях внутри и вне помещений.
  • Собранные данные могут быть отправлены на ваш сервер через сотовую сеть 2G/3G/4G!
  • Он поставляется в двух версиях: одна только с питанием от постоянного тока, а другая со встроенной аккумуляторной батареей.
  • Это полноценный регистратор данных для ваших нужд Industrial IoT!

SenseCAP – это платформа для беспроводного зондирования, разработанная специально для промышленного Интернета вещей и предназначенная для использования в интеллектуальном сельском хозяйстве, умных городах и других сценариях зондирования окружающей среды. Он состоит из аппаратных продуктов (например, датчиков, регистраторов данных и шлюзов), программных сервисов (портал SenseCAP, мобильное приложение, открытая информационная панель) и API для управления системой и данными. SenseCAP совместим с различными протоколами связи, включая LoRa, 2G, 4G, NB-IoT и другими. Узнайте больше здесь!

Промышленный разветвитель/концентратор Modbus RS485 IP68 1-to-4

Вышеупомянутый концентратор датчиков SenseCAP на складе имеет только 4 порта для подключения датчиков RS485, несмотря на то, что он может поддерживать до 32 различных датчиков RS485.

Именно здесь на помощь приходит разветвитель/концентратор RS485 1-to-4! Разработанный для использования с концентратором датчиков SenseCAP, этот разветвитель может «разделить» один порт MODBUS RS485 на 4. Разветвитель RS485 имеет один интерфейс «папа», который подключается к концентратору датчиков, и четыре интерфейса «мама», которые подключаются к датчикам.

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

Промышленный датчик EC и TDS B MODBUS-RTU RS485

  • Вот пример датчика SenseCAP RS485! Это датчик, который может собирать данные об электропроводности (EC) и общем количестве растворенных твердых веществ (TDS) в жидкостях.
  • Он поставляется с температурной компенсацией для компенсации изменений температуры для более точных показаний.
  • Разработанный в соответствии с отраслевыми стандартами, он поставляется с водонепроницаемым авиационным разъемом, чтобы гарантировать, что на ваше соединение не повлияют элементы.
  • Он разработан со встроенным портом RS485 для подключения к указанному выше регистратору данных, откуда данные будут передаваться по беспроводной сети в облако.
  • Существует множество датчиков промышленного класса SenseCAP, и это лишь один из многих! Узнайте больше здесь!

Подробнее об IIoT от Seeed

Мы в Seeed считаем, что Интернет вещей (IoT) станет новым классом цифровых и физических инфраструктур, которые сделают общество более интеллектуальным. Краеугольным камнем этой сложной системы является надежная сеть физических датчиков!

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

Наш ассортимент продуктов IIoT широк, с различными датчиками и концентраторами для разных сценариев и требований. Узнайте больше о наших различных решениях для IIoT здесь!

Какой выбрать?

Основное их различие сводится к тому, что один поддерживает только RS485, а другой также поддерживает RS232 и TTL. Если вы уверены, что используете только RS485, то первый вас не разочарует. Однако, если вы хотите поэкспериментировать, последний предоставит вам больше возможностей.

Обзор

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

Те, кто знаком с RS232, знают, что стандарт определяет, как линии RS232 должны управляться электрически: как они называются, какую информацию они несут и даже какие разъемы и номера контактов нужно использовать. RS422 и RS485, напротив, определяют только электрические характеристики драйвера.

Преимущества RS485 и RS422

Линии RS485 и RS422 управляются дифференциальным образом: для каждого сигнала требуется два провода. Если вы хотите передать четыре сигнала, вам потребуется восемь проводов. На рисунке ниже показан одиночный передаваемый сигнал RS485/RS422. Для передачи логической 1 линия B имеет высокий уровень, а линия A — низкий уровень. Для передачи логического 0 линия B имеет низкий уровень, а линия A — высокий. Преимущество такой схемы заключается в том, что сигналы могут передаваться быстрее и на большие расстояния, чем это возможно по одному проводу.

Различия между RS422 и RS485

И в RS422, и в RS485 один драйвер может управлять несколькими приемниками. В RS485 каждый драйвер можно отключить, что позволяет нескольким устройствам отправлять данные по одной паре проводов. Это невозможно в RS422. Эта дополнительная функция создает дополнительные проблемы для модулей RS485. Другие отличия невелики, поэтому в дальнейшем я буду называть блоки RS485, но примечания относятся и к RS422. Блоки интерфейса часто обозначают себя как RS422/RS485, потому что блок RS485, который не использует свои дополнительные возможности, совместим с RS422.

Схема подключения RS485

Когда описываются приборы с интерфейсом RS485, это ничего не говорит вам наверняка о передаваемых сигналах. Обычно только данные передачи (TX) и данные приема (RX) обычного последовательного порта преобразуются в RS485 или RS422. Остальные сигналы последовательного порта не используются. Распространены три схемы: только запись, 4-проводная (полный дуплекс) и 2-проводная (полудуплекс).

Система только записи: только отправка данных

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

Полнодуплексная система: отправка и получение данных по 4 проводам

Полный дуплекс означает, что данные могут передаваться одновременно как к приборам, так и от них. Для этого требуется 4 провода — одна пара для передачи и одна пара для приема. Только компьютер управляет линией передачи TX. Он отправляет сообщение, которое включает в себя адрес. Только адресованный инструмент отвечает, управляя линией RX.

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

Полудуплексная система: отправка и получение данных по 2 проводам

Полудуплекс означает, что данные могут передаваться только в одном направлении за раз. В этом случае сигналы TX и RX используют одну пару проводов. Это может сэкономить на установке.

Компьютер управляет линиями для отправки своего сообщения запроса, но должен отключить свой драйвер, чтобы прибор мог ответить. Это сложный момент. Многие преобразователи RS232 в RS485 используют линию RTS последовательного порта для включения и выключения драйвера RS485. Однако Windows ни разу не предприняла более половинчатых попыток поддержать такое соглашение.

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

В последние годы большинство последовательных портов были реализованы в виде устройств USB-to-Serial. Эти устройства всегда включают микропроцессор, и он может очень хорошо выполнять задачу управления драйвером RS485. Если вам необходимо реализовать 2-проводную систему RS485, вы всегда должны приобретать преобразователь USB-to-RS485, который рекламирует эту специальную функцию. В качестве примера мы используем Moxa 1130. Это устройство автоматически отключает драйвер, когда больше нет данных для отправки. Такое устройство может работать с программным обеспечением общего назначения, таким как ComDebug или HyperTerminal. Имейте в виду, однако, что он может не работать со специальным программным обеспечением, поставляемым производителями приборов, которое может предполагать определенный преобразователь RS232-в-RS485 и может вызывать ошибки при использовании с любым другим устройством.

Предотвращение отражения напряжения

Когда сигнал передается по кабелю, всегда возникает напряжение отражения, которое возвращается вверх по кабелю. Это отражение больше, поскольку края сигналов становятся быстрее, а линии становятся длиннее. Его можно свести к минимуму, согласовывая концы линии с волновым сопротивлением системы. Это 120 Ом для RS485.

Идеальная проводка RS485

В идеале система RS485 состоит из одного линейного кабеля (без разветвлений) с резисторами 120 Ом, подключенными к двум проводам на каждом конце кабеля.

RS485 может поддерживать скорость более 10 Мбит/с и длину линии более 1 км. Если вы работаете где-то рядом с этими значениями, вы должны расположить проводку близко к идеальной.

Для многих приложений, где скорость передачи данных низкая (скажем, 9600 бод), а длина линий составляет всего несколько десятков метров, это не является существенным. Затем требования к проводке можно смягчить, чтобы кабели от компьютера проходили звездой, а согласующие резисторы стали необязательными.

Подтягивание линии: как избежать последовательных ошибок

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

Имена сигналов RS485: требуется осторожность

Вы обнаружите, что ваши имена сигналов RS485 для пары линий либо A,B, либо +,-. В идеальном мире вы бы просто соединили А на компьютере с А на инструменте. Однако производители не всегда применяют эти названия, и вам может потребоваться соединить A на компьютере с B на приборе.

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

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

  • Проводка.
  • Последовательный интерфейс ПК.
  • Конфигурация устройства.
  • Коммуникационное программное обеспечение.

Проводка

Наилучшим подходом является простое подключение по «гирляндной цепочке», начиная с интерфейса ПК и заканчивая одной парой проводов (полудуплекс) или двумя парами (полнодуплекс) проводов к клеммам на первом устройстве. затем к терминалам на следующем устройстве и так далее по линии. Если ПК физически расположен в середине трассы, начните с устройства на одном конце трассы, подключите провод к ПК и затем продолжите движение к другому концу трассы.

Помните, что максимальное количество устройств (обычно 32) может быть адресовано в каждой сети RS-485, а максимальная длина кабеля обычно составляет 4000 футов. Чтобы свести к минимуму влияние шума, используйте витые пары, как в кабелях категории 3 или 5, минимизируйте длину проводов и избегайте прокладки параллельно силовым кабелям или рядом с шумными устройствами (двигателями, реле, флуоресцентными лампами и т. д.). Вам также следует избегать длинных отрезков проводов, ответвляющихся от основного участка к одному или нескольким устройствам. Лучше просто удлинить основной ход и вернуться обратно.

Часто задаваемые вопросы о подключении

В чем разница между полудуплексным и полнодуплексным режимами?
Для передачи вам нужна пара проводов: один провод для передачи и один для возврата, образуя цепь. В полудуплексном режиме каждое устройство должно попеременно использовать пару проводов для разговора или прослушивания, но не для того и другого одновременно. В полнодуплексном режиме используется вторая пара, позволяющая устройствам говорить и слушать одновременно. На устройстве, если доступна только пара терминалов (например, Данные + и Данные -), то скорее всего это полудуплексное устройство.

Нужен ли мне согласующий резистор?
При низких скоростях передачи данных и коротких пробегах сопротивление провода (при условии, что провод диаметром 24 AWG или меньше) часто бывает достаточным, чтобы вызвать стабилизацию на шине между передачами. По мере увеличения длины линии или в шумной среде добавление резистора мощностью 100 Вт к клеммам устройств на каждом конце линии (не на каждом устройстве) может сократить время установления и обеспечить более высокие скорости. Имейте в виду, что согласующие резисторы электрически нагружают шину и могут уменьшить максимальную длину вашей линии, количество разрешенных устройств и скорость передачи данных.

Для чего нужны клеммы заземления?
Большинство интерфейсов RS-485, но не все, имеют клемму заземления или «GND». Это используется для подключения к аналогичной клемме «GND» на других устройствах связи. Этот вывод не передает данные или сигнал, а скорее предназначен для ссылки на линии данных и удаления синфазных напряжений. Без опорного напряжения линии передачи данных могут поддерживать относительные уровни напряжения (уровня передачи данных) между собой, но их абсолютные напряжения могут дрейфовать за пределы электрических допусков для устройства. Это может произойти, особенно вблизи высокочастотных коммутируемых нагрузок с более высоким напряжением, таких как двигатель переменного тока с регулируемой частотой.

Последовательный интерфейс ПК

Завод по производству макаронных изделий выбрал интерфейс карты PCI-8433/4 PCI от National Instruments, который был установлен внутри компьютера. Другими распространенными вариантами являются интерфейсы RS-485 на базе USB и преобразователи RS-485 в RS-232. Независимо от интерфейса, ожидайте установки драйвера, предоставленного производителем, чтобы устройство отображалось на компьютере как последовательный порт. В операционных системах на базе Windows, таких как Windows XP, посмотрите в Диспетчере устройств порты (COM и LPT).

Настройка устройств

В зависимости от вашего устройства это обычно делается через меню на передней панели. Назначьте устройству уникальный адрес (от 1 до 31) и используйте одинаковые настройки последовательного порта на всех устройствах. Вам также может потребоваться включить последовательную связь на устройстве.

Этот простой пример с коммуникационными библиотеками контроллера процесса для LabView реализует полную последовательную передачу в LabView. Блок слева инициализирует порт; средний блок.

Коммуникационное ПО

На настольном ПК почти любая среда разработки программного обеспечения включает инструменты для обмена данными через последовательный порт. Эмулятор терминала, такой как Hyperterminal в ОС Windows) может быть полезен для первых шагов. Многие производители предоставляют своим устройствам бесплатное программное обеспечение, которое может быть полезно для начала работы.

  • Настройка последовательного порта. Обычно это делается один раз в начале сеанса. Используйте те же настройки последовательного порта (скорость передачи и т. д.) на ПК, что и на других устройствах.
  • Передать запрос данных. Часто это делается путем отправки на последовательный порт форматированной строки текста, обычно включающей адрес устройства, команду, регистр устройства и/или данные. Обратитесь к руководству по эксплуатации вашего устройства.
  • Дождитесь ответа. Для связи по RS-485 обычно требуется, чтобы шина не работала в течение определенного периода времени между сеансами связи. Время ожидания между отправкой и ответом составляет порядка 10–100 мс.
  • Получить ответ. Интерпретируйте строку текста, полученную в серийном отчете, для извлечения данных, значений конфигурации и т. д.
  • Закройте порт. После настройки последовательного порта на шаге 1 шаги 2–4 можно повторить столько раз, сколько необходимо для сеанса. По завершении сеанса введите команду, чтобы закрыть последовательный порт, чтобы он стал доступен для других приложений.

Полезные ссылки при настройке связи RS-485

Эта статья была просто введением в настройку связи RS-485, поэтому может быть полезно проконсультироваться с кем-нибудь с опытом или поискать в Интернете. Ссылки на дополнительные ресурсы в Интернете, которые могут оказаться полезными, находятся внизу страницы.

Краткое руководство по RS485 и MODBUS

Автор mvuilleu , Internet of Things and Measures, 21 августа 2016 г.

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

Что такое RS485?

RS485 — это стандарт последовательной передачи данных, немного похожий на RS232, но использующий другие электрические сигналы. Важным преимуществом RS485 является то, что на одну шину можно подключить несколько устройств RS485. Поэтому вам не нужно множить интерфейсы RS485 на хосте, чтобы опрашивать несколько устройств. Однако для этого есть небольшая хитрость: на каждом конце шины необходимо поставить терминатор шины. Иногда это означает, что вы должны прикрутить небольшое сопротивление к клемме или просто переместить переключатель в соответствующее положение.


Шина RS485 часто состоит всего из двух проводов и резистора на концах.

RS485 и RS232 несовместимы напрямую: вы должны использовать правильный тип интерфейса, иначе сигналы не будут проходить. Шлюзы RS232-RS485 действительно существуют, но в настоящее время они не представляют интереса: так же легко использовать RS485-USB, Ethernet или напрямую GSM. Это дешевле и в системе на один компонент меньше.

Основная особенность при использовании RS485 заключается в формате обмениваемых данных. В то время как с RS232 многие устройства используют просто текстовые (ASCII) протоколы, с RS485 большинство устройств используют протокол MODBUS. Поэтому вы должны знать как минимум MODBUS для подключения устройства RS485.

Что такое MODBUS?

MODBUS — это протокол между хостом (ведущим) и устройствами (ведомыми) для доступа к конфигурации устройств и считывания показателей.Сообщения MODBUS соответствуют относительно простым операциям чтения и записи 16-битных слов и двоичных регистров (часто называемых «катушками»). Хост систематически инициирует обмен, а «ведомое» устройство отвечает. Подчиненное устройство не отправляет никаких сообщений до того, как его запросит хост.

Поскольку к шине RS485 может быть подключено несколько устройств параллельно, каждое ведомое устройство должно использовать уникальный идентификатор подчиненного устройства MODBUS на шине. Каждый запрос MODBUS начинается с идентификатора подчиненного устройства предполагаемого устройства, каждый ответ начинается с идентификатора подчиненного устройства, отправляющего его. Итак, для того, чтобы связь по MODBUS работала, необходимо проверить в конфигурации устройства его Slave ID и при необходимости изменить его. По пути проверьте также скорость связи и четность (тот же принцип, что и для RS232).

Вы не можете легко создавать сообщения MODBUS "вручную", как это было бы с протоколами ASCII, используемыми на RS232: каждое сообщение MODBUS заканчивается кодом контрольной суммы, вычисляемым из полного содержимого сообщения. Поэтому для обмена сообщениями MODBUS необходимо использовать:

  • либо специальная программа, предоставленная производителем устройства, с совместимым интерфейсом;
  • или простой интерфейс RS485 с библиотекой для программирования, которая кодирует и декодирует сообщения MODBUS;
  • или интеллектуальный интерфейс RS485, способный самостоятельно кодировать и декодировать сообщения MODBUS, например Yocto-RS485.

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


Небольшой регулятор температуры со встроенным ПИД, нечеткой логикой, . и интерфейс MODBUS на RS485

Доступ к регистрам MODBUS

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

Существует 4 типа регистров MODBUS:

  • катушки, соответствующие бинарным выходам включения/выключения, например, реле.
  • Входные биты, соответствующие двоичным вводам (только для чтения).
  • Входные регистры, соответствующие аналоговым входам (только для чтения).
  • Регистры хранения, соответствующие аналоговым параметрам, которые можно изменить.

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

  • катушки нумеруются с 00001 и далее
  • Входные биты нумеруются от 10001 и далее
  • Регистры ввода нумеруются с 30001 и далее
  • Регистры хранения нумеруются с 40001 и далее

Обратите внимание, что при использовании этого соглашения первый регистр каждой категории всегда заканчивается цифрой 1 (ноль не используется).

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

  • 01h для катушек
  • 02h для входных битов
  • 04h для регистров ввода
  • 03h для регистров хранения

В этом случае часто указывается относительная позиция регистра в его группе с позицией 0 для первого элемента. Таким образом, регистр 0 функции 04h соответствует первому входному регистру, который вы также можете назвать регистром 30001. Будьте осторожны, чтобы вас не смутила несогласованность между диапазонами регистров, которые не соответствуют функции MODBUS. идентификаторы и непоследовательность относительных позиций, начинающихся с 0, в то время как абсолютные позиции начинаются с 1.

Когда вы знаете, к какому регистру обращаться, вы все равно должны знать, как его интерпретировать. Поскольку аналоговые регистры кодируются 16 битами, обычно используются два соглашения. Первый заключается в использовании диапазона значений, определенного в конфигурации устройства, и выполнении линейного сопоставления значения регистра 0-65535 с этим диапазоном значений.Второй заключается в непосредственном сохранении значения в десятичной фиксированной точке, в технических единицах: например, 2345 представляет 23,45 градуса Цельсия. Некоторые поставщики предоставляют значения одновременно в двух форматах: например, регистр 30001 для версии, пропорциональной заданному диапазону, и регистр 31001 для десятичной версии.

Конкретный пример

Давайте посмотрим, как получить доступ к измерению температуры и заданному значению контроллера температуры Schneider Electric Zelio REG48. Вот выдержка из технического руководства пользователя:


Выдержка из таблицы регистров контроллера Zelio REG48

Если вы обратили внимание, то поняли, что эта таблица описывает регистры ввода. Базовый регистр использует пропорциональный формат, а регистр со смещением +1000 имеет десятичную форму (техническая единица). Если вы используете Yocto-RS485, вы можете получить к нему доступ с помощью функции modbusReadRegisters(). Осторожно, как указано в документации, эта функция использует относительное положение регистра (индексируется с нуля):

// Получаем наш интерфейс RS485
var serial = YSerialPort . FindSerialPort ("RS485-REG48");
// Читаем первые два регистра в "инженерной единице"
var slaveID = 1 ;
var firstRegs = серийный номер. modbusReadInputRegisters(slaveID, 1000, 2);
// Декодирование десятичного числа с фиксированной запятой
var processVal = firstRegs [ 0 ] / 10 ;
var setpointVal = firstRegs [ 1 ] / 10 ;

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


Задание на периодическое чтение регистра

Благодаря этому Yocto-RS485 может служить регистратором данных для хранения измерений, полученных RS485, во флэш-памяти (до 500 000 измерений).

Вы можете пойти еще дальше: если вы подключите Yocto-RS485 к YoctoHub-Ethernet и загрузите на него небольшую веб-страницу с некоторым JavaScript, вы можете превратить этот простой контроллер температуры RS485, основанный на технологии 70-х годов, в подключенный продукт в стиле Интернета вещей. После этого любой браузер, работающий на планшете, может подключиться к интерфейсу и взаимодействовать с терморегулятором:

Похожие блоги

Углекислый газ является одним из стандартов качества воздуха в помещении, но, в отличие от других загрязнителей, у углекислого газа нет ни цвета, ни запаха, а углерод

Теплица – это закрытая среда, которая обеспечивает оптимальные условия для роста растений и способствует их росту за счет контроля внутренней и внешней среды. Полный

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

Сталкивались ли вы или ваш друг с поломкой водопроводной трубы, скоплением воды на кухне или в ванной? Вода является наиболее распространенной причиной собственности

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

Зачем нужен детектор газа?В процессе промышленного производства часто происходит утечка легковоспламеняющихся, токсичных и вредных газов, что может привести к серьезным последствиям

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

Что такое анемометр? Анемометр — прибор для измерения скорости воздуха, иногда называемый ветровым анемометром. Первые анемометры были созданы сотнями

Читайте также: