Перейти к содержанию

Виртуальные устройства, что это и как связать с физическими

Материал из XIOT Wiki

1. Введение

Виртуальные устройства — это не просто программные аналоги физического оборудования, а логические объекты, которые описывают всю структуру и поведение системы XIOT в целом. Они формируют цифровую модель объекта автоматизации — начиная от отдельных датчиков и реле, и заканчивая комнатами, этажами и всем домом.

Каждое виртуальное устройство представляет собой самостоятельный элемент системы, обладающий набором характеристик: состояние, температура, освещённость, активность, режим, сцена и другие. Вместе эти устройства образуют иерархию, где каждый уровень обобщает данные нижестоящих:

  • Устройство — описывает конкретный элемент оборудования (например, лампу, радиатор или датчик).
  • Комната — объединяет устройства и собирает их характеристики (например, «свет включён», «температура 23°C»).
  • Этаж — агрегирует информацию из нескольких комнат.
  • Дом — объединяет все уровни и обеспечивает глобальное управление и сценарии.

🧩 Такая архитектура позволяет работать не с отдельными датчиками или реле, а с целыми логическими группами:

  • добавив несколько лампочек в одну комнату, можно управлять ими как одним объектом — включить, выключить или узнать, есть ли где-то свет;
  • несколько температурных датчиков в помещении передают значения в комнату, где они усредняются, и система работает с единым показателем «температура в комнате»;
  • команды, переданные на уровень комнаты, автоматически распространяются на все устройства внутри неё;
  • состояние дома формируется из состояния этажей, комнат и оборудования, создавая единую модель объекта.

Таким образом, виртуальные устройства в XIOT — это универсальные логические компоненты, связывающие физику, аналитику и пользовательский интерфейс в единую структуру. Благодаря этому платформа способна работать с любым оборудованием по единому принципу, обеспечивая масштабируемость, простоту настройки и интеллектуальное объединение данных на всех уровнях — от лампочки до целого здания.

2. Архитектура и принцип работы

Архитектура виртуальных устройств в платформе XIOT построена таким образом, чтобы каждый объект системы — от отдельного датчика до всего дома — представлял собой самостоятельную логическую единицу с понятными характеристиками и едиными правилами взаимодействия. Все виртуальные устройства существуют внутри контроллера XIOT-PLC и управляются общей системой логики, сценариев и обмена данными с физическим оборудованием.

2.1. Создание и хранение устройств

Виртуальные устройства создаются при построении проекта в редакторе XIOT-EDITOR. Интегратор определяет структуру проекта: дом → этажи → комнаты → устройства. Редактор передаёт эту структуру в контроллер, где для каждого элемента автоматически создаётся программный объект.

Каждое виртуальное устройство хранится в памяти контроллера как независимый модуль, содержащий:

  • набор характеристик (например: включено/выключено, температура, влажность, освещённость, режим работы и т.д.);
  • внутреннюю логику обработки данных;
  • ссылки на другие устройства и сценарии;
  • информацию о привязке к физическим тегам оборудования.

Структура полностью иерархическая:

  • Дом содержит этажи,
  • Этаж — комнаты,
  • Комната — устройства,
  • Устройства — отдельные характеристики.

2.2. Взаимодействие с физическими устройствами

Каждая характеристика виртуального устройства может быть связана с физическим тегом — это канал обмена данными между контроллером и реальным оборудованием. Контроллер XIOT-PLC принимает данные от физических датчиков и исполнительных модулей, обновляет соответствующие характеристики виртуальных устройств и передаёт результаты выше по структуре — в комнату, этаж и дом.

Пример работы:

  • Физический датчик температуры передаёт измерение через свой тег в контроллер.
  • Контроллер обновляет характеристику виртуального устройства «Датчик температуры».
  • Датчик передаёт полученное значение в виртуальное устройство «Комната», к которой он привязан.
  • Комната агрегирует значения всех своих датчиков температуры (например, вычисляет среднее) и записывает результат в собственную характеристику «Температура».
  • Далее это значение используется другими виртуальными устройствами — например, климат-контролем, сценариями отопления или аналитикой.

Таким образом, виртуальные устройства обеспечивают связку между физическим оборудованием и логической моделью дома: датчики формируют данные, комнаты их обобщают, а система в целом принимает решения и управляет оборудованием на основе актуальной информации. Такой подход позволяет контроллеру XIOT-PLC работать с реальной инфраструктурой как с единой цифровой моделью здания.

2.3. Логика и обработка данных

Внутри каждого виртуального устройства работает собственная логика, определяющая, как реагировать на изменение характеристик и какие действия выполнять. Например:

  • изменение температуры в комнате может вызвать перерасчёт средней температуры и отправку команды климат-контролю;
  • изменение состояния света может обновить общую характеристику «свет включён на этаже»;
  • активация сценария может передать команду нескольким связанным устройствам.

XIOT-PLC обрабатывает все эти события в реальном времени, поддерживая актуальное состояние всей системы без задержек и дублирования данных.

2.4. Принцип связи уровней

Архитектура XIOT построена по принципу нисходящего и восходящего обмена данными:

  • Восходящий поток — данные от физических устройств поднимаются вверх по структуре (устройство → комната → этаж → дом), где агрегируются и анализируются.
  • Нисходящий поток — управляющие команды спускаются вниз (дом → этаж → комната → устройство), распространяясь автоматически на все вложенные элементы.

💡 Такой принцип позволяет работать с системой на любом уровне детализации — от включения одной лампы до управления всем домом одной командой.

2.5. Хранение и синхронизация

Все характеристики и состояния виртуальных устройств хранятся в памяти контроллера XIOT-PLC и синхронизируются с облачным сервисом XIOT-CLOUD. Это обеспечивает:

  • сохранение данных при перезапуске;
  • доступ к состоянию системы из любого интерфейса (редактор, приложение, облако);
  • возможность резервного копирования и восстановления проекта.

---

В результате такая архитектура делает XIOT полностью масштабируемой системой: виртуальные устройства создаются автоматически, взаимодействуют с физикой по единому принципу и позволяют строить гибкие иерархические модели — от простых квартир до крупных объектов с сотнями помещений и устройств.

3. Назначение виртуальных устройств

Разделение по функциям: • моделирование оборудования; • объединение нескольких источников данных; • выполнение сценариев; • визуализация состояния системы; • аналитика и расчёты.

4. Связь с физическими устройствами

Пошаговое объяснение механизма: • что такое теги; • как выполняется привязка характеристики к физическому тегу; • как работает поток данных: физика → тег → виртуальное устройство → логика → интерфейс.

5. Типовые примеры • Датчик температуры и климат-контроль; • Реле освещения и логика комнаты; • Сценарий «Ночной режим» через виртуальные теги; • Агрегирование данных от нескольких физических датчиков.

6. Принципы проектирования

Рекомендации: • разделение логических и физических уровней; • правила именования; • когда создавать отдельное устройство, а когда характеристику; • работа с контекстом (source, reason, devsv).

7. Отладка и диагностика

Как проверять работу виртуальных устройств: • просмотр статусов в XIOT-EDITOR; • использование логов и событий; • проверка связей между тегами и характеристиками.

8. Практические рекомендации • оптимизация логики; • снижение нагрузки на контроллер; • комбинирование с логическими сценариями.