Создание и управление распределениями

В этом примере показано, как создавать и управлять распределениями System Composer™. Используйте выделения, чтобы установить ориентированное отношение от элементов архитектуры (компонентов, портов и коннекторов) в одной модели к элементам архитектуры в другой модели. Одним из распространенных вариантов использования выделений является установление отношений между программными компонентами и аппаратными компонентами для указания стратегии развертывания.

Этот пример использует проект системы контроля давления в шинах (TPMS). Чтобы открыть проект, используйте эту команду:

scExampleTirePressureMonitorSystem

Создайте новый набор соотнесений

Набор распределения можно создать с помощью редактора распределения. Набор распределения является набором отношений распределения между двумя моделями: исходной моделью и целевой моделью. Набор распределения хранится как .mldatx файл.

В этом примере TPMS_FunctionalArchitecture.slx является исходной моделью и TPMS_LogicalArchitecture.slx является целевой моделью.

Чтобы создать набор выделений для этих моделей, используйте эту команду.

allocSet = systemcomposer.allocation.createAllocationSet(...
    'Functional2Logical', ...% Name of the allocation set
    'TPMS_FunctionalArchitecture', ... % Source model
    'TPMS_LogicalArchitecture' ... % Target model
     );

Чтобы увидеть набор выделений, откройте Редактор выделений с помощью следующей команды.

systemcomposer.allocation.editor;

Редактор распределения состоит из трех частей: панели инструментов, браузера и матрицы распределения.

  • Используйте панель инструментов для создания наборов ассигнований и управления ими. Например, можно использовать кнопку Новый набор распределения (New Allocation Set), чтобы создать новый набор распределения между двумя моделями.

  • Используйте панель Браузер набора выделений, чтобы просмотреть и открыть существующие наборы выделений.

  • Используйте матрицу распределения, чтобы задать распределения между элементами исходной модели в первом столбце и элементами целевой модели в первой строке. Присвоения можно создать программно или двойным щелчком мыши по камере в матрице.

Создайте распределения между двумя моделями

В этом примере показано, как программно создать распределения между двумя моделями в проекте TPMS.

Получите указатели на функции отчетов в модели функциональной архитектуры.

functionalArch = systemcomposer.loadModel('TPMS_FunctionalArchitecture'); 
reportLevels = functionalArch.lookup('Path', 'TPMS_FunctionalArchitecture/Report Tire Pressure Levels'); 
reportLow = functionalArch.lookup('Path', 'TPMS_FunctionalArchitecture/Report Low Tire Pressure');

Получите указатель на компонент системы отчетов TPMS в модели логической архитектуры.

logicalArch = systemcomposer.loadModel('TPMS_LogicalArchitecture');
reportingSystem = logicalArch.lookup('Path', 'TPMS_LogicalArchitecture/TPMS Reporting System');

Создайте распределения в созданном сценарии по умолчанию.\

defaultScenario = allocSet.getScenario('Scenario 1');
defaultScenario.allocate(reportLevels, reportingSystem);
defaultScenario.allocate(reportLow, reportingSystem);

Сохраните набор присвоений.

allocSet.save;

При необходимости можно удалить распределение между сообщениями о низком давлении в шинах и системой отчетности.

defaultScenario.deallocate(reportLow, reportingSystem);

См. также

| | | |

Похожие темы