mapFunction

Сопоставьте функцию точки входа Simulink с выполнимым AUTOSAR и методы адреса программного обеспечения

Описание

пример

mapFunction(slMap,slEntryPointFunction,arRunnableName) карты точка входа Simulink® функционируют slEntryPointFunction к выполнимому arRunnableName AUTOSAR.

пример

mapFunction(slMap,slEntryPointFunction,arRunnableName,Name,Value) задает дополнительные свойства для выполнимого AUTOSAR при помощи одного или нескольких Name,Value парные аргументы. Можно задать методы адреса программного обеспечения (SwAddrMethods) для выполнимого функционального кода и внутренних данных.

Примеры

свернуть все

Установите AUTOSAR отображение информации для функции точки входа Simulink в модели autosar_swc в качестве примера. Модель имеет инициализировать функцию с именем точки входа Runnable_Init и периодические функции с именем точки входа Runnable_1s и Runnable_2s.

hModel = 'autosar_swc';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);
slMap=autosar.api.getSimulinkMapping(hModel);
mapFunction(slMap,'Initialize','Runnable_Init');
arRunnableName=getFunction(slMap,'Initialize')
arRunnableName =
    'Runnable_Init'

Установите SwAddrMethod AUTOSARs для точки входа Simulink функционируют в модели autosar_swc_counter в качестве примера. Модель имеет однозадачную периодическую ступенчатую функцию точки входа.

hModel = 'autosar_swc_counter';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);

% Add SwAddrMethods myCODE and myVAR to the AUTOSAR component
arProps = autosar.api.getAUTOSARProperties(hModel);
addPackageableElement(arProps,'SwAddrMethod',...
    '/Company/Powertrain/DataTypes/SwAddrMethods','myCODE',...
    'SectionType','Code')
swAddrPaths = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',...
    'SectionType','Code')
addPackageableElement(arProps,'SwAddrMethod',...
    '/Company/Powertrain/DataTypes/SwAddrMethods','myVAR',...
    'SectionType','Var')
swAddrPaths = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',...
    'SectionType','Var')

% Set code generation parameter for runnable internal data SwAddrMethods
set_param(hModel,'GroupInternalDataByFunction','on')

% Map periodic function and internal data to myCODE and myVAR SwAddrMethods
slMap = autosar.api.getSimulinkMapping(hModel);
mapFunction(slMap,'Periodic','Runnable_Step',...
    'SwAddrMethod','myCODE','SwAddrMethodForInternalData','myVAR')

% Return AUTOSAR mapping information for periodic function
[arRunnableName,arRunnableSwAddrMethod,arInternalDataSwAddrMethod] = ...
    getFunction(slMap,'Periodic')
swAddrPaths =
  1×2 cell array
    {'/Company/Powertrain/DataTypes/SwAddrMethods/CODE'}
    {'/Company/Powertrain/DataTypes/SwAddrMethods/myCODE'}

swAddrPaths =
  1×2 cell array
    {'/Company/Powertrain/DataTypes/SwAddrMethods/VAR'}
    {'/Company/Powertrain/DataTypes/SwAddrMethods/myVAR'}

arRunnableName =
    'Runnable_Step'

arRunnableSwAddrMethod =
    'myCODE'

arInternalDataSwAddrMethod =
    'myVAR'

Входные параметры

свернуть все

Simulink к AUTOSAR отображение информации для модели, ранее возвращенной slMap = autosar.api.getSimulinkMapping (model). model указатель, вектор символов или строковый скаляр, представляющий имя модели.

Пример: slMap

Точка входа Simulink функционирует, для которого можно установить AUTOSAR отображение информации. Формат значения основан на функциональном типе.

Функциональный типЗначение
Инициализировать'Initialize'.
Сброс'Reset:slIdentifier', где slIdentifier имя функции сброса в модели.
Оконечный'Terminate'.
Периодическая однозадачность'Periodic'.
Периодический (неявная задача)'Periodic:slIdentifier', где slIdentifier соответствующая аннотация периода, как отображено в Легенде Синхронизации. Например, 'Periodic:D1'.
Раздел (явная задача)'Partition:slIdentifier', где slIdentifier имя раздела, как отображено в Редакторе Расписания. Например, 'Partition:P1'.
Экспортируемый

'ExportedFunction:slIdentifier', где slIdentifier имя блока Inport, который управляет портом управления подсистемы вызова функций. Например:

  • 'ExportedFunction:Trigger_1s' в модели autosar_swc_slfcns в качестве примера

  • 'ExportedFunction:FunctionTrigger' в модели autosar_swc_fcncalls в качестве примера

Функция Simulink в настройке клиент-сервер'SimulinkFunction:slIdentifier', где slIdentifier имя глобальной функции Simulink в модели. Например, 'SimulinkFunction:readData' в модели в качестве примера в Конфигурируют Сервер AUTOSAR.

Пример: 'Periodic:D1'

Имя AUTOSAR, выполнимого, с которым можно сопоставить заданный функциональный объект точки входа Simulink.

Пример: 'Runnable_2s'

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'SwAddrMethod','CODE' задает SwAddrMethod CODE для выполнимой функции AUTOSAR.

Задайте SwAddrMethod назовите, который допустим для функции AUTOSAR. Генерация кода использует SwAddrMethod назовите, чтобы сгруппировать выполнимые функции AUTOSAR в разделе memory. Для списка допустимого SwAddrMethod значения для функции, см. редактор Отображений Кода, вкладку Entry-Point Functions. Для получения дополнительной информации смотрите, Конфигурируют SwAddrMethod.

Пример: 'SwAddrMethod','CODE'

Задайте SwAddrMethod назовите, который допустим для внутренних данных AUTOSAR. Генерация кода использует SwAddrMethod назовите, чтобы сгруппировать выполнимые внутренние данные AUTOSAR в разделе memory. Для списка допустимого SwAddrMethod значения для внутренних данных, см. редактор Отображений Кода, вкладку Entry-Point Functions. Для получения дополнительной информации смотрите, Конфигурируют SwAddrMethod.

Генерация кода для выполнимых внутренних данных SwAddrMethods требует установки параметра конфигурации модели Code Generation> Interface> Generate separate internal data per entry-point function (GroupInternalDataByFunction) к on.

Пример: 'SwAddrMethodForInternalData','VAR'

Введенный в R2013b