XML: стандартное решение
Еще несколько лет назад интеграция BAS (Building Automation System/Система автоматизации зданий) в любую компьютерную систему была настолько сложной задачей, что об успехах в этой области отдельно сообщалось в специализированных тематических изданиях. Сегодня же это стало повсеместным явлением.
Колледж в Пенсильвании собирает данные (потребление воды, электроэнергии, газа, уровень CO2, CO) с большого числа систем на удаленную полевую станцию, сравнивает их с модельной программой и публикует полученные результаты на своем веб-сайте.
Компания в Техасе, занимающаяся исследованиями в области авиации, собирает данные с большого числа чиллеров и кондиционеров, сводит их в Excel-таблицу для последующего анализа и выявления неисправностей.
В офисном комплексе в Мельбурне такие данные используются для выписки счетов за предоставление дополнительных услуг каждому из пользователей. Если возникают сомнения по поводу суммы счетов, немедленно представляется развернутый отчет, где фиксируются точное время включения и выключения кондиционеров и даты, когда поступали все заявки на их использование.
В США подрядчик по системам автоматизации зданий собирает данные со всех кондиционеров с регулируемым объемом подаваемого воздуха (VAV) и подогревающих контуров в новом здании и включает их в отчет по сдаче этого объекта в эксплуатацию.
Все эти проекты были реализованы с помощью нового стандарта для обмена данными – XML (eXtensible Markup Language/Расширяемый язык разметки). Это стандарт информационных технологий, активно внедряемый в самых различных отраслях. Его можно считать наследником спецификаций DDE, OLE и OPC, но наследником более мощным, более популярным и куда более совместимым с Интернетом, чем все предыдущие. Сегодня стандарт XML совместно и весьма успешно поддерживается такими непримиримыми конкурентами, как Microsoft, Apple и Linux!
Значит ли это, что BACnet, LonWorks и множество других протоколов теряют свою актуальность? Ничуть! XML создавался для обмена информацией между компьютерами на верхнем уровне. Соответствующие файлы с данными содержат читабельный текст, и структура этих данных включает достаточно пространные (для компьютера) описания того, какие именно данные содержатся в соответствующих файлах. Это позволяет программистам сравнительно легко находить нужную информацию и оперативно устанавливать связь между компьютерными базами данных. Но также это означает, что для передачи информации требуется значительно большая пропускная способность каналов, нежели для использования любых специализированных протоколов, применяемых в BAS.
XML хорошо приспособлен для передачи данных по локальным IP-сетям типа Ethernet, но может создавать избыточную нагрузку при использовании в сетях полевых контроллеров. И если XML когда-либо будет использоваться в работе контроллеров систем кондиционирования воздуха, то произойдет это в весьма отдаленном будущем.
Сам по себе стандарт XML не содержит каких-либо положений, которые бы стандартизировали обмен данными в BAS, поэтому в данном отношении использование XML будет шагом назад, в дни, предшествовавшие разработке стандартов BACnet и LonWorks, когда каждый производитель создавал свой собственный коммуникационный стандарт. Данные с контрольно-измерительных точек, графики, предупреждающие сообщения – все это может быть представлено в любом формате по выбору производителя, и при этом такие данные будут все равно соответствовать стандарту XML.
Американское общество инженеров по отоплению, охлаждению и кондиционированию воздуха ASHRAE и другие группы работают над исправлением этой проблемы, разрабатывая для этого стандарт для представления данных BAS в формате XML.
Если BACnet и любые другие специализированные протоколы для BAS лучше проработаны и более эффективны, чем XML, то почему тогда такой большой шум по поводу этого протокола? XML обеспечивает для BAS стандартный метод связи с другими компьютерами независимо от того, принадлежат ли эти компьютеры к другим BAS или к каким-то совершенно иным системам. Исходная версия протокола BACnet не поддерживала IP-адресацию, используемую в Интернете, поскольку на момент создания стандарта BACnet Интернет был еще не слишком развит. Это положение очень быстро изменилось. В настоящее время BACnet и другие протоколы для BAS поддерживают связь по IP-протоколу, так как он de facto стал стандартом для осуществления высокоуровневых коммуникаций.
Сегодня производители BAS аналогичным образом вводят поддержку XML в свои веб-серверы и операторские рабочие станции, так как именно XML стал стандартом для связи с другими системами на этом уровне. XML является логическим расширением протоколов систем автоматизации зданий.
Также XML позволяет производить высокоуровневое абстрагирование данных BAS и их преобразование в формат, облегчающий связь с другими системами. Скажем, программисту, создающему компьютерную программу для коммунальной компании, может потребоваться информация о расписании включения оборудования от BAS или этой программе будет необходимо послать BAS-команду на ограничение потребления коммунальных услуг.
При использовании XML не потребуется изучать все особенности внутренних протоколов BAS для выполнения этих простых операций. То же самое можно сказать о компьютерных программах, используемых в бухгалтерском деле, для управления гостиничными номерами, для составления расписания школьных занятий, для контроля за пациентами в больницах и т.д. Существует также немало программ, которые владельцы зданий могут интегрировать в свои BAS, но чаще всего в них отсутствует даже интерфейс стандарта BACnet, не говоря уже об одновременной поддержке стандартов BACnet, LonWorks и других специализированных запатентованных протоколов, используемых в современных BAS.
Существует проблема и у программистов-интеграторов работающих в небогатых компаниях, которым необходимо собирать данные с большого числа компьютерных систем, разбросанных по всему городу, или же в крупных корпорациях, где необходимо подготавливать отчеты для руководства, суммирующих накопленную информацию. Нужно ли таким программистам изучать внутренние форматы данных во всех приложениях, с которых будет получена необходимая им информация?
XML же позволяет предоставлять подобные данные через стандартный самодокументированный интерфейс, не зависящий от структуры данных или от внутренних коммуникационных протоколов BAS. Если совместить XML со стандартным протоколом предоставления услуг, таким как SOAP, то это позволит создать универсальный интерфейс, который можно использовать для обмена данными в тысячах индивидуальных компьютерных приложений.
Насколько универсален такой интерфейс? Дэн Трэйл из компании U.E.S. Controls (Хьюстон, Техас) приводит два примера.
Школьный округ попросил его компанию организовать сбор данных об использовании коммунальных услуг в нескольких школах, провести помесячный аудит потребления энергии, сравнить реальное потребление энергии с местными погодными данными и рассортировать эти школы в соответствии с эффективностью энергопотребления. Так как BAS в этих школах поддерживали сетевые службы, то инженеры компании не испытывали проблем с созданием затребованного отчета. «Это был очень простой процесс, – констатировал Дэн. – Они использовали встроенную поддержку XML для создания электронной таблицы Microsoft Excel, собрали в нее данные в автоматическом режиме и на их основе создали отчет в Excel-формате».
Более сложная ситуация возникла, когда эту компанию попросили разработать программу, которая позволила бы 2000 работникам продлить рабочий день в офисах, но учитывала бы связанное с этим дополнительное использование систем отопления, вентиляции и кондиционирования воздуха. Для разработки этой программы компания заключила договор с фирмой, и ее программисты представили U.E.S. – достаточно большую предварительную смету на разработку этой программы с использованием специального интерфейса для обмена данными. Когда Дэн сообщил программистам, что BAS поддерживает XML и SOAP, размер этой сметы был уменьшен вдвое.
Комбинация XML и SOAP уже завоевала широкое признание в мире информационных технологий. В Microsoft подобное сочетание получило название .NET, в IBM – WebSphere, в компании Sun – SunOne. Другие производители используют иные названия, но все они могут быть причислены к общей категории «сетевых служб», которые могут использоваться для считывания данных с одного компьютера и их записи на другой. Также их можно использовать и для запуска приложений на удаленных компьютерах.
Для информационных технологий разработан стандарт, поддерживающий обмен данными, но он не покрывает всего того объема данных и услуг, которыми могут обмениваться системы. Было бы неплохо, если бы он позволял еще и отыскивать нужные данные. Еще лучше, если бы он мог извлекать нужные данные и для этого не требовались бы услуги отдельного программиста. Подобный стандарт должен включать не только протоколы для упаковки и пересылки данных, но и протоколы, определяющие формат самих данных. Так как диапазон и разнообразие данных, генерируемых BAS, велики, стандарт должен быть гибким и всеобъемлющим, объединяющим информационную модель всего здания и входящих в него систем.
Данная проблема относится не только к индустрии BAS. Сетевые службы используются для передачи данных между компаниями уже на протяжении нескольких лет. Как и в индустрии BAS, сетевые службы первоначально рассматривались как решение всех проблем в области B2B-коммуникаций и как универсальный инструмент для обмена данными. Скоро стало очевидно, что хотя сетевые службы – очень полезный инструмент для ускорения подобного обмена данными, сам процесс передачи данных все еще требовал написания большого количества специальных программ для поиска и соединения данных, которыми предстояло обмениваться.
Проблему можно было бы значительно упростить, если бы в каждой отрасли была принята стандартная модель информации, позволяющая программам автоматически находить нужные данные без вмешательства человека. И сегодня уже существуют или находятся в процессе разработки множество стандартов в десятках отраслей, таких, как биометрика, электронные средства для осуществления покупок, ведение юридической документации и системы безопасности. ASHRAE уже несколько лет занимается разработкой информационной XML-модели зданий. Неудивительно, что комитет по разработке стандарта BACnet также принимает заметное участие в этом процессе, ведь литеры BA в названии BACnet обозначают Building Automation, т.е. «автоматизация зданий». Новая информационная модель, получившая название BACnet/WS (BACnet Web Services/Сетевые службы BACnet), предназначена для использования не только в рамках этого протокола. По сути это универсальная модель, способная работать в протоколах BACnet, LonWorks и в других протоколах управления. Она может стать общей основой для высокоуровневого взаимодействия и обмена данными между этими протоколами. В июне 2004 года предложенная модель была открыта для публичного обсуждения на съезде ASHRAE, где она была утверждена как часть стандарта ASHRAE/ANSI/ISO для автоматизации управления коммунальными системами зданий.
(Материал предоставлен компанией AutomatedLogic)