Сопоставьте функцию точки входа Simulink с способами запуска AUTOSAR и программным адресом
mapFunction( карты Simulink® функции точки входа slMap,slEntryPointFunction,arRunnableName)slEntryPointFunction в arRunnableName с возможностью выполнения AUTOSAR.
mapFunction( задает дополнительные свойства для выполняемой функции AUTOSAR при помощи одной или нескольких slMap,slEntryPointFunction,arRunnableName,Name,Value)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'SwAddrMethods для функции точки входа SimulinkУстановите значение 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'slMap - Информация о отображении Simulink to AUTOSAR для моделиОтображение Simulink и AUTOSAR для модели, ранее возвращенная . slMap = autosar.api.getSimulinkMapping (model) - указатель, вектор символов или строковый скаляр, представляющий имя модели.model
Пример: slMap
slEntryPointFunction - функция точки входа SimulinkФункция точки входа Simulink, для которой можно задать информацию отображения AUTOSAR. Формат значения основан на типе функции.
| Тип функции | Значение |
|---|---|
| Инициализировать | 'Initialize'. |
| Сброс | 'Сброс: , где - имя функции сброса в модели. |
| Конечный | 'Terminate'. |
| Однозадачный периодический | 'Periodic'. |
| Периодический (неявная задача) | 'Периодический: , где - соответствующая аннотация периода, отображаемая в легенде по времени. Для примера, 'Periodic:D1'. |
| Раздел (явная задача) | 'Разделение: , где - имя раздела, отображаемое в редакторе спецификаций. Для примера, 'Partition:P1'. |
| Экспортируемый |
|
| Функция Simulink в строении клиент-сервер | 'SimulinkFunction: , где - имя глобальной функции Simulink в модели. Для примера, 'SimulinkFunction:readData' в модели примера в Configure AUTOSAR Server. |
Пример: 'Periodic:D1'
arRunnableName - Имя выполняемого AUTOSARИмя выполняемого AUTOSAR, которому необходимо сопоставить указанный объект функции точки входа Simulink.
Пример: 'Runnable_2s'
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'SwAddrMethod','CODE' задает SwAddrMethod
CODE для выполняемой функции AUTOSAR.'SwAddrMethod' - Имя функции SwAddrMethodЗадайте SwAddrMethod имя, допустимое для функции AUTOSAR. Генерация кода использует SwAddrMethod имя для группы функций AUTOSAR, выполняемых в разделе памяти. Список допустимых SwAddrMethod значения функции см. в редакторе Отображения, Entry-Point Functions вкладке. Дополнительные сведения см. в разделе Настройка SwAddrMethod.
Пример: 'SwAddrMethod','CODE'
'SwAddrMethodForInternalData' - Имя внутренних SwAddrMethod данныхЗадайте SwAddrMethod имя, допустимое для внутренних данных AUTOSAR. Генерация кода использует SwAddrMethod имя для группы внутренних данных, выполняемых AUTOSAR, в разделе памяти. Список допустимых SwAddrMethod значения внутренних данных см. в редакторе Отображения, Entry-Point Functions вкладке. Дополнительные сведения см. в разделе Настройка SwAddrMethod.
Генерация кода для выполняемых внутренних SwAddrMethod данныхs требует установки опции строения модели Code Generation > Interface > Generate separate internal data per entry-point function (GroupInternalDataByFunction) к on.
Пример: 'SwAddrMethodForInternalData','VAR'
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.