В Simulink® можно реализовать стандартную ось (STD_AXIS) и общая ось (COM_AXIS) интерполяционные таблицы для приложений AUTOSAR. Приложения AUTOSAR могут использовать интерполяционные таблицы или в или в оба из двух путей:
Реализуйте быстрые поисковые операции.
Поддержите настройку приложения с измерением и инструментами калибровки.
К образцовым интерполяционным таблицам для автомобильной настройки приложения используйте классы Simulink.LookupTable
и Simulink.Breakpoint
. Путем создания Simulink.LookupTable
и объектов Simulink.Breakpoint
в рабочем пространстве модели, можно сохранить и совместно использовать интерполяционную таблицу и установить точки останова данные и сконфигурировать данные для генерации кода AUTOSAR.
Этот пример показывает, как создать интерполяционные таблицы STD_AXIS в Simulink, с помощью объектов Simulink.LookupTable
, и сконфигурировать интерполяционные таблицы для генерации кода AUTOSAR. Пример использует модель
.matlabroot/help/toolbox/autosar/examples/mAutosarLutObjs.slx
Смоделируйте интерполяционную таблицу AUTOSAR в настройке STD_AXIS.
В сопоставленной модели компонента программного обеспечения AUTOSAR добавьте блок AUTOSAR Blockset Curve или Map. Этот пример добавляет блок Curve.
Откройте блок Curve и сконфигурируйте его, чтобы сгенерировать стандартную программу от заменяющей библиотеки кода (CRL) AUTOSAR 4.0. Когда вы изменяете настройки блока, диалоговое окно блока обновляет имя целенаправленной стандартной программы AUTOSAR.
В диалоговом окне блока сделайте эти выборы:
Чтобы сгенерировать стандартную программу с плавающей точкой, выберите IFL (floating-point).
Во вкладке Table Specification, чтобы задать табличные данные с помощью объекта интерполяционной таблицы, устанавливают Data Specification на Lookup table object
.
В рабочем пространстве модели создайте объект Simulink.LookupTable
и сконфигурируйте его, чтобы хранить данные об интерполяционной таблице.
В диалоговом окне блока Curve, вкладке Table Specification, вводят имя объекта Simulink.LookupTable
в поле Name.
В диалоговом окне блока, вкладке Algorithm, устанавливает Integer Rounding Method на Zero
. Оставьте набор Interpolation Method Linear point-slope
и набор Index Search Method к Linear search
.
Табличные данные появляются в сгенерированном коде С AUTOSAR как поля одной структуры. Чтобы управлять характеристиками типа структуры, такими как его имя, используют свойства объекта.
Соедините блок Curve или Map.
Добавьте рабочие точки AUTOSAR в интерполяционные таблицы. Соедините импорт корневого уровня в блок Curve или Map. Также сконфигурируйте входной сигнал к блоку Curve или Map со статической глобальной памятью.
Соедините выходной порт с блоком Curve или Map.
В перспективе кода AUTOSAR используйте редактор Отображений Кода, чтобы сопоставить объекты Simulink.LookupTable
с внутренними калибровочными параметрами AUTOSAR. Во вкладке Parameters выберите каждый объект Simulink.LookupTable
, который вы создали. Сопоставьте каждый объект с типом параметра AUTOSAR ConstantMemory
, SharedParameter
или Auto
. Чтобы принять программное обеспечение, сопоставляющее значения по умолчанию, задайте Auto
.
В этом примере объект L_4_single
интерполяционной таблицы STD_AXIS сопоставлен с ConstantMemory
AUTOSAR.
Для каждого параметра, если вы выбираете тип параметра кроме Auto
, Property Inspector использования, чтобы просмотреть или изменить другой код и калибровочные атрибуты. Для получения дополнительной информации о свойствах параметра смотрите Параметры Рабочего пространства модели Карты к Внутренним Параметрам Компонента AUTOSAR.
Сконфигурируйте модель, чтобы сгенерировать код С на основе библиотеки AUTOSAR 4.0. Откройте диалоговое окно Configuration Parameters и выберите Code Generation> Interface. Установите параметр Code replacement library на AUTOSAR 4.0
. Для получения дополнительной информации смотрите Генерацию кода с Заменяющей Библиотекой Кода AUTOSAR.
Создайте модель. Сгенерированный код C содержит ожидаемый Ifl
и вызовы функции поиска Ifx
и вызовы функции доступа к данным Rte
. Например, можно искать отчет генерации кода HTML Ifl
или префикс стандартной программы Ifx
.
Сгенерированные файлы arxml
содержат типы данных категории CURVE (1D табличные данные) и MAP (2D табличные данные). Типы данных имеют калибровочные свойства данных, которые вы сконфигурировали.
Этот пример показывает, как создать интерполяционные таблицы COM_AXIS в Simulink, с помощью Simulink.LookupTable
и объектов Simulink.Breakpoint
, и сконфигурировать интерполяционные таблицы для генерации кода AUTOSAR. Пример использует модель
.matlabroot/help/toolbox/autosar/examples/mAutosarLutObjs.slx
В этом примере, чтобы смоделировать интерполяционную таблицу AUTOSAR в настройке COM_AXIS, вы соединяете блоки AUTOSAR Blockset Перед поиском с Кривой Используя Предварительный поиск или Картой Используя блоки Перед поиском.
Сконфигурируйте блоки Перед поиском.
В сопоставленной модели компонента программного обеспечения AUTOSAR добавьте один или несколько блоков AUTOSAR Blockset Перед поиском. Этот пример добавляет один блок Prelookup.
Откройте каждый блок и сконфигурируйте его, чтобы сгенерировать стандартную программу от заменяющей библиотеки кода (CRL) AUTOSAR 4.0. Когда вы изменяете настройки блока, блок обновляет имя целенаправленной стандартной программы AUTOSAR.
В диалоговом окне блока сделайте эти выборы:
Чтобы сгенерировать стандартную программу с плавающей точкой, выберите IFL (floating-point).
Во вкладке Table Specification, чтобы задать данные о точке останова с помощью объекта точки останова, устанавливают Breakpoints specification на Breakpoint object
.
Для каждого вектора точки останова, в рабочем пространстве модели, создают и конфигурируют объект Simulink.Breakpoint
.
В диалоговом окне блока Prelookup, вкладке Table Specification, вводят имя объекта Simulink.Breakpoint
в поле Name. Можно уменьшать потребление памяти путем совместного использования данных о точке останова между интерполяционными таблицами.
В диалоговом окне блока, вкладке Algorithm, устанавливает Integer Rounding Method на Zero
. Оставьте набор Index Search Method Linear search
.
Сконфигурируйте Кривую Используя Предварительный поиск и Карту Используя блоки Перед поиском.
В модели добавьте одну или несколько Кривых AUTOSAR Blockset Используя Предварительный поиск или Карты Используя блоки Перед поиском. Каждый блок сразу следует за блоком Prelookup, с которым он соединяется. Этот пример добавляет один блок Curve Using Prelookup.
Откройте каждый блок Curve Using Prelookup или Map Using Prelookup и сконфигурируйте его, чтобы сгенерировать стандартную программу от заменяющей библиотеки кода (CRL) AUTOSAR 4.0. Когда вы изменяете настройки блока, диалоговое окно блока обновляет имя целенаправленной стандартной программы AUTOSAR.
В диалоговом окне блока сделайте эти выборы:
Чтобы сгенерировать стандартную программу с плавающей точкой, выберите IFL (floating-point).
Во вкладке Table Specification, чтобы задать табличные данные с помощью объекта интерполяционной таблицы, устанавливают Data Specification на Lookup table object
.
Для каждого набора табличных данных, в рабочем пространстве модели, создают и конфигурируют объект Simulink.LookupTable
.
В каждом диалоговом окне блока Curve Using Prelookup или Map Using Prelookup, вкладке Table Specification, вводят имя объекта Simulink.LookupTable
в поле Name.
В диалоговом окне блока, вкладке Algorithm, устанавливает Integer Rounding Method на Zero
. Оставьте набор Interpolation Method Linear point-slope
.
Каждый набор табличных данных появляется в сгенерированном коде C как переменная отдельного массива. Если табличный размер является настраиваемым, каждый вектор точки останова появляется как структура. Структура содержит поле, чтобы хранить данные о точке останова и, опционально, поле, чтобы сохранить длину вектора. Второе поле позволяет вам настроить эффективный размер таблицы. Если табличный размер не является настраиваемым, каждый вектор точки останова появляется как массив.
Соедините Предварительный поиск, Кривую Используя Предварительный поиск и Карту Используя блоки Перед поиском.
Добавьте рабочие точки AUTOSAR в интерполяционные таблицы. Соедините импорт корневого уровня в блоки Перед поиском. Также сконфигурируйте входные сигналы к блокам Перед поиском со статической глобальной памятью.
Соедините выходные порты с Кривой Используя Предварительный поиск и Картой Используя блоки Перед поиском.
Соедините каждый блок Prelookup с его совпадающим блоком Curve Using Prelookup или Map Using Prelookup.
В перспективе кода AUTOSAR используйте редактор Отображений Кода, чтобы сопоставить Simulink.LookupTable
, и Simulink.Breakpoint
возражает против внутренних калибровочных параметров AUTOSAR. Во вкладке Parameters выберите каждый объект Simulink.LookupTable
и Simulink.Breakpoint
, который вы создали. Сопоставьте каждый объект с типом параметра AUTOSAR ConstantMemory
, SharedParameter
или Auto
. Чтобы принять программное обеспечение, сопоставляющее значения по умолчанию, задайте Auto
.
В этом примере объект Bp_4_single
точки останова COM_AXIS и объект Lcom_4_single
интерполяционной таблицы сопоставлены с SharedParameter
AUTOSAR s. Все экземпляры компонента программного обеспечения AUTOSAR совместно используют параметры COM_AXIS.
Для каждого параметра, если вы выбираете тип параметра кроме Auto
, Property Inspector использования, чтобы просмотреть или изменить другой код и калибровочные атрибуты. Для получения дополнительной информации о свойствах параметра смотрите Параметры Рабочего пространства модели Карты к Внутренним Параметрам Компонента AUTOSAR.
Сконфигурируйте модель, чтобы сгенерировать код С на основе библиотеки AUTOSAR 4.0. Откройте диалоговое окно Configuration Parameters и выберите Code Generation> Interface. Установите параметр Code replacement library на AUTOSAR 4.0
. Для получения дополнительной информации смотрите Генерацию кода с Заменяющей Библиотекой Кода AUTOSAR.
Создайте модель. Сгенерированный код C содержит ожидаемый Ifl
и вызовы функции поиска Ifx
и вызовы функции доступа к данным Rte
. Например, можно искать отчет генерации кода HTML Ifl
или префикс стандартной программы Ifx
.
Сгенерированные файлы arxml
содержат типы данных категории CURVE (1D табличные данные), MAP (2D табличные данные), и COM_AXIS (данные об оси). Типы данных имеют калибровочные свойства данных, которые вы сконфигурировали.
Кривая | Изогнитесь Используя предварительный поиск | Карта | Сопоставьте Используя предварительный поиск | Предварительный поиск | Simulink.Breakpoint
| Simulink.LookupTable
| getParameter
| mapParameter