Smart BMS Bridge — универсальный интеллектуальный программируемый открытый шлюз для автоматизированных систем управления зданием

Опубликовано в номере:
PDF версия
В статье представлен интеллектуальный программно-аппаратный шлюз для автоматизированных систем управления зданием (АСУЗ) Smart BMS Bridge, разработанный специалистами компании «ФИОРД» на основе продуктов мировых брендов Rockwell Automation, Newron System и CompuLab.

Программная составляющая Smart BMS Bridge (SBB) построена путем интеграции технологии программирования контроллеров ISaGRAF 6 и сервера данных DoMooV, который поддерживает основные протоколы систем управления зданиями BACnet, LonWorks, KNX, M-Bus, Modbus. Аппаратная составляющая SBB — миниатюрные компьютеры компании CompuLab. Законченное решение SBB дает возможность системным интеграторам с помощью открытого инструмента воспользоваться преимуществами ведущих в своем классе продуктов, значительно сократить время, трудозатраты, стоимость реализации и внедрения проектов любой степени сложности.

Сначала поясним смысл, который мы вкладываем в понятия, вынесенные в название статьи. Итак, в нашем конкретном контексте смысл термина «универсальный» заключается в том, что SBB поддерживает весь спектр основных протоколов в области АСУЗ (BACnet, LonWorks, KNX, M-Bus, Modbus). «Интеллектуальность» заключается в том, что конечный пользователь с помощью базовых программных инструментов SBB может реализовать решения практически любой степени сложности, а также использовать уже встроенные в SBB алгоритмы для работы в области АСУЗ (водоснабжение, освещение, канализация, электрика и др.). В термин «программируемый» вкладывается простой смысл: наличие в SBB средств поддержки различных языков программирования, причем соответствующих международным стандартам. И, наконец, под термином «открытый» (расширяемый) мы понимаем возможность разработчиков, системных интеграторов и OEM-производителей добавлять свои функциональные возможности, ориентированные на конкретный проект или предметную область. Именно сочетание этих четырех составляющих (универсальность+интеллект+программируемость+открытость) выделяет SBB среди аналогичных продуктов на рынке.

С точки зрения пользователя, программное обеспечение (ПО) для конфигурирования SBB представляет собой надстройку над ISaGRAF 6 Workbench [1–6] в составе Единой Платформы Автоматизации (Automation Collaborative Platform, ACP), в которую встроена поддержка DoMooV — интегрированной программной платформы для управления набором наиболее распространенных открытых протоколов BMS, а в перспективе также ZigBee, Z-Wave, Dali, C-Bus. Напомним также, что ISaGRAF — это технология разработки приложений для программируемых логических контроллеров в стандарте IEC 61131-3, в котором определены пять языков программирования: IL (Instruction List — «Список инструкций»), ST (Structured Text — «Структурированный текст»), LD (Ladder Diagram — «Ступенчатая диаграмма»), FBD (Function Block Diagram — «Диаграмма функциональных блоков»), SFC (Sequential Function Chart — «Последовательная функциональная диаграмма»). В качестве аппаратной составляющей BMS выбраны миниатюрные компьютеры компании CompuLab — fit-PC2i, fit-PC3, Intense PC (рис.1) и uSVR, которые достаточно подробно описаны в недавней статье [9], поэтому здесь мы не будем подробно останавливаться на них. Отметим только, что выбор в пользу этих устройств объясняется их надежностью, богатыми функциональными возможностями, малым размером и минимальным энергопотреблением, расширяемостью. Важным для пользователя аспектом является возможность выбора одной из четырех предлагаемых аппаратных платформ SBB в зависимости от требований конкретного проекта. Все возможные конфигурации SBB можно посмотреть на сайте http://shop.fiord.com.

Аппаратные платформы для Smart BMS Bridge

Рис. 1. Аппаратные платформы для Smart BMS Bridge

Приведем основные возможности, которые будет обеспечивать SBB:

  • поддержка протоколов BACnet, Modbus, M-Bus, LonWorks и KNX;
  • прозрачный доступ и функции шлюза между различными сетями;
  • создание прикладных программ на языках стандарта IEC 61131-3 и 61499 для динамической обработки данных и управления устройствами разнородных сетей в рамках единого проекта с помощью единого инструментария;
  • поддержка режима горячего резервирования SBB;
  • поддержка распределенных конфигураций контроллеров, датчиков и исполнительных устройств в рамках единого проекта, включающего несколько SBB с центральным диспетчерским пунктом или без него;
  • связывание (binding) входов и выходов нескольких SBB;
  • архивирование данных в SBB на самом устройстве и периодическая передача архивов в центральную базу данных MS SQL или PostgreeSQL;
  • локальная (непосредственно через видеопорт SBB) или удаленная (на компьютере) динамическая визуализация протекания процесса (средство ISaQT);
  • доступ к данным (переменным) SBB через встроенный BACnet Server или oBIX Server;
  • доступ к данным проекта в режиме реального времени через FDA OPC-сервер, в том числе при использовании нескольких SBB в проекте;
  • в перспективе — поддержка функций планирования (SBB Scheduler).

Остановимся несколько подробнее на программных компонентах Smart BMS Bridge.

 

Универсальная программная компонента SBB: ACP и ISaGRAF 6

Концепция и технология ACP [1–4] разработана на основе ISaGRAF [5–6] и создана для обслуживания систем автоматизации (разработчик — Rockwell Automation). ACP разработана как среда, управляемая с помощью открытых подключаемых модулей — плагинов (рис. 2). ACP представляет собой расширяемый слой абстракции с общим интерфейсом, который обеспечивает унифицированные функциональные возможности, выбираемые пользователем. Она предназначена для поставщиков средств автоматизации, OEM-производителей, системных интеграторов, научно-исследовательских институтов и помогает проектировщикам ПО, позволяя им сосредоточиться на своей основной предметной области, а не на системных программных вопросах инфраструктуры решения. ACP поддерживает несколько конкретных моделей автоматизации (Concrete Automation Model, CAM) одновременно, предоставляя возможность интеграции разнородных продуктов в единую среду разработки. Две из конкретных моделей автоматизации, входящих в базовую поставку ACP, обеспечивают создание приложений для исполнительных систем (виртуальных машин, таргетов) ISaGRAF 6 & 5 & 3, работающих на различных аппаратных платформах. Процесс разработки заключается в создании проекта, состоящего из устройств с одним или несколькими экземплярами ресурсов. Проекты могут разрабатываться, используя различные языки программирования, включая языки стандарта IEC 61131-3 и IEC 61499. После этапа разработки ресурсы компилируются в TIC-код (Target Independent Code) или в программу на языке C.

Общий взгляд на ACP

Рис. 2. Общий взгляд на ACP

ACP предлагает полностью готовую к использованию оболочку (Shell), специально разработанную для систем автоматизации, используя инструментарий Microsoft Visual Studio и технологию .Net Framework. Платформа предоставляет все базовые сервисы для взаимодействия с продуктами третьих фирм и обеспечивает настраиваемость («кастомизацию») конечного решения. Другими словами, ACP — это среда для создания решений по комплексной автоматизации путем интеграции технологии ISaGRAF Workbench и компетенции OEM-производителя средств автоматизации. Именно эта возможность и позволила специалистам компании «ФИОРД» интегрировать DoMooV в среду ACP и разработать такой инновационный продукт, как SBB.

 

Функционально-ориентированная программная компонента SBB: мультипротокольная платформа DoMooV для BMS

DoMooV — платформа, которая унифицирует данные и поведение системы независимо от протокола, устройства или изготовителя. DoMooV (разработка французской компании Newron System) базируется на объектно-ориентированной модели, уменьшает затраты и объединяет разработку решений для BMS и для SCADA-систем. DoMooV — это framework, каркас программной системы на основе .NET (рис. 3), включающий в себя средства разработки (SDK) для создания пользователем собственных централизованных или распределенных приложений. Мультипротокольный сервер данных DoMooV Dataserver может поддерживать один или несколько движков сбора данных для одного или нескольких сетевых интерфейсов [7–8].

Мультипротокольный сервер данных DoMooV Dataserver также будет доступен для OS Linux и может быть встроен в аппаратные устройства на основе OS Linux (сейчас версия для Linux проходит этап тестирования и пока не поставляется пользователям). Многопротокольные серверы DoMooV OPC и DoMooV BACnet работают с одним или несколькими централизованными или распределенными серверами данных DoMooV и обеспечивают представление данных в формате OPC или BACnet. Серверы поддерживают также функцию шлюза для обмена данными между протоколами.

Многоуровневая структура DoMooV

Рис. 3. Многоуровневая структура DoMooV

Решение на основе DoMooV включает унифицированную информацию для обмена данными: любые приложения (SCADA, корпоративные решения, HMI и т. п.) могут обмениваться информацией в едином унифицированном формате через один из серверов: сервер BACnet, сервер OPC или «native» сервер данных DoMooV. Платформа не только открыта на уровне сервера, она может также расширяться для работы с другими полевыми (fieldbus) протоколами. Ее внутренняя структура обеспечивает простую интеграцию устаревших или частно-фирменных протоколов с последующим включением их в законченное решение.

DoMooV предлагает клиент-серверную архитектуру и для SCADA-систем, и для инструментов управления сетью. SCADA-система может взаимодействовать через базовый (native) интерфейс DoMooV, BACnet или OPC-сервер. Архитектура масштабируется от самых простых до очень сложных BMS-решений.

 

Взаимодействие ISaGRAF 6 Workbench c DoMoov Dataserver

Для взаимодействия с DoMooV в составе ACP был разработан набор подключаемых модулей ISaDoMooV. При его помощи возможно создание управляющей логики в ISaGRAF с использованием сложно организованных разнородных сетей, низкоуровневый доступ к которым обеспечивается сервером данных DoMoov. В настоящее время в состав ISaDoMoov входят два модуля: ISaDoMoov Driver и ISaDoMoov Configurator (рис. 4). ISaDoMooV Driver обеспечивает непрерывный перенос данных из внутренних переменных проекта ISaGRAF на сервер данных DoMooV и обратно. ISaDoMooV Configurator выполняет две основные функции — автоматическое создание переменных в проекте ISaGRAF, которые будут привязаны к ранее сконфигурированным точкам данных DoMooV, и создание конфигурационного файла, содержащего необходимую для работы драйвера информацию о соответствии этих переменных и точек данных DoMooV. Пользователю предоставляется возможность выбора необходимых переменных и указания, в каком из ресурсов или POU они должны быть созданы. При запуске ISaDoMooV считывает конфигурационные файлы DoMooV переменных, узлов и сетей LON, BACnet, KNX, Modbus и сохраняет конфигурационную информацию во внутренней базе данных ISaGRAF (об этом будет идти речь ниже). Отметим, что формирование конфигурационных файлов DoMooV подразумевает использование специализированных сервисных программ для конкретного протокола: например, LonMaker или NL220 для LonWorks. После импорта «сетевых» переменных DoMooV в проекте ISaGRAF с ними можно делать все допустимые операции. Разработанный проект исполняется целевой системой и позволяет осуществлять автоматическое регулирование и обработку данных, визуализировать и архивировать изменения значений переменных, передавать данные реального времени OPC-серверам или SCADA-пакетам. Таким образом, можно устанавливать связи между переменными (объектами) узлов разных сетей и с диспетчерскими пунктами в рамках распределенных АСУ различного назначения.

Пример представления данных Modbus в конфигураторе ISaDoMooV и в DoMooV

Рис. 4. Пример представления данных Modbus в конфигураторе ISaDoMooV и в DoMooV

 

ISaQT: графический интерфейс для SBB

Модуль ISaQT для ISaGRAF позволяет пользователю иметь графический интерфейс (рис. 5) на контроллере. ISaQT взаимодействует с исполнительной системой (таргетом) ISaGRAF по быстрому протоколу FDA, используя библиотеку удаленного клиента FDA. Поэтому ISaQT может выполнять визуализацию изменений данных в реальном времени как локально на самом контроллере, так и удаленно, с другого компьютера. ISaQT может взаимодействовать с несколькими контроллерами одновременно, поэтому можно делать визуализацию не только автономной, но и распределенной системы автоматизации. ISaQT уже реализован под Linux и под Windows. Для создания мнемосхем используется программа Qt Creator, которая формирует интерфейс на языке QML 2, а на языке JavaScript формируется динамическая составляющая. Программа Qt Creator — кроссплатформная свободная IDE для разработки на С, С++ и QML в рамках фреймворка Qt. Сформированный файл интерпретируется программой ISaQT. В результате пользователь получает графический интерфейс на контроллере.

Пример графического интерфейса на SBB

Рис. 5. Пример графического интерфейса на SBB

 

Режим резервирования и восстановления (Failover) для SBB

В ISaGRAF 6 реализована поддержка режима резервирования и восстановления после отказа (Failover), которая потенциально может использоваться в проектах с использованием SBB. Восстановление после отказа — это режим работы, при котором функции системы управления принимает на себя вторичная система управления (в том случае, когда главная система становится недоступной из-за отказа оборудования или при запланированном простое). Использование этой функции повышает отказоустойчивость системы управления. Функция восстановления после отказа в SBB дает возможность пользователям модифицировать систему управления и менять условия, при которых контроллер получает или теряет управление. В режиме Failover среда ISaGRAF реализует следующие ключевые возможности: безударный переход на резервную машину, работа с любым типом POU (SFC, FBD, LD, ST, 61499), автоматическая загрузка проекта (одновременно на первичную и вторичную станцию), автоматическое переключение из Workbench на нужную станцию в режиме отладки, автоматическое переключение OPC-серверов.

Рассмотрим реализацию режима Failover в ядре исполнительной системы ISaGRAF (рис. 6). После загрузки приложения на активный контроллер автоматически выполняется его передача на резервный контроллер. Оба контроллера начинают параллельно выполнять одно и то же приложение. Входные переменные передаются из основного контроллера в резервный перед каждым циклом выполнения. В конце каждого цикла выполняется проверка по вычисленной контрольной сумме, чтобы гарантировать целостность данных и результатов. В случае расхождения на резервный контроллер передается вся область данных активного (основного) контроллера. При сбое на активном контроллере резервный контроллер становится активным (основным) и начинает управлять процессом. Для связи между основным и резервным контролером по умолчанию используется сеть TCP/IP, но могут быть использованы и другие сети (последовательный канал, UDP, оптоволокно). Допускается настройка условия, при котором происходит смена основного контроллера. Конфигурирование Failover состоит из установки следующих параметров: IP-адрес, номер порта и значения тайм-аутов.

Пример проекта ISaGRAF с поддержкой режима горячего резервирования

Рис. 6. Пример проекта ISaGRAF с поддержкой режима горячего резервирования

Специалисты компании «ФИОРД» провели тестирование режима горячего резервирования.

Условия тестирования:

  • 85 тыс. переменных пользователя;
  • 4 тыс. входных переменных;
  • объем TIC-кода равен 247 кбайт;
  • размер буферов связи 64 кбайт;
  • основной контроллер работает под управлением ОС Windows 7, резервный — под управлением VMware ОС Windows XP.

Результаты тестирования: время цикла 1 мс с отключенным режимом Failover, время цикла 13 мс с включенным режимом Failover и полной синхронизацией данных (88102 байта в двух фреймах), время цикла 6 мс с включенным режимом Failover и частичной синхронизацией данных (4127 байт в одном фрейме).

 

Распределенная система архивирования данных SBB

Система архивирования ISaGRAF Archive System (IAS) предназначена для ведения архивов исторических данных на контроллерах с целевой системой ISaGRAF (в том числе SBB), сбора накопленной информации в единую архивную базу и дальнейшего анализа архивных данных (рис. 7). Система IAS представляет собой трехуровневый комплекс программных компонент.

Общая схема работы системы архивирования данных IAS в ISaGRAF

Рис. 7. Общая схема работы системы архивирования данных IAS в ISaGRAF

IAS Logger — нижний уровень распределенной системы ведения исторических данных IAS. Он предназначен для накопления архивных данных, поставляемых целевой системой ISaGRAF, и сохранения их на диске контроллера, а также для обеспечения доступа к сохраненным данным локально либо по сети Ethernet по запросам верхнего уровня. Подсистема реализована в виде виртуального устройства ISaGRAF и включает также сервис обработки запросов на выдачу данных и управление архивами, предназначенный для транспортировки данных локальных архивов на сервер по запросам последнего. Настройка подсистемы осуществляется с помощью конфигурационных файлов, содержащих перечень архивируемых переменных и задаваемых для каждого ресурса ISaGRAF. Для каждой переменной может быть задан порог чувствительности для предотвращения записи в архив «дребезга» переменной. Настройки IAS Logger позволяют также ограничивать максимальный размер дисковой базы локального контроллера, при этом при заполнении отведенного пространства новые данные записываются вместо старых. Таким образом, система может хранить актуальные архивные данные, накопленные в течение определенного временного отрезка.

IAS Configurator — конфигуратор системы архивирования, предназначен для импорта проектов ISaGRAF в базу данных SQL (MS SQL либо PostgreSQL), настройки переменных, подлежащих архивированию, формирования конфигурационных файлов и загрузки их в соответствующие контроллеры. Конфигуратор также создает скрипты, позволяющие автоматизировать процесс выкачки архивных данных из контроллеров и их импорт в базу данных SQL. Основное назначение компоненты — удаленное конфигурирование системы ведения локальных архивов, удобный сервис для конфигурирования больших систем, замена «ручного» конфигурирования.

IAS Collector — система сбора архивных данных из контроллеров, запись данных в текстовые файлы или в базу данных MS SQL Server, PostgreSQL. IAS Collector используется для удаленной доставки архивов в базу данных, централизованного сбора архивов от различных источников в единую базу данных.

* * *

В заключение еще раз отметим, что, по нашему мнению, разработанный специалистами компании «ФИОРД» программно-аппаратный шлюз SBB для АСУЗ является уникальным продуктом на рынке, позволяющим значительно сократить время, трудозатраты, стоимость реализации и внедрения проектов любой степени сложности.

Литература
  1. Колтунцев А. В., Золотарев С. В. ISaGRAF 6.1: динамичное развитие и концептуальные новшества // Автоматизация в промышленности. 2012. № 8.
  2. Золотарев С. В. ISaGRAF и функционально безопасные системы: современный тренд в развитии технологий программирования контроллеров // МКА:ВКС. 2012. № 4.
  3. Золотарев С. В. Технология программирования контроллеров ISaGRAF 6 претендует на роль единой платформы автоматизации // Автоматизация и IT в энергетике. 2011. № 4.
  4. Золотарев С. В. ISaGRAF 6: эволюция от среды программирования контроллеров к единой платформе автоматизации // Автоматизация в промышленности. 2011. № 3.
  5. Колтунцев А. В., Золотарев С. В. Стандарт IEC 61499 и система программирования контроллеров ISaGRAF 5: от теории к практике // Rational Enterprise Management. 2009. № 2.
  6. 6. Яковлев А. В., Липовец А. В., Золотарев С. В. Расширения ISaGRAF 5: инновационные функциональные возможности, производительность и открытость // ИСУП. 2009. № 2.
  7. Золотарев С. В. Инновационная интегрированная мультипротокольная платформа DoMooV // Автоматизация зданий. 2010. № 5–6.
  8. Золотарев С. В. Интегрированная платформа DoMooV для систем автоматизации зданий: поддержка BACnet, LonWorks, KNX, M-Bus, Modbus и OPC в одном решении // ИСУП. 2010. № 6.
  9. Дроздов С. Н., Золотарев С. В. Ультракомпактные мини-компьютеры с архитектурой PC от компании CompuLab Ltd.: динамичное развитие и разнообразные применения // Control Engineering. 2013. № 2.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *