BACNET. Путь к интеграции систем Безопасности в общую систему управления зданием. Часть восьмая


 Скачать

С. Левин
главный конструктор НПФ «Сигма-ИС»

ОБЪЕДИНЕНИЕ СЕТИ BACNET С ДРУГИМИ СЕТЕВЫМИ ТЕХНОЛОГИЯМИ

В дополнение к возможности объединения разных BACnet сетей, маршрутизаторы BACnet могут предоставлять функции шлюза в non-BACnet сети. Здесь non-BACnet сети характеризуются использованием структур сообщений, процедур, а также способом доступа к среде передачи, отличным от стандарта BACnet. Отображение из BACnet в non-BACnet сети производится расширением таблицы маршрутизации, что позволяет non-BACnet устройствам адресоваться в сети, используя BACnet NPCI (Network Protocol Control Information). Таким образом, каждой non-BACnet сети сопоставляется уникальный двухбайтовый номер сети и каждое устройство в non-BACnet сети представляется МАС-адресом, который может, но необязательно, содержать актуальные октеты, используемые для адресации в чужой сети. На самом деле все, что происходит после установления соединения с устройством из non-BACnet сети, не стандартизировано здесь, специфические процедуры для интерпретирования, трансляции или проброса сообщений, принятых маршрутизатором-шлюзом либо из BACnet либо non-BACnet портов, находятся за пределами действия стандарта BACnet.

НЕСКОЛЬКО ВИРТУАЛЬНЫХ BACNET УСТРОЙСТВ В ОДНОМ ФИЗИЧЕСКОМ УСТРОЙСТВЕ

BACnet устройство в обязательном порядке содержит стандартный объект Device и общается с другими устройствами, используя процедуры, определенные в стандарте. В некоторых случаях, тем не менее, желательно смоделировать работу физической системы контроля и управления зданием с использованием более чем одного BACnet устройства. Каждое такое устройство может быть представлено как «виртуальное BACnet устройство». Это может достигаться путем конфигурирования физического устройства как роутера в одной или более «виртуальных сетях». Идея в том, что каждое виртуальное устройство может быть ассоциировано с уникальной парой DNET и DADDR, то есть уникальным BACnet адресом. Физическое устройство будет работать как роутер между сетью, где представлено виртуальное BACnet устройство, и реальной сетью.

ИСПОЛЬЗОВАНИЕ BACNET СОВМЕСТНО С ИНТЕРНЕТ ПРОТОКОЛОМ DARPA

Рассмотрим процедуры, посредством которых BACnet сообщения могут быть переданы с использованием протоколов, разработанных в агентстве по перспективным оборонным научно-исследовательским разработкам США (DARPA - Defense Advanced Research Project Agency of Department of Defense). В целом эти протоколы известны как набор интернет протоколов (Internet Protocol suite). Методология описывает инкапсуляцию/декапсуляцию BACnet блоков LSDUs и передачу их через Интернет, используя возможности маршрутизаторов, часто называемых «туннелинг».

BACNET/IP ПАКЕТНЫЙ АССЕМБЛЕР-ДИЗАССЕМБЛЕР (B/IP PAD)

Когда BACnet пакет принимается из локальной сети, дизассемблер PAD инспектирует поля NPCI пакета на предмет поддержки в DNET номера сети. Если пакет поддерживается, PAD обращается к внутренней таблице, содержащей карту номеров сетей, IP адреса всех PAD внутри BACnet интерсети, а также адрес маршрутизатора в локальной сети, который предоставляет следующий «скачок» для IP датаграммы. Если подходящий адрес в таблице найден, PAD инкапсулирует LSDU часть BACnet сообщения в UDP пакет, где LSDU представляется как часть поля данных пакета (рис. 1).

UDP порты источника и назначения должны быть установлены вХ'ВАСО'. В этом случае PAD отправляет IP датаграмму, содержащую UDP пакет, в локальный маршрутизатор, показывающий его собственный IP адрес как адрес источника и IP адрес PAD, указывающий на DNET, содержащийся в сообщении BACnet как IP адрес назначения. Если DNET в BACnet сообщении имеет глобальный широковещательный адрес, эта процедура должна передавать блок LSDU во все B/IP PAD, содержащиеся в таблице. Доставка пакетов между B/IP PAD производится стандартными IP процедурами. После приема IP датаграммы из IP маршрутизатора, B/IP PAD должен определить BACnet процесс в UDP порту Х'ВАСО', который подготавливает порцию данных UDP датаграммы для передачи в виде сообщения BACnet по локальной сети, используя стандартные процедуры BACnet.

 Рис.1

Рис. 1. IP-туннелинг в реализации с B/IP PAD

ОСОБЕННОСТИ РЕАЛИЗАЦИИ

Реализация по стандарту 8802-3 LAN Ethernet может быть сконфигурирована, как показано на рисунке 1. BACnet пакеты дифференцируются от IP пакетов и от других протоколов по значению поля LSAP (Link Service Access Point), которое находится в заголовке LLC (Logical Link Control). IP использует значение LSAP равное Х'06', тогда как сетевой уровень BACnet идентифицируется значением LSAP Х'82'. В случае, показанном на рисунке 1, каждый пакет на самом деле дважды проходит по сети: один раз как BACnet сообщение и второй раз как IP сообщение. B/IP PAD может быть также организован для реализации IP маршрутизации для любого IP пакета в дополнение к реализации BACnet инкапсуляции/декапсуляции. Такое устройство работает как B/IP PAD маршрутизатор (рис. 2).

Рис.2

Рис. 2. IP туннель, реализованный с B/IP PAD маршрутизатором

ИСПОЛЬЗОВАНИЕ BACNET С IPX ПРОТОКОЛОМ

Рассмотрим процедуры, с помощью которых BACnet сообщения могут быть переданы с использованием протоколов разработанных корпорацией Novell, известных как Internetwork Datagram Protocol и имеющих более популярное название IPX. Этот протокол базируется на подмножестве Xerox Network Services (XNS) протоколов, в частности, используется Packet Exchange Protocol (PEP). Методология включает в себя инкапсуляцию/декапсуляцию BACnet блоков LSDU и передачу их через IPX сеть, используя возможности IPX маршрутизаторов. Эта техника называется «1РХтуннелирование».

BACNET/IPX ПАКЕТНЫЙ АССЕМБЛЕР-ДИЗАССЕМБЛЕР (B/IPXPAD)

B/IPX PAD - это устройство, которое реализует сетевой уровень BACnet а также сетевой уровень IPX. После приема пакета BACnet из локальной сети, дизассемблер проверяет NPCI на поддержку DNET номера сети. Если да, то дизассемблер проверяет внутреннюю таблицу, содержащую отображение адресов BACnet сети в адреса IPX. Если соответствие найдено, ассемблер инкапсулирует LSDU часть BACnet сообщения в IPX пакет, где в адресе назначения указывается адрес удаленного B/IPX PAD, и порт должен быть задан равным Х'87СГ. BACnet пакеты дифференцируются от IPX пакетов и от других протоколов по значению поля LSAP, которое находится в заголовке LLC. IPX использует значение LSAP равное Х'ЕО', тогда как сетевой уровень BACnet идентифицируется значением LSAPX'82'.

ИСПОЛЬЗОВАНИЕ BACNET С EIB/KNX

Рассмотрим, как объекты и свойства BACnet связываются с EIB/KNX узлами и функциональными блоками. Функциональные блоки - это часть модели, определенной ассоциацией EIB/Konnex. EIB (European Installation Bus - Европейская инфляционная шина) - сетевая технология, разработанная в начале 1990-х годов консорциумом ведущих европейских компаний, таких как Siemens, Gira, ABB и др. Как и BACnet основное назначение EIB - автоматизация зданий. Однако, если BACnet в основном используется для промышленных объектов, то EIB чаще всего применяется в системах «умный дом». В 1999 году произошло объединение трех европейских ассоциаций автоматизации зданий в одну, которая со временем получила окончательное название «Ассоциация KNX». Произошло слияний трех технологий EIB, EHS (European Home System) и Batibus. Объединенная технология часто называется EIB/KNX, так как доля EIB в спецификации новой шины составляет 80-90%.

СВЯЗЬ МЕЖДУ EIB И BACNET 

Функциональные блоки EIB описывают не только функции, но также определяют, как работают службы, связанные с этой функцией. Основным объектом EIB является узел или точка (Datapoint). Точки делятся на две принципиальные категории: вход и выход. Функциональный блок содержит некий набор точек входов и выходов. Минимально функциональный блок должен содержать хотя бы одну точку. Функциональные блоки создаются внутри физических устройств. Физическое устройство реализует минимум один функциональный блок. Это может касаться контейнеров, коллекций или функциональных блоков. Для объектов BACnet определены прикладные функции и службы для доступа к этим функциям. Для эффективного решения прикладных задач объекты BACnet содержат параметры. Каждый объект содержит определенный набор параметров, некоторые из них являются обязательными, остальные - опциональными. BACnet также определяет ключевые понятия - объект Device и BACnet Device, которые содержат коллекцию экземпляров объектов. Каждый BACnet Device содержит один и только один объект Device. Обычно каждое физическое устройство связано с одним BACnet Device и, таким образом, содержит один объект Device. Исключение могут составлять рассмотренные выше виртуальные устройства. Функциональные блоки EIB можно сравнить с объектами BACnet, а точки EIB с параметрами объектов.

 Табл. 1. Соответствие статуса EIB устройств и системного статуса BACnet

BACnet System Status

EIB RunStateMachine

EIB LoadStateMachine

OPERATIONAL 

Runninq 

Loaded

OPERATIONAL READ ONLY

Нет

Нет

DOWNLOAD REQUIRED

Ready

Unloaded

DOWNLOAD IN PROGRESS

Ready

Loadinq

NON OPERATIONAL

Halted

Error


ИДЕНТИФИКАТОР ОБЪЕКТА:
OBJECT-IDENTIFIER

Параметр Object_Identifier объекта Device имеет тип BACnetObjectldentifier и должен быть уникальным во всей сети. Поле Object Type (старшие 10 бит) содержит значение BACnetObjectType. В нашем случае содержание 22-битного поля номера экземпляра зависит от того, будет ли это объект Device или какой то другой тип объекта. В принципе, можно достичь однозначного отображения EIB физических устройств в устройства BACnet установкой значений старших б бит номера экземпляра, равных идентификатору подсети EIB. Это может быть часть адреса домена EIB, если его возможно сделать уникальным для всех связанных проектов. Младшие 16 бит номера экземпляра должны быть заданы как индивидуальный адрес EIB устройства. Могут быть использованы и другие алгоритмы связывания объектов, если они обеспечивают уникальность параметра Objectjdentifier.

ИМЯ ОБЪЕКТА: OBJECT-NAME

Имя объекта уникально в рамках сети. Строка генерируется из ID проекта-инсталляции EIB и индивидуального адреса EIB. Строка имени имеет следующий  вид: EIB_Project-Installation_ID::EIB_Indi-viduaLAddress.Например, для проекта-инсталляции EIB Х'ООП' и индивидуального адреса 1.6.7, строка Object_Name будет «17::1.6.7».

СТАТУС ОБЪЕКТА: SYSTEM-STATUS

Статус EIB устройства определяется двумя переменными: LoadStateMachine (LSM) и RunStateMachine (RSM). Такое свойство BACnet как 0PERATI0NAL_READ_0NLY не поддерживается в EIB устройствах.

ХАРАКТЕРИСТИКИ УСТРОЙСТВА

Vendor_Name: строка идентифицирует производителя EIB устройства. Индивидуальный код производителя указывается в скобках. Например, «XYZ Company (1)».
Vendor_Identifier: уникальный код производителя, который присваивается ассоциацией ASHRAE. Если производитель не имеет идентификатора BACnet, этот параметр должен быть задан равным D'74' (Vendor Identifier for EIBA).
Model_Name: название модели EIB устройства, которое регистрируется в ассоциации EIBA/Konnex.
Firmware_Revision: версия программного обеспечения (прошивки) EIB устройства.
ProtocoLVersion: версия протокола BACnet, поддерживаемая устройством.
Protocol_Revision: ревизия протокола BACnet (минорная часть версии), поддерживаемая устройством.
Protocol_Services_Supported: этот параметр показывает, какие службы BACnet поддерживает данное устройство EIB.
Max_APDU_Length_Accepted: значение этого параметра должно быть больше или равно 50.
Protocol_0bject_Types„Supported: этот параметр показывает, какие типы объектов BACnet поддерживает данное устройство EIB. Как минимум, должны поддерживаться следующие базовые объекты: Аналоговый вход, Аналоговый выход, Аналоговое значение, Бинарный вход, Бинарный выход, Бинарное значение.
Present_Value: параметр содержит текущее значение входа или выхода. Для бинарных объектов допустимые значения ACTIVE и INACTIVE. Для аналоговых объектов это значение типа REAL.
Description: этот параметр содержит группу адресов EIB в виде строки вида «x/y/z», где х - главная группа, у - подгруппа и z - функция.

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

Продолжение следует...

Источник: Журнал "Алгоритм безопасности", №4, 2013

Архив публикаций