boolean на определенный целочисленный тип данныхВ зависимости от архитектуры процессора, который использует ваше производственное оборудование, можно улучшить скорость выполнения сгенерированного кода. Выберите определенный целочисленный тип данных для встроенного типа boolean. Используя замену типа данных, в сгенерированном коде можно заменить boolean встроенный тип данных на один из этих целочисленных типов:
int8
uint8
intn
Чтобы совпадать с целочисленным размером слова для производственного оборудования, замените на n8, 16 или 32.
Модель ex_bool содержит два блока, что значения вывода boolean и два блока, которые принимают значения boolean как входные параметры. Этот пример показывает, как заменить тип данных boolean на целочисленный тип данных int32 в коде, сгенерированном для 32-битной аппаратной цели.

booleanПросмотрите сгенерированный файл rtwtypes.h. Операторы typdef содержат типичное определение типа boolean_T, который является именем генерации кода для boolean.
/*===========================================================================* * Generic type definitions: boolean_T, char_T, byte_T, int_T, uint_T, * * real_T, time_T, ulong_T. * *===========================================================================*/ typedef double real_T; typedef double time_T; typedef unsigned char boolean_T; typedef int int_T; typedef unsigned int uint_T; typedef unsigned long ulong_T; typedef char char_T; typedef unsigned char uchar_T; typedef char_T byte_T;
Просмотрите сгенерированный файл ex_bool.c. Код объявляет переменные boolean при помощи типа boolean_T.
/* External inputs (root inport signals with auto storage) */
typedef struct {
real_T In1; /* '<Root>/In1' */
real_T In2; /* '<Root>/In2' */
boolean_T In3; /* '<Root>/In3' */
boolean_T In4; /* '<Root>/In4' */
real_T In5; /* '<Root>/In5' */
} ExtU_ex_bool_T;
/* External outputs (root outports fed by signals with auto storage) */
typedef struct {
boolean_T Out1; /* '<Root>/Out1' */
boolean_T Out2; /* '<Root>/Out2' */
real_T Out3; /* '<Root>/Out3' */
} ExtY_ex_bool_T;booleanЗадайте объект Simulink.AliasType с базовым типом int32. Назовите объект с помощью заменяющего имени, что вы хотите появиться в сгенерированном коде.
mybool = Simulink.AliasType;
mybool.BaseType = 'int32'; В диалоговом окне Configuration Parameters задайте поле Replacement Name для типа данных boolean как mybool.

Просмотрите сгенерированный файл rtwtypes.h. Кодированные карты идентификатор mybool к нативному целочисленному типу целевого компьютера путем создания операторов typedef.
/* Generic type definitions ... */ ... typedef int boolean_T; ... /* Define Simulink Coder replacement data types. */ typedef boolean_T mybool; /* User defined replacement datatype for boolean_T */
Просмотрите сгенерированный файл . Код объявляет переменные ex_bool.cboolean, которые используют тип mybool.
/* External inputs (root inport signals with auto storage) */
typedef struct {
real_T In1; /* '<Root>/In1' */
real_T In2; /* '<Root>/In2' */
mybool In3; /* '<Root>/In3' */
mybool In4; /* '<Root>/In4' */
real_T In5; /* '<Root>/In5' */
} ExtU_ex_bool_T;
/* External outputs (root outports fed by signals with auto storage) */
typedef struct {
mybool Out1; /* '<Root>/Out1' */
mybool Out2; /* '<Root>/Out2' */
real_T Out3; /* '<Root>/Out3' */
} ExtY_ex_bool_T;