Симулируйте и разверните программные архитектуры

В этом примере показано, как создать многокомпонентную модель программной архитектуры с основанным на уровне и экспортом функций компоненты, как симулировать ваш проект на уровне архитектуры, и как сгенерировать код.

Откройте модель программной архитектуры

Эта модель программной архитектуры имеет два компонента программного обеспечения: Export_Function и Rate_Based.

open_system('RateBasedExportFunctionSoftwareArchitectureModel')

В модели программной архитектуры, Export_Function компонент соединяется с моделью поведения экспорта функций Simulink®, export_model_software_architecture.

В этом поведении Simulink две функции моделируются с помощью блоков Подсистемы вызова функций. Блоки импорта соединяются с входными портами вызова функции и генерируют периодические события вызова функции с шагами расчета 10ms и 100ms. Чтобы изучить, как смоделировать это поведение, смотрите, Создают Модель Экспорта функций.

Если блоки импорта, которые соединяются с входными портами вызова функции с шагом расчета, заданным как-1, означая функции, являются апериодическими, используйте тестовую модель Simulink с явными блоками планирования, такими как диаграмма Stateflow, чтобы симулировать. Для получения дополнительной информации смотрите Тестовую Программную архитектуру.

Компонент Rate_Based соединяется с rate_based_model_software_architecture как модель поведения Simulink. Чтобы изучить, как создать эту основанную на уровне модель, смотрите, Создают Основанную на уровне Модель.

Симулируйте модель с порядком выполнения по умолчанию

Симулируйте модель. Заметьте, что Инспектор Данных моделирования отображает вывод от Основанного на уровне компонента.

Визуализируйте и отредактируйте функции компонента Используя редактор функций

Используйте Редактор Функций, чтобы отредактировать порядок выполнения симуляции функций в вашей программной архитектуре. Можно также отредактировать шаг расчета функций с наследованным шагом расчета (-1).

Редактор Функций отображается только, когда вы моделируете программные архитектуры. Чтобы открыть Редактор Функций, в панели инструментов на вкладке Modeling, выбирают Functions Editor.

Отредактировать функции в вашей программной архитектуре:

  1. Откройте Редактор Функций. Когда вы откроете Редактор Функций, модель автоматически обновится, и таблица покажет функции, заполненные из вашей модели.

  2. Если существуют изменения в модели программной архитектуры, кнопка Update Model становится желтой, чтобы сигнализировать, что обновление требуется, чтобы обновлять вашу таблицу функций.

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

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

  5. Чтобы заказать функции на основе их зависимостей по данным, выберите функции Порядка флажком зависимости. Чтобы позволить сортировать функций на основе зависимостей, можно установить этот параметр: set_param('RateBasedExportFunctionSoftwareArchitectureModel','OrderFunctionsByDependency','on'). Значением по умолчанию для параметра является off.

В качестве альтернативы можно использовать systemcomposer.arch.Function объект получить функции программно.

Протестируйте программную архитектуру

Можно протестировать модель программной архитектуры и симулировать различные порядки выполнения функций путем ссылки на нее от блока Model в тестовой модели Simulink с явными блоками планирования, такими как График Stateflow® (Stateflow).

В этом примере блок Model, который ссылается на модель программной архитектуры, имеет входной порт вызова функции для каждой функции в модели архитектуры.

Чтобы симулировать модель архитектуры с диаграммой Stateflow периодический планировщик, соедините вызов функции диаграммы Stateflow выходные параметры с входными параметрами вызова функции блока Model.

Разверните программную архитектуру

Можно сгенерировать код из модели программной архитектуры для функций экспорта функций и основанных на уровне компонентов.

Чтобы сгенерировать код, от вкладки Apps, выбирают Embedded Coder. На вкладке C Code выберите Generate Code. Сгенерированный код содержит точку входа для каждой функции компонента. Для получения дополнительной информации смотрите, Генерируют Код для Модели Экспорта функций.

Для компонента экспорта функций это сгенерировало две функции, которые соответствуют блокам импорта вызова функции в модели экспорта функций, на которую ссылаются.

Заметьте, что, каждый основанный на уровне компонент имеет отдельные функции точки входа, которые соответствуют каждому шагу расчета в основанной на уровне модели, на которую ссылаются.

Смотрите также

| | | |

Похожие темы