Справочники модели¶
Раздел содержит единые определения справочников и классификаторов, которые используются сразу в нескольких слоях модели. В остальных разделах документа эти значения не описываются повторно: поля форм ссылаются на соответствующий подраздел здесь.
Реестры номенклатурных позиций, шаблонов операций, процессов и агентов в этот раздел не входят: это самостоятельные сущности проекта, а не классификаторы их типов.
Справочники разделяются по режиму управления:
- системные фиксированные - состав кодов задается системой, пользователь только выбирает значение;
- системные настраиваемые - правила поддерживаются администратором модели или поставкой конфигурации;
- проектные расширяемые - пользователь проекта может добавлять записи, не изменяя системные классификаторы.
3.1. Реестр справочников¶
| Справочник | Режим управления | Основные поля-потребители |
|---|---|---|
| Типы номенклатуры | Системный фиксированный | products[].productType |
| Категории операций | Системный фиксированный | operationTypes[].categoryCode |
| Типы процессов | Системный фиксированный | processGraphs[].processType |
| Типы узлов процесса | Системный фиксированный | processGraphs[].nodes[].nodeType |
| Типы переходов процесса | Системный фиксированный | processGraphs[].edges[].edgeType |
| Виды capability | Системный фиксированный | agentCapabilities[].kind, требования исполнителей |
| Типы объектов ЦД | Системный настраиваемый | digitalTwin.objects[].objectType, политика создания agents[] |
| Типы операций | Проектный расширяемый | operationTemplates[].operationTypeId, спецификации и экземпляры capability, профили выполнения |
| Архетипы агентов | Проектный расширяемый | agents[].archetypeId |
3.2. Справочник типов номенклатуры¶
Тип номенклатуры является фиксированным системным классификатором. Пользователь не создает новые типы номенклатуры.
| Код | Название в UI | Назначение |
|---|---|---|
MATERIAL |
Материал | Сырье и основные материалы |
CONSUMABLE |
Расходник | Расходные материалы и технологические среды |
SEMI_FINISHED |
Полуфабрикат | Заготовки, детали, промежуточные состояния продукта |
FINISHED_GOOD |
Готовое изделие | Конечная продукция |
PACKAGING |
Тара и упаковка | Тара, если учитывается, списывается или возвращается |
WASTE |
Отходы и брак | Брак, отходы, побочные выходы |
Правило: станок, склад, буфер, оператор, погрузчик, оснастка с собственной занятостью не являются номенклатурой.
3.3. Справочник категорий операций¶
Категория операции является фиксированным системным классификатором. Пользователь не создает новые категории операций.
Модель данных: operationTypes[].categoryCode. В шаблоне категория отображается как вычисляемое readonly-поле по выбранному operationTypeId.
| Код | Название в UI | Смысл |
|---|---|---|
PRODUCTION |
Производство | Преобразование материалов и полуфабрикатов в новый продукт, состояние или узел изделия |
LOGISTICS |
Логистика | Операции материального потока: приемка, отбор, размещение, погрузка, разгрузка, перемещение продукта, перепаковка |
QUALITY_CONTROL |
Контроль качества | Проверка, измерение, испытание, сортировка результата по качеству |
SERVICE |
Сервисные операции | ТО, ремонт, диагностика, наладка, восстановление работоспособности агента или объекта |
MOVEMENT_ACCESS |
Перемещение и доступ | Проход агента через дверь, ворота, лифт, переход или маршрут без обязательного движения номенклатуры |
Категория не задает структурную совместимость с агентом. Допустимые виды capability определяются правилами ролей конкретного типа операции.
Примечание по совместимости: в legacy-описаниях встречается категория PACKAGING, но в целевой модели она не является верхнеуровневой категорией. Упаковка и переупаковка являются типами операций внутри LOGISTICS или PRODUCTION, в зависимости от того, меняется ли продукт или только логистическая единица хранения.
Если в текущих данных движка используется код QUALITY, UI должен отображать его как QUALITY_CONTROL и сохранять обратный маппинг на уровне адаптера данных до унификации enum.
3.4. Справочник типов процессов¶
Тип процесса является фиксированным системным классификатором для processGraphs[].processType.
| Код | Название | Назначение |
|---|---|---|
PRODUCTION |
Производственный | Выпуск продукта или полуфабриката |
LOGISTICS |
Логистический | Материальный поток между хранителями и исполнителями |
WAREHOUSE |
Складской | Прием, размещение, хранение, отбор, выдача |
QUALITY_CONTROL |
Контрольный | Контроль, испытания, ветвление по качеству |
SERVICE |
Сервисный | ТО, ремонт, диагностика, наладка |
SUPPLY |
Поставка | Внешний вход материального потока |
SHIPMENT |
Отгрузка | Внешний выход материального потока |
3.5. Справочник типов узлов процесса¶
Тип узла является фиксированным системным классификатором для processGraphs[].nodes[].nodeType.
| Код | Название |
|---|---|
START |
Старт |
OPERATION |
Операция |
DECISION |
Условный выбор |
SPLIT |
Разделение |
MERGE |
Слияние |
WAIT |
Ожидание |
END |
Завершение |
3.6. Справочник типов переходов процесса¶
Тип перехода является фиксированным системным классификатором для processGraphs[].edges[].edgeType.
| Код | Название |
|---|---|
SEQUENCE |
Последовательность |
CONDITION |
Условный переход |
PARALLEL |
Параллельная ветка |
RETURN |
Возврат |
SYNCHRONIZATION |
Синхронизация |
3.7. Справочник видов capability¶
Вид capability является фиксированным системным классификатором для agentCapabilities[].kind и требований к исполнителям операций.
| Код | Название | Примеры категорий применения, не правило совместимости |
|---|---|---|
PRODUCTION |
Производство | PRODUCTION, иногда QUALITY_CONTROL |
STORAGE |
Хранение | LOGISTICS |
TRANSPORT |
Транспорт | LOGISTICS, MOVEMENT_ACCESS |
TRANSFER |
Передача | LOGISTICS, MOVEMENT_ACCESS |
ACCESS_CONTROL |
Доступ | MOVEMENT_ACCESS |
LABOR |
Труд | Все категории как supporting capability |
TOOLING |
Оснастка | PRODUCTION, QUALITY_CONTROL, SERVICE |
SERVICE |
Сервис | SERVICE, QUALITY_CONTROL |
PACKAGING |
Упаковка | LOGISTICS, иногда PRODUCTION |
Эта колонка используется только как пояснение для пользователя. Структурный допуск задается в operationTypes[].executorRoleRules[] и спецификациях capability архетипов.
3.8. Справочник типов объектов ЦД¶
Справочник определяет физический смысл, представление в редакторе и политику агентности объекта. Он не назначает точный архетип и не содержит capability.
Модель данных: objectTypeDefinitions[].
| Поле | Обязательность | Смысл |
|---|---|---|
| Код | Да | Стабильный objectType, например ROOM, EQUIPMENT, STORAGE_AREA |
| Наименование | Да | Название типа в UI |
| Группа редактора | Да | Пространство, оборудование, хранение, транспорт, доступ и т.п. |
| Допустимая геометрия | Да | Точка, линия, полигон, прямоугольник |
| Политика агентности | Да | NEVER, OPTIONAL или REQUIRED |
| Активность | Да | Можно ли создавать новые объекты этого типа |
| Группа объектов | Примеры | Типовая политика |
|---|---|---|
| Пространственная структура | площадка, этаж, помещение, зона, стена | NEVER |
| Производственные объекты | станок, рабочее место, линия, стенд | REQUIRED |
| Хранение | склад, буфер, накопитель | REQUIRED |
| Транспортные исполнители | погрузчик, кран, AGV | REQUIRED |
| Трудовые исполнители | оператор, бригада, контролер | REQUIRED |
| Стационарные объекты потока | конвейер, транспортер | REQUIRED |
| Пункты передачи | рампа, причал, грузовой пункт | OPTIONAL или REQUIRED |
| Доступ и переходы | дверь, ворота, лифт, переход | OPTIONAL |
| Сервисные посты | пост ТО, ремонтная зона, пост контроля | REQUIRED |
| Маршруты | транспортный маршрут, пешеходный маршрут | NEVER |
Совместимые с типом объекта архетипы находятся фильтрацией agentArchetypes[].compatibleObjectTypes[]. Полная логика приведена в описании соответствия типов.
3.9. Справочник типов операций¶
Тип операции является главным проектным справочником для связки "шаблон операции - capability агента - профиль выполнения".
Пользователь может расширять справочник типов операций на уровне проекта, но каждый тип операции обязан принадлежать одной из системных категорий операций.
Модель данных:
operationTemplates[].operationTypeId;agentArchetypes[].capabilitySpecifications[].allowedOperationTypeIds[];agentCapabilities[].operationTypeIds[];executionProfileDefinitions[].operationTypeIds[];capability_requirement.requiredOperationTypeId.
Атрибуты типа операции¶
| Поле UI | Обязательность | Тип UI | Смысл |
|---|---|---|---|
| ID / код | Да | readonly / text при создании | Стабильный идентификатор, например MILLING, MOVE_MATERIAL |
| Наименование | Да | text | Название для пользователя |
| Категория | Да | select | categoryCode из справочника категорий операций |
| Описание | Нет | textarea | Предметное пояснение |
| Правила ролей исполнителей | Да | table | executorRoleRules[]: роль, обязательность по умолчанию и допустимые capabilityKind |
| Схема параметров операции | Нет | schema editor | operationParameterSchema для operationParameters |
| Схема параметров выполнения | Нет | schema editor | executionParameterSchema для профиля агента |
| Активность | Да | toggle | Можно ли использовать в новых шаблонах |
Строка executorRoleRules[] содержит:
| Поле | Обязательность | Смысл |
|---|---|---|
| Роль | Да | PRIMARY_EXECUTOR, OPERATOR, TOOL, CUSTODIAN и т.п. |
| Допустимые виды capability | Да | allowedCapabilityKinds[] из системного справочника |
| Обязательность по умолчанию | Да | Создавать ли требование роли в новом шаблоне |
Тип операции не хранит допустимые типы объектов ЦД или архетипы. Эта зависимость разрешается через спецификации capability архетипов.
Стартовый набор типов операций¶
| Код | Категория | Название | Допустимые capability роли PRIMARY_EXECUTOR |
|---|---|---|---|
PROCESS |
PRODUCTION |
Обработка / преобразование | PRODUCTION |
ASSEMBLE |
PRODUCTION |
Сборка | PRODUCTION |
CUTTING |
PRODUCTION |
Резка / раскрой | PRODUCTION |
MILLING |
PRODUCTION |
Фрезерование | PRODUCTION |
DRILLING |
PRODUCTION |
Сверление | PRODUCTION |
WELDING |
PRODUCTION |
Сварка | PRODUCTION |
PAINTING |
PRODUCTION |
Покраска / покрытие | PRODUCTION |
PACK |
LOGISTICS |
Упаковка | PACKAGING или LABOR |
REPACK |
LOGISTICS |
Переупаковка | PACKAGING или LABOR |
STORE |
LOGISTICS |
Размещение на хранение | STORAGE |
PICK |
LOGISTICS |
Отбор со склада или буфера | STORAGE |
MOVE_MATERIAL |
LOGISTICS |
Перемещение материала или партии | TRANSPORT |
LOAD |
LOGISTICS |
Погрузка | TRANSFER или TRANSPORT |
UNLOAD |
LOGISTICS |
Разгрузка | TRANSFER или TRANSPORT |
RECEIVE |
LOGISTICS |
Приемка | TRANSFER или STORAGE |
SHIP |
LOGISTICS |
Отгрузка | TRANSFER или STORAGE |
INVENTORY_RESERVATION |
LOGISTICS |
Резервирование запаса | STORAGE |
INSPECT |
QUALITY_CONTROL |
Контроль качества | LABOR или SERVICE |
TEST |
QUALITY_CONTROL |
Испытание | PRODUCTION или SERVICE |
SORT_BY_QUALITY |
QUALITY_CONTROL |
Сортировка по качеству | LABOR |
MAINTAIN |
SERVICE |
Техническое обслуживание | SERVICE |
REPAIR |
SERVICE |
Ремонт | SERVICE |
SETUP |
SERVICE |
Наладка / переналадка | LABOR или SERVICE |
PASS_THROUGH_DOOR |
MOVEMENT_ACCESS |
Проход через дверь или проем | ACCESS_CONTROL |
PASS_THROUGH_GATE |
MOVEMENT_ACCESS |
Проезд через ворота | ACCESS_CONTROL |
ELEVATOR_TRANSFER |
MOVEMENT_ACCESS |
Перемещение через лифт | ACCESS_CONTROL или TRANSPORT |
WALK_ROUTE |
MOVEMENT_ACCESS |
Перемещение человека по маршруту | LABOR |
VEHICLE_ROUTE |
MOVEMENT_ACCESS |
Перемещение транспорта по маршруту | TRANSPORT |
Правило: categoryCode типа операции отвечает за крупную классификацию и фильтры UI, а operationTypeId шаблона участвует в сопоставлении со спецификациями capability и профилями выполнения.
3.10. Справочник архетипов агентов¶
Архетип является проектным справочником специализации, жизненного цикла и допустимых способностей агента. Он не дублирует тип объекта ЦД.
Модель данных: agentArchetypes[].
| Поле UI | Модель данных | Назначение |
|---|---|---|
| Наименование | name |
Модель станка, тип склада, роль оператора |
| Природа | nature |
EQUIPMENT, HUMAN, TOOLING, STORAGE_SYSTEM, INFRASTRUCTURE, SOFTWARE |
| Совместимые типы объектов | compatibleObjectTypes[] |
Типы ЦД, для которых можно выбрать архетип |
| Спецификации capability | capabilitySpecifications[] |
Типовой набор способностей и допустимых типов операций |
| Типовая машина состояний | stateMachineId |
Жизненный цикл |
| Типовая политика | defaultBehaviorPolicyId |
Поведение по умолчанию |
| Типовые условия | defaultConditionSetIds |
Наследуемые ограничения |
Строка capabilitySpecifications[] содержит:
| Поле | Обязательность | Смысл |
|---|---|---|
| ID спецификации | Да | Стабильная ссылка для capability экземпляра |
| Вид capability | Да | kind из справочника видов capability |
| Допустимые типы операций | Да | allowedOperationTypeIds[] |
| Типовые параметры | Нет | defaultParameters |
| Политика переопределения | Да | instanceOverridePolicy: какие параметры и сужения разрешены экземпляру |
allowedCapabilityKinds отдельно не хранится: его значение однозначно выводится из capabilitySpecifications[].kind.
Связанные документы: Соответствие типов | Номенклатура | Шаблоны операций | Процессы | Агенты