SDS - разработка компании Honeywell Inc (американская корпорация, производящая электронные системы управления и автоматизации). Поддержка выполняется Holjeron (тоже американская компания). Наряду со стандартом DeviceNet, SDS представляет собой еще одно недорогое и законченное решение для сетевого управления интеллектуальными устройствами в системах промышленной автоматизации.
Вообще аббревиатура SDS расшифровывается в нескольких вариантах. Наиболее часто имеется ввиду Software-defined storage - сеть хранения данных. Но это не наш случай. В сети для обмена данными - это протокол для полевой шины CAN. И это относительно редкое решение, которое лично я в своей практике не встречал (да я вообще с CAN-шиной почти не работал). Но раз уж оно существует, то я решил о нём рассказать. Особенно с учётом того, что в Интернете информации об этом протоколе довольно мало.
SDS - Smart Distributed System (Интеллектуальная распределенная система) - это открытый протокол, управляемый событиями, который используется в промышленных сетях на базе контроллерных сетей. Он используется для создания высоконадежных сетей на уровне интеллектуальных устройств. Протокол прикладного уровня SDS оптимизирован для интеллектуальных датчиков и исполнительных механизмов, где информация о конфигурации, диагностике и технологическом процессе может быть экономично встроена в очень компактные устройства.
Ключевые особенности:
- Поддерживает скорость передачи данных до 1 Мбит/с.
- Максимальное расстояние 457 метров при скорости 125 кбит/с (может быть больше).
- Поддерживает до 64 максимальных электрических нагрузки (узла) на сеть без ретранслятора и 126 с ретранслятором.
- Использует напряжение 11-25 В постоянного тока, 2 провода питания + 2 провода связи + экран.
- Множество топологий физического уровня.
- Может содержать 126 логических адресов (логических устройств), не связанных с физическим местоположением в сети.
- Каждое логическое устройство может содержать 32 объекта, содержащих атрибуты, действия и события.
- Проверенная архитектура, управляемая событиями, обеспечивает максимальную пропускную способность (<1 мс).
- Службы, управляемые событиями, Master-Slave, многоадресной рассылкой и одноранговой передачей данных.
- Частота сетевых сигналов, обеспечивающая работоспособность устройства каждые 2,5 секунды.
- Обладают надежными возможностями сетевого управления (архитектура Microsoft).
Пример сети SDS показан на рисунке:
Архитектура протокола SDS включает в себя три уровня модели OSI/ISO:
- Физический
- Канальный
- Прикладной
Шинная топология представляет собой линейную шину (магистраль или транк) с короткими отводами (см. рис. выше). Определены два базовых типа кабельной разводки:
- Mini (применяемый при сборке транка сети) - 4-проводной кабель с максимальной токовой нагрузкой 8 А, 5-контактный разъем.
- Micro (для подключения физических устройств к сети) - 4-проводной кабель, 3 А, 4-контактный разъем без отдельного контакта для экрана кабеля.
В сети SDS допускается и обычная проводная разводка с использованием открытых клеммных соединителей. Всеми типами кабельной разводки и соединителей, так же как и в сети DeviceNet, предусмотрено подведение питающего напряжения (диапазон 11-25 В на стороне устройства) к узлам. Предельные значения длин магистрали и отводов сети SDS в зависимости от скорости передачи приведены в таблице:
Дробные представления длин в метрах связаны с прямым пересчетом их величин, выраженных в футах.
Сообщения в сети SDS носят название APDU (Application layer Protocol Data Unit) - блоки данных протокола прикладного уровня. APDU представляет собой кадр (CAN-фрейм) стандартного формата (расширенный формат в SDS-сети не применяется). Сеть SDS всегда требует наличия единственного мастера-менеджера сети как минимум на этапе включения для выполнения автонастройки модулей. В процессе работы сети допускается наличие нескольких мастеров на шине, но они должны работать в пределах своих адресных доменов, а при включении сети только один из них может брать на себя функцию сетевого менеджера для автонастройки скорости устройств.
APDU используется в следующих сервисах прикладного уровня:
- change of State (OFF, ON, OFF ACK, ON ACK) - обнаружение изменения состояния логического устройства;
- write (ON State, OFF State, ON State ACK, OFF State ACK) - управление состояниями логического устройства;
- channel - обеспечение как широковещательного (multicast), так и равноправного (peer to peer) каналов соединения;
- connection - открытие/закрытие индивидуальных типов соединения;
- write - чтение атрибутов объектов устройства;
- read - изменение атрибутов объектов устройства;
- action - команда объекту устройства выполнить действие;
- event - сигнализация о событии объектом устройства.
При инициализации взаимодействия модулей сети SDS используются 4 сервисных функции-примитива:
- запрос (Request) - генерация APDU устройством-инициатором соединения;
- ответ (Response) - ответный APDU устройства-ответчика;
- индикация (Indication) - фиксация факта приема APDU устройством-ответчиком;
- подтверждение (Confirm) - подтверждение приема APDU устройством-инициатором.
Элементы APDU имеют свое собственное назначение в SDS (см. рис. ниже). В поле арбитража (ID3-ID9) расположен 7-разрядный адрес устройства (максимально допустимое количество устройств в сети SDS - 126). Тип APDU
(3-разрядное поле) определяет тип сервиса (0…7) прикладного уровня, которому соответствует данный APDU. Нулевое значение бита ID10 (DIR) поля арбитража указывает, что адрес устройства (device address) является адресом назначения, а единичное - адресом источника.
Чем ниже значения логического адреса, тем выше приоритет сообщения. Бит RTR в SDS CAN-фреймах всегда имеет нулевое значение (удаленный CAN-фрейм в SDS-спецификации не применяется).
Блок APDU имеет две формы - укороченную и длинную. Укороченная форма APDU содержит в поле DLC все нули и для передачи данных не используется.
В поле данных длинной формы APDU содержится код длины (2…8) поля данных CAN-фрейма, два первых байта которого содержат спецификатор сервиса (Service Specifier), идентификатор встроенного объекта (EOID) и дополнительные параметры сервиса, а оставшиеся шесть предназначены для передачи данных. При необходимости передачи последовательностей данных более шести байтов используется фрагментированный формат (до 64 фрагментов по 4 байта) длинной формы APDU.
Из описанных выше сервисов укороченная форма APDU используется только в change of State (OFF, ON, OFF ACK, ON ACK) и write (ON State, OFF State, ON State ACK, OFF State ACK).
Модули с внешним питанием (не от SDS-шины) должны иметь механизм обнаружения пропадания питания шины для блокировки своей активности и выполнения автонастройки скорости после повторного включения сети. В сети SDS возможны четыре скорости передачи данных: 1 Мбит/с, 500, 250 и 125 кбит/с.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить…