Skip to main content

Сервисы платформы Стрикс

Стрикс включает набор микросервисов, каждый из которых решает отдельную задачу: расчёт OEE, мониторинг аварий, накопление наработки, запись телеметрии и др.

Все вычислительные сервисы следуют единому паттерну: stateless Python-процесс, который читает и пишет данные только через BaSyx REST API. Конфигурация хранится в submodel-ах BaSyx.

Каталог сервисов

Вычислительные сервисы

СервисОписаниеВходВыходИнтервалСтатус
OEEРасчёт OEEOperationalData, OperationalModesOEE60sProduction
ЭнергопотреблениеРасчёт потребления электроэнергииOperationalDataEnergyConsumption60sProduction
АварииПороговый мониторинг телеметрииOperationalData, AlarmConfigAlarmHistory30sProduction
НаработкаНакопление моточасовOEE (CurrentMode)Runtime60sProduction
MTBF/MTTRПоказатели надёжностиAlarmHistoryReliabilityMetrics300sProduction
Качество данныхОценка качества телеметрииOperationalData + ClickHouseDataQuality300sProduction

Инфраструктурные сервисы

СервисОписаниеВходВыходИнтервалСтатус
МониторингЗдоровье всех сервисовSystemHealth30sProduction
ЭмуляторГенерация тестовых сигналовEmulationConfigMQTT1sProduction
Data BridgeMQTT → BaSyx (IDTA 02027)InterfaceMappingOperationalDataeventProduction
Telemetry WriterMQTT → ClickHouseTelemetryConfigClickHouse5sProduction
Retention CleanupОчистка по ретенцииStoragePolicyClickHouse DELETE1hProduction

AI и аналитика

СервисОписаниеСтатус
ДиагностикаСпектральный анализ и вибродиагностикаProduction
Doc ParserAI-извлечение данных из документовBeta
RAG IndexСемантический поиск по AAS-даннымBeta
API GatewayJWT-аутентификация и маршрутизацияBeta

APC (усовершенствованное управление)

СервисОписаниеСтатус
APC ControllerMPC-контроллер (Gekko)Beta
APC SimulatorСимулятор SAG-мельницыBeta

Архитектура

Каждый вычислительный сервис следует паттерну:

main.py → Service.run() → while True:
_discover() # найти shells с нужными submodel refs
_process_device() # для каждого устройства:
ensure output submodel (upsert + addSubmodelRef)
read input data
compute
write results
sleep(interval)

Сервисы не имеют собственной базы данных — BaSyx является единственным источником истины.

Деплой

Все сервисы деплоятся через docker compose на сервере Leibniz (188.124.37.185):

# Пересобрать и запустить все сервисы
docker compose build && docker compose up -d

# Пересобрать один сервис
docker compose build oee-service && docker compose up -d oee-service

# Логи
docker compose logs -f oee-service