В 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
(matlabroot
/help/toolbox/autosar/examplescd
к папке) к рабочей папке.
Смоделируйте интерполяционную таблицу 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
(matlabroot
/help/toolbox/autosar/examplescd
к папке) к рабочей папке.
В этом примере, чтобы смоделировать интерполяционную таблицу AUTOSAR в настройке COM_AXIS, вы соединяете AUTOSAR Blockset блоки Prelookup с блоки Map Using Prelookup или Curve Using Prelookup.
Сконфигурируйте блоки Prelookup.
В сопоставленной модели компонента программного обеспечения AUTOSAR добавьте один или несколько AUTOSAR Blockset блоки Prelookup. Этот пример добавляет один блок 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
.
Сконфигурируйте блоки Map Using Prelookup и Curve Using Prelookup.
В модели добавьте один или несколько AUTOSAR Blockset блоки Map Using Prelookup или Curve Using Prelookup. Каждый блок сразу следует за блоком 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 как переменная отдельного массива. Если табличный размер является настраиваемым, каждый вектор точки останова появляется как структура. Структура содержит поле, чтобы хранить данные о точке останова и, опционально, поле, чтобы сохранить длину вектора. Второе поле позволяет вам настроить эффективный размер таблицы. Если табличный размер не является настраиваемым, каждый вектор точки останова появляется как массив.
Соедините Prelookup, Curve Using Prelookup и блоки Map Using Prelookup.
Добавьте рабочие точки AUTOSAR в интерполяционные таблицы. Соедините импорт корневого уровня в блоки Prelookup. В качестве альтернативы сконфигурируйте входные сигналы с блоками Prelookup со статической глобальной памятью.
Соедините выходные порты с блоками Map Using Prelookup и Curve Using Prelookup.
Соедините каждый блок Prelookup с его совпадающим блоком Curve Using Prelookup или Map Using Prelookup.
В перспективе кода AUTOSAR используйте редактор Отображений Кода, чтобы сопоставить Simulink.LookupTable
и Simulink.Breakpoint
объекты к внутренним калибровочным параметрам AUTOSAR. Во вкладке Parameters выберите каждый Simulink.LookupTable
и Simulink.Breakpoint
возразите, что вы создали. Сопоставьте каждый объект с типом параметра AUTOSAR ConstantMemory
, SharedParameter
, или Auto
. Чтобы принять программное обеспечение, сопоставляющее значения по умолчанию, задайте Auto
.
В этом примере COM_AXIS устанавливают точки останова объект Bp_4_single
и объект Lcom_4_single
интерполяционной таблицы сопоставлены с
SharedParameter
AUTOSARs. Все экземпляры компонента программного обеспечения 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 (данные об оси). Типы данных имеют калибровочные свойства данных, которые вы сконфигурировали.
Curve | Curve Using Prelookup | getParameter
| Map | Map Using Prelookup | mapParameter
| Prelookup | Simulink.Breakpoint
| Simulink.LookupTable