Виртуальные устройства, что это и как связать с физическими
В этой статье
- 1. Введение
- 2. Архитектура и принцип работы
- 2.1. Создание и хранение устройств
- 2.2. Взаимодействие с физическими устройствами
- 2.3. Внутренняя логика устройств и обновление данных
- 2.4. Принцип связи уровней
- 2.5. Хранение и синхронизация
- 2.6. Виртуальные устройства и сценарии
- 2.7. Роль виртуальных устройств в интерфейсе пользователя
- 2.8. Итог архитектуры
1. Введение
Виртуальные устройства — это не просто программные аналоги физического оборудования, а логические объекты, которые описывают всю структуру и поведение системы XIOT в целом.
Они формируют цифровую модель объекта автоматизации — начиная от отдельных датчиков и реле, и заканчивая комнатами, этажами и всем домом.
Каждое виртуальное устройство представляет собой самостоятельный элемент системы, обладающий набором характеристик: состояние, температура, освещённость, активность, режим, сцена и другие.
Вместе эти устройства образуют иерархию, где каждый уровень обобщает данные нижестоящих:
- Устройство — описывает конкретный элемент оборудования (например, лампу, радиатор или датчик).
- Комната — объединяет устройства и агрегируют их состояния (например, «свет включён», «температура 23°C»).
- Этаж — агрегирует информацию из нескольких комнат.
- Дом — объединяет все уровни и обеспечивает глобальное управление и сценарии.
🧩 Такая архитектура позволяет работать не с отдельными датчиками или реле, а с целыми логическими группами:
- добавив несколько лампочек в одну комнату, можно управлять ими как одним объектом — включить, выключить или узнать, есть ли где-то свет, за это отвечают характеристики комнаты;
- несколько температурных датчиков в помещении передают значения в комнату, где они усредняются, и система работает с единым показателем «температура в комнате»;
- команды, переданные на уровень комнаты, автоматически распространяются на все устройства внутри неё;
- состояние дома формируется из состояния этажей, комнат и оборудования, создавая единую модель объекта.
Таким образом, виртуальные устройства в XIOT — это универсальные логические компоненты, связывающие физику, аналитику и пользовательский интерфейс в единую структуру.
Благодаря этому платформа способна работать с любым оборудованием по единому принципу, обеспечивая масштабируемость, простоту настройки и интеллектуальное объединение данных на всех уровнях — от лампочки до целого здания.
2. Архитектура и принцип работы
Архитектура виртуальных устройств в платформе XIOT построена таким образом, чтобы каждый объект системы — от отдельного датчика до всего дома — представлял собой самостоятельную логическую единицу с понятными характеристиками и едиными правилами взаимодействия.
Все виртуальные устройства существуют внутри контроллера XIOT-PLC и управляются общей системой логики, сценариев и обмена данными с физическим оборудованием.
2.1. Создание и хранение устройств
Виртуальные устройства создаются при построении проекта в редакторе XIOT-EDITOR.
Интегратор определяет структуру проекта: дом → этажи → комнаты → устройства.
Команда Загрузить конфигурацию на контроллер сначала сохраняет проект, создаёт одну новую версию, а затем передаёт на привязанный XIOT-PLC точный снимок этой версии.
Каждое виртуальное устройство хранится в памяти контроллера как независимый модуль, содержащий:
- набор характеристик (например: включено/выключено, температура, влажность, освещённость, режим работы и т.д.);
- внутреннюю логику обработки данных;
- ссылки на другие устройства и сценарии;
- информацию об адресах управления и состояния физического оборудования.
Структура полностью иерархическая:
- Дом содержит этажи,
- Этаж — комнаты,
- Комната — устройства,
- Устройства — отдельные характеристики.
2.2. Взаимодействие с физическими устройствами
Каждая характеристика виртуального устройства может использовать адрес управления для отправки команды и адрес состояния для получения фактического значения от оборудования.
Контроллер XIOT-PLC принимает данные от физических датчиков и исполнительных модулей, обновляет соответствующие характеристики виртуальных устройств и передаёт результаты выше по структуре — в комнату, этаж и дом.
Пример работы:
- Физический датчик температуры передаёт измерение через адрес состояния в XIOT-PLC.
- Контроллер обновляет характеристику виртуального устройства «Датчик температуры».
- Датчик передаёт полученное значение в виртуальное устройство «Комната», к которой он привязан.
- Комната агрегирует значения всех своих датчиков температуры (например, вычисляет среднее) и записывает результат в собственную характеристику «Температура».
- Далее это значение используется другими виртуальными устройствами — например, климат-контролем, сценариями отопления или аналитикой.
Таким образом, виртуальные устройства обеспечивают связку между физическим оборудованием и логической моделью дома:
датчики формируют данные, комнаты их обобщают, а система в целом принимает решения и управляет оборудованием на основе актуальной информации.
Такой подход позволяет контроллеру XIOT-PLC работать с реальной инфраструктурой как с единой цифровой моделью здания.
2.3. Внутренняя логика устройств и обновление данных
Виртуальные устройства в XIOT работают по событийной модели. Любое изменение данных — например, поступление значения из адреса состояния или обновление характеристики другим устройством — вызывает внутреннюю логику обработки.
Когда контроллер получает новое значение от физического оборудования, оно не просто записывается напрямую.
Сначала устройство выполняет цепочку действий:
1. ⚙️ Обработка события — срабатывает внутренняя логика виртуального устройства.
2. 🧮 Валидация значения — система проверяет корректность поступивших данных (тип, диапазон, частота обновлений).
3. 🔧 Нормализация и фильтрация — устраняется шум, устраняются ложные всплески и скачки, значение при необходимости округляется или корректируется.
4. 💾 Применение к характеристике — обработанное значение записывается в соответствующую характеристику устройства.
5. 🧠 Выполнение дополнительной логики — при необходимости активируются связанные характеристики или события.
Например:
- Физический датчик температуры передаёт в контроллер значение, выходящее за пределы допустимого диапазона, указанного в настройках виртуального датчика.
- Внутренняя логика устройства определяет, что это аномальное значение, и помимо фильтрации активирует характеристику «Ошибка датчика температуры».
- Если значение корректно, оно применяется к характеристике «Температура», и далее передаётся на уровень комнаты, где участвует в расчёте средней температуры.
Таким образом, каждая характеристика в системе XIOT — это не просто числовое значение, а результат интеллектуальной обработки и контроля достоверности данных.
Благодаря такой событийной модели платформа поддерживает устойчивую работу, защищена от ложных показаний и автоматически отслеживает корректность всех подключённых датчиков и исполнительных устройств.
2.4. Принцип связи уровней
Архитектура XIOT организована по иерархическому принципу, где каждый уровень системы связан с вышестоящими и нижестоящими объектами.
Передача данных происходит в двух направлениях — восходящем и нисходящем, что обеспечивает двусторонний обмен информацией между устройствами, комнатами, этажами и домом.
- 🔼 Восходящий поток — данные поднимаются от нижнего уровня к верхнему.
Значения, полученные от физических датчиков, обновляют характеристики виртуальных устройств (например, «Датчик температуры»). Затем эти данные передаются в «Комнату», где агрегируются (например, рассчитывается средняя температура по нескольким датчикам), далее — на уровень «Этаж» и «Дом», где формируются сводные показатели состояния объекта.
- 🔽 Нисходящий поток — команды управления передаются сверху вниз.
Если пользователь включает свет в комнате, команда распространяется на все устройства, входящие в эту комнату. Аналогично, команда «Выключить весь свет в доме» спускается вниз по иерархии — через этажи и комнаты — до каждой конкретной лампы или реле.
💡 Такая архитектура обеспечивает логическую целостность системы и удобное управление на любом уровне детализации:
можно управлять отдельным устройством, целой комнатой, этажом или всем домом — команда будет выполнена корректно на всех вложенных уровнях.
При этом состояние каждого уровня формируется автоматически на основе актуальных данных подчинённых объектов, что делает модель полностью синхронной и самодостаточной.
2.5. Хранение и синхронизация
В XIOT состояние работающей системы, сохранённые версии проекта и конфигурация контроллера — разные сущности.
- 🧩 Работа контроллера: XIOT-PLC выполняет загруженную конфигурацию и локальные сценарии. При временной потере связи с облаком уже загруженная автоматизация продолжает работать локально.
- 💾 Сохранение проекта: отдельное нажатие Сохранить проект создаёт датированную версию и удобно как самостоятельная контрольная точка, особенно во время вёрстки интерфейса в Pro. Статус отправки этой версии в облако отображается отдельно.
- 🔄 Загрузка конфигурации: команда Загрузить конфигурацию на контроллер сама сохраняет проект, создаёт одну новую версию и передаёт на XIOT-PLC точный снимок этой версии. Отдельное сохранение непосредственно перед загрузкой без специальной причины создаст лишнюю последовательную версию. После загрузки интегратор проверяет устройства и сценарии.
- 📱 Отображение состояния: XIOT-APP получает актуальные данные при наличии связи с контроллером. Время обновления зависит от доступности соединения; изменение проекта в редакторе само по себе не меняет состояние устройств.
- 🛠️ Замена устройства-хоста: XIOT-PLC требуется установить на новое поддерживаемое устройство-хост или контроллер и привязать XIOT-PLC к проекту. После этого интегратор открывает нужную сохранённую версию, выполняет Загрузить конфигурацию на контроллер и проверяет работу системы.
2.6. Виртуальные устройства и сценарии
Виртуальные устройства тесно связаны со сценариями автоматизации, которые формируют поведение системы в зависимости от состояний и событий.
Каждый сценарий может управлять характеристиками устройств, реагировать на их изменения и формировать новые состояния, используя единый событийный механизм платформы XIOT.
Примеры взаимодействия:
- изменение состояния устройства может запустить сценарий (например, при превышении температуры включается вентилятор);
- сценарий может одновременно управлять несколькими устройствами (например, выключить весь свет при активации режима «Уход из дома»);
- сценарии могут использовать агрегированные значения (например, среднюю температуру комнаты) для принятия решений на более высоком уровне.
📘 Таким образом, виртуальные устройства являются не просто отражением оборудования, а активными элементами логической системы. Они могут инициировать события, реагировать на изменения и взаимодействовать со сценариями, создавая динамическую и интеллектуальную модель управления зданием.
---
2.7. Роль виртуальных устройств в интерфейсе пользователя
Вся визуальная структура в приложении и редакторе XIOT строится на основе виртуальных устройств. Каждое устройство, комната, этаж и дом автоматически отображаются в интерфейсе как интерактивные элементы, отражающие реальное состояние системы.
- В Lite-версии интерфейс формируется автоматически на основе иерархии устройств, создавая готовый интерфейс управления для пользователя без дополнительных настроек.
- В Pro-версии интегратор может самостоятельно проектировать страницы, добавлять элементы управления, графики, индикаторы и кнопки, которые напрямую связаны с характеристиками виртуальных устройств.
💡 Все визуальные элементы получают данные в реальном времени и мгновенно отображают изменения, происходящие в системе.
Это обеспечивает пользователю полную синхронизацию между физическим состоянием объекта и его визуальной моделью в приложении.
---
2.8. Итог архитектуры
Архитектура виртуальных устройств в XIOT создаёт единую цифровую модель здания, объединяющую адреса физического оборудования, сценарии, аналитику и визуальный интерфейс.
Каждый уровень — от датчика до дома — функционирует по общим принципам:
📡 события → 🧮 обработка → 📊 агрегация → ⚙️ передача данных.
Такой подход обеспечивает:
- точную синхронизацию между физическим оборудованием и виртуальной моделью;
- стабильную работу системы без внешних зависимостей;
- гибкое масштабирование проекта любого уровня сложности — от квартиры до многоэтажного здания;
- прозрачность и управляемость на всех уровнях — от отдельных устройств до целых зон и сценариев.
🧠 Благодаря этой архитектуре XIOT позволяет строить интеллектуальные, надёжные и масштабируемые системы автоматизации, где каждый элемент — от датчика до дома — является частью единого живого цифрового пространства.