Modbus a b где плюс и минус: Протокол Modbus: особенности, преимущества и недостатки

Протокол Modbus: особенности, преимущества и недостатки

Modbus — это сетевой протокол прикладного уровня, широко используемый в промышленном производстве для обмена данными между устройствами (Machine-to-Machine, M2M).

С момента разработки в 1979 году он не теряет своей популярности. Согласно статистике HMS Industrial Networks в 2021 году Modbus занимает 10% мирового рынка промышленных сетей (по 5% приходится на Modbus RTU и Modbus TCP).

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

Базовые принципы работы Modbus

Modbus использует архитектуру Master-Slave, которая относительно недавно была переименована разработчиком в Client-Server. Согласно этому подходу в сети выделяется клиентское (ведущее) устройство, которое периодически отправляет запросы на серверные (ведомые) устройства с целью чтения или записи их параметров.

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

Архитектура Client-Server (ранее Master-Slave), лежащая в основе протокола Modbus

Пакет данных Modbus включает в себя постоянную часть PDU (Protocol Data Unit), общую для всех реализаций протокола и состоящую из кода функции и данных. Кроме этого, возможен ряд специфических полей, которые будут различаться в зависимости от физического уровня сети — чаще всего это адрес серверного устройства и контрольная сумма для выявления ошибок. С учетом дополнительных полей полный пакет Modbus носит название ADU (Application Data Unit). Рассмотрим более подробно каждое поле пакета ADU в обобщенном виде. Особенности, присущие различным вариантам протокола, будут описаны в следующем разделе.

  • Адрес серверного устройства (Additional address). Определяет, по какому адресу следует отправить клиентский запрос. Может принимать значения в диапазоне от 1 до 247. Адрес 0 используется для широковещательной передачи данных от клиента всем серверным устройствам (ответ сервера при этом не предусмотрен), а адреса 248–255 считаются зарезервированными.

    В некоторых реализациях протокола поле игнорируется — например, в Modbus TCP, где чаще всего применяется стандартная IP-адресация.

  • Код функции (Function code). Определяет, какое действие необходимо выполнить серверному устройству. Значения кодов функций лежат в диапазоне от 1 до 255, причем коды от 128 до 255 зарезервированы для сообщений об ошибках. Код 0 не используется.

    Для кодов из диапазонов 65-72 и 100-110 пользователи могут реализовать собственные функции (User-Defined Function Codes). Некоторые коды, например 9, 10, 13 и другие, зарезервированы определенными поставщиками для своего оборудования и закрыты для общего использования (Reserved Function Codes). Не входящие в эти два подмножества коды относятся к публичным (Public Function Codes) — это задокументированные функции, находящиеся в открытом доступе.

  • Данные (Data). Данные, необходимые для выполнения выбранной функции на серверном устройстве. Чаще всего это адреса регистров для чтения или записи, их количество и так далее. Длина и формат поля зависят от кода функции. Некоторые функции не требуют передачи данных.
  • Контрольная сумма (Error check). Содержит рассчитанное при помощи специального алгоритма число для проверки целостности пакета. В качестве алгоритма для расчетов используется CRC-16 или LRC-8. В некоторых реализациях протокола поле отсутствует — например, в Modbus TCP, где контроль целостности пакета обеспечивается средствами протокола TCP/IP.

Структура пакета данных Modbus в обобщенном виде

Рассмотрим передачу пакетов в Modbus. Протокол обеспечивает клиент-серверное взаимодействие в режиме Request/Response. Клиент инициирует запрос в серверное устройство, передавая в PDU код функции и данные. В зависимости от физического уровня сети в пакете могут быть дополнительные поля, рассмотренные выше.

Если обработка запроса проходит без ошибок, то сервер возвращает пакет, содержащий исходный код функции и запрошенные данные.

Схема работы Modbus в случае отсутствия ошибок на серверном устройстве

При возникновении ошибки серверное устройство возвращает в качестве данных код исключения, а вместо исходного кода функции — его значение, увеличенное на 128 (0x80 в шестнадцатеричной системе HEX).

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

Схема работы Modbus в случае ошибок на серверном устройстве

Разновидности Modbus: ASCII, TCP и RTU

Modbus — это протокол прикладного (седьмого) уровня модели OSI (Open Systems Interconnection model). Он не зависит от нижележащих уровней и может использоваться совместно с другими протоколами, например Ethernet TCP/IP или UDP/IP, а в качестве физической среды для передачи сигналов применять последовательные интерфейсы RS-232, RS-422, RS-485, оптоволокно, радиоканалы и другое.

Разновидности протокола Modbus

Опишем отличия наиболее известных реализаций протокола Modbus: RTU, ASCII и TCP.

Modbus RTU (Remote Terminal Unit). Это разновидность протокола, которая в качестве физического уровня сети чаще всего использует последовательный интерфейс RS-485, реже — RS-232 и RS-422. По сути, все эти интерфейсы определяют связь с помощью витых пар, но различаются характеристиками вида максимальной длины кабеля, количества узлов и так далее.

Формат пакета Modbus RTU в целом совпадает с обобщенной формой, описанной ранее: дополнительные поля не используются. Контроль целостности пакетов ведется с помощью алгоритма CRC-16.

Важная особенность Modbus RTU в том, что для разделения пакетов должны использоваться временные паузы продолжительностью не менее чем произведение 3,5*t, где t — время передачи одного байта в текущей сети. А передача байтов данных в пределах одного пакета производится последовательно с промежутком времени между соседними байтами не более 1,5*t, иначе передача будет считаться ложной. Эти правила не дают использовать Modbus RTU в медленных, например модемных, сетях.

Структура пакета данных в Modbus RTU

Modbus ASCII. Это разновидность протокола, также работающая поверх интерфейсов RS-232/RS-485, но для кодирования сообщений использующая ASCII-символы.

По сравнению с Modbus RTU в формате пакета добавляются еще два поля — специальные символы для отметки начала и конца сообщения: двоеточие и символы возврата каретки / перевода строки. Временные паузы между пакетами не нужны. Для проверки целостности применяется алгоритм LRC-8.

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

Структура пакета данных в Modbus ASCII

Modbus TCP. Это реализация ModBus в сетях Ethernet. Работает поверх TCP/IP стека.

В отличие от Modbus RTU и ASCII, в Modbus TCP соединение устанавливается с конкретным устройством средствами TCP/IP. Поэтому адрес в пакете Modbus чаще всего игнорируется, а широковещательная рассылка сообщений не используется. Однако адрес может потребоваться, если соединение устанавливается со шлюзом, который, в свою очередь, выводит на сеть RS485 — чтобы далее общаться с устройствами уже на языке Modbus.

Контроль целостности пакетов также обеспечивается средствами протокола TCP/IP, поэтому нет необходимости в его Modbus-реализации.

Наряду с адресом в заголовке пакета Modbus TCP присутствует ряд дополнительных полей:

  1. ID транзакции (или ID обмена)

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

  2. ID протокола

    Всегда заполняется нулями, зарезервирован для будущего использования.

  3. Длина остатка пакета

    Длина оставшейся части пакета: адреса и PDU (кода функции и данных).

Структура пакета данных в Modbus TCP

Мы рассмотрели только открытые и самые распространенные реализации протокола Modbus. Но их гораздо больше, например MODBUS Plus — проприетарный протокол от Schneider Electric, поддерживающий режим Multi-Master.

Регистры и функции Modbus

Так как Modbus предназначен для работы с промышленной автоматикой, обмен данными с Modbus-устройствами происходит через регистры. Они делятся на входы и выходы. Входы можно только читать, а выходы — читать и писать. Бывают 1-битные регистры Modbus для описания дискретных входов/выходов (Discrete Inputs и Coils) и 16-битные регистры для аналоговых входов/выходов (Input Registers и Holding Registers).

Доступ к регистрам осуществляется с помощью 16-битного адреса. Первому элементу в каждой группе регистров соответствует адрес 0. То есть адрес любого регистра может принимать значения из диапазона 0-65535 (0x0000-0xFFFF в HEX-формате). При этом спецификация протокола не определяет, что физически из себя представляют адресные пространства и по каким внутренним адресам устройства должны быть доступны регистры. В общем случае значения регистров с одинаковым адресом, но разными типами отличаются друг от друга.

Примечание

В документации ряда производителей на некоторые, особенно старые устройства адреса регистров могут быть указаны в других форматах — где адресация начинается не с нуля и первая цифра адреса определяет тип регистра. Например, Input Register с адресом 0 может быть описан как 30001, а Holding Register — как 40001. В таких случаях в пакетах данных следует передавать адреса в стандартном формате Modbus независимо от способа представления их в документации. Для получения верного адреса достаточно вычесть смещение, соответствующее типу регистра. В некоторые программные пакеты заложена автоматическая корректировка адресов.

Тип регистров Назначение Размер Доступ Стандартный адрес Примеры нестандартных адресов
Coils Регистры флагов, обозначающие текущее состояние выхода устройства. Например, при включенном реле значение 1. 1 бит Чтение и запись (выход) 0-65535 (0x0000-0xFFFF в HEX-формате) 00001-09999
или
000001-065536
Discrete Inputs Дискретные входы, описывающие состояние входа устройства. Например, при поданном напряжении значение 1. 1 бит Чтение (вход) 0-65535 (0x0000-0xFFFF в HEX-формате) 10001-19999
или
100001-165536
Input Registers Регистры ввода, предназначенные для чтения настроек (например, текущего значения температуры). 16 битов Чтение (вход) 0-65535 (0x0000-0xFFFF в HEX-формате) 30001-39999
или
300001-365536
Holding Registers Регистры, предназначенные для хранения настроек с возможностью их чтения и записи. 16 битов Чтение и запись (выход) 0-65535 (0x0000-0xFFFF в HEX-формате) 40001-49999
или
400001-465536

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

Код HEX-код
для PDU
Название функции Тип данных Назначение
1 0x01 Read Coils Coils Чтение значений нескольких регистров флагов
2 0x02 Read Discrete Inputs Discrete Inputs Чтение значений нескольких дискретных входов
3 0x03 Read Holding Registers Holding Registers Чтение значений нескольких регистров хранения
4 0x04 Read Input Registers Input Registers Чтение значений нескольких регистров ввода
5 0x05 Write Single Coil Coils Запись одного регистра флагов
6 0x06 Write Single Register Holding Registers Запись одного регистра хранения
15 0x0F Write Multiple Coils Coils Запись нескольких регистров флагов
16 0x10 Write Multiple Register Holding Registers Запись нескольких регистров хранения

Для каждой функции в спецификации протокола Modbus определена структура PDU: какие данные и в каком порядке должны использоваться в запросах и ответах. Рассмотрим формирование пакетов Modbus RTU на примере функции Read Coils с кодом 1. Эта функция, кроме передачи собственного кода, требует наличия в запросе адреса первого Coil-регистра и количества регистров, которые необходимо прочитать. В случае успешного выполнения запроса в ответе будут возвращены код функции, число байт, необходимое для вывода запрошенных Coil-регистров, и статус всех этих регистров.

Предположим, нам нужно обратиться к серверному устройству с адресом 1 и прочитать 19 его Coil-регистров с номерами 20–38. Адресация регистров ведется с 0, поэтому адрес первого нужного нам регистра будет 0x13 (это 19 в HEX-системе). Требуемое для чтения количество регистров также будет равно 0x13 (для чтения запрошено 19). В качестве адреса и кода функции указываем 01. Контрольная сумма формируется по алгоритму CRC-16 на основе других полей пакета.

В случае отсутствия ошибок в ответе вернутся без изменений адрес серверного устройства и код функции. Для расчета числа байтов, которые потребуются для возврата состояния регистров, нужно разделить запрошенное количество регистров на 8 и к результату прибавить 1, если остаток от деления не равен 0. В нашем случае результат деления 19 на 8 равен 2, но остаток положительный — поэтому для вывода регистров потребуется 2+1=3 байта. Это значение будет указано в ответе после кода функции. И далее будут следовать 3 байта, описывающие состояние выбранных регистров. Например, первый байт будет описывать состояние 8 Coil-регистров с номерами 27-20. Если в поле, к примеру, содержится HEX-значение CD — статус соответствующих 8 регистров такой: 1100 1101.

Пример успешного выполнения функции Read Coils

Если в процессе обработки запроса на серверном устройстве возникнет ошибка (например, обнаружен несуществующий адрес регистра), то в ответе будет содержаться измененный код функции, равный исходному коду плюс смещение 0x80 — в нашем примере 0x81, и код исключения — в нашем примере 03, что значит неверный формат запроса. С полным перечнем возможных исключений можно ознакомиться в документации.

Пример возврата исключения для функции Read Coils

Преимущества и недостатки Modbus

К преимуществам Modbus относятся:

  1. Простота реализации, диагностики и отладки

    Использование стандартных интерфейсов (RS-232/RS-485 и Ethernet) делает Modbus удобным как для разработчиков, так и для пользователей оборудования. При разработке контроллеров и устройств не нужно устанавливать заказные микросхемы для реализации протокола, в отличие от конкурентов-аналогов Profibus и CAN.

  2. Высокая скорость внедрения

    Для развертывания первого Modbus-решения нужно всего пара дней, тогда как некоторые протоколы требуют месяцев на подготовку.

  3. Нетребовательность к ресурсам

    Разработанный в эпоху 8-битных процессоров, Modbus не предъявляет высоких требований к CPU и RAM. Для начала работы требуется минимум оборудования, и разработка проста в любой операционной системе.

  4. Высокая надежность и достоверность при передаче данных

    Поддержка CRC и LRC позволяет определять ошибки в передаче данных с высокой точностью.

  5. Универсальность и открытость

    Практически все промышленные АСУ ТП имеют программные драйверы для работы с Modbus-сетями. Благодаря этому Modbus принято считать стандартом де-факто в интеграции мультивендорного оборудования. Протокол реализован сотнями поставщиков на множестве различных датчиков и исполнительных устройств для передачи дискретной и аналоговой информации. Благодаря единому протоколу устройства от различных производителей могут без труда общаться друг с другом.

Разумеется, у использования протокола есть и недостатки:

  1. Отсутствие встроенной аутентификации и шифрования передаваемых данных

    Поэтому при использовании протокола Modbus TCP необходимо настраивать дополнительные VPN-тоннели. Относительно недавно для Modbus TCP было разработано расширение Modbus Security (с поддержкой TLS), но оно пока не получило широкого распространения.

  2. Отсутствие начальной инициализации системы

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

  3. Спецификации для ограниченного набора типов данных

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

  4. Недостатки Master-Slave-взаимодействия

    Модель «ведущий — ведомый», изначально положенная в основу протокола, предполагает обмен данными только по инициативе клиентского (ведущего) устройства, которое по очереди опрашивает все серверные (ведомые). Из-за этого возникают следующие ограничения:

    • У серверных устройств нет возможности отправить оперативную информацию клиенту (например, сигнал прерывания): нужно ждать своей очереди в опросе.
    • Серверные устройства не способны обнаружить потерю связи с клиентом.
    • Серверные устройства не могут обмениваться данными друг с другом без участия клиента.
  5. Отсутствие поддержки режима Multi-Master для интерфейсов RS-232/RS-485

    Другие протоколы, основанные на этих же интерфейсах, поддерживают работу с несколькими ведущими устройствами (например, CAN и Profibus).

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

Где используется Modbus

Чаще всего Modbus применяется для передачи сигналов от контрольно-измерительных приборов к главному контроллеру или системе сбора данных. Основные сценарии использования Modbus:

  • Клиент-серверные приложения для мониторинга и программирования устройств (в том числе дистанционного) в промышленности, строительстве, инфраструктуре, транспорте, энергетике. Примеры: мониторинг энергопотребления, контроль производственных процессов, надзор за ходом строительства и так далее.
  • Передача данных от датчиков и приборов интеллектуальным устройствам в интернете вещей (Internet of Things, IoT).
  • Связь диспетчерских компьютеров с удаленными терминалами в SCADA-системах.
  • Приложения, где требуется беспроводная связь, например в газовой и нефтяной промышленности.

Несмотря на свой возраст, Modbus активно используется и с современными технологиями — например, он отлично чувствует себя в облаке. Многие провайдеры предлагают возможность создания облачных IoT-платформ — для снижения затрат на разработку IoT-сервисов, обеспечения сбора данных и управления устройствами в real-time-режиме. И поддержка Modbus — обязательный пункт для подобных решений, так как невозможно построить межмашинное взаимодействие без протокола, реализованного множеством поставщиков на тысячах различных устройств.

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

АКЭЛ

Внимание! Страница может отображаться некорректно! Включите JavaScript в вашем браузере для адекватной роботы

  • Главная
  • Продукция АКЭЛ
  • Цифровой измерительный прибор MAC-AKEL

MAC-AKEL

ОСОБЕННОСТИ СЕРИИ

  • MAC-AKEL — это цифровой интегрированный прибор для измерения и отображения параметров электрических сетей (3-х фазное напряжение/ток, электрическая мощность, электроэнергия, коэффициент мощности, частота, потребляемый ток, предельные значения и т.д.).
  • Используется в распределительных устройствах в схемах подключения сети: 1 фаза два провода, 1 фаза три провода, 3 фазы три провода А, 3 фазы три провода Y, 3 фазы четыре провода.
  • Высокая точность измерений. Гарантируется высокая точность измерений даже при скачках показателей частоты, 0.3% (от показания) при номинальном напряжении 10–452 В, 0.3% (от диапазона) при значения тока от 0.05–6 А (ТТ 5 А), 0.01–1.2 А (ТТ 1 A) и класс точности 0.5 по стандарту IEC 1036 для электроэнергетики
  • Широкий диапазон напряжений при работе с трансформатором напряжения (AC 380 В). Легко устанавливаются в сетях АС 10–380 В + 120% (АС1 0–452В). Также прибор может устанавливаться напрямую без дополнительного трансформатора напряжения
  • Различные параметры измерений. У прибора есть 3 информационных дисплея, 13 показателей для нерасширяемого типа и 40 показателей для расширяемого типа
  • Компактные внешние размеры и размеры выреза в передней панели щита. Внешние размеры 144(Ш) х 144(В) х 85(Г) мм и размеры выреза в шкафу в соответствии со стандартам DIN 96 или ANSI 4
  • Протокол связи RS485/RS422 MODBUS. Поддерживаемые протоколы связи RS485/RS422 MODBUS RTU
  • Различные параметры цепей измерения. Доступны различные типы напряжения цепей измерения в диапазоне AC/DC 88–264 В
  • Проверка правильности соединения. При неправильном соединении трансформатора напряжения отображается ошибка на экране, как при нарушении фазировки (функция доступна только для З фаз четыре провода и 3 фаз три провода Y, типов соединений)
  • Автоматическое пролистывание данных на экране. При одновременном нажатии клавиш [DOWN] и [ENTER] данные на экранах будут пролистываться с интервалом 10 секунд

Каталог по измерительным приборам MAС-AKEL
Заказать просчет
Заказать 3D модель

Технические характеристики:
Телеизмерение
Тип подключения сети 1 фаза два провода/1 фаза три провода/3 фазы три провода Д/3 фазы три провода Y/3 фазы четыре провода
Измеряемое напряжение (В) 10-425, Напряжение между фазами Va, Vb, Vc, Vn
Измеряемый ток (А) 0. 05-6 (ТТ 5A), 0.01-1.2 (ТТ 1А)
ТТ номинальный ток (А) 1/5
Частота (Гц) 50/60
Мощность ТН иТТ (ВА) менее 0.5
Напряжение питания (В) AC/DC 88-264
Мощность потребления от цепи питания (Вт) менее 2
Интерфейсы связи Modbus/RS422/RS485/l-Net
Условия эксплуатации
Рабочий диапазон температур (вС) От минус 10 до плюс 55
Температурный диапазон хранения (”С) От минус 25 до плюс 75
Монтаж В щит
Сечение проводов (ммЛ2) 2,5
Влажность (%) Менее 80 (с условием отсутствия конденсата)
Высота над уровнем моря (м) менее 2000
Габаритные размеры (мм) (ШхВхГ) 144x144x85
Масса (кг) 0,52
Высота знака единичного индикатора (мм) 18
Измеряемые и вычисляемые параметры Основная погрешность Обозначение Измеряемые параметры
Нерасширяемый тип Расширяемый тип
Напряжение Действующее значение фазного напряжения 0,003 Ua, Ub, Uc + +
Среднее действующее значение фазного напряжения 0,003 Uavg + +
Действующее значение междуфазного напряжения 0,003 Vab, Vbc, Vca + +
Ток Действующее значение фазного тока 0,3% la, lb, Ic + +
Среднее действующее значение фазного тока 0,3% lavg + +
Мощность Активная мощность фазы нагрузки 0,5% Pa, Pb, Pc +
Суммарная активная мощность 0,5% P + +
Реактивная мощность фазы нагрузки 0,5% Qa, Ob, Qc +
Суммарная реактивная мощность 0,5% Q + +
Полная мощность фазы нагрузки 0,5% Sa, Sb, Sc +
Суммарная полная мощность 0,5% S + +
Коэффициент мощности Коэффициент мощности в каждой фазе Cos фа, Cos фЬ, Cos фс +
Общий коэффициент мощности Cos ф + +
Частота Частота сети 0. 05 Гц F + +
Электрическая энергия Активная электрическая энергия 0,5% WH + +
Реактивная электрическая энергия 0,5% VARH + +
Реверс активной электрической энергии 0,5% rWH +
Реверс реактивной электрической энергии 0,5% rVARH +
Полная энергия 0,5% VAH + +
Коэффициент нелинейных искажений КНИ напряжения THD Va(ab), Vb(bc), Vc(ca) +
КНИ тока THD la, lb, Ic +
Гармоники Гармоники напряжения 1-15 гармоники Va(ab), Vb(bc), Vc(ca) +
Гармоники тока 1-15 гармоники la, lb, Ic +

Запросы по продукции MAС-AKEL отправляйте на e-mail: ak-el@ak-el. ru.

RS485 — Возможные проблемы с полярностью RS485

RS485 — это стандарт электрической связи, используемый Modbus RTU, BACnet MS/TP и многими другими протоколами автоматизации зданий. В этой статье рассматриваются вопросы, связанные с полярностью дифференциальной балансной линии RS485. Дифференциальная симметричная линия состоит из двух проводов (отрицательного и положительного). Двоичный ‘1’ обозначается
в
напряжение на положительном проводе больше, чем на отрицательном. Двоичный «0» обозначается положительным
проволока
напряжение меньше отрицательного провода. Ожидается, что разница в напряжениях будет не менее 0,2 В.
по стандарту RS485, хотя не все устройства этому соответствуют. Если разница между
положительный и отрицательный провода менее 0,2 В, то шина простаивает.

В+ В > 0,2 В : 1

В В+ > 0,2 В : 0

0,2 ​​В

Четырехпроводный интерфейс RS485 имеет две дифференциальные симметричные линии. Двухпроводной RS485 использует одну дифференциальную симметричную линию.
Этикетки полярности RS485 различаются у разных производителей. В соответствии со стандартом RS485 две клеммы: A
для отрицательного и B для положительного.
Вместо этого большинство производителей будут использовать + и — или некоторые вариации, такие как D+, D . Некоторые производители маркируют
входы как A и B, но с обратной полярностью, поэтому A положительный. Важно прочитать руководство, а не предполагать, что производитель следует стандарту.

RS485 имеет репутацию нечувствительного к полярности, потому что в нормальных условиях большинство устройств автоматически определяет, какой провод в дифференциальной симметричной линии положительный, а какой отрицательный. Это связано с тем, что в состоянии покоя положительный провод должен иметь немного более высокое напряжение, чем отрицательный провод. А
типичное сообщение RS485 с указанием полярности положительного и отрицательного проводов в состоянии ожидания — красный крестик,
[ИКС]. С помощью мультиметра можно проверить, находится ли положительный провод выше отрицательного на холостом ходу.

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

Возможные проблемы с автоматическим определением полярности:

  • Нагрузочные резисторы настроены неправильно.
  • Электрический шум влияет на уровни напряжения в состоянии простоя.
  • Заземление согласующих резисторов не соответствует заземлению устройств.
  • Напряжение Vcc, подключенное к согласующим резисторам, не соответствует Vcc устройств.
  • Устройство RS485 не поддерживает определение полярности. (это очень редко).

Как избежать проблем с полярностью:

  • Подключите положительный и отрицательный провода к устройству, как указано в руководстве.
  • Убедитесь, что согласующие резисторы подходят.
  • Проложите общий провод (провод заземления) ко всем устройствам и согласующим резисторам.
  • Проверьте с помощью мультиметра, какой из проводов положительный, в состоянии простоя. Не думайте, что окраска проводов правильная.

Отзывы

Посмотреть больше отзывов…

Загрузка формы обратной связи. Если форма не загружается, воспользуйтесь онлайн-чатом, чтобы связаться с нами.

связь — 485 рупий A и B Этикетки используются непоследовательно

спросил

Изменено
1 год, 6 месяцев назад

Просмотрено
1к раз

\$\начало группы\$

Я хотел бы знать, существует ли официальный стандарт в отношении терминалов RS-485 с маркировкой A и B .

Я всегда считал:
A => + (положительный)
и
B => — (отрицательный)

однако, я недавно работал с WEG и Danfos VSD, и они, похоже, имеют A(-) отрицательный и B(+) положительный.

Существует ли официальный стандарт или он неправильно используется во всем мире в зависимости от каждого продукта и/или торговой марки?

  • связь
  • RS485
  • протокол
  • стандарт
  • Modbus

\$\конечная группа\$

\$\начало группы\$

Стандарт RS-485 определяет линию A как отрицательную, а линию B как положительную, как видно отсюда:

Дифференциальная линия RS-485 состоит из двух сигналов:

  • А, низкий уровень для логической 1 и высокий для логического 0 и,
  • B, высокий уровень для логической 1 и низкий для логического 0.

Производители часто не следуют этому соглашению и маркируют линии в обратном порядке: A — положительный, B — отрицательный. Некоторые из них даже используют другое соглашение, такое как D+ и D-.

Всегда полезно проверить руководство по эксплуатации оборудования.

\$\конечная группа\$

\$\начало группы\$

Нижеследующее взято из версии 1994 года TIA-EIA-422-B, которая определяет различные параметры для RS-422.

Обратите внимание, что 1==знак => Va

Хотя у меня нет определяющего документа для RS-485, я полагаю, что поскольку RS-485 произошел от ‘422, официальные определения для Va и Vb будут одинаковыми.

Остается только гадать, все ли производители устройств RS-485 следуют этому стандарту.

Добавлен контрпример ниже

И тут, порывшись в своих файлах, я наткнулся на техпаспорт драйвера National Semiconductor DS26LV31T RS-422. В этой таблице данных показано, что выход DO+ следует за входом, а выход DO- инвертируется относительно входа.

\$\конечная группа\$

\$\начало группы\$

Стандарт TIA-485 гласит:

Клемма A генератора должна быть отрицательной по отношению к клемме B для состояния двоичной 1 (ВЫКЛ. )

и

Клемма А генератора должна быть положительной по отношению к клемме В для состояния двоичного 0 (ВКЛ)

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

Пока мы на нем; в стандарте нет:

  • Определяют фактическую логическую работу приемопередатчиков.
  • Определите любое смещение сети
    автобус?
  • Упоминается только отказоустойчивость, но не затрагивается тема реализации, т.к.
    это «специфическое приложение» (в результате каждый трансивер
    производитель придумал свои идеи — может, а может и нет
    быть совместимыми друг с другом) (хотя в наши дни это лучше. Современные
    приемопередатчики чертовски хороши, но ~ 15 лет назад это было болезненно. И: кое-что из этой чепухи до сих пор остается плохой практикой)

Однако; Как кто-то может создать функционирующую сеть R485 на основе стандарта, который едва охватывает самое необходимое, для меня загадка. (Забавный факт: они этого не делают. Вы когда-нибудь пытались построить сеть с устройствами от разных производителей? Это кошмар.) Я видел много сумасшедших вещей, основанных на некоторых идеях умного инженера, заново изобретающего колесо. Это может быть умно и может сработать, но если заменить USB-конвертер, вся сеть рухнет. RS485 может быть замечательным, но стандарт слишком расплывчат в своей реализации, чтобы гарантировать совместимость. Но: Если вы контролируете все узлы в сети, RS485 может быть чертовски хорош.

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


Опубликовано

в

от

Метки:

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *