Меню
Бесплатно
Главная  /  Kia  /  Углубленное описание стандарта EIA485 (RS485). Физические интерфейсы RS485 и RS422 Максимальная длина шины rs 485

Углубленное описание стандарта EIA485 (RS485). Физические интерфейсы RS485 и RS422 Максимальная длина шины rs 485

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

Что он собой представляет?

Среди специалистов RS-485 представляет собой название достаточно популярного интерфейса, который активно используется в различных промышленных АСУТП для соединения нескольких контроллеров, а также множества других устройств между собой. Главным отличием данного интерфейса от не менее распространенного RS-232 является то, что он предусматривает объединение одновременно нескольких видов оборудования.

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

Дальность и скорость

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

Количество объединяемых устройств

Количество устройств, которые может объединять в себе интерфейс RS-485, будет непосредственно зависеть от того, какие в устройстве используются приемопередатчики. Каждый передатчик рассчитан на одновременное управление 32 стандартными приемниками, однако при этом нужно понимать, что есть приемники, входное сопротивление которых составляет 50 %, 25 % или даже еще меньшую часть от стандартного, и в случае использования такого оборудования общее количество устройств будет увеличиваться соответственно.

Разъемы и протоколы

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

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

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

Подключение

Чаще всего с применением данного интерфейса встречается локальная сеть, объединяющая в себе одновременно несколько приемопередатчиков.

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

Используя интерфейс RS-485, вам следует учитывать несколько особенностей его работы:

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

Согласование

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

Номинальное сопротивление резисторов является соответствующим волновому сопротивлению кабеля и для тех кабелей, которые основываются на витой паре, в преимущественном большинстве случаев составляет приблизительно 100-120 Ом. К примеру, достаточно популярный на сегодняшний день кабель UTP-5, активно использующийся в процессе прокладки Ethernet, имеет волновое сопротивление 100 Ом. Для других вариантов кабеля может использоваться и какой-нибудь другой номинал.

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

Уровни сигналов

Порт RS-485 использует балансную схему транслирования данных, то есть уровни напряжения на сигнальных цепях А и В будут изменяться в противофазе.

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

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

Смещение

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

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

Пример

В соответствии с необходимым смещением и напряжением источника питания осуществляется расчет К примеру, если нужно получить смещение на уровне 250 мВ при использовании терминальных резисторов R T = 120 Ом при том, что источник имеет напряжение 12 В. Учитывая, что в данном случае два резистора включены параллельно друг другу и при этом абсолютно не берут во внимание нагрузку со стороны приемника, ток смещения составляет 0.0042 А, в то время как общее сопротивление цепи смещения составляет 2857 Ом. R см в данном случае будет составлять приблизительно 1400 Ом, поэтому нужно выбрать какой-нибудь ближайший номинал.

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

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

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

Неправильная разводка и искажения

Выполнение указанных выше рекомендаций позволяет добиться нормальной передачи электрических сигналов в различные точки сети, если в качестве основы используется протокол RS-485. Если будет не соблюдено хотя бы какое-то из требований, будут возникать искажения сигнала. Наиболее заметные искажения начинают появляться в том случае, если скорость обмена данными превышает 1 Мбит/с, однако на самом деле даже в случае меньших скоростей крайне не рекомендуется пренебрегать указанными рекомендациями, даже если сеть «и так нормально работает».

Как программировать?

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

  • Перед тем как будет начинаться выдача посылки, нужно в обязательном порядке активировать передатчик. Несмотря на то что по информации определенных источников выдача может осуществляться сразу же после включения, некоторые эксперты рекомендуют первоначально выдержать паузу, которая по времени будет равна скорости передачи одного фрейма. В данном случае корректная программа приема успеет полностью определить ошибки переходного процесса, проведет процедуру нормализации и подготовится к последующему приему данных.
  • После того как будет выдан последний байт данных, также рекомендуется выдержать паузу перед тем, как отключать RS-485 устройство. В частности, это связано с тем, что в контроллере последовательного порта зачастую присутствует одновременно два регистра, первый из которых является параллельным входным и предназначается для приема данных, в то время как второй является сдвиговым выходным и используется для последовательного вывода. Любые прерывания по передаче контроллером формируются в случае опустошения входного регистра, когда информация уже была предоставлена в сдвиговый регистр, но еще не была выдана. Именно по этой причине после того, как будет прервана трансляция, нужно выдержать определенную паузу перед отключением передатчика, которая должна быть по времени приблизительно больше на 0.5 бита, чем фрейм. Для осуществления более точных расчетов рекомендуется детально изучить техническую документацию используемого контроллера последовательного порта.
  • Так как передатчик, приемник и, возможно, конвертер RS-485 подключены к единственной линии, собственный приемник будет воспринимать также передачу, осуществляемую собственным передатчиком. Нередко случается так, когда в системах, характеризующихся произвольным доступом к линии, данная особенность используется в процессе проверки отсутствия столкновения между двумя передатчиками. В стандартных системах, работающих в соответствии с принципом «ведущий-ведомый», в процессе передачи рекомендуется полностью закрывать прерывания от приемника.

Конфигурация формата «шина»

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

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

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

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

Конфигурация формата «звезда»

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

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

Что нужно учитывать?

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

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

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

Углубленное описание стандарта EIA485 (RS485)

1. Универсальный асинхронный приемопередатчик (UART)

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

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

UART - полнодуплексный интерфейс, то есть приемник и передатчик могут работать одновременно, независимо друг от друга. За каждым из них закреплен порт - одна ножка контроллера. Порт приемника обозначают RX, передатчика - TX. Последовательной установкой уровней на этих портах относительно общего провода ("земли") и передается информация. По умолчанию передатчик устанавливает на линии единичный уровень. Передача начинается посылкой бита с нулевым уровнем (старт-бита), затем идут биты данных младшим битом вперед (низкий уровень - "0", высокий уровень - "1"), завершается посылка передачей одного или двух битов с единичным уровнем (стоп-битов).

Электрический сигнал кадра посылки выглядит так:

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

Скорость связи или бодрейт (baudrate) измеряется в бодах - число передаваемых бит в секунду (включая старт и стоп-биты). Задается эта скорость в бодрейт-генераторе делением системной частоты на задаваемый коэффициент. Типичный диапазон скоростей: 2400 … 115200 бод.

Формат кадра определяет число стоп-битов (1 или 2), число бит данных (8 или 9), а также назначение девятого бита данных. Все это зависит от типа контроллера.

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


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

2. Интерфейс RS-485

Интерфейс RS-485 (другое название - EIA/TIA-485) - один из наиболее распространенных стандартов физического уровня связи. Физический уровень - это канал связи и способ передачи сигнала (1 уровень модели взаимосвязи открытых систем OSI).

Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары - двух скрученных проводов. В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" - отрицательна.


Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе. Синфазной называют помеху, действующую на оба провода линии одинаково. К примеру, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего, как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающего наводки общего ("земли"). Кроме того, на сопротивлении длинного общего провода будет падать разность потенциалов земель - дополнительный источник искажений. А при дифференциальной передаче искажения не происходит. В самом деле, если два провода пролегают близко друг к другу, да еще перевиты, то наводка на оба провода одинакова. Потенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информативная разность потенциалов остается без изменений.

Аппаратная реализация интерфейса - микросхемы приемопередатчиков с дифференциальными входами/выходами (к линии) и цифровыми портами (к портам UART контроллера). Существуют два варианта такого интерфейса: RS-422 и RS-485.

RS-422 - полнодуплексный интерфейс. Прием и передача идут по двум отдельным парам проводов. На каждой паре проводов может быть только по одному передатчику.

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


D (driver) - передатчик;
R (receiver) - приемник;
DI (driver input) - цифровой вход передатчика;
RO (receiver output) - цифровой выход приемника;
DE (driver enable) - разрешение работы передатчика;
RE (receiver enable) - разрешение работы приемника;
A - прямой дифференциальный вход/выход;
B - инверсный дифференциальный вход/выход;
Y - прямой дифференциальный выход (RS-422);
Z - инверсный дифференциальный выход (RS-422).

Остановлюсь поподробнее на приемопередатчике RS-485. Цифровой выход приемника (RO) подключается к порту приемника UART (RX). Цифровой вход передатчика (DI) к порту передатчика UART (TX). Поскольку на дифференциальной стороне приемник и передатчик соединены, то во время приема нужно отключать передатчик, а во время передачи - приемник. Для этого служат управляющие входы - разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне "0" - работа на прием, при "1" - на передачу.


Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB ) переводит их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной, но гарантированный пороговый диапазон распознавания сигнала производители микросхем приемопередатчиков пишут в документации. Обычно эти пороги составляют ± 200 мВ. То есть, когда UAB > +200 мВ - приемник определяет "1", когда UAB < -200 мВ - приемник определяет "0". Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.

Все устройства подключаются к одной витой паре одинаково: прямые выходы (A) к одному проводу, инверсные (B) - к другому.

Входное сопротивление приемника со стороны линии (RAB ) обычно составляет 12 КОм. Так как мощность передатчика не беспредельна, это создает ограничение на количество приемников, подключенных к линии. Согласно спецификации RS-485 c учетом согласующих резисторов передатчик может вести до 32 приемников. Однако есть ряд микросхем с повышенным входным сопротивлением, что позволяет подключить к линии значительно больше 32 устройств.

Максимальная скорость связи по спецификации RS-485 может достигать 10 Мбод/сек. Максимальное расстояние - 1200 м. Если необходимо организовать связь на расстоянии большем 1200 м или подключить больше устройств, чем допускает нагрузочная способность передатчика - применяют специальные повторители (репитеры).

Стандартные параметры интерфейсов RS-422 RS-485
Допустимое число передатчиков / приемников 1 / 10 32 / 32
Максимальная длина кабеля 1200 м 1200 м
Максимальная скорость связи 10 Мбит/с 10 Мбит/с
Диапазон напряжений "1" передатчика +2...+10 В +1.5...+6 В
Диапазон напряжений "0" передатчика -2...-10 В -1.5...-6 В
Диапазон синфазного напряжения передатчика -3...+3 В -1...+3 В
Допустимый диапазон напряжений приемника -7...+7 В -7...+12 В
Пороговый диапазон чувствительности приемника ±200 мВ ±200 мВ
Максимальный ток короткого замыкания драйвера 150 мА 250 мА
Допустимое сопротивление нагрузки передатчика 100 Ом 54 Ом
Входное сопротивление приемника 4 кОм 12 кОм
Максимальное время нарастания сигнала передатчика 10% бита 30% бита
3. Согласование и конфигурация линии связи

При больших расстояниях между устройствами, связанными по витой паре и высоких скоростях передачи начинают проявляться так называемые эффекты длинных линий. Причина этому - конечность скорости распространения электромагнитных волн в проводниках. Скорость эта существенно меньше скорости света в вакууме и составляет немногим больше 200 мм/нс. Электрический сигнал имеет также свойство отражаться от открытых концов линии передачи и ее ответвлений. Грубая аналогия - желоб, наполненный водой. Волна, созданная в одном конце, идет по желобу и, отразившись от стенки в конце, идет обратно, отражается опять и так далее, пока не затухнет. Для коротких линий и малых скоростей передачи этот процесс происходит так быстро, что остается незамеченным. Однако, время реакции приемников - десятки/сотни нс. В таком масштабе времени несколько десятков метров электрический сигнал проходит отнюдь не мгновенно. И если расстояние достаточно большое, фронт сигнала, отразившийся в конце линии и вернувшийся обратно, может исказить текущий или следующий сигнал. В таких случаях нужно каким-то образом подавлять эффект отражения.

Наука Электротехника предлагает решение этой проблемы. У любой линии связи есть такой параметр, как волновое сопротивление Zв. Оно зависит от характеристик используемого кабеля, но не от длины. Для обычно применяемых в линиях связи витых пар Zв=120 Ом. Оказывается, что если на удаленном конце линии, между проводниками витой пары включить резистор с номиналом равным волновому сопротивлению линии, то электромагнитная волна дошедшая до "тупика" поглощается на таком резисторе. Отсюда его названия - согласующий резистор или "терминатор".

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

Линия связи должна представлять собой один кабель витой пары. К этому кабелю присоединяются все приемники и передатчики. Расстояние от линии до микросхем интерфейса RS-485 должно быть как можно короче, так как длинные ответвления вносят рассогласование и вызывают отражения.

В оба наиболее удаленных конца кабеля (Zв=120 Ом) включают согласующие резисторы Rt по 120 Ом (0.25 Вт). Если в системе только один передатчик и он находится в конце линии, то достаточно одного согласующего резистора на противоположном конце линии. Более подробно о правильных и неправильных конфигурациях сети можно прочитать в статье "Правильная разводка сетей RS-485" .


4. Защитное смещение

Как уже упоминалось, приемники большинства микросхем RS-485 имеют пороговый диапазон распознавания сигнала на входах A-B - ±200мВ. Если |Uab| меньше порогового (около 0), то на выходе приемника RO могут быть произвольные логические уровни из-за несинфазной помехи. Такое может случиться либо при отсоединении приемника от линии, либо при отсутствии в линии активных передатчиков, когда никто не задает уровень. Чтобы в этих ситуациях избежать выдачи ошибочных сигналов на приемник UART, необходимо на входах A-B гарантировать разность потенциалов Uab > +200мВ. Это смещение при отсутствии входных сигналов обеспечивает на выходе приемника логическую "1", поддерживая, таким образом, уровень стопового бита.

Добиться этого просто - прямой вход (А) следует подтянуть к питанию, а инверсный (B) - к "земле". Получается делитель:


Rвх - входное сопротивление приемника (обычно 12 кОм);
Rc - согласующие резисторы (120 Ом);
Rзс - резисторы защитного смещения.

Величины сопротивлений для резисторов защитного смещения (Rзс) нетрудно рассчитать по делителю. Необходимо обеспечить Uab > 200мВ. Напряжение питания - 5В. Сопротивление среднего плеча - 120Ом//120Ом//12КОм на каждый приемник - примерно 57 Ом (для 10 приемников). Таким образом, выходит примерно по 650 Ом на каждый из двух Rзс. Для смещения с запасом - сопротивление Rзс должно быть меньше 650 Ом. Традиционно ставят 560 Ом.

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

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

Безотказность в открытых цепях. (Open circuit failsafe.) В таких приемопередатчиках применяются встроенные подтягивающие резисторы. Эти резисторы, как правило, высокоомные, чтобы уменьшить потребление тока. Из-за этого необходимое смещение обеспечивается только для открытых (ненагруженных) дифференциальных входов. В самом деле, если приемник отключен от линии или она не нагружена, тогда в среднем плече делителя остается только большое входное сопротивление, на котором и падает необходимая разность потенциалов. Однако, если приемопередатчик нагрузить на линию с двумя согласующими резисторами по 120 Ом, то в среднем плече делителя оказывается меньше 60 Ом, на которых, по сравнению с высокоомными подтяжками, ничего существенного не падает. Поэтому, если в нагруженной линии нет активных передатчиков, то встроенные резисторы не обеспечивают достаточное смещение. В этом случае, остается необходимость устанавливать внешние резисторы защитного смещения, как это было описано выше.

Истинная безотказность. (True failsafe.) В этих устройствах смещены сами пороги распознавания сигнала. Например: -50 / -200 мВ вместо стандартных порогов ±200 мВ. То есть при Uab>-50мВ на выходе приемника RO будет логическая "1", а при Uab<-200 - на RO будет "0". Таким образом, и в разомкнутой и в пассивной линии при разности потенциалов Uab близкой к нулю, приемник выдаст "1". Для таких приемопередатчиков внешнее защитное смещение не требуется. Тем не менее, для лучшей помехозащищенности все-таки стоит дополнительно немного подтягивать линию.

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

а). Уменьшить потребление тока, увеличив сопротивления Rзс. Хотя производители приемопередатчиков и пишут о пороге распознавания в 200мВ, на практике вполне хватает 100мВ и даже меньше. Таким образом, можно сразу увеличить сопротивления Rзс раза в два-три. Помехозащищенность при этом несколько снижается, но во многих случаях это не критично.

б). Использовать true failsafe приемопередатчики со смещенными порогами распознавания. Например, у микросхем MAX3080 и MAX3471 пороги: -50мВ / -200мВ, что гарантирует единичный уровень на выходе приемника при отсутствии смещения (Uab=0). Тогда внешние резисторы защитного смещения можно убрать или значительно увеличить их сопротивление.

в). Не применять без необходимости согласование на резисторах. Если линия не будет нагружена на 2 по 120 Ом, то для обеспечения защитного смещения хватит подтяжек в несколько килоом в зависимости от числа приемников на линии.

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

5. Исключение приема при передаче в полудуплексном режиме

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

Обычно во время работы приемопередатчика RS-485 на передачу, выход приемника RO переводится в третье состояние и ножка RX контроллера (приемник UART) "повисает в воздухе". В результате, во время передачи на приемнике UART вместо уровня стопового бита ("1") окажется неизвестно что, и любая помеха будет принята за входной сигнал. Поэтому нужно либо на время передачи отключать приемник UART (через управляющий регистр), либо подтягивать RX к единице. У некоторых микроконтроллеров это можно сделать программно - активировать встроенные подтяжки портов.


Примечание: у микроконтроллера AT90S8535 (AVR Atmel) есть глючок - при отключенном UART он все равно принимает, и после включения на прием первый принятый байт может быть испорчен. Так что активировать подтяжку RX ему нужно обязательно.

6. "Горячее" подключение к линии связи

Насколько я знаю, спецификацией RS-485 не предусмотрено "горячее" подключение - включение новых приемопередатчиков в линию связи во время работы системы. Тем не менее, подобную операцию система переносит практически безболезненно, если учесть один нюанс. Это важно, когда питание на устройство подается в момент подключения, например, когда плата в виде кассеты вставляется в разъем. Дело в том, что во время любого сброса: по включению питания, по сигналу на входе "Reset", по срабатыванию сторожевого таймера - контроллеру требуется время на инициализацию, которое может составлять до нескольких десятков миллисекунд. Пока контроллер находится в состоянии сброса, он принудительно настраивает все порты на вход. Получается ситуация, при которой питание на микросхему приемопередатчика RS-485 уже подано, но входы разрешения приемника /RE и передатчика DE "висят в воздухе". В результате, приемопередатчик может по помехе открыться на передачу и все время пока микроконтроллер в отключке пускать в работающую линию мусор. Избежать этого легко - достаточно через резистор в несколько килоом подтянуть вход разрешения приемника /RE к нулю. Этим приемопередатчик сразу по включении питания настраивается на прием и не лезет на линию.


7. Рекомендации по организации протокола связи

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

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

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

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

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

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

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

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

1). Часто встречаются протоколы на основе ASCII-кода. Управляющие символы и данные передаются в виде обыкновенных ASCII символов. Посылка может выглядеть так:

В HEX виде: 3Ah 31h 32h 52h 53h 34h 38h 35h 0Dh В ASCII виде: ":" "1" "2" "R" "S" "4" "8" "5" /ПС/

В начале управляющий символ начала посылки ":", следующие две цифры - адрес получателя (12), затем символы данных (RS485) и в конце - управляющий символ конца посылки 0Dh (перевод строки). Все устройства на линии, приняв символ ":", начинают записывать в память посылку до символа конца строки 0Dh. Затем сравнивают адрес из посылки со своим адресом. Устройство с совпавшим адресом обрабатывает данные посылки, остальные - игнорируют посылку. Данные могут содержать любые символы, кроме управляющих (":", 0Dh).

Достоинство этого протокола в удобстве отладки системы и простоте синхронизации посылок. Можно через преобразователь RS485-RS232 подключить линию к COM-порту компьютера и в любой терминалке увидеть всю проходящую информацию "на человеческом языке". Недостатки - относительно большой размер посылки при передаче большого количества двоичной информации, ведь на передачу каждого байта нужно два ASCII символа (7Fh - "7", "F"). Кроме того, надо преобразовывать данные из двоичного вида в ASCII и обратно.

2). Можно организовать протокол с непосредственной передачей двоичных данных. При этом управляющие символы и байты данных различаются с помощью настройки дополнительного девятого бита в UART. Для управляющих символов этот бит устанавливается в "1". Первым в посылке передается управляющий символ с единичным девятым битом - остальные его "нормальные" биты могут содержать адрес устройства-получателя, признак начала/конца посылки и что-нибудь еще. Затем передаются байты данных с нулевым девятым битом. Все принимающие устройства узнают по девятому биту управляющий символ и по содержанию его остальных битов определяют, кому адресованы последующие данные. Адресуемое устройство принимает данные, а все остальные игнорируют их до следующего управляющего символа.

UART некоторых контроллеров, например C167 (Infineon) может в особом режиме (wakeup) автоматически распознавать в полученном байте девятый бит и генерировать прерывание при получении только управляющего символа. Адресуемое устройство при этом нужно переключить в режим обычного приема до следующего управляющего символа. Это позволяет остальным устройствам сэкономить время на обработке прерываний при получении байтов данных, адресованных не им.

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

3) Протокол может быть "чисто" двоичным, то есть без выделения специальных управляющих символов. Синхронизация посылок в этом случае может осуществляться за счет отслеживания паузы между принятыми байтами. Принимающее устройство отсчитывает время с момента последнего приема байта до следующего, и если эта пауза оказывается больше какой-то величины (например, 1.5 - 3.5 байта), делается вывод о потере предыдущей посылки и начале новой. Даже если предыдущая посылка была незакончена - приемный буфер сбрасывается. Можно также синхронизировать посылки по уникальной стартовой последовательности байтов (по аналогии со стартовым символом в ASCII протоколе). В таких протоколах надо принимать особые меры для защиты от приема ложной посылки, начатой из-за помехи.

8. Программные методы борьбы со сбоями

Для повышения надежности связи обязательно нужно предусмотреть программные методы борьбы со сбоями. Их можно условно разделить на две группы: защита от рассинхронизации и контроль достоверности.

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

Защита от рассинхронизации кадров. Обязательная мера! Все последующие меры синхронизации посылок имеют смысл только совместно с этой. Помеха ложным старт-битом может сбить правильный прием кадров последующей посылки. Чтобы вернуться к верной последовательности, нужно сделать паузу между включением приемопередатчика на передачу и посылкой данных. Все это время передатчик удерживает в линии высокий уровень, через который помехе трудно пробиться (активная пауза). Паузы длительностью в 1 кадр на данной скорости связи (10-11 бит) будет достаточно для того, чтобы любое устройство, принимавшее помехи приняло стоп-бит. Тогда следующий кадр будет приниматься с нормального старт-бита.


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

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

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

Пример. Последний управляющий символ ":" сбросит предыдущую ложную посылку:

____ :) ____ : 1 2 R S 4 8 5 /ПС/ ____

Стартовая пауза. В двоичном протоколе, где не предусмотрен уникальный управляющий символ, и синхронизация посылок идет по заданной паузе между байтами, достаточно увеличить активную паузу, описанную в синхронизации кадров, до длительности паузы между байтами, по которой начинается прием новой посылки. То есть, между включением приемопередатчика на передачу и отправкой первых байтов посылки нужно сделать паузу длительностью в 1.5 - 3.5 кадра UART. При активном передатчике во время такой преамбулы помехе трудно будет прорваться к приемникам, они зафиксируют нужную паузу, сбросят буфер посылки и настроятся на прием новой посылки. Этот метод применяется, в частности, для протокола MODBUS RTU.

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

Вариант 1. Посылка начинает заново приниматься после приема "go!" (вместо символов могут быть любые 8-битные данные):

____ : - Ь ___ g o ! 1 2 R S 4 8 5 ____

Вариант 2. Посылка начинает заново приниматься после приема не менее трех "E" подряд и стартового байта ":" (вместо символов могут быть любые 8-битные данные):

____ > : - E ___ E E E: 1 2 R S 4 8 5 ____

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

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

Контрольная сумма - в общем случае 1-2 байта кода, полученного некоторым преобразованием из данных посылки. Самое простое - "исключающее или" всем байтам данных. Контрольная сумма рассчитывается и включается в посылку перед отправкой. Принимающее устройство производит ту же операцию над принятыми данными и сверяет рассчитанную контрольную сумму с полученной. Если посылка была повреждена, то, скорее всего, они не совпадут. В случае применения ASCII протокола - код контрольной суммы также передается ASCII-символами.

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

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

9. Защита устройств от перенапряжений в линии связи

Разность потенциалов между проводниками линии и между линией и "землей" приемопередатчика, как правило, не должна выходить за пределы -7...+12 В. Следовательно, может потребоваться защита от разности потенциалов между "землями" и от перенапряжений из-за замыкания на высоковольтные цепи.

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

Гальваническая развязка линии и устройств осуществляется либо опторазвязкой цифровых сигналов (RO, DI, RE, DE) с организацией изолированного питания микросхем приемопередатчиков, либо применением приемопередатчиков со встроенной гальванической развязкой сигналов и питания (например, MAX1480). Тогда вместе с дифференциальными проводниками прокладываются провод изолированной "земли" (сигнальной "земли") и, возможно, провод изолированного питания линии.

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


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

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

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


Защита ограничителями напряжения действенна при кратковременных перенапряжениях. При длительных - токи короткого замыкания могут вывести ограничители из строя, и устройства на линии окажутся без защиты. Для защиты от коротких замыканий в линию можно последовательно включить плавкие предохранители. Подробнее о защите от перенапряжений можно прочитать в руководстве B&B Electronics "RS-422 and RS-485 Application Note" (англ.).

10. Дополнительные меры защиты от помех

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

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

Индуктивные фильтры. Если в линию все же попадают высокочастотные помехи, их можно отсеять индуктивными фильтрами. Существуют специальные индуктивные фильтры, предназначенные для подавления высокочастотных помех в линиях связи. Они последовательно включаются в линию непосредственно у приемников. Например, B82790-S**** фирмы Epcos, выполненный в виде четырехполюсника, через который витая пара подсоединяется к приемнику.


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

Рассмотрим как управлять преобразователем частоты с помощью протокола rs 485. Сделаем управление шпинделем автоматикой. Для этого у нас имеется:

  1. Токарный станок со шпинделем ET65A-800W.
  2. Частотный преобразователь завода Шнайдер Электрик Altivar 71.
  3. Модернизатор интерфейса RS232/RS485.
  4. Mach3 v.3.042.029.

Сначала делаем конфигурацию мача:

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

  1. Добавляем строку инициализации в меню general conf.
  2. Для работы нужно в частотном преобразователе два регистра – это управление CMD и установка с регистром. Чтобы было удобнее, выбираем частоту вращения двигателем уставкой.

Делаем конфигурацию поллинга:

Связующие элементы 19200 8-N-1. Сканирование с частотой 10 герц в размерной таблице. Поллинг нужен для того, чтобы в связи произошла самодиагностика, и частота преобразовалась. Если обмен сети прекратился на размер заданного перерыва, то частотник выдает ошибку.

Исправляем VBA скрипты:

M3
SetModOutput(0,&H0006)
SetModOutput(1,0)
DoSpinCW()
SetModOutput(0,&H000F)

M4
SetModOutput(0,&H0006)
SetModOutput(1,0)
DoSpinCCW()
SetModOutput(0,&H000F)

SetModOutput(0,&H0006)
SetModOutput(1,&H0000)
DoSpinStop()

rpm = GetRPM()
SetSpinSpeed(rpm)
SetModOutput(1,rpm)

Исправляем постпроцессор:

@start_tool
if only_xyz eq false
if tool_direction eq CW then
mcode = 4
else ; CCW
mcode = 3
endif

call @gen_nb
; {‘S’spin:integer_def_f, ‘ M’mcode}
{‘M’mcode}
call @gen_nb
{‘S’spin:integer_def_f}
call @gen_nb
{‘M8’}
endif
endp
Работаем по связке SolidWorks/SolidCAM.
Этот метод управления обладает преимуществами и отличается от ШИМ преобразователей:
— если скорость шпинделя равна нулю, то мотор гарантированно отключается;
— управляющая программа имеет возможность обмениваться информацией с частотным преобразователем;
— реальные обороты двигателя интерпретируют с заданием частотника;
— на большом расстоянии связной линии выделена хорошая адаптивность к помехам (до одного километра).

Подробнее про управление частотником по протоколу RS-485.

RS-485 применяет пару витую с экраном с землей и сигналом. Земля с сигналом обязательна, но не применяется для исчисления состояния линии в логике. Коммутатор, управляющий линией баланса (balanced line driver), имеет сигнал входа «Enable» (Разрешен), используемый для управления мониторами выхода этого устройства. Если сигнал «Enable» отключен, то это обозначает, что устройство выключено от линии, и в этом положении устройство всегда называется «tristate» (т.е. третье состояние, вместе к двоичным 1 и 0).

Стандартное значение на RS-485 обуславливает только 32 пары передачи и приема, но изготовители увеличили возможности RS-485 протокола, поэтому, теперь он будет поддерживать от 128 до 255 устройств на единичной линии, при использовании репитеров можно увеличивать RS-485/RS-422 очень намного. Если использовать RS-485 можно, и в с длинным проводом или огромного количества устройств надо, применять терминаторы, встроенные в устройства с RS-485 протоколом, но при коротком проводе, видимое ухудшение связи при применении терминаторов.

Так же номинал на RS-485 обуславливает применение двухжильной витой пары с экраном, такой 2-wire RS-485, но будет применение и витой пары из четырех проводов (4-wire RS-485), тогда будет целый дуплет. В этом случае, нужно, чтобы одна конструкция была создана как ведущая (Master), а другие как ведомые (Slave). Тогда многие ведомые конструкции сообщаются только с ведущей конструкцией, и никогда не отдадут ничего прямо друг другу. В этих случаях как всегда RS-422 драйвер применяется как ведущая конструкция, т.к. RS-422 имеет допуск подключения только как master/slave, а RS-485 конструкции как ведомые, для снижения цены системы. Стандарт на RS-422 с самого начала обуславливает применение четырехжильной витой пары с экраном, но имеет допуск соединения всего от одной конструкции к другой (до 5 драйверов и до 10 ресиверов на драйвер). RS-422 был создан, чтобы заменить RS-232 тогда, когда RS-232 не обеспечивает скоростной режим и дальности передачи.

RS-422 применяет чисто размещенные провода (две пары): для приема одну, для отдачи тоже одну (и по одной на все сигналы контроля и подтверждения (control/handshake)). RS-485 имеет наличие третьего состояния («tristate») и может использовать одну пару проводов, что снижает цену системы и обеспечивает связь на длинные дистанции. В настоящее время доступно много разных устройств для соединения RS-422/RS-485 с RS-232, причем RS-232 часто применяется для совмещения с ЭВМ (но, есть и карты интерфейса RS-422/RS-485 в компьютер), который применяется чтобы управлять системой. Имеют место и разнообразные приборы (хабы, репитеры, переключатели и др.) для обеспечения сложных конфигураций RS-422/RS-485 сетей, так что RS-422/RS-485 скрывают в себе много возможностей.

Как сделать разводку сетей RS-485 правильно?

RS-485 отдает информацию в цифровом виде между объектами. Данные могут передаваться со скоростью 10 Мбит/с. RS-485 применяется для отдачи сигнала на повышенную протяженность. Протяженность и скорость данных для RS-485 зависит от разных факторов.

Кабель.

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

Рис. 1. Система баланса пользуется двумя жилами на передачу сигнала.

Эта система является балансной, так как сигнал на двух проводах с обоих концов является точно противоположным. См. Рис. 2.

Рис. 2. Данные отличающиеся с двух сторон проводов.

RS-485 должен использоваться с проводкой «витая пара».

Почему пользуются проводкой «витая пара»?

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

Электромагнитные излучаемые помехи.

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

Рис. 3. Прямоугольные импульсы.

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

Электромагнитные индуцируемые помехи.

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

Сопротивление витой пары в виде волн.

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

Согласующие резисторы.

Резистор согласующий– это обыкновенный резистор на одном конце кабеля. Размер резистора согласующего равен сопротивлению волновому кабеля.

Рис. 4. Резисторы согласующие имеют одинаковое сопротивление с витой парой.

Если значение двух резисторов отличается от волнового кабеля, то будет отражение, сигнал будет вворачиваться обратно. Расхождения вызывают отражение, чтобы сделать ошибки в данных.


Рис. 5. Сигнал получен с MAX3485. Сигнал справа получен при согласовании с резистором.

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

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

Наибольшее число приемников и передатчиков в сети.

Обычная сеть на RS-485 состоит из приемника и передатчика. RS-485 дает гибкость, разрешает больше передатчиков и приемников на паре. Максимальное число зависит от загрузки системы.

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

Приемник и передатчик по одному.

Резистор согласованный на проводе в стороне передатчика. Можно передвигать передатчик в ближние края провода, а прибавить передатчики в сеть.

Рис. 6. RS-485 имеет по одному приемнику и передатчику.

Несколько приемников и один передатчик.

Здесь очень важно, чтобы протяженность от витой пары была наименьшая.

Рис. 7. Сеть с несколькими приемниками и одним передатчиком.

Неправильные сети. Несогласованная сеть.

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


Рис. 8. Сеть несогласована. Форма сигнала отличается от правильной.

Расположение терминатора неправильное.

Резистор согласованный есть, но размещен отлично от другого конца кабеля. Сигнал сталкивается с импедансом и его рассогласованием, соединяется на резисторе. Сопротивление было согласовано с кабельным сопротивлением. Дополнительный кабель дает рассогласование и отражает экран. Другое рассогласование – это другой конец кабеля.

Рис. 9. Сеть с резистором, который размещен неправильно, его сигнал.

Кабели составные.

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

Рис. 10. Некорректная сеть с несколькими парами.

Удлиненные ответвители.

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


Рис. 11. Сеть с трехметровым ответвителем и сигнал в итоге в сравнении с сигналом с маленьким ответвителем.

Какие действия нужны, чтобы разобраться с управлением по протоколу rs485?

  1. Поиск документации на конструкцию. Она приложена в печатном виде к частотнику и актуальна для него. Документы могут быть приложены в электронном виде на диске. Можно найти документацию в Интернете.
  2. Выясняем номера ревизии, версии. Наша цель – версия программы.
  3. Изучение документов по специфическим словам.
  4. Поиск подключающей схемы связующего кабеля и цоколевку разъема.
  5. Поиск описания регистров Modbus. Это карта памяти. Регистры называются переменными.
  6. Определение типа адресации переменных. В Modbus есть два типа различных адресации, логическая и физическая.
  7. Указание поиска в направлении. Это ответственный шаг.

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

Порядок обмена данными между устройствами по RS-485.

Все устройства, объединяемые интерфейсом RS-485, имеют всего два клеммы: «А» и «В». Для подключения к общей сети эти клеммы соединяются в параллельную цепь. Для этого от одного устройства к другому прокладывается цепочка кабелей.

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

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

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

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

Все устройства принимают посылку и сравнивают номер вызываемого абонента со своим собственным. Если они совпадают – выполняется команда, переданная в составе запроса. Если нет – устройство игнорирует его текст и не делает ничего.

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

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

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

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

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

Для лучшей защиты от помех кабели экранируются, при этом экраны на всей линии соединяют друг с другом. Для этого на объединяемых устройствах помимо выводов «А» и «В» имеется клемма «СОМ». Заземляется линия только в одной точке, обычно в месте расположения контроллера, модема или компьютера. В двух точках это делать запрещено, чтобы избежать наводок, которые неизбежно пойдут по экрану из-за разности потенциалов в точках заземления.

Кабели соединяют только последовательно друг с другом, делать ответвления нельзя. Для согласования линии в ее конце подключается резистор с сопротивлением 120 Ом (это волновое сопротивление кабеля).

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

Для лучшего понимая работы интерфейса RS-485 предлагаем Вам посмотреть следующее видео:

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

0,5 мм (сечение около 0,2 кв. мм) длина линии RS-485 – не более 1200 м,

при сечении 0,5 кв. мм – не более 3000 м.

Использование кабеля с сечением жил менее 0,2 кв. мм нежелательно.

При большой протяжённости линии RS-485 (от 100 м) использование витой пары обязательно.

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

Рисунок 1. Схема подключения приборов к магистральному интерфейсу RS-485

Для согласования используются резисторы сопротивлением 620 Ом, которые устанавливаются на первом и последнем приборах в линии. Большинство приборов имеет встроенное согласующее сопротивление, которое может быть включено в линию установкой перемычки («джампера») на плате прибора. Поскольку в состоянии поставки перемычки установлены, их нужно снять на всех приборах, кроме первого и последнего в линии RS-485. В преобразователях-повторителях "С2000-ПИ" согласующее сопротивление для каждого (изолированного и неизолированного) выхода RS-485 включается переключателями. В приборах "С2000-К" и "С2000-КС" встроенное согласующее сопротивление и перемычка для его подключения отсутствуют. Если прибор такого типа является первым или последним в линии RS-485, необходимо установить между клеммами "A" и "B" резистор сопротивлением 620 Ом. Этот резистор входит в комплект поставки прибора. Пульт "С2000М" ("С2000") может быть установлен в любом месте линии RS-485. Если он является первым или последним прибором в линии, между клеммами "A" и "B" устанавливается согласующий резистор 620 Ом (входит в комплект поставки). Ответвления на линии RS-485 нежелательны, так как они увеличивают искажение сигнала в линии, но практически допустимы при небольшой длине ответвлений (не более 50 метров). Согласующие резисторы на отдельных ответвлениях не устанавливаются. Ответвления большой длины рекомендуется делать с помощью повторителей "С2000-ПИ", как показано на рисунке 2.

Рисунок 2. Построение сети RS-485 c топологией "звезда" при помощи повторителей

Рисунок 3. Увеличение длины линии RS-485 с помощью повторителей интерфейса

Например, преобразователь – повторитель интерфейсов с гальванической изоляцией "С2000-ПИ" позволяет увеличить длину линии максимум на 1500 м, обеспечивает гальваническую изоляцию между сегментами линии и автоматически отключает короткозамкнутые сегменты интерфейса RS-485 .

Каждый изолированный сегмент линии RS-485 должен быть согласован с двух сторон – в начале и конце. Следует обратить внимание на включение согласующих резисторов в каждом сегменте линии RS-485: они должны быть включены переключателями в повторителях "С2000-ПИ", а не перемычками в приборах, поскольку переключатели не только подключают согласующее сопротивление, но также выдают в линию RS-485 напряжение смещения, которое необходимо для правильной работы этих повторителей. Внимание! Цепи "0В" изолированных сегментов линии между собой не объединяются. Более того, нельзя питать изолированные приборы от общего источника питания во избежание гальванической связи через общие цепи питания.
С помощью повторителей "С2000-ПИ" можно делать длинные ответвления от основной магистрали RS-485 для построения топологии "звезда". При этом должен быть согласован и сегмент, от которого делается ответвление, и каждое из ответвлений, как показано на рисунке 2. Следует обратить особое внимание, что согласующие резисторы на "С2000-ПИ" должны устанавливаться переключателями.
Следующая информация была предоставлена техподдержкой компании "Болид" в процессе переписки.
Если теряется сам пульт, то мы рекомендуем программой rs-485settings в пульте увеличить параметр "пауза перед ответом по RS-232" до 2.
Если теряется прибор «С2000-2», а пульт при этом виден, то рекомендуем проверить, правильно ли поставлены оконечные резисторы R=620 Ом, а также объединены ли "0В" приборов. На всех приборах кроме пульта "С2000" согласующее сопротивление под- ключается, если установлена соответствующая перемычка на плате прибора. Оконечные резисторы должны стоять на первом и последнем приборах.
Если все требования к интерфейсу выполнены, причиной проблемы может быть обрыв одной из линий RS485 ("A" или "B") или ее замыкание на цепь "0 В", шлейф сигнализации прибора или заземленную поверхность (например, в результате защемления ка- беля металлической коробкой двери. Обрыв одной из линий RS-485 не обязательно приведет к потере связи со всеми приборами, если цепи "0 В" приборов и "С2000-ПИ" объединены и линия RS-485 имеет небольшую длину. Но в этом случае уровни сигна- лов RS-485 будут за пределами диапазона, гарантирующего их правильное распознава- ние приемником. Замыкание на "0 В" может произойти и в цепях защиты какого - либо из приборов в результате пробоя защитного диода (представляет собой стабилитрон с большой допустимой импульсной мощностью рассеивания) или из-за заводского брака, например, в результате установки защитного диода в неверной полярности. Такой при- бор может не только сам иметь проблемы со связью с пультом по RS-485, но также мо- жет мешать всем приборам изолированной ветки.
Для начала можно прозвонить линию тестером на отсутствие обрыва или замыкания линии или выходов RS-485 приборов на "0 В". При прозвонке выходов "A" и "B" приборов нужно иметь ввиду, что в целях защиты указанные выходы зашунтированы защитными диодами, причем катод подключен к защищаемому выходу, а анод - к "0 В". Поэтому в исправном приборе в прямой полярности (плюсовой щуп тестера - к выходу, минусовой - к "0 В") выходы прозваниваться не должны, а в обратной (к выходу подключается минусовой щуп тестера), в зависимости от величины измерительного напряжения, тестер может показать низкое сопротивление, соответствующее прямому падению напряжения на диоде (т.е. около 0,6 - 0,7 В). Если выход прозванивается на 0 В в любой полярности, это говорит и "сваривании" защитного диода. Если выход прозванивается в полярности, противоположной указанной, это может свидетельствовать о заводском браке (неправильная установка защитного диода).
Также обращаем Ваше внимание на то, что схемотехника защитных цепей RS-485 в новых версиях приборов была изменена (например, у Сигналов-20П - начиная с версии 2.04). "Новые" исправные защитные цепи не прозваниваются ни в прямой, ни в обратной полярности. ВАЖНО: цепи нужно прозванивать тестером В РЕЖИМЕ ПРОЗВОНКИ ДИ- ОДОВ. В режиме измерения сопротивлений измерительное напряжение у многих тестеров меньше прямого падения напряжения на диоде, поэтому, при прозвонке новых це- пей защиты, исправная цепь защиты может мало отличаться от неисправной (в обоих случаях тестер может показать сопротивление порядка нескольких десятков кОм). Кроме прозвонки цепей "A" и "B" относительно "0 В" в обеих полярностях, имеет смысл сделать аналогичное измерение между "A" и "B" (перемычка, включающая нагрузочное сопротивление линии RS-485, должна быть снята).

Прозваниваться эти цепи не должны при любой полярности измерения (для "новых" цепей защиты).

Более точные выводы можно сделать, если исследовать сигнал в линии RS-485 с помощью осциллографа. Измеряется сигнал между линией "А" и "В" вблизи входа RS-485 прибора и пульта. Щуп осциллографа устанавливается на линию "A", общий - на линию "B" (здесь нужно быть внимательным, поскольку у некоторых осциллографов "общий" вход заземлен через заземляющий контакт вилки, что может вносить искажения или по- мехи, особенно если в системе уже есть другие точки заземления). На осциллографе должны быть видны двухполярные импульсы. Передаче "1" соответствует положитель- ная полярность, передаче "0" - отрицательная. Длина одного бита передаваемой ин- формации - около 0,1 мс. Условие достоверного приема таково: если на входе прием- ника напряжение больше 0,2 В, принимается "1", если меньше -0,2 В - принимается "0". Если же напряжение находится в диапазоне от -0,2 до 0,2 В, результат не определен и работоспособность RS-485 не гарантирована. Следовательно, с помощью осциллог- рафа нужно измерить уровни сигналов "0" и "1" и убедиться, что они удовлетворяют ука- занным условиям. На выходе пульта напряжение сигнала "1" обычно равно около +4 В, напряжение "0" - около -4 В. На выходе "С2000-ПИ" при передаче "0" напряжение будет также около -4 В, а при передаче "1" - около + 0,4 В при одном включенном оконечном резисторе 620 Ом и около 0,22 В - при двух оконечных резисторах. По при переходе из "0" в "1" "С2000-ПИ" формирует короткий (около 0,03 мс) импульс с величиной напряже- ния около +4 В. Если сигнал имеет размах от 0 В до -4 В или от +4 В (или +0,2 В для "С2000-ПИ") до 0 В, можно сделать вывод о замыкании одной из линий RS-485 на цепь "0 В".