Экспорт данных из 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) — компонент, хранящий все измерения с привязкой ко времени.
Данные можно получить тремя способами:
- ODBC — прямой доступ к историзатору через стандартный драйвер Windows. Требует установки ПО EcoStruxure на машину, с которой идёт подключение.
- REST API — начиная с версии EcoStruxure 2022+, в ПО встроен веб-сервер, который принимает HTTP-запросы и отдаёт данные в формате JSON. Не требует установки ПО на клиентскую машину.
- Прямой 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)
- Нажмите Win + R, введите
odbcad32, нажмите Enter. - Перейдите на вкладку «Пользовательские DSN» → «Добавить».
- В списке найдите «Continuum ODBC Driver» → «Готово».
- Заполните поля:
- Data Source Name — произвольное имя (например,
EcoStruxure_Office); - Server — IP-адрес или имя хоста сервера EcoStruxure. Это адрес компьютера, на котором установлено ПО EcoStruxure, а не IP какого-либо контроллера. Узнать его можно в свойствах подключения к сети на этом компьютере или у системного администратора.
- Database — оставьте
Continuum(стандартное имя базы); - User / Password — учётные данные пользователя EcoStruxure. Это не Windows-аккаунт, а пользователь, созданный в самом EcoStruxure (меню «Пользователи»). Пользователь должен иметь право «Read Historical Data» (чтение истории). Проверить права можно в интерфейсе EcoStruxure: «Пользователи» → выбрать пользователя → вкладка «Права» → найти объект «Historian» и убедиться, что стоит галочка «Read».
- Data Source Name — произвольное имя (например,
- Нажмите «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)
- Откройте Power BI Desktop.
- «Главная» → «Получить данные» → «Другие» → «ODBC» → «Подключиться».
- В выпадающем списке выберите ваш DSN (например,
EcoStruxure_Office). - Введите логин/пароль пользователя EcoStruxure (тот же, что использовался при создании DSN).
- В окне навигатора появятся таблицы:
HistData,PointHistoryи др. - Выберите
HistData→ «Преобразовать данные». - В Power Query добавьте фильтр по столбцу
PointName(например, оставить толькоRoomTemp_Z1). - «Закрыть и применить».
Через REST API («ОВЕН» или EcoStruxure)
Для «ОВЕН»:
- «Получить данные» → «Веб» → вставьте:
http://192.168.1.100/api/v1/variables. - В окне аутентификации выберите «Basic», введите логин и пароль от ПЛК.
- В Power Query разверните столбец
variables→ «Развернуть в новые строки». - Настройте типы данных и обновление через шлюз (если файл будет в облаке).
Для 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С.
- Храните учётные данные и токены безопасно; не используйте учётные записи с административными правами для интеграций.
Правильно настроенная интеграция снижает ручной труд, повышает точность учёта и обеспечивает единое информационное пространство для управления зданием.
