exponenta event banner

mapFunction

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

Описание

пример

mapFunction(slMap,slEntryPointFunction,arRunnableName) отображает функцию начальной точки Simulink ®slEntryPointFunction в режим выполнения AUTOSAR arRunnableName.

пример

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'

Установить AUTOSAR SwAddrMethods для функции точки входа 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

Функция симулирования в конфигурации клиент-сервер'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 в разделе памяти. Список допустимых SwAddrMethod значения функции см. в редакторе «Сопоставления кодов» на вкладке «Функции точек входа». Дополнительные сведения см. в разделе Настройка метода SwAddrMethod.

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

Укажите SwAddrMethod имя, допустимое для внутренних данных AUTOSAR. При создании кода используется SwAddrMethod имя, чтобы сгруппировать выполняемые внутренние данные AUTOSAR в разделе памяти. Список допустимых SwAddrMethod значения внутренних данных см. в редакторе «Сопоставления кодов» на вкладке «Функции точек входа». Дополнительные сведения см. в разделе Настройка метода SwAddrMethod.

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

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

Представлен в R2013b