Реализация просмотра SCADA-данных в мобильном IoT-приложении

Мы сталкивались с ситуацией, когда мастер смены вынужден возвращаться на пульт, чтобы проверить параметры печи. Мобильное SCADA-приложение решает эту проблему. Реализуем просмотр SCADA-данных под ключ: от интеграции с OPC UA до построения исторических трендов. Наши инженеры имеют 5+ лет опыта в разр

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Реализация просмотра SCADA-данных в мобильном IoT-приложении
Сложный
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1218
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    600

Мы сталкивались с ситуацией, когда мастер смены вынужден возвращаться на пульт, чтобы проверить параметры печи. Мобильное SCADA-приложение решает эту проблему. Реализуем просмотр SCADA-данных под ключ: от интеграции с OPC UA до построения исторических трендов. Наши инженеры имеют 5+ лет опыта в разработке мобильных SCADA-решений и гарантируют надёжное подключение без права управления.

SCADA-система — Supervisory Control and Data Acquisition — живёт на стационарных рабочих станциях оператора. WinCC, Ignition, InduSoft, Aveva — у каждой свой формат данных, свои API, своя история совместимости. Мобильное приложение для просмотра SCADA-данных — это не замена стационарного клиента, а «вторые глаза» для мастера смены, который ходит по цеху. Задача: актуальные данные тегов, тренды, алерты — без права управления.

Почему OPC UA — универсальный путь к SCADA-данным?

Большинство современных SCADA-систем поддерживают OPC UA сервер. Это стандартный путь получить данные без проприетарных API. Мобильное приложение подключается к OPC UA серверу через TCP или WebSocket (OPC UA over WebSocket, UA Binary транспорт). OPC UA обеспечивает шифрование на транспортном уровне и аутентификацию, что критично для промышленной безопасности.

Библиотека для Android/Kotlin — Eclipse Milo через JVM-слой, или Eclipse4J. Для Flutter — нет официальной OPC UA библиотеки, используем Platform Channels к нативному клиенту или REST-шлюз:

// Android, Eclipse Milo OPC UA Client val client = OpcUaClient.create( "opc.tcp://scada-server.factory.local:4840", endpointFilter = { endpoints -> endpoints.filter { it.securityMode == MessageSecurityMode.SignAndEncrypt } .minByOrNull { it.securityPolicyUri } }, configConsumer = { configBuilder -> configBuilder.setIdentityProvider( UsernameProvider("operator", "password") ) configBuilder.setRequestTimeout(UInteger.valueOf(5000)) } ) client.connect().get() // Чтение тегов по NodeId val nodeId = NodeId(2, "Furnace1.Temperature") val dataValue = client.readValue(0.0, TimestampsToReturn.Both, nodeId).get() val temperature = (dataValue.value.value as Float).toDouble() val serverTimestamp = dataValue.serverTime 

Для просмотра нескольких сотен тегов одновременно — подписка через OPC UA Subscription вместо polling:

val subscription = client.subscriptionManager .createSubscription(1000.0) // publishing interval 1000ms .get() val monitoredItems = nodeIds.map { nodeId -> MonitoredItemCreateRequest( ReadValueId(nodeId, AttributeId.Value.uid(), null, null), MonitoringMode.Reporting, MonitoringParameters( UInteger.valueOf(clientHandleCounter++), 500.0, // sampling interval null, UInteger.valueOf(10), // queue size true ) ) } subscription.createMonitoredItems( TimestampsToReturn.Both, monitoredItems, { item, value -> handleTagUpdate(item.readValueId.nodeId, value) } ).get() 
Протокол Задержка обновления Безопасность Совместимость
OPC UA <50 мс (подписка) Шифрование + аутентификация Почти все современные SCADA
REST API 200–500 мс Зависит от реализации Только системы с REST модулем

Ignition SCADA: как получить данные через REST API?

Ignition (Inductive Automation) популярен на новых производствах. В нём есть WebDev модуль, который позволяет создавать REST endpoints прямо из Ignition Python scripts. Более современный путь — Ignition Perspective с WebSocket API для мобильных клиентов.

Для прямого REST доступа к тегам через Ignition Gateway REST API:

GET https://ignition.factory.com/system/webdev/api/tags?tagPaths= Furnaces/Furnace1/Temperature, Furnaces/Furnace1/Pressure Authorization: Bearer {token} 

Ignition отдаёт значения тегов с quality (Good, Bad, Uncertain) и timestamp. Quality — важный параметр: если датчик потерял связь, значение может быть устаревшим с quality = Bad, а UI должен это показать.

WinCC REST API через OpenPCS

WinCC (Siemens) — через REST API OpenPCS или через WinCC OA WebClient. Siemens TIA Portal поддерживает WinCC Unified, который имеет собственный WebSocket API через nginx-прокси. Для старых WinCC Classic — только OPC DA (DCOM) или OPC UA с установкой шлюза Matrikon/Kepware на сервере SCADA.

Как реализовать исторические тренды?

SCADA хранит историю тегов во встроенной БД (Ignition — MySQL/MSSQL, WinCC — SIMATIC historian). Запрос через OPC UA Historical Data Access (HDA):

val historyReadRequest = HistoryReadValueId( nodeId = NodeId(2, "Furnace1.Temperature"), indexRange = null, dataEncoding = null ) val readDetails = ReadRawModifiedDetails( isReadModified = false, startTime = startDateTime.toOpcDateTime(), endTime = endDateTime.toOpcDateTime(), numValuesPerNode = UInteger.valueOf(500), isReturnBounds = true ) val historyData = client.historyRead( readDetails, TimestampsToReturn.Source, false, listOf(historyReadRequest) ).get() 

Для отображения трендов в Flutter — fl_chart с LineChart. При 500+ точках используем showingTooltipIndicators только для выбранного диапазона, иначе chart тормозит при скролле.

Как обеспечить безопасность доступа к SCADA-данным?

SCADA-данные — чувствительная информация. Несколько обязательных мер:

  • Мобильное приложение никогда не должно иметь прямой доступ к OPC UA серверу из интернета. Только через VPN или обратный прокси с mTLS.
  • Авторизация через корпоративный IdP (Active Directory / LDAP).
  • Только чтение: роль «mobile viewer» без прав на запись тегов.
  • Сессионные логи: кто читал какие теги и когда.

Что входит в работу?

  • Анализ SCADA-системы и выбор оптимального протокола (OPC UA, REST, WebSocket).
  • Настройка шлюза безопасности (VPN, mTLS).
  • Разработка мобильного приложения под iOS или Android (Kotlin/Swift/Flutter).
  • Интеграция real-time дашбордов и исторических трендов.
  • Тестирование на производственных данных.
  • Документация по эксплуатации.
  • Обучение операторов.
  • Поддержка в течение 1 месяца.

Разработка мобильного SCADA-вьювера с OPC UA и историческими трендами: 4-6 недель для одной платформы. Поддержка нескольких SCADA-систем одновременно и сложные дашборды с real-time чартами — 2-3 месяца. Стоимость рассчитывается индивидуально.

Свяжитесь с нами для оценки вашего проекта. Получите консультацию по интеграции SCADA-данных в мобильное приложение. Наш опыт и гарантия качества — основа надёжного решения.