Экспорт данных из EcoStruxure или «ОВЕН» в Power BI или 1С через ODBC/API

  • Ноя, 05, 2025
Экспорт данных из EcoStruxure или «ОВЕН» в Power BI или 1С через ODBC/API

1. Введение

Системы автоматизации зданий (BMS), такие как Schneider Electric EcoStruxure Building Operation и программируемые логические контроллеры (ПЛК) «ОВЕН» (серии ПЛК100/200/300), непрерывно собирают данные: температуру, давление, показания счётчиков воды/электроэнергии, состояние датчиков протечки, аварийные события и т.д.

Эти данные необходимо передавать в учётные системы (например, 1С:Управление торговлей) или визуализировать в аналитических платформах (например, Microsoft Power BI). Для этого используются два стандартизированных способа подключения: ODBC (Open Database Connectivity) и REST API (Application Programming Interface).

В данной статье пошагово объясняется, как настроить экспорт данных из каждой из систем, где найти все необходимые параметры (адреса, логины, токены), как проверить доступ и как использовать полученные данные в Power BI и 1С.

2. Особенности экспорта из Schneider Electric EcoStruxure

Schneider Electric EcoStruxure Building Operation — программное обеспечение для управления зданиями. Оно состоит из:

  • Сервера EcoStruxure — компьютер под Windows, на котором установлено ПО и запущена база данных (обычно Microsoft SQL Server Express);
  • Клиентской части — интерфейс для оператора;
  • Историзатора (Historian) — компонент, хранящий все измерения с привязкой ко времени.

Данные можно получить тремя способами:

  1. ODBC — прямой доступ к историзатору через стандартный драйвер Windows. Требует установки ПО EcoStruxure на машину, с которой идёт подключение.
  2. REST API — начиная с версии EcoStruxure 2022+, в ПО встроен веб-сервер, который принимает HTTP-запросы и отдаёт данные в формате JSON. Не требует установки ПО на клиентскую машину.
  3. Прямой SQL-запрос — при наличии прав администратора к экземпляру SQL Server. Редко используется из-за сложности и рисков для целостности базы.

Основные сущности в EcoStruxure:

  • Point (точка) — виртуальный объект, привязанный к физическому датчику или выходу (например, «Температура в холле 1-го этажа»). У каждой точки есть уникальный числовой ID (например, 12345).
  • History (история) — временная последовательность значений точки с метками времени.

3. Особенности экспорта из контроллеров «ОВЕН»

Контроллеры «ОВЕН» (ПЛК100/200/300) — автономные устройства, устанавливаемые в слаботочных шкафах. У каждого ПЛК есть собственный IP-адрес в локальной сети — его называют IP_ПЛК.

Что такое IP_ПЛК? Это сетевой адрес контроллера, по которому к нему можно обратиться через браузер или программу. Например: 192.168.1.100.

Как узнать IP-адрес ПЛК?

  • Из программы Owensoft Studio: подключитесь к ПЛК через USB/RS-485 → в меню «Сетевые настройки» отобразится IP.
  • С дисплея самого ПЛК (если он есть): в разделе «Сеть» или «Информация».
  • Через DHCP-сервер (роутер/сервер): найдите устройство с MAC-адресом, начинающимся на 00:1F:8A (диапазон ОВЕН).

Начиная с прошивки версии 4.x, ПЛК «ОВЕН» включает встроенный веб-сервер, предоставляющий REST API. Для доступа к API требуется:

  • Включена опция «HTTP-сервер» в Owensoft Studio → «Параметры связи» → «Веб-сервер».
  • Создан пользователь с паролем в разделе «Безопасность» → «HTTP-пользователи» (обычно используется логин admin).
  • Переменные, которые нужно экспортировать, отмечены галочкой «Доступна по API» в таблице переменных.

Типичный URL для запроса: http://[IP_ПЛК]/api/v1/variables. Например: http://192.168.1.100/api/v1/variables.

4. Настройка подключения через ODBC

ODBC — стандарт Windows для подключения к базам данных. EcoStruxure поставляется со своим ODBC-драйвером.

Шаг 1. Установка драйвера
Драйвер называется Continuum ODBC Driver и устанавливается автоматически вместе с EcoStruxure. Если его нет, установите полный пакет EcoStruxure (даже если вы не будете запускать клиент).

Шаг 2. Создание источника данных (DSN)

  1. Нажмите Win + R, введите odbcad32, нажмите Enter.
  2. Перейдите на вкладку «Пользовательские DSN» → «Добавить».
  3. В списке найдите «Continuum ODBC Driver» → «Готово».
  4. Заполните поля:
    • Data Source Name — произвольное имя (например, EcoStruxure_Office);
    • ServerIP-адрес или имя хоста сервера EcoStruxure. Это адрес компьютера, на котором установлено ПО EcoStruxure, а не IP какого-либо контроллера. Узнать его можно в свойствах подключения к сети на этом компьютере или у системного администратора.
    • Database — оставьте Continuum (стандартное имя базы);
    • User / Passwordучётные данные пользователя EcoStruxure. Это не Windows-аккаунт, а пользователь, созданный в самом EcoStruxure (меню «Пользователи»). Пользователь должен иметь право «Read Historical Data» (чтение истории). Проверить права можно в интерфейсе EcoStruxure: «Пользователи» → выбрать пользователя → вкладка «Права» → найти объект «Historian» и убедиться, что стоит галочка «Read».
  5. Нажмите «Test Connection». Если появилось «Connection successful» — настройка завершена.

5. Методы экспорта через REST API

Для EcoStruxure (версия ≥2022)

REST API в EcoStruxure работает по протоколу HTTPS и требует аутентификации через токен (OAuth2).

Что такое OAuth2 и access_token?
Это стандарт безопасного доступа к API. Вместо передачи логина/пароля напрямую, сначала отправляется запрос на получение временного ключа (access_token), который затем прикладывается к каждому последующему запросу.

Шаг 1. Получение токена
Отправьте POST-запрос на адрес:
https://[IP_сервера_EcoStruxure]/oauth/token
В заголовках укажите:

Content-Type: application/x-www-form-urlencoded

В теле запроса укажите (в виде строки):

grant_type=password&username=ваш_логин&password=ваш_пароль&client_id=ecostruxure_client

Пример через cURL:

curl -X POST \
  https://192.168.10.50/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=password&username=operator&password=secret123&client_id=ecostruxure_client"

Если логин/пароль верны, сервер вернёт JSON, содержащий:

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx",
  "token_type": "Bearer",
  "expires_in": 3600
}

Значение access_token — это и есть ключ, который действует 1 час (3600 секунд).

Шаг 2. Запрос данных
Теперь можно запрашивать историю по точке:

GET /api/v1/points/12345/history?from=2025-11-01T00:00:00&to=2025-11-05T23:59:59

Разбор запроса:

  • GET — метод HTTP, означает «получить данные»;
  • /api/v1/points/12345/history — путь к API-методу. 12345 — это ID точки (уникальный номер в EcoStruxure);
  • from=2025-11-01T00:00:00 — начало периода в формате ISO 8601 (YYYY-MM-DDThh:mm:ss);
  • to=2025-11-05T23:59:59 — конец периода;
  • Authorization: Bearer eyJhbGci... — заголовок аутентификации. Слово Bearer обязательно, за ним — значение access_token.

Для «ОВЕН» ПЛК

REST API у «ОВЕН» проще: используется базовая HTTP-аутентификация.

Пример запроса:

curl -u admin:password http://192.168.1.100/api/v1/variables

Разбор:

  • -u admin:password — флаг cURL для базовой аутентификации. admin — логин, password — пароль, заданные в Owensoft Studio в разделе «HTTP-пользователи»;
  • http://192.168.1.100 — IP-адрес ПЛК;
  • /api/v1/variables — стандартный путь для получения всех переменных, отмеченных как «Доступны по API».

Ответ будет в формате JSON:

{
  "variables": [
    {
      "name": "temp_room1",
      "value": 22.5,
      "type": "REAL",
      "timestamp": "2025-11-05T10:23:45"
    }
  ]
}

Поля:

  • name — имя переменной из проекта Owensoft Studio;
  • value — текущее значение;
  • type — тип: BOOL, INT, REAL и т.д.;
  • timestamp — дата и время последнего обновления (UTC или локальное — зависит от настроек ПЛК).

Для массового опроса используйте POST-запрос к /api/v1/variables/values с телом:

["temp_room1", "water_leak", "door_status"]

6. Интеграция с Power BI

Через ODBC (EcoStruxure)

  1. Откройте Power BI Desktop.
  2. «Главная» → «Получить данные» → «Другие» → «ODBC» → «Подключиться».
  3. В выпадающем списке выберите ваш DSN (например, EcoStruxure_Office).
  4. Введите логин/пароль пользователя EcoStruxure (тот же, что использовался при создании DSN).
  5. В окне навигатора появятся таблицы: HistData, PointHistory и др.
  6. Выберите HistData → «Преобразовать данные».
  7. В Power Query добавьте фильтр по столбцу PointName (например, оставить только RoomTemp_Z1).
  8. «Закрыть и применить».

Через REST API («ОВЕН» или EcoStruxure)

Для «ОВЕН»:

  1. «Получить данные» → «Веб» → вставьте: http://192.168.1.100/api/v1/variables.
  2. В окне аутентификации выберите «Basic», введите логин и пароль от ПЛК.
  3. В Power Query разверните столбец variables → «Развернуть в новые строки».
  4. Настройте типы данных и обновление через шлюз (если файл будет в облаке).

Для EcoStruxure:
Используйте «Получить данные» → «Пустой запрос» → введите в Advanced Editor код на языке M, который сначала получает токен, затем — данные. (Пример кода выходит за рамки статьи, но доступен в документации Power BI по работе с OAuth2.)

7. Интеграция с 1С

1С не поддерживает ODBC «из коробки» для внешних баз, поэтому используется HTTP-клиент.

Пример для «ОВЕН»:

Соединение = Новый HTTPСоединение("192.168.1.100", 80);
Заголовки = Новый Соответствие;
// Base64-кодирование логина:пароля для Basic Auth
ЛогинПароль = "admin:password";
Закодировано = Base64Строка(ЛогинПароль, КодировкаТекста.UTF8);
Заголовки.Вставить("Authorization", "Basic " + Закодировано);
Ответ = Соединение.Получить("/api/v1/variables", , , , Заголовки);
Если Ответ.КодСостояния = 200 Тогда
    ТекстОтвета = Ответ.ПолучитьТелоКакСтроку();
    Данные = ПрочитатьJSON(ТекстОтвета, , КодировкаТекста.UTF8);
    // Далее — разбор Данные.variables и запись в регистр
КонецЕсли;

Для EcoStruxure:
Сначала отправьте POST-запрос к /oauth/token (аналогично cURL-примеру), получите токен, затем используйте его в заголовке Authorization: Bearer ... для запроса истории.

Важно: в 1С включите использование внешних подключений: «Администрирование» → «Параметры безопасности» → «Разрешить HTTP-соединения».

8. Типовые ошибки и способы их устранения

ОшибкаПричинаКак исправить
«ODBC connection failed» Не установлен драйвер, неверный IP сервера, нет прав у пользователя Проверьте установку EcoStruxure, ping до сервера, права пользователя в интерфейсе EcoStruxure
401 Unauthorized Неверный логин/пароль или просроченный токен Для «ОВЕН» — проверьте HTTP-пользователей в Owensoft Studio. Для EcoStruxure — получите новый токен
Пустой ответ от «ОВЕН» Переменные не отмечены «Доступны по API» В Owensoft Studio: таблица переменных → колонка «API» → поставьте галочку
Ошибка в 1С: «Недопустимый символ» Сервер отдаёт JSON в кодировке Windows-1251, а 1С ожидает UTF-8 Укажите явно кодировку: ПрочитатьJSON(Текст, , КодировкаТекста.UTF8)
Сертификат не доверенный (EcoStruxure) Используется самоподписанный SSL-сертификат Импортируйте сертификат в хранилище доверенных на клиентской машине

9. Заключение

Экспорт данных из систем автоматизации в Power BI или 1С позволяет объединить оперативную информацию из инженерных систем с учётными и аналитическими процессами предприятия. Ключевые рекомендации:

  • Для EcoStruxure предпочтителен ODBC при локальном доступе и REST API — при удалённой интеграции.
  • Для «ОВЕН» используется только REST API; убедитесь, что HTTP-сервер включён, а переменные опубликованы.
  • Всегда проверяйте доступ через инструменты вроде cURL или Postman перед интеграцией в Power BI или 1С.
  • Храните учётные данные и токены безопасно; не используйте учётные записи с административными правами для интеграций.

Правильно настроенная интеграция снижает ручной труд, повышает точность учёта и обеспечивает единое информационное пространство для управления зданием.

Данная статья носит исключительно информационный и методический характер. Она не является официальным руководством пользователя, технической документацией или рекомендацией производителя. Все описанные процедуры основаны на практическом опыте внедрения и могут потребовать адаптации под конкретную версию программного обеспечения, топологию сети или требования безопасности. Автор и издатель не несут ответственности за последствия применения приведённых инструкций.