Все активные узлы (ведущие) формируют логическое маркерное кольцо, имеющее фиксированный порядок, при этом каждый активный узел "знает" другие активные узлы и их порядок в логическом кольце (порядок не зависит от расположения активных узлов на шине).
Право доступа к каналу передачи данных, так называемый “маркер”, передаётся от активного узла к активному узлу в порядке, определяемом логическим кольцом.
Если узел получил маркер (адресованный именно ему), он может передавать пакеты. Время, отпущенное ему на передачу пакетов, определяется временем удержания маркера. Как только это время истекает, узлу разрешается передать только одно сообщение высокого приоритета. Если такое сообщение отсутствует, узел передаёт маркер следующему узлу в логическом кольце. Маркерные таймеры, по которым рассчитывается максимальное время удержания маркера, конфигурируются для всех активных узлов.
Если активный узел обладает маркером и для него сконфигурированы соединения с пассивными узлами (соединения "ведущее устройство - ведомое устройство"), производится опрос пассивных узлов (например, считывание значений) или передача данных на эти устройства (например, передача команд).
Пассивные узлы никогда не принимают маркер.
При инициализации сети каждому узлу назначается адрес в диапазоне 0-126. Активные узлы, подключенные к PROFIBUS, упорядочены по возрастанию их адреса в логическом маркерном кольце. Время одного обращения маркера через всех активных участников называется временем обращения маркера. Устанавливаемое заданное время обращения маркера Ttr (Time target rotation) определяет максимально разрешенное время обращения маркера.
Адреса всех имеющихся на шине активных узлов заносятся в LAS (List of Active Station - список активных станций). Для управления маркером при этом особенно важны адреса предыдущей станции PS (Previous Station), от которой маркер поступает, и следующей станции NS (Next Station), которой маркер передается. LAS также нужен, чтобы при текущей работе исключать из кольца вышедших из строя или дефектных активных участников и, соответственно, принимать вновь появившихся участников без помех текущему обмену данными по шине.
Метод Master-Slave дает возможность мастеру (активному узлу), который имеет право прямой передачи, опрашивать назначенных ему Slaves (пассивных узлов). Мастер при этом имеет возможность передавать и принимать сообщения от Slave. Цикл обмена между DP-Master и одним DP-Slave состоит из кадра запроса (Request Frame), отправляемого DP-Master, и передаваемого DP-Slave ответа или кадра подтверждения (Response Frame).
При инициализации сети должны согласовано задаваться различные временные параметры, необходимые для контроля работы сети по тайм-аутам. При обмене данными DP-Slave реагирует на кадры-запросы Data_Exchange DP-Master (класс 1), который его параметрировал и конфигурировал. Другие сообщения DP-Slave не обрабатывает. Внутри пользовательских данных нет дополнительных управляющих или структурных элементов для описания передаваемых данных, то есть передаются чистые пользовательские данные. С помощью кадров запрос-ответ можно обмениваться данными между DP-Master и DP-Slave в обоих направлениях объемом до 244 байт. Форматы кадров канального уровня:
Кадр с фиксированной длиной
SD1 | DA | SA | FC | FCS | ED |
Кадр с фиксированной длиной поля данных
SD3 | DA | SA | FC | Data unit (l=3 байта) | FCS | ED |
Кадр с переменной длиной поля данных
SD3 | LE | LEr | DA | SA | FC | Data unit (l=0-244 байта) | FCS | ED |
Кадр квитирования
SC |
Кадр-token (маркер)
SD4 | DA | SA |
SC (Single Character) отдельный символ, используется только для квитирования (SC = E5h);
SD1-SD4 (Start Delimiter) стартовый байт для отличия различных форматов (SD1 = 10h, SD2 = 68h, SD3 = A2h, SD4 = DCh);
LE / LEr (LEngth) байт длины, указывает длину информационных полей для кадров с переменной длиной;
DA (Destination Adress) байт адреса узла - приемника;
SA (Source Adress) байт адреса узла - источника;
FC (Frame Control) контрольный байт содержит информацию о службе для данного сообщения и приоритет сообщения;
Data Unit поле данных, может также содержать возможные расширения адреса;
FCS (Frame Check Sequence) проверочный байт, содержит контрольную сумму;
ED (End Delimiter) оконечный байт, указывает на завершение кадра (ED = 16h).
При приеме кадров могут быть распознаны следующие ошибки:
ошибки символьного формата (четность, переполнение, ошибка кадра);
ошибки протокола;
ошибки разделителей начала и окончания;
ошибки байта проверки кадра;
ошибки длины кадра.
Кадр, у которого обнаружена ошибка, повторяется, по крайней мере, один раз. Имеется возможность повторять кадры до 8 раз (шинный параметр Retry). Наряду с передачей данных "точка-точка", могут осуществляться также передачи во многие точки Broadcast и Multicast. При коммуникациях Broadcast активный участник посылает сообщение всем остальным участникам (Master и Slave). Прием данных не квитируется. При коммуникациях Multicast активный узел посылает сообщение группе участников (Master и Slave). Прием данных также не квитируется.
В некоторых случаях необходимо, чтобы шинный цикл DP по времени оставался постоянным (рис.3) и, следовательно, обмен данными должен происходить строго периодически. Это находит применение, например, в технике электроприводов для самосинхронизации нескольких приводов. В отличие от нормального DP цикла при постоянном по времени цикле в DP-Master резервируется определенная часть времени для ациклической передачи данных. Постоянный по времени DP-цикл может быть установлен только в системе с одним мастером.
Рис.3. Циклический обмен в PROFIBUSDP
При спроектированной перекрестной связи DP-Slave отвечает не кадром one-to-one (Slave → Master), а специальным кадром one-to-many (Slave → m). Таким образом, входные данные Slave, содержащиеся в ответном кадре, предоставляются не только соответствующему мастеру, но и всем узлам шины.
Интерфейс PROFIBUSDP в функциональных модулях SIMATIC S7 (Siemens) может поддерживаться встроенными интерфейсами модулей, с помощью дополнительных интерфейсных DP-модулей или коммуникационных процессоров.
Таблица 2
Службы с различными алгоритмами обмена данными (табл.2) вызываются через точки доступа к службе SAP (Service Access Point) из вышестоящего уровня. В PROFIBUS-FMS используются эти точки доступа для адресации логических коммуникационных связей. В PROFIBUS-DP и PA применяемые точки доступа строго упорядочены. У всех активных и пассивных участников можно использовать параллельно несколько точек доступа. Различаются точки доступа источника SSAP (Source Service Access Point) и точки доступа цели DSAP (Destination Service Access Point).
DP-Slave в системе SIMATIC S7 (Siemens) по структуре и функциям подразделяются на 3 группы:
Компактные DP-Slave, модули с фиксированной структурой портов ввода/вывода, доступных для передачи данных.
Модульные DP-Slave,. модули с программируемой структурой портов ввода/вывода, доступных для передачи данных.
Интеллектуальные DP-Slave (I-Slave), как правило, контроллерные модули с передачей данных не из портов ввода/вывода, а из доступного в PROFIBUS адресного пространства ОЗУ.
Для решения типовых коммуникационных задач в PROFIBUS используются профили, объединяющие в единый комплекс необходимый набор сетевых средств. Профили также указывают набор коммуникационных функций, которые должны поддерживать используемые технические средства.
Для PROFIBUS FMS определены следующие профили:
Коммуникации между контроллерами (профиль 3.002). Этот коммуникационный профиль устанавливает, какие FMS-службы применяются для коммуникаций между контроллерами (PLC). Установлены службы, параметры и типы данных, которые каждый PLC должен поддерживать.
Профиль для автоматизации зданий (профиль 3.011). Это отраслевой (специализированный) профиль и основа для многих открытых стандартов в автоматизации зданий. Описывает, как осуществляется обмен, управление, регулирование, обслуживание, обработка и архивирование сигналов в системах автоматизации зданий через FMS.
Коммутационные низковольтные приборы (профиль 3.032) Этот профиль определяет алгоритмы работы низковольтных коммутационных приборов при коммуникациях через FMS.
Установлены следующие профили PROFIBUS-DP:
Профиль NC/RC (профиль 3.052). Профиль описывает управление и обслуживание роботов через PROFIBUS-DP. На основании конкретной блок-схемы алгоритма описывается движение и программное управление роботом.
Профиль Encoder для преобразователя угол-код (профиль 3.062). Профиль описывает подключение Encoder к PROFIBUS-DP. Определены основные и дополнительные функции такие, как масштабирование сигналов и расширенная диагностика.
Профиль для приводов с изменяемым числом оборотов (профиль 3.072). Ведущие производители приводов разработали общий PROFIDRIVE-профиль. Профиль устанавливает, как приводы параметрируются и передают заданные и истинные значения, содержатся необходимые установки для вида работы регуляторов скорости и позиционирования. Профиль устанавливает основные функции приводов и дает свободное пространство для пользовательских расширений. Профиль содержит описание пользовательских функций DP или альтернативных функций FMS.