Мультипроектная поддержка

Платформа Стрикс позволяет управлять десятками промышленных объектов в единой системе. Каждый проект (завод, площадка, установка) изолирован через механизм IRI-пространств имён и управляется независимо.
Что такое проект
Проект в Стрикс -- это совокупность AAS-оболочек (shells) и субмоделей, объединённых общим IRI-прос транством имён (namespace). Один проект = одна производственная площадка.
| Компонент | Описание | Пример |
|---|---|---|
| IRI namespace | Корневой идентификатор проекта | https://polyus.com/nzif |
| Facility shell | Корневая AAS-оболочка предприятия | https://polyus.com/nzif/aas/facility/nzif |
| ProjectInfo | Субмодель с метаданными проекта | Название, контакты, ссылки |
| StoragePolicy | Субмодель с политикой хранения | Retention, throttling |
| Оборудование | AAS-оболочки area/group/equipment | Иерархия по parentId |
Все AAS-оболочки одного проекта имеют IRI, начинающийся с одного namespace. Например, для проекта НЗИФ все идентификаторы начинаются с https://polyus.com/nzif/.... Это позволяет платформе автоматически определять принадлежность оболочки к проекту.
Автоматическое обнаружение проектов
При загрузке данных из BaSyx платформа анализирует IRI всех AAS-оболочек и группирует их по пространствам имён. Обнаружение выполняется по регулярному выражению:
shell.id.match(/^(https?:\/\/.+?)\/(?:aas|sm|asset)\//)
Результат -- список уникальных namespace, каждый из которых становится проектом в интерфейсе. Никакой ручной настройки не требуется: загрузите данные в BaSyx -- проект появится автоматически.
Механизм фильтрации
Фильтрация реализована через Pinia-хранилища:
| Компонент | Назначение |
|---|---|
configStore.activeNamespace | Текущий выбранный namespace (persisted в localStorage) |
shellsStore.detectedProjects | Вычисляемое свойство: автообнаружение namespace из shell IDs |
shellsStore.filteredShells | Оболочки, отфильтрованные по activeNamespace |
submodelsStore.filteredSubmodels | Субмодели, отфильтрованные по activeNamespace |
Переключатель проектов
В боковой панели (sidebar) расположен выпадающий список проектов. При выборе проекта филь труются все представления: дашборд, дерево, таблица, диаграмма, SCADA-мнемосхемы.
Выбранный проект сохраняется в localStorage. При следующем входе пользователь сразу видит свой рабочий проект без необходимости повторного выбора.
ProjectInfo -- метаданные проекта
Субмодель ProjectInfo (семантический ID: https://liman-tech.ru/sm/ProjectInfo/1/0) размещается на facility-оболочке и содержит метаданные проекта.