В Simulink®можно смоделировать параметры калибровки AUTOSAR и интерполяционные таблицы, которые поддерживают настройку во время выполнения приложения AUTOSAR с помощью инструментов измерения и калибровки.
Параметром калибровки является значение в электронном модуле управления (ECU). Вы настраиваете или изменяете эти параметры с помощью инструмента управления калибровочными данными или автономного инструмента калибровки.
Стандарт AUTOSAR задает следующие типы параметров калибровки:
Параметры калибровки, которые относятся к калибровочному компоненту (ParameterSwComponent
), к которым могут получить доступ программные компоненты AUTOSAR.
Параметры внутренней калибровки, которые задает и получает доступ только один программный компонент AUTOSAR.
Чтобы предоставить вашей модели Simulink доступ к параметрам калибровки, ссылитесь на параметры калибровки в параметрах блоков.
Чтобы сопоставить объекты параметра Simulink в рабочем пространстве модели с параметрами калибровки AUTOSAR, откройте перспективу кода AUTOSAR и используйте редактор Отображения, Parameters вкладку. Используйте Property Inspector, чтобы сконфигурировать код параметра и атрибуты калибровки. Для получения дополнительной информации смотрите Сопоставить параметры рабочего пространства модели с параметрами компонента AUTOSAR.
Можно смоделировать стандартные интерполяционные таблицы осей (STD_AXIS) и общие интерполяционные таблицы (COM_AXIS) для приложений AUTOSAR. Приложения AUTOSAR могут использовать интерполяционные таблицы любым из двух способов:
Реализуйте операции быстрого поиска.
Поддержка настройки приложения с помощью инструментов измерения и калибровки.
Интерполяционная таблица использует массив данных, чтобы сопоставить входные значения с выходными значениями, аппроксимируя математическую функцию. Система координат
-мерная интерполяционная таблица может аппроксимировать n
-мерная функция. Интерполяционная таблица COM_AXIS является таблицей, в которой настраиваемые точки останова (точки оси) являются общими для нескольких осей таблицы.n
Стандарт AUTOSAR определяет категории параметров калибровки для STD_AXIS и COM_AXIS данных интерполяционной таблицы:
Параметры CURVE, MAP и CUBOID представляют 1-D, 2-D и 3-D данные таблицы, соответственно.
COM_AXIS параметры представляют данные о оси.
В Simulink можно:
Импортируйте файлы ARXML, которые содержат интерполяционные таблицы AUTOSAR в STD_AXIS и COM_AXIS строениях:
Для интерполяционной таблицы в STD_AXIS строения импортер создает блок интерполяционной таблицы и инициализирует его с помощью Simulink.LookupTable
объект.
Для интерполяционной таблицы в COM_AXIS строения импортер создает предварительный блок, инициализированный Simulink.Breakpoint
объект и блок interpolation-using-prelookup, инициализированный с помощью Simulink.LookupTable
объект.
Импортер сопоставляет каждую созданную интерполяционную таблицу Simulink с параметрами AUTOSAR с атрибутами кода и калибровки.
Если код ARXML задает входные переменные, которые измеряют входы интерполяционной таблицы, импортер создает соответствующее содержимое модели. Если входные переменные являются глобальными переменными, импортер соединяет статические глобальные сигналы с входами блоков интерполяционной таблицы. Если переменные входы являются входами корневого уровня, импортер соединяет входные порты корневого уровня с интерполяционной таблицей блока входов.
Создайте STD_AXIS и COM_AXIS интерполяционные таблицы и сопоставьте их с параметрами AUTOSAR. Вы сопоставляете объекты интерполяционной таблицы с параметрами AUTOSAR с помощью редактора Отображения, Parameters вкладка.
Чтобы смоделировать интерполяционную таблицу AUTOSAR в STD_AXIS строения, создайте Curve AUTOSAR Blockset или Map блок.
Откройте каждый блок интерполяционной таблицы и сконфигурируйте его, чтобы сгенерировать стандартную программу из библиотеки замены кода (CRL) AUTOSAR 4.0. При изменении параметров блока в диалоговом окне блока обновляется имя целевой стандартной программы AUTOSAR.
Чтобы сохранить данные, создайте одну Simulink.LookupTable
объект в рабочем пространстве модели. Используйте объект в Curve или Map блоке.
Данные появляются в сгенерированном коде C как поля одной структуры. Чтобы управлять характеристиками типа структуры, например ее именем, используйте свойства объекта.
Чтобы смоделировать интерполяционную таблицу AUTOSAR в COM_AXIS строения, создайте один или несколько блоков Prelookup AUTOSAR Blockset. Соедините каждую Prelookup с блоком AUTOSAR Blockset Curve Using Prelookup или Map Using Prelookup.
Откройте каждый блок интерполяционной таблицы и сконфигурируйте его, чтобы сгенерировать стандартную программу из библиотеки замены кода (CRL) AUTOSAR 4.0. При изменении параметров блока в диалоговом окне блока обновляется имя целевой стандартной программы AUTOSAR.
Чтобы хранить каждый набор данных таблицы, создайте Simulink.LookupTable
объект в рабочем пространстве модели. Чтобы хранить каждый вектор точек по оси Х, создайте Simulink.Breakpoint
объект в рабочем пространстве модели. Используйте каждую Simulink.LookupTable
объект в Curve Using Prelookup или Map Using Prelookup блоке и каждом Simulink.Breakpoint
объект в Prelookup
блок. Можно уменьшить потребление памяти путем обмена данными точек по оси Х между интерполяционными таблицами.
Каждый набор данных таблицы появляется в сгенерированном коде C как отдельная переменная. Если размер таблицы настраиваем, каждый вектор точек по оси Х появляется как структура с одним полем для хранения данных точек по оси Х и, опционально, одним полем для хранения длины вектора. Второе поле позволяет вам настроить эффективный размер таблицы. Если размер таблицы не настраивается, каждый вектор точек по оси Х появляется как массив.
Добавьте рабочие точки AUTOSAR к интерполяционным таблицам. Соедините входные порты корневого уровня с Curve, Map или Prelookup блоками. Кроме того, сконфигурируйте входные сигналы для Curve, Map или Prelookup блоков со статической глобальной памятью.
Чтобы сопоставить объекты интерполяционной таблицы Simulink в рабочем пространстве модели с параметрами калибровки AUTOSAR, откройте перспективу кода AUTOSAR и используйте редактор Отображения, Parameters вкладку. Используйте Property Inspector, чтобы сконфигурировать код параметра и атрибуты калибровки. Для получения дополнительной информации смотрите Map Model Workspace Parameters to AUTOSAR Component Parameters
Сконфигурируйте размещение массива для многомерных интерполяционных таблиц. В диалоговом окне Simulink Параметры Конфигурации, Interface панели, установите размещение Array (Simulink Coder) на Column-major
(по умолчанию) или Row-major
. Выбор размещения массива влияет на генерацию кода, включая код С и экспортированный ARXML SwRecordLayout
описания.
Если вы выбираете размещение основной строки, перейдите на панель Math and Data Types и выберите опцию строения Использовать алгоритмы, оптимизированные для размещения массива основной строки. Выбор алгоритма влияет на симуляцию и генерацию кода.
В диалоговом окне Параметры конфигурации (Configuration Parameters) Interface панели выберите библиотеку замены кода AUTOSAR 4.0 для генерации кода C.
Сгенерируйте ARXML и Код С с STD_AXIS и COM_AXIS содержимым интерполяционной таблицы.
Сгенерированный код C содержит обязательные Ifl
и Ifx
поиск вызовов функций и Rte
вызовы функций доступа к данным.
Сгенерированные файлы ARXML содержат информацию для поддержки калибровки параметров настраиваемой интерполяционной таблицы во время выполнения, включая:
Параметры калибровки интерполяционной таблицы, которые ссылаются на типы данных приложения - категория CURVE, MAP или CUBOID для данных таблицы или COM_AXIS категорий для данных оси.
Типы данных приложения категории CURVE, MAP, CUBOID и COM_AXIS с настроенными свойствами калибровки данных. Свойства включают SwCalibrationAccess, DisplayFormat и SwAddrMethod.
Размещения записей программного обеспечения (SwRecordLayout
s), на которые ссылаются типы данных приложения категории CURVE, MAP, CUBOID и COM_AXIS.
Для получения дополнительной информации см. «Настройка интерполяционных таблиц для измерений и калибровки AUTOSAR».
Curve | Curve Using Prelookup | getParameter
| Map | Map Using Prelookup | mapParameter
| Prelookup | Simulink.Breakpoint
| Simulink.LookupTable