Технология LonWorks широко используется для построения распределенных систем автоматизации зданий, транспортных сетей, систем автоматизации промышленных предприятий. Несомненным преимуществом LonWorks является независимость от протокола физического уровня, свобода в выборе сетевых топологий, алгоритм разрешения коллизий. Сегодня LonWorks является признанным международным стандартом для построения систем автоматизации здания, позволяющим связать в единое целое системы жизнеобеспечения, безопасности, электроснабжения, построенные на оборудовании различных производителей. Более 4 тыс. компаний во всем мире производят управляющее и периферийное оборудование для систем управления зданием, поддерживающее технологию LonWorks (Johnson Controls, SVEA, Gesytec, Loytec, Warema, TAC, ABB, GIRA и др.).
Сеть LonWorks имеет децентрализованную распределенную архитектуру, где каждый узел выполняет функции управления, включая обработку информации, ввод/вывод данных и взаимодействие с другими узлами, что обеспечивается ПО каждого из узлов. Протокол LonTalk, лежащий в основе технологии LonWorks, обеспечивает возможность создания сетей с практически неограниченным количеством узлов и ориентирован на решение задач автоматизации, где необходима высокая надежность и скорость передачи данных небольшими пакетами.
Узлами сети LonWorks здания могут быть датчики температуры и освещенности, различные исполнительные механизмы, контроллеры HVAC и другие устройства. Это оборудование может быть связано стандартными сетями TCP/IP так, чтобы любой персональный компьютер на любой платформе мог использоваться для управления такой системой.
Скорость передачи информации в сети LonWorks составляет до 1,25 Мбит/с, время реакции узла 10–20 мс. Стандартный размер пересылаемого LonWorks пакета 10-14 байт, но возможна передача и 228-байтовых сообщений. В качестве физической среды передачи LonWorks использует витую пару, коаксиальный кабель, силовую проводку, радиоканал. Скорость связи варьируется в зависимости от типа канала. Система LonWorks имеет богатый набор программных шлюзов для интеграции в самые разнообразные системы: Ethernet, N2, CAN, Modbus, DALI, Profibus, EIB и т.д.
Изначально технология LonWorks была закрытым фирменным протоколом, однако очень скоро стала стандартом de-facto для промышленных систем автоматизации. Своим появлением технология LonWorks обязана американской компании Echelon (Пало Альто, Калифорния), учрежденной в 1988 г. А. Маркулой (A. Markkula), одним из создателей Apple Computers. В 1999 году ANSI утвердила официальный стандарт ANSI/EIA 709.1-A-1999, в котором прописан открытый коммуникационный протокол LonTalk на базе модели OSI, реализующий стандартный способ обмена информацией между узлами.
Модель взаимодействия открытых систем (Open Systems Interconnection, OSI)
Сетевая модель OSI была введена ISO в целях стандартизации построения сетевых протоколов взаимодействия открытых систем и состоит из 7 уровней.
1. Физический уровень (Physical Layer) – передача двоичных данных и их квитирование.
Подуровень MAC (Media Access Control) (MAC Sublayer) – алгоритм предупреждения коллизий (конфликтных ситуаций); обслуживание приоритетов и обнаружение коллизий.
2. Канальный уровень (Link Layer) – формирование пакетов, контроль с помощью циклического избыточного кода (CRC).
3. Сетевой уровень (Network Layer) – доставка пакетов внутри одного домена без взаимодействия между доменами; описание возможных сетевых топологий на основе использования различных маршрутизаторов.
4. Транспортный уровень (Transport Layer) – поддержка функций сервера, обслуживание групповых запросов.
5. Сеансовый уровень (Session Layer) – поддержка функций по схеме «запрос/ответ».
Уровень приложений и предоставления данных (Application & Presentation Layer) – сетевые переменные, средства диагностики и статистики сетевых потоков, управление сетью.
Микроконтроллер Neuron
В качестве контроллеров узлов сети LonWorks используются специализированные гибридные микросхемы, получившие название Neuron. Микроконтроллер Neuron содержит три 8-разрядных микропроцессора, объединенных внутренней шиной. Два из них управляют сетевой передачей данных на основе протокола LonTalk, а третий предназначен для обслуживания прикладной части программного обеспечения узла и взаимодействия с внешними устройствами. Синхронизация работы процессоров в составе микросхемы Neuron осуществляется за счет использования общих областей памяти данных. В этом микроконтроллере прошит протокол LonTalk, в соответствии с которым осуществляется обмен данными и управление в сети LonWorks. Neuron обеспечивает выполнение первых шести уровней модели OSI, а уровень приложений и предоставления данных определяется прикладным ПО, за работу которого отвечает процессор прикладного уровня.
Помимо процессоров, микроконтроллер включает блоки оперативной и энергонезависимой памяти и периферийные устройства: сетевой коммуникационный порт, таймеры, управляющие регистры, порты ввода/вывода.
Взаимодействие с внешними устройствами осуществляет один из трех процессоров посредством 11-контактного порта ввода/вывода. В зависимости от внешних устройств, обслуживаемых данным микроконтроллером, функциональное назначение выводов порта может быть задано прикладным ПО.
Для реализации сетевых функций микроконтроллера служит 5-выводной коммуникационный порт, которым управляет процессор, обслуживающий два нижних уровня протокола LonTalk. Для сопряжения процессора с физическим каналом связи к коммуникационному порту подключаются приемопередатчики в соответствии с выбранным типом канала.
Помимо Neuron, в составе узла может быть использован дополнительный микроконтроллер, выполняющий задачи взаимодействия с внешними устройствами (при недостаточной вычислительной или функциональной мощности Neuron). В этом случае порт ввода/вывода может быть использован для связи микроконтроллеров с целью организации обмена данными по параллельному интерфейсу, а сам микроконтроллер Neuron выполняет только коммуникационные функции. Также для расширения функциональных возможностей некоторых моделей Neuron допускается использование внешней памяти для хранения программ.
Уникальность адреса каждого из микроконтроллеров стандарта LonWorks обеспечивается уникальным 48-разрядным идентификационным кодом, записываемым в энергонезависимую память Neuron при производстве.
Программное обеспечение микроконтроллера Neuron состоит из трех разделов: системного, прикладного и программного обеспечения связи.
Системное ПО является резидентным для каждого из микроконтроллеров. Его программный код либо прошивается в ROM на этапе производства микроконтроллера, либо записывается в модуль внешней памяти. На программно-логическом уровне системное ПО полностью реализует функции многоуровневого сетевого протокола LonTalk и содержит код библиотеки программных функций для управления портом ввода/вывода микроконтроллера. На основе программных средств, предоставляемых системным программным обеспечением, на базе порта ввода/вывода возможна организация нескольких типов интерфейсов взаимодействия с внешними устройствами: дискретного, параллельного, I2C, RS-232, Microwire, MicroLan и др.
Системная часть ПО также реализует полный набор операций для управления сетевым взаимодействием узлов системы. Реализация протоколом LonTalk функций управления конфигурацией сети предоставляет возможность для вынесения задач управления локальной сетью на отдельный уровень, обеспечиваемый независимыми от особенностей построения узлов программно-аппаратными средствами.
Прикладная часть ПО строится разработчиком узла и определяет набор задач по обслуживанию связанных с функционированием узла процедур регистрации данных и управления исполнительными устройствами. При проектировании прикладного ПО описание сетевых переменных отдельного узла определяется либо непосредственно в самодокументированной секции энергонезависимой памяти микроконтроллера, либо описание их мнемонических имен, типов и разрядности записывается в специальный внешний файл описания интерфейса проектируемого узла. Описание сетевых интерфейсных функций узла применяется на этапе построения связей сетевых переменных.
При использовании микроконтроллера Neuron 3150 и внешней памяти программ стандарта Flash допускается загрузка прикладной части ПО узла по сети LonWorks. Разработка прикладного ПО производится с применением специального языка программирования Neuron-C (специальной реализации языка С). С уровня прикладного ПО допускается использование всех функций, предоставляемых системной частью ПО. Для разработки узлов, построенных на базе Neuron, используются специальные аппаратно-программные отладочные комплексы LonBuilder и NodeBuilder, производимые фирмой Echelon.
Протокол LonTalk
Одной из главных составляющих технологии LonWorks является открытый протокол LonTalk, описываемый 7-уровневой сетевой моделью взаимодействия открытых систем OSI.
Протокол LonTalk не опирается на определенную реализацию физического уровня и обеспечивает передачу данных по самым различным каналам связи с использованием разнообразных методов кодирования. Например, для витой пары используется метод дифференциального кодирования, а для работы на сегментах линий напряжения и на радиочастотах применяется FSK-модуляция.
Каждый узел LonWorks работает с физическим уровнем в одном из двух режимов – прямом или специальном. В прямом режиме информация передается в закодированном виде (например, с применением дифференциального манчестерского кодирования битов), а в специальном режиме данные передаются последовательно и без кодирования. Причем в обоих режимах каждый пакет сопровождается 16-битовым CRC-кодом. Это позволяет не учитывать при передаче битов конкретную реализацию среды передачи. При работе в прямом режиме контроль над скоростью передачи данных, длиной заголовков пакетов и кодированием берет на себя микроконтроллер Neuron. В специальном режиме эти задачи выполняет приемопередатчик, используемый для сопряжения различных физических протоколов.
На подуровне MAC в качестве средства борьбы с коллизиями (конфликтными ситуациями) используется предиктивный метод, основанный на упорядочении доступа к каналу с учетом предполагаемой нагрузки на канал. Передающий узел всегда получает доступ к каналу со случайной задержкой из диапазона от 0 до некоторой величины w, являющейся функцией числа незавершенных заданий, стоящих в очереди на выполнение. Разрешение коллизий на этом подуровне осуществляется по следующим правилам:
Функции канального уровня используют простое кодирование кадров и несложный механизм обнаружения ошибок без восстановления за счет повторной передачи. Пропускная способность канала зависит от группы факторов: скорости передачи, времени доступа к среде передачи, размера пакетов и т.д.
Транспортный уровень обеспечивает достоверную передачу пакетов одному абоненту или группе абонентов. Для связи с сеансовым уровнем на транспортном уровне LonTalk реализована поддержка следующих функциональных запросов: послать телеграмму, принять телеграмму, подтверждение завершения передачи.
Сеансовый уровень отвечает за реализацию простого механизма запроса/ответа для доступа к удаленным серверам данных и обеспечивает выполнение всего одной функции – запрос/ответ. При этом любой запрос будет ожидать ответа. Функции запроса/ответа можно использовать для прикладных задач, работающих по принципу клиент-сервер.
И на транспортном, и на сеансовом уровнях включен механизм контроля авторизованного доступа: запрос, не обладающий правом доступа к данным текущего узла, не будет обслужен.
Уровень приложений и предоставления данных создает основу для совместимости узлов протокола LonTalk. Одной из важных задач, решаемых на этом уровне, является передача чужеродных по отношению к LonTalk телеграмм. Такая функция используется для организации шлюзов между доменами, а также для перехода через LonTalk к другим протоколам. В LonWorks используется модифицированный произвольный доступ с контролем несущей (CSMA/CD). Для уменьшения нагрузки на сеть используется событийный механизм обмена сообщениями, а для сокращения внутрисетевого трафика можно использовать сегментацию сети при помощи маршрутизаторов, выпускаемых различными производителями.
Интеграция инженерных систем здания на основе технологии LonWorks
Задачу построения системы управления зданием системный интегратор решает в несколько этапов, выполняя проектирование системы, конфигурирование сети, конфигурирование приложений и инсталляцию оборудования. На каждом из этих этапов многие задачи выполняются с использованием пакета программ LonMaker для Windows. На рисунке показан пользовательский интерфейс LonMaker; в рабочей области приведен пример подсистемы управления комнатным освещением.
LonWorks – это платформа, способная решить большинство проблем, возникающих при проектировании, инсталляции и обслуживании систем управления зданиями. Решения, основанные на LonWorks, обеспечивают возможность построения легко масштабируемых систем управления на базе продуктов различных производителей. Использование технологии LonWorks дает компаниям-поставщикам оборудования для систем управления зданиями возможность без дополнительной координации разрабатывать и производить функционально совместимые устройства для сетей LonWorks. Протокол LonTalk как стандарт официально признан такими организациями, как EIA, ASHRAE, SEMI, IEEE, AAR, IFSF. Для обеспечения координационной работы была создана организация LonMark – независимая ассоциация производителей оборудования по технологии LonWorks, которая формирует единые рекомендации для разработчиков и проводит сертификацию совместимого с LonWorks оборудования.
Компания АРМО-Инжиниринг, входящая в состав группы компаний АРМО, с 2002 года является членом ассоциации LonMark и строит системы управления зданием на базе оборудования Johnson Controls, поддерживающего технологию LonWorks и открытый протокол BacNet, что позволяет объединить в составе единого комплекса автоматизации инженерные системы разных производителей.