пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Сравнительный анализ технологий промышленных информационных сетей PROFIBUS, CAN, MODBUS, HART, INTERBUS-S и др.

CAN (англ. Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ориентированный прежде всего на объединение в единую сеть различных исполнительных устройств и датчиков. Режим передачи — последовательный, широковещательный, пакетный.

Описание стандарта

Непосредственно стандарт CAN определяет передачу в отрыве от физического уровня — он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары. Передача ведётся кадрами, которые принимаются всеми узлами сети.

Общие сведения

Синхронная шина, с типом доступа Collision Resolution (CR), который в отличие от Collision Detect (CD) сетей (Ethernet — это CD) детерминировано (приоритетно) обеспечивает доступ на передачу сообщения, что особо ценно для промышленных сетей управления (fieldbus). Передача ведётся кадрами. Полезная информация в кадре состоит из идентификатора длиной 11 бит (стандартный формат) или 29 бит (расширенный формат, надмножество предыдущего) и поля данных длиной от 0 до 8 байт. Идентификатор говорит о содержимом пакета и служит для определения приоритета при попытке одновременной передачи несколькими сетевыми узлами.

Рецессивные и доминантные биты

Для абстрагирования от среды передачи спецификация CAN избегает описывать двоичные значения как «0» и «1». Вместо этого применяются термины «рецессивный» и «доминантный», при этом подразумевается, что при передаче одним узлом сети рецессивного бита, а другим доминантного, принят будет доминантный бит. Например, при реализации физического уровня на радиоканале отсутствие сигнала означает рецессивный бит, а наличие — доминантный; тогда как в типичной реализации проводной сети рецессив бывает при наличии сигнала, а доминант, соответственно, при отсутствии. Стандарт сети требует от «физического уровня», фактически, единственного условия: чтобы доминантный бит мог подавить рецессивный, но не наоборот. Например, в оптическом волокне доминантному биту должен соответствовать «свет», а рецессивному — «темнота». В электрическом проводе может быть так: рецессивное состояние — высокое напряжение на линии (от источника с большим внутренним сопротивлением), доминантное — низкое напряжение (все узлы сети «подтягивают» линию на землю). Если линия находится в рецессивном состоянии, перевести её в доминантное может любой узел сети (включив свет в оптоволокне или закоротив высокое напряжение). Наоборот — нельзя (включить темноту нельзя).

Арбитраж доступа

При свободной шине любой узел может начинать передачу в любой момент. В случае одновременной передачи кадров двумя и более узлами проходит арбитраж доступа: передавая адрес источника, узел одновременно проверяет состояние шины. Если при передаче "0" бита принимается "1" — считается, что другой узел передаёт сообщение с большим приоритетом и передача откладывается до освобождения шины. Таким образом, в отличие, например, от Ethernet в CAN не происходит непроизводительной потери пропускной способности канала при коллизиях. Цена этого решения — вероятность того, что сообщения с низким приоритетом никогда не будут переданы.

Максимальная скорость передачи данных составляет 1 Мбит/с при длине шины 40 м и около 40 Кбит/с при длине шины 1000 м.

Виды кадров

Кадр данных (data frame) — передаёт данные;

Кадр запроса передачи (remote frame) — служит для запроса на передачу кадра данных с тем же идентификатором;

Кадр перегрузки (overload frame) — обеспечивает промежуток между кадрами данных или запроса;

Кадр ошибки (error frame) — передаётся узлом, обнаружившим в сети ошибку.

Кадры данных и запроса отделяются от предыдущих кадров межкадровым промежутком.

Формат кадра

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



Рис. 2. Кадр данных (Data Frame)

Для передачи данных служит кадр данных — Data Frame (рис. 2), который содержит:

идентификатор, указывающий на тип сообщения («скорость_двигателя», «температура_масла») и на приоритет доступа к шине. Поле идентификатора содержит различное количество бит в зависимости от разновидности протокола: в стандартном формате CAN V2.0A предусмотрен 11-разрядный идентификатор, а в расширенном CAN V2.0B — 29-разрядный;

поле данных, содержащее соответствую-щее сообщение («скорость_двигателя»= 6000 об/мин, «температура_масла»=110 °C) длиной до восьми байт;

два байта контрольной суммы — Cyclic Redundancy Check (CRC) для выявления и коррекции ошибок передачи.

Для запроса информации узел CAN использует кадр запроса данных Remote Frame (рис. 3), который содержит:

идентификатор, определяющий тип запрашиваемой информации («скорость_ двигателя», «температура_масла») и приоритет сообщения;

два байта контрольной суммы CRC.



Рис. 3. Кадр запроса данных Remote Frame

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

какое сообщение послано — запрос о данных или собственно данные определяют бит удаленного запроса передачи (RTR для 11-разрядного идентификатора и SRR для 29-разрядного);

код длины данных, сообщающий, сколько байтов данных содержит сообщение; все узлы принимают кадр данных, но те из них, которым эта информация не нужна, ее не сохраняют;

для обеспечения синхронизации и контроля кадр содержит поля начала кадра Start of Frame, конца кадра End of Frame и подтверждения Acknowledgement Field;

вход в режим синхронизации на шине осуществляется первым битом поля Start of Frame, далее синхронизация поддерживается фронтом при смене уровня посылаемых битов;

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

 

Контроль ошибок

CAN имеет несколько механизмов контроля и предотвращения ошибок:

Контроль передачи: при передаче битовые уровни в сети сравниваются с передаваемыми битами.

Дополняющие биты (bit stuffing): после передачи пяти одинаковых битов подряд автоматически передаётся бит противоположного значения. Таким образом кодируются все поля кадров данных или запроса, кроме разграничителя контрольной суммы, промежутка подтверждения и EOF.

Контрольная сумма: передатчик вычисляет её и добавляет в передаваемый кадр, приёмник считает контрольную сумму принимаемого кадра в реальном времени (одновременно с передатчиком), сравнивает с суммой в самом кадре и в случае совпадения передаёт доминантный бит в промежутке подтверждения.

Элементная база для CAN

На самом нижнем уровне CAN-шины находится собственно двухпроводная линия с терминальными резисторами. Далее для повышения помехоустойчивости расположен дифференциальный приемопередатчик — трансивер. На следующем уровне — контроллер со встроенным модулем или автономный модуль CAN, подключаемый к главному контроллеру через параллельный или последовательный порт. Связь с узлами CAN, осуществляющими обмен информацией, ведется через линии портов микроконтроллеров. CAN-контроллеры осуществляют процедуру приема-передачи данных и соединяются с шиной двумя сигналами: RxD для приема с шины и TxD для передачи на шину. Реализация CAN-шины с помощью микроконтроллеров Infineon представлена на рис. 6.



Рис. 6. Реализация CAN-шины с помощью микроконтроллеров Infineon

 

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

Возможность работы в режиме жёсткого реального времени.

Простота реализации и минимальные затраты на использование.

Высокая устойчивость к помехам.

Арбитраж доступа к сети без потерь пропускной способности.

Надёжный контроль ошибок передачи и приёма.

Широкий диапазон скоростей работы.

Большое распространение технологии, наличие широкого ассортимента продуктов от различных поставщиков.

Недостатки

Максимальная длина сети обратно пропорциональна скорости передачи.

Большой размер служебных данных в пакете (по отношению к полезным данным).

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

Profibus:

PROFIBUS (PROcess FIeld BUS) - это открытая промышленная сеть полевого уровня, отвечающая требованиям стандартов IEC 61 158/EN 50170, предназначенная для построения систем распределенного ввода-вывода, а также организации обмена данными между системами автоматизации.

Стандарты IEC 61 158/EN 50 170 определяют характеристики каналов связи, методы доступа к сетям, а также информационные протоколы передачи данных и требования к интерфейсам. В соответствии с требованиями этих стандартов в сети PROFIBUS поддерживается три протокола передачи данных:

  • PROFIBUS DP (Distributed Periphery – распределенная периферия) для обеспечения скоростного обмена данными с устройствами периферии (станции ввода-вывода, датчики, исполнительные устройства и т.д.).
  • PROFIBUS PA (Process Automation – автоматизация процессов) для решения задач автоматизации непрерывных процессов и обмена данными с устройствами, расположенными в обычных и Ех-зонах (зонах повышенной опасности).
  • PROFIBUS FMS (Field Bus Message Specification – протокол передачи определенных сообщений через шину полевого уровня) для обмена данными между интеллектуальными сетевыми приборами (контроллерами, компьютерами и т.д.).

Для обмена данными в сети PROFIBUS могут использоваться следующие каналы связи и топологии:

  • Электрические (RS 485) каналы связи, исполненные в виде 2-жильных экранированных кабелей. Сетевые узлы подключаются через специальные сетевые терминалы или разъемы. Сегменты сети объединяются через специальные устройства - повторители. Протяженность конкретной сети зависит от скорости передачи данных и может достигать длины в 1000 м (без повторителей) или 10 км (с повторителями). Обеспечивается возможность построения не только линейных, но и древовидных сетевых структур. На концах сегментов должны устанавливаться терминальные устройства - терминаторы.
  • Оптические каналы связи на основе стандартных пластиковых, PCF или стеклянных оптоволоконных кабелей. Кроме того, обеспечивается поддержка линейных, звездообразных и кольцевых топологий сети. Объединение некоторых сегментов может производится с помощью модулей OLM (Optical Link Modules) или OBT (Optical Bus Terminal). Протяженность конкретной сети может достигать длины в 100 км (при использовании одномодового кабеля максимальное расстояние между двумя модулями OLM/Gxx-1300 составляет 15 км).
  • В одном сегменте сети допускается объединять до 32 сетевых приборов. Общее количество устройств в сети ProfiBus может достигать 126 штук. Скорость передачи данных в сети может быть от 9.6 Кбит/с до 12 Мбит/с.

Протокол доступа к шине

Для всех версий Profibus существует единый протокол доступа к шине. Этот протокол реализуется на 2 уровне модели OSI (в Profibus называемый FDL). Данный протокол реализует процедуру доступа с помощью маркера (англ. token). Сеть Profibus состоит из ведущих (англ. master) и ведомых (англ. slave) станций. Ведущая станция может контролировать шину, то есть может передавать сообщения (без удалённых запросов), когда она имеет право на это (то есть когда у неё есть маркер). Ведомая станция может лишь распознавать полученные сообщения или передавать данные после соответствующего запроса. Маркер циркулирует в логическом кольце, состоящем из ведущих устройств. Если сеть состоит только из одного ведущего, то маркер не передаётся (в таком случае в чистом виде реализуется система master-slave). Сеть в минимальной конфигурации может состоять либо из двух ведущих, либо из одного ведущего и одного ведомого устройства.

 

 

Modbus:

Протокол Modbus и сеть Modbus являются самыми распространенными в мире.

Одним из преимуществ Modbus является отсутствие необходимости в специальных интерфейсных контроллерах (Profibus и CAN требуют для своей реализации заказные микросхемы), простота программной реализации и элегантность принципов функционирования. Все это снижает затраты на освоение стандарта как системными интеграторами, так и разработчиками контроллерного оборудования. Высокая степень открытости протокола обеспечивается также полностью бесплатными текстами стандартов, которые можно скачать с сайта www.modbus.org.

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

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

Разновидностями Modbus являются протоколы Modbus Plus - многомастерный протокол с кольцевой передачей маркера и Modbus TCP, рассчитанный на использование в сетях Ethernet и интернет.

Протокол Modbus имеет два режима передачи: RTU (Remote Terminal Unit – «удаленное терминальное устройство») и ASCII. Стандарт предусматривает, что режим RTU в протоколе Modbus должен присутствовать обязательно, а режим ASCII является опционным. Пользователь может выбирать любой из них, но все модули, включенные в сеть Modbus, должны иметь один и тот же режим передачи.

Мы рассмотрим только протокол Modbus RTU, поскольку Modbus ASCII в России практически не используется. Отметим, что Modbus ASCII нельзя путать с частно-фирменным протоколом DCON, который используется в модулях фирм Advantech и ICP DAS и не соответствует стандарту Modbus.

Стандарт Modbus предусматривает применение физического интерфейса RS-485, RS-422 или RS-232. Наиболее распространенным для организации промышленной сети является 2-проводной интерфейс RS-485. Для соединений точка-точка может быть использован интерфейс RS-232 или RS-422.

В стандарте Modbus имеются обязательные требования, рекомендуемые и опционные (необязательные). Существует три степени соответствия стандарту: «полностью соответствует» - когда протокол соответствует всем обязательным и всем рекомендуемым требованиям, «условно соответствует» - когда протокол соответствует только обязательным требованиям и не соответствует рекомендуемым, и «не соответствует».

Модель OSI протокола Modbus содержит три уровня: физический, канальный и прикладной.

2.8.1. Физический уровень

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

Modbus-шина должна состоять из одного магистрального кабеля, от которого могут быть сделаны отводы. Магистральный кабель Modbus должен содержать 3 проводника в общем экране, два из которых представляют собой витую пару, а третий соединяет общие ("земляные") выводы всех интерфейсов RS-485 в сети. Общий провод и экран должны быть заземлены в одной точке, желательно около ведущего устройства.

Устройства могут подключаться к кабелю тремя способами:

  • непосредственно к магистральному кабелю;
  • через пассивный разветвитель (тройник);
  • через активный разветвитель (содержащий развязывающий повторитель интерфейса).

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

На каждом конце магистрального кабеля должны быть установлены резисторы для согласования линии передачи, как это требуется для интерфейса RS-485. В отличие от физического интерфейса RS-485, в котором терминальные резисторы на низких скоростях обмена можно не использовать, стандарт на протокол Modbus формально требует применения терминальных резисторов для всех скоростей обмена. Их номинал может быть равным 150 Ом и мощность 0,5 Вт. Терминальные резисторы, а также резисторы, устраняющие неопределенность состояния линии при высокоомном состоянии передатчиков, устанавливаются так же, как описано в разделе "Интерфейсы RS-485, RS-422 и RS-232". Стандарт требует, чтобы в руководствах по эксплуатации устройств Modbus было сказано, имеются ли указанные резисторы внутри устройства, или их необходимо устанавливать при монтаже сети. Если требуются внешние резисторы, то они должны иметь номинал в интервале от 450 до 650 Ом и быть установлены только в одном месте в пределах каждого сегмента сети (сегментами считаются части сети между повторителями интерфейса).

Modbus-устройство обязательно должно поддерживать скорости обмена 9600 бит/с и 19200 бит/с, из них 19200 бит/с устанавливается "по умолчанию". Допускаются также скорости 1200, 2400, 4800,...,38400 бит/с, 65 кбит/с, 115 кбит/с,... .

Скорость передачи должна выдерживаться в передатчике с погрешностью не хуже 1%, а приемник должен принимать данные при отклонении скорости передачи до 2%.

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

Максимальная длина магистрального кабеля при скорости передачи 9600 бит/с и сечении жил более 0,13 кв. мм (AWG26) составляет 1 км. Отводы от магистрального кабеля не должны быть длиннее 20 м. При использовании многопортового пассивного разветвителя с N отводами длина каждого отвода не должна превышать значения 40 м/N.

Modbus не устанавливает конкретных типов разъемов, но если используются разъемы RJ45, mini-DIN или D-Shell, они должны быть экранированными, а цоколевки должны соответствовать стандарту.

Типовым сечением кабеля является AWG 24 (0,2 кв. мм, диаметр провода 0,51 мм). При использовании кабеля категории 5 его длина не должна превышать 600 м. Волновое сопротивление кабеля желательно выбирать более 100 Ом, особенно для скорости обмена более 19200 бит/с.

2.8.2. Канальный уровень

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

Адреса с 1 по 247 являются адресами Modbus устройств в сети, а с 248 по 255 зарезервированы. Ведущее устройство не должно иметь адреса и в сети не должно быть двух устройств с одинаковыми адресами.

Ведущее устройство может посылать запросы всем устройствам одновременно ("широковещательный режим") или только одному. Для широковещательного режима зарезервирован адрес "0" (при использовании в команде этого адреса она принимается всеми устройствами сети).

Описание кадра (фрейма) протокола Modbus

В протоколе Modbus RTU сообщение начинает восприниматься как новое после паузы (тишины) на шине длительностью не менее 3,5 символов (14 бит), т. е. величина паузы в секундах зависит от скорости передачи.

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

Поле «Код функции» говорит модулю о том, какое действие нужно выполнить.

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

Поле «Контрольная сумма» содержит контрольную сумму CRC длиной 2 байта.

Структура данных в режиме RTU

В режиме RTU данные передаются младшими разрядами вперед.

По умолчанию в RTU режиме бит паритета устанавливают равным 1, если количество двоичных единиц в байте нечетное, и равным 0, если оно четное. Такой паритет называют четным (even parity) и метод контроля называют контролем четности.

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

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

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

Структура Modbus RTU сообщения

Сообщения Modbus RTU передаются в виде кадров, для каждого из которых известно начало и конец. Признаком начала кадра является пауза (тишина) продолжительностью не менее 3,5 шестнадцатеричных символов (14 бит). Кадр должен передаваться непрерывно. Если при передаче кадра обнаруживается пауза продолжительностью более 1,5 шестнадцатеричных символа (6 бит), то считается, что кадр содержит ошибку и должен быть отклонен принимающим модулем. Эти величины пауз должны строго соблюдаться при скоростях ниже 19200 бит/с, однако при более высоких скоростях рекомендуется использовать фиксированные значения паузы, 1,75 мс и 750 мкс соответственно.

Контроль ошибок

В режиме RTU имеется два уровня контроля ошибок в сообщении:

  • контроль паритета для каждого байта (опционно);
  • контроль кадра в целом с помощью CRC метода.

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

Стартовые, стоповые биты и бит паритета в вычислении CRC не участвуют.

2.8.3. Прикладной уровень

Прикладной уровень Modbus RTU версии 1.1аобеспечивает коммуникацию между устройствами типа "ведущий/ведомый". Прикладной уровень является независимым от физического и канального,  в частности, он может использовать протоколы Ethernet TCP/IP (Modbus TCP/IP), Modbus Plus (многомастерная сеть с передачей маркера), интерфейсы RS-232, RS-422, RS-485, оптоволоконные, радиоканалы и другие физические среды для передачи сигналов.

Прикладной уровень Modbus основан на запросах с помощью кодов функций. Код функции указывает ведомому устройству, какую операцию оно должно выполнить.

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

Содержание поля данных

В сообщении ведущего устройства ведомому поле данных содержит дополнительную информацию, необходимую для выполнения указанной функции. Например, если код функции указывает, что необходимо считать данные из группы регистров устройства ввода (код функции 03 hex), то поле данных содержит адрес начального регистра и количество регистров. Если ведущее устройство посылает команду записи данных в группу регистров (код функции 10 hex), то поле данных должно  содержать адрес начального регистра, количество регистров, количество байтов данных и данные для записи в регистр.

Конкретное содержание поля данных устанавливается стандартом для каждой функции отдельно.

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

HART:

3. HART- сеть

Протокол HART (Highway Addressable Remote Transducer), разработанный фирмой Rosemount Inc. в середине 80-х годов, реализует известный стандарт BELL 202 FSK (Frequency Shift Keying), основанный на 4 20мА-технологии.

Схема взаимоотношений между узлами сети основана на принципе MASTER/SLAVE. В HART-сети может присутствовать до 2 MASTER-узлов (обычно один). Второй MASTER, как правило, освобожден от поддержания циклов передачи и используется для организации связи с какой-либо системой контроля/отображения данных. Стандартная топология - "звезда", но возможна и шинная организация. Для передачи данных по сети используются два режима:

1) асинхронный: по схеме "MASTER-запрос\SLAVE-ответ" (один цикл укладывается в 500 мс);

2) синхронный: пассивные узлы непрерывно передают свои данные MASTER-узлу (время обновления данных в MASTER-узле за 250-300 мс).

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


15.06.2015; 01:15
хиты: 173
рейтинг:0
Точные науки
информатика
Компьютерные коммуникации (сети)
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь