В Simulink®, для Классической Платформы, можно смоделировать приемник отправителя AUTOSAR (S-R), клиент-сервер (C-S), переключатель режима (M-S), энергонезависимые данные (NV), параметр, и инициировать коммуникацию.
Компоненты программного обеспечения AUTOSAR обеспечивают, четко определенные точки контакта вызвали порты. Существует три типа портов AUTOSAR:
Require
\in
Provide
Объединенный Provide-Require
(InOut — введенный в версии 4.1 схемы AUTOSAR)
Порты AUTOSAR могут сослаться на следующие виды интерфейсов:
Приемник отправителя
Клиент-сервер
Переключатель режима
Энергонезависимые данные
Параметр
Триггер
Следующий рисунок показывает компонент программного обеспечения AUTOSAR с четырьмя портами, представляющими порт и интерфейсные комбинации для Приемника Отправителя и интерфейсов Клиент-сервер.
Require
порт, который ссылается на интерфейс Mode-Switch, называется mode-receiver port.
В основанном на порте приемнике отправителя AUTOSAR (S-R) коммуникация, чтение компонентов программного обеспечения AUTOSAR и записывают данные к другим компонентам или сервисам. Чтобы реализовать коммуникацию S-R, компоненты программного обеспечения AUTOSAR задают:
Приемник отправителя AUTOSAR взаимодействует через интерфейс с элементами данных.
AUTOSAR обеспечивают и требуют портов, которые отправляют и получают данные.
В Simulink вы можете:
Создайте AUTOSAR S-R интерфейсы и порты при помощи Словаря AUTOSAR.
AUTOSAR модели обеспечивают и требуют портов при помощи выходных портов корневого уровня Simulink и импорта.
Сопоставьте выходные порты, и импортирует к AUTOSAR, обеспечивают и требуют портов при помощи редактора Отображений Кода.
Интерфейс Приемника Отправителя состоит из одного или нескольких элементов данных. Несмотря на то, что Require
, Provide
, или Provide-Require
порт может сослаться на Интерфейс Приемника Отправителя, компонент программного обеспечения AUTOSAR не обязательно получает доступ ко всем элементам данных. Например, рассмотрите следующую фигуру.
Компонент программного обеспечения AUTOSAR имеет Require
и Provide
порт, который ссылается на тот же Интерфейс Приемника Отправителя, Interface1
. Несмотря на то, что этот интерфейс содержит элементы данных DE1
, DE2
, DE3
, DE4
, и DE5
, компонент не использует все элементы данных.
Следующая фигура является примером того, как вы моделируете в Simulink, компонент программного обеспечения AUTOSAR, это получает доступ к элементам данных.
ASWC
элементы данных доступов DE1
и DE2
. Вы доступ к элементу данных модели можно следующим образом:
Для Require
порты, используйте импорт Simulink. Например, RPort1_DE1
и RPort1_DE2
.
Для Provide
порты, используйте выходные порты Simulink. Например, PPort1_DE1
и PPort1_DE2
.
Для Provide-Require
порты (схема 4.1 или выше), используйте импорт Simulink и пару выходного порта с соответствием с типом данных, размерностью и типом сигнала. Для получения дополнительной информации смотрите, Конфигурируют AUTOSAR, Обеспечивают - Требуют Порта.
ErrorStatus является значением, которое Среда выполнения AUTOSAR (RTE) возвращает, чтобы указать на ошибки, которые система связи обнаруживает для каждого элемента данных. Можно использовать импорт Simulink в ошибочное состояние модели, например, RPort1_DE1 (ErrorStatus)
.
Используйте Словарь AUTOSAR и редактор Отображений Кода, чтобы задать настройки AUTOSAR для каждого импорта и выходного порта. Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Sender-Receiver.
В поставленном в очередь приемнике отправителя AUTOSAR (S-R) коммуникация, чтение компонентов программного обеспечения AUTOSAR и запишите данные к другим компонентам или сервисам. Данные, отправленные компонентом программного обеспечения отправителя AUTOSAR, добавляются к очереди, предоставленной Средой выполнения AUTOSAR (RTE). Недавно полученные данные не перезаписывают существующие непрочитанные данные. Позже, компонент программного обеспечения приемника считывает данные из очереди.
Чтобы реализовать поставленную в очередь коммуникацию S-R, компоненты программного обеспечения AUTOSAR задают:
Приемник отправителя AUTOSAR взаимодействует через интерфейс с элементами данных.
AUTOSAR обеспечивают и требуют портов, которые отправляют и получают поставленные в очередь данные.
В Simulink вы можете:
Создайте поставленные в очередь интерфейсы S-R AUTOSAR и порты при помощи Словаря AUTOSAR.
AUTOSAR модели обеспечивают и требуют портов при помощи выходных портов корневого уровня Simulink и импорта.
Сопоставьте выходные порты, и импортирует к AUTOSAR, обеспечивают и требуют портов при помощи редактора Отображений Кода. Установите режимы доступа к данным AUTOSAR на QueuedExplicitSend
или QueuedExplicitReceive
.
К отправке модели и получению данные AUTOSAR с помощью очереди, используйте Simulink блоки Receive и Send. Если ваша коммуникационная реализация S-R с очередями включает состояния или требует логики решения, используйте графики Stateflow®. Можно обработать ошибки, которые происходят, когда очередь пуста или полна. Можно задать размер очереди. Для получения дополнительной информации смотрите, что Simulink передает Обзор.
Можно симулировать поставленный в очередь приемник отправителя AUTOSAR (S-R) связь между моделями компонента, например, в симуляции уровня состава. Отправители данных и приемники могут запуститься на различных уровнях. Несколько отправителей данных могут связаться с одним приемником данных.
Чтобы начать, можно импортировать компоненты с интерфейсами S-R с очередями и портами из файлов ARXML в Simulink, или использовать Simulink, чтобы создать интерфейсы и порты. Для получения дополнительной информации смотрите, Конфигурируют AUTOSAR Коммуникация Приемника Отправителя С очередями.
AUTOSAR позволяет связь клиент-сервер между:
Компоненты прикладного программного обеспечения
Компонент прикладного программного обеспечения и Basic Software
Интерфейс Клиент-сервер AUTOSAR задает взаимодействие между компонентом программного обеспечения, который обеспечивает интерфейс и компонент программного обеспечения, который требует интерфейса. Компонент, который обеспечивает интерфейс, является сервером. Компонент, который требует интерфейса, является клиентом.
К клиент-серверам модели AUTOSAR в Simulink, для симуляции и генерации кода:
К серверам модели AUTOSAR используйте блоки Simulink Function на корневом уровне модели.
К клиентским вызовам модели AUTOSAR используйте блоки Function Caller.
Используйте основанный на вызове функции стиль моделирования, чтобы создать соединенные функции Simulink, вызовы функции, и корневой импорт модели и выходные порты в верхнем уровне модели.
Эта схема иллюстрирует среду вызова функции, в которой Simulink Function блокирует сервер модели AUTOSAR runnables, клиентские вызовы модели AUTOSAR блоков Function Caller и модель AUTOSAR линий передачи данных Simulink межвыполнимые переменные (IRVs).
Высокоуровневый рабочий процесс для разработки клиент-серверов AUTOSAR в Simulink:
Функции сервера модели и вызывающая сторона блокируются в Simulink. Например, создайте блоки Simulink Function на корневом уровне модели с соответствующими блоками Function Caller, которые вызывают функции. Используйте комплект инструментальных средств Simulink, чтобы симулировать и разработать блоки.
В контексте модели, сконфигурированной для AUTOSAR, сопоставьте и сконфигурируйте функции Simulink к серверу AUTOSAR runnables. Подтвердите настройку, симулируйте и сгенерируйте C и код ARXML из модели.
В контексте другой модели, сконфигурированной для AUTOSAR, сопоставьте и сконфигурируйте функциональные блоки вызывающей стороны к клиентским портам AUTOSAR и операциям AUTOSAR. Подтвердите настройку, симулируйте и сгенерируйте C и код ARXML из модели.
Интегрируйте сгенерированный код C в среду тестирования для тестирования, например, с SIL симуляцией. (В конечном счете сгенерированный C и код ARXML интегрированы в Среду выполнения AUTOSAR (RTE).)
Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию Клиент-сервер AUTOSAR.
Переключатель режима AUTOSAR (M-S) коммуникация использует менеджера по режиму и соединенных пользователей режима. Менеджер по режиму является авторитетным источником для компонентов программного обеспечения, чтобы запросить текущий режим и получить уведомление, когда режим изменяется. Менеджеру по режиму может предоставить AUTOSAR Basic Software (BSW) или реализовать как компонент программного обеспечения AUTOSAR. Менеджер по режиму реализовал, как компонент программного обеспечения называется менеджером по режиму приложения. Компонент программного обеспечения, который запрашивает менеджера по режиму и получает уведомления об изменениях режима, является пользователем режима.
Смоделировать пользовательский компонент программного обеспечения режима AUTOSAR в Simulink:
Создайте интерфейс переключателя режима AUTOSAR.
Создайте порт приемника режима AUTOSAR и сопоставьте его с импортом Simulink.
Для инициализации или другого выполнимого AUTOSAR в модели, задайте событие переключателя режима, чтобы инициировать выполнимое.
Чтобы смоделировать порт приемника режима компонента программного обеспечения AUTOSAR, общие шаги могут включать:
Объявите группу объявления режима — группу значений режима — использование перечисления Simulink. Например, вы могли создать перечислимый тип mdgModes
, с перечисляемыми значениями MANUAL_ADJUST
и AUTO_ADJUST
. Задайте тип хранения как беззнаковое целое.
Simulink.defineIntEnumType('mdgModes', ... {'MANUAL_ADJUST', 'AUTO_ADJUST'}, ... [18 28], ... 'Description', 'Type definition of mdgModes.', ... 'HeaderFile', 'Rte_Type.h', ... 'DefaultValue', 'MANUAL_ADJUST', ... 'AddClassNameToEnumNames', false,... 'StorageType', 'uint16'... );
Примените тип данных перечисления к импорту Simulink, который представляет порт приемника режима AUTOSAR. В этом диалоговом окне блока Inport, перечислимый тип mdgModes
задан как тип данных импорта.
Чтобы задать отображение Simulink импортируют к порту приемника режима AUTOSAR, используют редактор Отображений Кода (или эквивалентные функции карты AUTOSAR).
В следующем примере, во вкладке Inports редактора Отображений Кода, импорт Simulink mode_receiver
сопоставлен с портом current_mode
приемника режима AUTOSAR и элемент AUTOSAR
mgMirrorAdjust
.
Задавать событие переключателя режима, чтобы инициировать инициализирование выполнимого или экспортировало выполнимые, общие шаги, может включать:
Чтобы отредактировать, добавьте, или удалите интерфейсы переключателя режима AUTOSAR и порты приемника режима, используйте Словарь AUTOSAR (или эквивалентные функции свойства AUTOSAR).
В вашей модели выберите или добавьте выполнимое, которое вы хотите, чтобы событие переключателя режима активировало.
В представлении Runnables Словаря AUTOSAR выберите выполнимое, которое вы хотите, чтобы событие переключателя режима активировало. Сконфигурируйте событие. В следующем примере событие переключателя режима добавляется для Runnable_Auto
, и сконфигурированный, чтобы активироваться на записи (по сравнению с на выходе или на переходе). Это сопоставлено с ранее сконфигурированным портом приемника режима и значением объявления режима, которое допустимо для выбранного порта.
Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.
Чтобы смоделировать менеджера по режиму приложения компонент программного обеспечения в Simulink, используйте порт отправителя режима AUTOSAR. Порты отправителя режима выводят переключатель режима к связанным пользовательским компонентам режима. Например, вот менеджер по режиму приложения, смоделированный в Simulink, который использует порт отправителя режима, чтобы вывести текущее значение EngineMode
.
Вы моделируете порт отправителя режима как корневой выходной порт модели, который сопоставлен с портом отправителя режима AUTOSAR и интерфейсом (M-S) переключателя режима. Тип данных выходного порта является классом перечисления с типом хранения беззнаковых целых чисел, представляя группу объявления режима AUTOSAR.
В Simulink вы можете:
Импортируйте коммуникационные элементы переключателя режима AUTOSAR из кода ARXML.
Программное обеспечение импортирует ModeSwitchPoints, ModeSwitchInterfaces и ModeDeclarationGroups.
Для каждого порта провайдера AUTOSAR, который ссылается на интерфейс M-S, средство импорта создает корневой выходной порт с ModeSend
доступ к данным и с классом перечисления группы объявления режима AUTOSAR.
Средство импорта сопоставляет выходной порт модели с портом отправителя режима AUTOSAR с интерфейсом M-S.
Создайте коммуникационные элементы переключателя режима AUTOSAR.
Создайте корневой выходной порт модели и установите тип данных выходного порта на класс перечисления, который представляет группу объявления режима AUTOSAR.
Создайте порт отправителя режима AUTOSAR со связанным интерфейсом M-S.
В редакторе Отображений Кода, набор режим доступа к данным выходного порта к ModeSend
, и сопоставьте выходной порт с портом отправителя режима AUTOSAR.
Сгенерируйте ARXML и код С для портов отправителя режима AUTOSAR и связанного AUTOSAR M-S коммуникационные элементы.
Код ARXML включает, сослался на ModeSwitchPoints, ModeSwitchInterfaces и ModeDeclarationGroups.
Код С включает Rte_Switch
Вызовы API, чтобы передать переключатели режима к другим компонентам программного обеспечения.
Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.
Стандарт AUTOSAR задает основанную на порте энергонезависимую передачу данных (NV), в которой компонент программного обеспечения AUTOSAR читает и записывает данные к энергонезависимым компонентам AUTOSAR. Чтобы реализовать передачу данных NV, компоненты программного обеспечения AUTOSAR задают, обеспечивают и требуют портов, которые отправляют и получают данные NV.
В Simulink вы можете:
Импортируйте интерфейсы данных AUTOSAR NV и порты из кода ARXML.
Создайте интерфейсы AUTOSAR NV и порты, и сопоставьте импорт Simulink и выходные порты к портам AUTOSAR NV.
Вы порты модели AUTOSAR NV с импортом Simulink и выходными портами, таким же образом описанными в Интерфейсе Приемника Отправителя.
Сгенерируйте C и код ARXML для интерфейсов данных AUTOSAR NV и портов.
Для получения дополнительной информации смотрите, Конфигурируют Энергонезависимую Передачу данных AUTOSAR.
Стандарт AUTOSAR задает основанные на порте параметры для коммуникации параметра. Коммуникация параметра AUTOSAR использует компонент программного обеспечения параметра (ParameterSwComponent
) и один или несколько атомарных компонентов программного обеспечения, которые требуют основанного на порте доступа к данным о параметре. ParameterSwComponent
представляет память, содержащую параметры AUTOSAR, и предоставляет данные о параметре связанным атомарным компонентам программного обеспечения.
В Simulink можно смоделировать фрагмент приемника основанной на порте коммуникации параметра AUTOSAR. В атомарном компоненте программного обеспечения AUTOSAR вы создаете интерфейс параметра с элементами данных и портом приемника параметра.
Для получения дополнительной информации смотрите, Конфигурируют Параметры порта AUTOSAR для Связи с Компонентом Параметра.
Стандарт AUTOSAR задает внешнюю триггерную коммуникацию события, в которой компонент программного обеспечения AUTOSAR или сервис сигнализируют, что внешний триггер произошел событие (ExternalTriggerOccurredEvent
) к другому компоненту. Компонент получения активирует выполнимое в ответ на событие.
В Simulink можно смоделировать фрагмент приемника внешней триггерной коммуникации события AUTOSAR. В компоненте, что вы хотите реагировать на внешний триггер, вы создаете триггерный интерфейс, триггерный порт приемника, чтобы получить ExternalTriggerOccurredEvent
, и выполнимое, которое активирует событие.
Для получения дополнительной информации смотрите, Конфигурируют Приемник для Внешней Триггерной Коммуникации События AUTOSAR.