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

boolean по умолчанию Тип данныхПросмотрите сгенерированный файл rtwtypes.h. The 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'; В диалоговом окне Параметров конфигурации задайте поле 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;