Читайте также:
|
|
Рис. 2.51.
На этапе передачи первой части сообщения — идентификатора это необходимо для разрешения коллизий, а затем, когда передается смысловая часть, таким образом проверяется корректность передачи данных. Если на втором этапе обнаруживается ошибка (маски не совпали), передатчик прерывает свою работу и фреймом Error Frame оповещает всех остальных об этом событии.
Но передатчик и сам должен быть как-то уведомлен об успехе или неуспехе своей попытки, получив сообщение от контрагентов. Для этой цели в Data Frame имеется слот ACK (от английского acknowledgment — «подтверждение»), куда любой из контролеров, восприявших данный фрейм как адресованный ему, может занести запись о приеме. Передатчик отслеживает состояние этого слота и, если он не заполнен, будет повторять передачу до победного конца, пока подтверждение о приеме не будет получено.
В механизме доставки с сообщений с контекстной адресацией ключевую роль играет идентификатор. Это всего лишь двоичное число, длина которого варьируется в зависимости от версии Standard CAN или Extended CAN, но в любом случае он выполняет две взаимосвязанные функции.
Идентификатор служит уникальным именем для типа сообщения (как идентификатор в программировании — имя переменной) и определяет то, кем будет принято и как будет интерпретировано следующее за ним поле данных. Чему именно (арифметически) равно это число, в данном случае не имеет значения. Такая контекстная адресация отличается рядом достоинств для сетей небольшого масштаба. Она обеспечивает максимально возможную простоту модернизации: поскольку децентрализованные контроллеры никак не связаны между собой логически, поэтому добавление нового элемента в систему никак не повлияет на поведение всех остальных.
Двоичные значения «нуль» и «единица» наделены двумя качествами, явно заимствованными из генетики: «доминантный» и «рецессивный». В сети CAN доминантным считается «нуль», а «единица» — рецессивной. Результатом наложения на шине двух сигналов «нуля» с «единицей» будет «нуль»: если одновременно передаем два числа, то на гипотетическом осциллографе увидим меньшее. Если одновременно несколько станций начали передачу, и при этом произошла коллизия, происходит суперпозиция передаваемых идентификаторов. Идентификаторы последовательно, побитно (bitwise), начиная со старшего, налагаются друг на друга; в их противоборстве выигрывает тот, у кого меньше арифметическое значение идентификатора, а значит, выше приоритет. И станция с меньшим приоритетом при первом же подавлении ее единичного бита немедленно прекращает работу.
Кадр начинается с доминантного бита начала кадра (SOF), далее поля арбитража и бит, завершающий (RTR), предназначенный для удаленного запроса.
RTR=0 – информационный кадр.
RTR=1
r1, r0 – доминантные биты резерва;
DLC – длина поля данных (4 бита);
CRC – контрольная сумма;
Бит-разграничитель;
Поле отклика (ACK);
EOF – конец фрейма (7 бит единичных);
INT – поле-заполнитель (3 бита);
SRR – всегда содержит код единицы;
IDE – идентификатор расширенного формата; всегда содержит логическую единицу.
Предельное число идентификаторов в 2.0А составляет 2032; в 2.0В – более 500 млн.
Для обеспечения надежности в CAN предусмотрено несколько децентрализованных механизмов, основанных на способности контроллеров прослушивать свою собственную передачу. Если при передаче полей, следующих за идентификатором, обнаруживается несоответствие с исходным значением, то контроллером вырабатывается Error Frame, состоящий из шести доминантных бит, которые прерывают текущие действия и не позволяют приемнику получить неверную информацию.
Механизм имплантации битов:
По условиям в эфир подряд не может проходить более пяти битов одного значения. Если их набирается пять, то между ними вставляется дополнительный, служебный шестой, имеющий противоположное значение, в дальнейшем он просто фильтруется приемником. Но если его нет, то опять вырабатывается Error Frame.
Мониторинг состояния контроллеров:
Для контроллера обычным является активное по отношению к ошибкам (error-active) состояние, активное в том смысле, что оно предполагает способность генерировать фрейм Error Frame. Но при этом количество порожденных ошибок постоянно считается самим контроллером и, если оно достигает 96, то вырабатывается предупреждающий сигнал. Если же значение счетчика ошибок превысит 127, то контроллер переходит в пассивное (error-passive) состояние, в котором он продолжает выполнять регулирующую функцию, подсчитывая и дальше число ошибок, но при этом сигнал об ошибках Error Frame видоизменяется и теперь состоит из шести рецессивных бит и ни на что повлиять не в состоянии. Если в процессе работы число ошибок сократится, упадает ниже 128, то контроллер возвращается в активное состояние. Если же число ошибок еще больше возрастет и достигнет 256, то контроллер отключается от сети, переходя в состояние buss-OFF и ожидая обслуживания.
Рис. 2.52.
Существует два основных подхода к архитектуре интерфейса контроллеров с сетью (рис. 2.52). Первый — упрощенный Basic CAN (BCAN), второй — более сложный Full CAN (FCAN). Между ними есть еще промежуточное компромиссное решение Direct storage CAN — DCAN. Два первых различаются между собой механизмами буферизации сообщений. Если учесть, что каждая станция получает весь поток сообщений, циркулирующих в сети, то становится понятно: значительная часть процессорных ресурсов контроллера уходит на обработку сообщений. Возможны два выхода из этой ситуации, первый — снабдить контроллер производительным процессором, который бы справлялся с нагрузкой, а второй — усилить логику вспомогательной части контроллера, осуществляющей буферизацию и обработку сообщений. Чем эффективнее механизм буферизации, тем меньше загрузка процессора. Собственно, эти две полярные идеи развиваются в альтернативных решениях: BCAN — вся нагрузка на процессор, FCAN — минимизация нагрузки.
Основные идеи, заложенные в архитектуры BCAN и FCAN, прозрачны. В первом случае все входящие сообщения накапливаются одном буфере, процессор должен прочитать и обработать сообщение до освобождения этого буфера. Второй отличается тем, что существует механизм сортировки сообщений по идентификаторам, отсеивающий чужие телеграммы.
Несмотря на хорошую масштабируемость в сетях CAN, в некоторых случаях возникает необходимость интегрирования нескольких сетей в одну систему.
100 м. – > 500 Кбит/с
200 м. – > 250 Кбит/с
500 м. – > 125 Кбит/с
В настоящий момент времени не существует стандартных устройств (подходов) для интеграции сетей, а используются фирменные решения, построенные на идее шлюза. Т.е. межсетевое устройство выполняет 3 типа действий:
ü передача данных из одной сети в другую;
ü перепаковка данных;
ü фильтрация.
Сети PROFIBUS (FIELDBUS)
Сеть PROFIBUS – промышленная сеть низкого уровня.
Преимущества:
1) Полная замена интерфейса 4-20 мА.
2) Возможность обеспечения двунаправленной помехоустойчивой связи между различными устройствами системы управления.
3) Возможность подключения к единственному сегменту шины устройств различного назначения.
4) Устройство имеет возможность передавать диагностическую информацию на верхний уровень управления.
5) Стандарт позволяет организовать обмен по принципу «точка-точка», что позволяет в свою очередь распределить управление технологией процессом на уровне датчиков и исполнительных механизмов.
Сравнение характеристик наиболее распространенных стандартов Profibus-PA и FOUNDATION fieldbus приведены в табл. 2.2.
Таблица 2.2.
Profibus поддерживает диагностическую и регламентную информацию и удаленное конфигурирование в ограниченном объеме; в нем отсутствуют удаленная калибровка, обработка аварийных событий и нет возможности поддержки нескольких ведущих устройств.
Дата добавления: 2015-07-07; просмотров: 204 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Рекомендации по размещению узлов доступа | | | Industrial Ethernet |