Блоки и продукты, поддерживаемые для генерации кода

Когда вы создаете модель, чтобы предотвратить проблемы позже в процессе разработки, определите, является ли Simulink® Coder™ и Embedded Coder® генераторы кода поддерживают продукты и блоки, которые вы хотите использовать.

Похожие продукты

Следующая таблица результирует MathWorks® продукты, которые расширяют и дополняют программное обеспечение Simulink Coder. Для получения информации об этих продуктах и о том, как их поддерживает генерация кода, см. документацию по продукту в www.mathworks.com.

ПродуктРасширяет возможности генерации кода для...

Aerospace Blockset™

Летательные аппараты, космические аппараты, ракеты, двигательные установки и беспилотные летательные транспортные средства

Audio Toolbox™

Системы обработки аудио
Automated Driving Toolbox™ Разработка, моделирование и тестирование систем ADAS и автономного управления автомобилем
AUTOSAR Blockset Моделирование и симуляция программного обеспечения AUTOSAR Classic и Adaptive ECU

Communications Toolbox™

Физический слой систем связи

Computer Vision Toolbox™

Системы обработки видео, обработки изображений и компьютерного зрения

Control System Toolbox™

Линейные системы управления

DSP System Toolbox™

Системы обработки сигналов
Embedded Coder Встраиваемые системы, платы быстрого прототипирования и микропроцессоры в массовом производстве

Fixed-Point Designer™

Системы с фиксированной точкой

Fuzzy Logic Toolbox™

Разработки системы на основе нечеткой логики
HDL Verifier™

Генерация компонента интерфейса прямого программирования (DPI) и модели уровня транзакции (TLM) из Simulink

IEC Certification Kit

Сертификация ISO 26262 и IEC 61508

Основанные на модели калибровочные Toolbox™

Разработка процессов для систематического определения оптимального баланса производительности двигателя, выбросов и экономии топлива и повторное использование статистических моделей для проектирования системы управления, проверки цикла (HIL) или симуляции силового агрегата

Model Predictive Control Toolbox™

Моделируйте прогнозирующие контроллеры
Deep Learning Toolbox™ Нейронные сети
Parallel Computing Toolbox™ Параллельные сборки для больших моделей Simulink
Phased Array System Toolbox™ Системы массивов в радиолокационных, гидроакустических, беспроводных коммуникациях и приложениях медицинской визуализации
Polyspace® Bug- Finder™

Податливость MISRA-C и статический анализ сгенерированного кода

Polyspace Code Prover™

Формальный анализ сгенерированного кода

Powertrain Blockset™

Проверка силовых агрегатов в реальном времени

Robotics System Toolbox™

Проектирование, моделирование и тестирование приложений робототехники

ROS Toolbox

Проектирование, моделирование и развертывание приложений на основе ROS

Simscape™

Системы, охватывающие механические, электрические, гидравлические и другие физические области как физические сети

Функции Simscape Driveline™

Приводные (приводные) системы
Функции Simscape Electrical™ Электронные, электромеханические и электрические степени системы

Функции Simscape Fluids™

Гидравлическая степень и системы управления

Функции Simscape Multibody™

Трехмерные механические системы

Simulink 3D Animation™

Системы с 3D визуализацией
Функции Simulink Check™ Моделируйте проверку податливости стандартов и метрики
Simulink Code Inspector™

Автоматизированные обзоры сгенерированного кода

Simulink Control Design™ Автосоединение ПИД-регуляторы и онлайн оценки частотной характеристики
Функции Simulink Coverage™ Анализ структурного покрытия модели и кода

Simulink Design Optimization™

Настройка адаптивных интерполяционных таблиц и проверка характеристик сигнала

Simulink Desktop Real-Time™

Быстрое прототипирование или аппаратное обеспечение в цикле (HIL) симуляции системы управления и алгоритмов обработки сигналов

Функции Simulink Real-Time™

Быстрое управление прототипированием, симуляция оборудования в цикле (HIL) и другие приложения проверки в реальном времени

Simulink Report Generator™

Автоматическая генерация проектной документации в стандартном формате
Функции Simulink Requirements™ Авторские и отслеживающие требования к дизайну и коду
Функции Simulink Test™

Цикл (SIL), цикла (PIL) и оборудования в реальном времени - в цикл (HIL) проверки сгенерированного кода

SoC- Blockset™ Разработка, оценка и реализация аппаратной и программных архитектур СнК
Stateflow® Машины состояний и потоковые графики

System Identification Toolbox™

Системы, идентифицированные из измеренных входно-выходных данных
Vehicle Dynamics Blockset™ Моделирование и симуляция динамики аппарата в 3D окружении

Vehicle Network Toolbox™

Блоки CAN для симуляций Accelerator и Rapid Accelerator и развертывания кода в Windows®

Встроенные блоки Simulink, Поддержка генерацию кода

В следующих таблицах суммируется поддержка генератора кода для блоков Simulink. Существует таблица для каждой библиотеки блоков. Для получения дополнительной информации, включая типы данных каждые блочные поддержки, в MATLAB® Командное окно, введите showblockdatatypetable, или обратитесь к страницам с описанием блока. Для некоторых блоков сгенерированный код может полагаться на memcpy или memset (string.h).

Дополнительная математика и дискретность: дополнительная дискретность

БлокПримечания по поддержке
Fixed-Point State-Space

Генератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.

Transfer Fcn Direct Form II
Transfer Fcn Direct Form II Time Varying

Дополнительная математика и дискретность: приращение/декремент

БлокПримечания по поддержке
Decrement Real WorldГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков .
Decrement Stored Integer
Decrement Time To ZeroПоддерживает генерацию кода.
Decrement To ZeroГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков .
Increment Real World
Increment Stored Integer

Непрерывный

БлокПримечания по поддержке
Derivative

Не рекомендуемый для производственно-качественного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющееся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код.

В целом, рассмотрите использование Simulink Model Discretizer, чтобы преобразовать непрерывные блоки в дискретные эквиваленты, которые поддерживают генерацию производственного кода. Используйте Model Discretizer приложения. Одним из исключений является блок Интегратора второго порядка, потому что для этого блока Дискретизатор Модели создает приблизительную дискретизацию.

Integrator
Integrator, Integrator Limited
PID Controller
PID Controller (2DOF)
Second-Order Integrator, Second-Order Integrator Limited
State-Space
Transfer Fcn
Transport Delay
Variable Time Delay, Variable Transport Delay
Zero-Pole

Неоднородности

БлокПримечания по поддержке
BacklashПоддерживает генерацию кода.
Coulomb and Viscous FrictionГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.
Dead ZoneПоддерживает генерацию кода.
Dead Zone DynamicГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.
Hit CrossingНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
QuantizerПоддерживает генерацию кода.
Rate LimiterНевозможно использовать в иерархии триггируемой подсистемы.
Rate Limiter DynamicГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.
RelayПоддержка генерации кода.
Saturation
Saturation DynamicГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков .
Wrap To Zero

Дискретный

БлокПримечания по поддержке
DelayПоддерживает генерацию кода.
Difference
  • Генератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.

  • Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.

Discrete Derivative
  • Зависит от абсолютного времени при использовании в иерархии триггируемой подсистемы.

  • Поддерживает генерацию кода.

Discrete FilterПоддержка генерации кода.
Discrete FIR Filter
Discrete PID Controller
  • Зависит от абсолютного времени при использовании в иерархии триггируемой подсистемы.

  • Поддержка генерации кода.

Discrete PID Controller (2DOF)
Discrete State-SpaceПоддержка генерации кода.
Discrete Transfer Fcn
Discrete Zero-Pole
Discrete-Time IntegratorЗависит от абсолютного времени при использовании в иерархии триггируемой подсистемы.
Enabled DelayПоддерживает генерацию кода.
First Order HoldНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
MemoryПоддержка генерации кода.
Resettable Delay
Tapped Delay
Transfer Fcn First OrderГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.
Transfer Fcn Lead or Lag
Transfer Fcn Real Zero
Unit DelayПоддержка генерации кода.
Variable Integer Delay
Zero-Order Hold

Интерполяционные таблицы

БлокПримечания по поддержке
CosineГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем установки флажка Treat as atomic unit.
Direct Lookup Table (n-D)Поддержка генерации кода.
Interpolation Using Prelookup
1-D Lookup Table
2-D Lookup Table
n-D Lookup Table
Lookup Table Dynamic
Prelookup
СинусГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.

Математические операции

БлокПримечания по поддержке
AbsПоддержка генерации кода.
Add
Algebraic Constraint Проигнорировано во время генерации кода.
AssignmentПоддержка генерации кода.
Bias
Complex to Magnitude-Angle
Complex to Real-Imag
Divide
Dot Product
Поиск ненулевых элементов
Gain
Magnitude-Angle to Complex
Math Function (10 ^ u)
Math Function (conj)
Math Function (exp)
Math Function (герметичная)
Math Function (гипот)
Math Function (логарифмический)
Math Function (log10)
Math Function (величина ^ 2)
Math Function (mod)
Math Function (pow)
Math Function (взаимно)
Math Function (рем)
Math Function (квадрат)
Math Function (транспонирование)
Vector Concatenate, Matrix Concatenate
MinMax
MinMax Running Resettable
Permute Dimensions
Polynomial
Product
Product of Elements
Real-Imag to Complex
Sqrt, Signed Sqrt, Reciprocal Sqrt
Reshape
Rounding Function
Sign
Sqrt, Signed Sqrt, Reciprocal Sqrt
Sine Wave Function
  • Не относится к абсолютному времени при конфигурировании для основанной на выборке операции. Зависит от абсолютного времени в основанной на времени операции.

  • Зависит от абсолютного времени при использовании в иерархии триггируемой подсистемы.

Slider GainПоддержка генерации кода.
Sqrt
Squeeze
Subtract
Sum
Sum of Elements
Trigonometric FunctionФункции asinh, acosh, и atanh поддерживаются не всеми компиляторами. Если вы используете компилятор, который не поддерживает эти функции, программное обеспечение выдает предупреждение для блока, и сгенерированный код не может связать.
Unary MinusПоддержка кода generation.modeling Gui
Vector Concatenate, Matrix Concatenate
Weighted Sample Time Math

Верификация модели

БлокПримечания по поддержке
AssertionПоддерживает генерацию кода.
Check Discrete Gradient

Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.

Check Dynamic GapПоддержка генерации кода.
Check Dynamic Lower Bound
Check Dynamic Range
Check Dynamic Upper Bound
Check Input ResolutionНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Check Static Gap
Check Static Lower Bound
Check Static Range
Check Static Upper Bound

Общемодельные утилиты

БлокПримечания по поддержке
Block Support TableПроигнорировано во время генерации кода.
DocBlockИспользуйте символ шаблона, заданный для Embedded Coder Flag параметров блоков, чтобы добавить комментарии к сгенерированному коду. Требуется лицензия Embedded Coder. Для получения дополнительной информации смотрите Использовать Simulink DocBlock для добавления комментария (Embedded Coder).
Model InfoПроигнорировано во время генерации кода.
Timed-Based Linearization
Trigger-Based Linearization

Атрибуты сигнала

БлокПримечания по поддержке
Bus to VectorПоддержка генерации кода.
Data Type Conversion
Data Type Conversion Inherited
Data Type Duplicate
Data Type Propagation
Data Type Scaling Strip
ICНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
ProbeПоддерживает генерацию кода.
Rate Transition
  • Поддерживает генерацию кода.

  • Невозможно использовать в иерархии триггируемой подсистемы.

Signal ConversionПоддержка генерации кода.
Signal Specification
Unit Conversion
Weighted Sample Time
Width

Маршрутизация сигналов

БлокПримечания по поддержке
Bus AssignmentПоддержка генерации кода.
Bus Creator
Bus Selector
Data Store Memory
Data Store Read
Data Store Write
Demux
Environment ControllerНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
FromПоддержка генерации кода.
Goto
Goto Tag Visibility
Index Vector
Manual SwitchНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Manual Variant SinkПоддержка генерации кода.
Manual Variant Source
MergeКогда несколько сигналов, соединенных с блоком Merge, имеют Auto не - класс памяти, все не Auto сигналы, подключенные к этому блоку, должны быть идентичными и иметь одинаковый класс памяти. Когда блоки Merge соединяются непосредственно друг с другом, эти правила применяются ко всем сигналам, соединенным с блоками Merge в группе.
Multiport SwitchПоддержка генерации кода.
Mux
Selector
State Reader
State Writer
Switch
Variant Sink
Variant Source
Vector Concatenate

Сливы

БлокПримечания по поддержке
DisplayПроигнорировано для генерации кода.
Floating Scope and Scope Viewer
Outport (Out1)Поддерживает генерацию кода.
ScopeПроигнорировано для генерации кода.
Stop Simulation
  • Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.

  • Сгенерированный код прекращает выполняться, когда условие остановки соответствует true.

TerminatorПоддерживает генерацию кода.
To FileНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
To WorkspaceПроигнорировано для генерации кода.
XY Graph

Источники

БлокПримечания по поддержке
Band-Limited White NoiseНевозможно использовать в иерархии триггируемой подсистемы.
Chirp SignalНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Clock
ConstantПоддерживает генерацию кода.
Counter Free-RunningНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Counter Limited
  • Генератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.

  • Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.

Digital ClockНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Enumerated ConstantПоддерживает генерацию кода.
From FileНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
From Spreadsheet
From WorkspaceПроигнорировано для генерации кода.
GroundПоддержка генерации кода.
Inport (In1)
Pulse GeneratorНевозможно использовать в иерархии триггируемой подсистемы. Не относится к абсолютному времени при конфигурировании для основанной на выборке операции. Зависит от абсолютного времени в основанной на времени операции.
RampНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Random NumberПоддерживает генерацию кода.
Repeating Sequence
  • Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.

  • Рассмотрите использование вместо этого блока Repease Sequence Stair или Repeating Sequence Interpolated.

Repeating Sequence Interpolated
  • Генератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.

  • Невозможно использовать в иерархии триггируемой подсистемы.

Repeating Sequence StairГенератор кода не группирует явно примитивные блоки, которые составляют блок неатомной маскированной подсистемы в сгенерированном коде. Эта гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно достичь группировки, сконфигурировав маскированный блок подсистемы для выполнения в качестве атомарного модуля путем выбора < reservedrangesplaceholder0 > параметров блоков.
Signal BuilderНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Signal Generator
Sine Wave
  • Зависит от абсолютного времени при использовании в иерархии триггируемой подсистемы.

  • Не относится к абсолютному времени при конфигурировании для основанной на выборке операции. Зависит от абсолютного времени в основанной на времени операции.

StepНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.
Uniform Random NumberПоддерживает генерацию кода.
Waveform GeneratorНе рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими.

Определяемый пользователем

БлокПримечания по поддержке
Function CallerПоддержка генерации кода.
Initialize Function
Interpreted MATLAB FunctionРассмотрите использование блока MATLAB Function вместо этого.
Level-2 MATLAB S-FunctionЕсли доступен соответствующий файл TLC, блок Level-2 MATLAB S-Function использует файл TLC для генерации кода, в противном случае генерация кода выдает ошибку.
MATLAB FunctionПоддержка генерации кода.
MATLAB System
S-FunctionS-функции, которые вызываются в MATLAB, не поддерживаются для генерации кода.
S-Function Builder
Simulink FunctionПоддержка генерации кода.
Terminate Function

Таблица поддержки типа данных блоков Simulink

Таблица поддержки типа данных Simulink Block обобщает характеристики блоков в библиотеках блоков Simulink и Fixed-Point Designer, включая то, рекомендованы ли они для использования в генерации производственного кода. Чтобы просмотреть эту таблицу, в Командном Окне MATLAB, введите showblockdatatypetable, или обратитесь к страницам с описанием блока.

Поддержка набора блоков для генерации кода

Несколько продуктов, которые включают блоки, доступны для использования при генерации кода. Однако перед использованием блоков для одного из этих продуктов обратитесь к документации по этому продукту, чтобы подтвердить, какие блоки поддерживают генерацию кода.

Для просмотра документации необходимо авторизоваться на сайте