Сконфигурируйте варианты для размеров массивов AUTOSAR

Компоненты программного обеспечения AUTOSAR могут гибко задать размерности элемента AUTOSAR, такие как порт, при помощи символьной ссылки на постоянную систему. Постоянная система задает размер массивов типа данных порта. К элементам модели AUTOSAR с различными размерами массивов в Simulink®:

  • Создайте блоки, которые представляют элементы AUTOSAR.

  • Чтобы представлять значения размера массивов, добавьте AUTOSAR.Parameter объекты данных с классом памяти SystemConstant.

  • Чтобы задать размер массивов для элемента AUTOSAR, сошлитесь на AUTOSAR.Parameter объект данных.

С различными размерами массивов можно изменить значения размера массивов в системных константах между симуляциями модели, не регенерируя код для симуляции. Когда вы создаете модель, сгенерированный C и arxml код содержит соответствие символов различным размерам массивов.

Предположим, что вы создаете импорт Simulink In1 представлять порт получателя AUTOSAR с различным размером массивов.

Смоделировать систему AUTOSAR, постоянную, который задает размерности In1, создайте AUTOSAR.Parameter объект данных, SymDimA, с классом памяти SystemConstant.

SymDimA = AUTOSAR.Parameter;
SymDimA.CoderInfo.StorageClass = 'custom';
SymDimA.CoderInfo.CustomStorageClass = 'SystemConstant';
SymDimA.DataType = 'uint8';
SymDimA.Value = 5;

В диалоговом окне для блока In1 импорта, введите название параметра, SymDimA, в поле Port dimensions.

Когда вы генерируете код для модели, имени постоянной системы, SymDimA, появляется в C и arxml код, чтобы представлять различный размер массивов.

 Пример 3. Сгенерированный код C
/* SignalConversion: '<Root>/ConcatBufferAtVector ConcatenateIn1' */
  for (i = 0; i < Rte_SysCon_SymDimA; i++) {
    rtb_VectorConcatenate[i] = tmp[i];
 Пример 4. Экспортируемый arxml Код
<MAX-NUMBER-OF-ELEMENTS BINDING-TIME="PRE-COMPILE-TIME">
    <SYSC-REF DEST="SW-SYSTEMCONST">/pkg/dt/SC/SymDimA</SYSC-REF>
</MAX-NUMBER-OF-ELEMENTS>

Смотрите также

Связанные примеры

Больше о