Выполните обратные тесты для модели композиции AUTOSAR.
В этом примере демонстрируются функции тестового электрического жгута и рабочие процессы параллельного тестирования для модели композиции AUTOSAR. Переключитесь в каталог с разрешениями на запись.
В примере используется модель регулятора положения дросселя для автомобиля. Он тесно основан на примере поставляемого блока AUTOSAR. Дополнительные сведения см. в разделе Импорт композиции AUTOSAR в Simulink (блок AUTOSAR).
Модели композиции AUTOSAR содержат сеть взаимосвязанных блоков Model, каждый из которых представляет атомарный программный компонент AUTOSAR (ASWC). Композиция контроллера положения дросселя была создана авторским инструментом AUTOSAR (AAT) и импортирована в Simulink с помощью файла ARXML, описывающего композицию.
Модель композиции содержит шесть компонентных моделей, по одной для каждого атомарного программного компонента в композиции. Входы и выходы Simulink представляют порты AUTOSAR, а сигнальные линии - разъемы компонентов AUTOSAR.
mdl = 'sltestThrottlePositionControlCompositionExample.slx';
open_system(mdl);

Для модели был создан тестовый электрический жгут, который можно открыть с помощью элемента управления перспективой в правом нижнем углу полотна редактора. В качестве альтернативы используйте:
sltest.harness.open('sltestThrottlePositionControlCompositionExample',... 'BasicSchedulerTest');

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

Initialize устанавливает входное значение в номинальное значение и Run step моделирует команду устойчивого ускорения для 950 ms. Команда ускорения сбрасывается до номинального значения в Terminate шаг. Для тестируемого компонента требуются два дополнительных входа, которые фиксируют показания датчика положения первичного и вторичного дроссельных заслонок. Эти входные данные моделируются с использованием внешних входных временных рядов и непосредственно подаются через блок тестовой последовательности без изменений. Этот стиль моделирования полезен, когда некоторые входные данные стимула могут быть смоделированы, а другие доступны только в виде внешних данных.
Тестируемым компонентом является модель композиции AUTOSAR, в которой используется стиль моделирования «экспорт-функция». При создании тестового электрического жгута для модели export-function этот электрический жгут будет содержать блок тестовой последовательности, сконфигурированный для вызова каждого блока функции Simulink на корневом уровне и отправки триггерного события в каждую подсистему вызова функции в модели. Созданный блок тестовой последовательности можно использовать в качестве удобной отправной точки для моделирования планировщика.
В этом примере, поскольку данные входного сигнала также генерируются блоком источника тестовой последовательности, код для посылки триггерных событий объединяется в один блок тестовой последовательности и внедряется на каждом этапе после генерирования сигналов стимула. Порядок вызова событий триггера вычисляется с использованием скомпилированной информации из модели композиции.
send(TPS_Primary_Run_0005)
send(TPS_Secondary_Run_0005)
send(Monitor_Run_0005)
send(APPSnsr_Run_0005)
send(Controller_Run_0005)
send(Actuator_Run_0005)
Смоделировать модель для просмотра выходных данных команды дроссельной заслонки из тестируемого компонента.
sim('BasicSchedulerTest'); open_system('BasicSchedulerTest/Scope');

Менеджер тестирования может использоваться для блокировки моделирования и проверки эквивалентности в режиме программного обеспечения в цикле (SIL). Откройте тестовый файл и запустите тест эквивалентности.
close_system(mdl,0);
file_mldatx = 'sltestThrottlePositionControlTests.mldatx';
open(file_mldatx);
sltest.testmanager.run;
Тестовый пример проверяет поведение контроллера положения дроссельной заслонки ASWC с разомкнутым контуром в модели состава%. Первая часть теста эквивалентности запускает тестовый жгут, содержащий композицию в обычном режиме моделирования. Во второй части теста используется Post-Load обратный вызов для переключения контроллера положения дроссельной заслонки ASWC в режим программного обеспечения в цикле (SIL) с помощью Top model кодовый интерфейс. Результаты обоих моделирований показывают, что поведение эквивалентно.

clear sltestThrottlePositionControlData HBridgeCmd_LkupTbl ... SensorSelection SetpointPercent_LkupTbl TPSPrimaryPercent_LkupTbl... TPSSecondaryPercent_LkupTbl TPSPercent_LkupTbl tout logsout mdl file_mldatx; sltest.testmanager.clear; sltest.testmanager.clearResults; sltest.testmanager.close;