Когда вы создаете модель, чтобы предотвратить проблемы позже в процессе разработки, определите, является ли 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. Существует таблица для каждой библиотеки блоков. Для получения дополнительной информации, включая типы данных каждые блочные поддержки, в 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 |
|
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 |
|
Terminator | Поддерживает генерацию кода. |
To File | Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
To Workspace | Проигнорировано для генерации кода. |
XY Graph |
Источники
Блок | Примечания по поддержке |
---|---|
Band-Limited White Noise | Невозможно использовать в иерархии триггируемой подсистемы. |
Chirp Signal | Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
Clock | |
Constant | Поддерживает генерацию кода. |
Counter Free-Running | Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
Counter Limited |
|
Digital Clock | Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
Enumerated Constant | Поддерживает генерацию кода. |
From File | Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
From Spreadsheet | |
From Workspace | Проигнорировано для генерации кода. |
Ground | Поддержка генерации кода. |
Inport (In1) | |
Pulse Generator | Невозможно использовать в иерархии триггируемой подсистемы. Не относится к абсолютному времени при конфигурировании для основанной на выборке операции. Зависит от абсолютного времени в основанной на времени операции. |
Ramp | Не рекомендуемый для производственного кода. Относится к пределам и ограничениям на скорость и память, часто встречающиеся во встраиваемых системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко меняющиеся времена выполнения. Хотя код функционально действителен и в целом приемлем в окружениях, богатых ресурсами, меньшие целевые процессоры часто не могут поддерживать такой код. Обычно блоки эволюционируют в сторону того, чтобы быть подходящими для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
Random Number | Поддерживает генерацию кода. |
Repeating Sequence |
|
Repeating Sequence Interpolated |
|
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-Function | S-функции, которые вызываются в MATLAB, не поддерживаются для генерации кода. |
S-Function Builder | |
Simulink Function | Поддержка генерации кода. |
Terminate Function |
Таблица поддержки типа данных Simulink Block обобщает характеристики блоков в библиотеках блоков Simulink и Fixed-Point Designer, включая то, рекомендованы ли они для использования в генерации производственного кода. Чтобы просмотреть эту таблицу, в Командном Окне MATLAB, введите showblockdatatypetable
, или обратитесь к страницам с описанием блока.
Несколько продуктов, которые включают блоки, доступны для использования при генерации кода. Однако перед использованием блоков для одного из этих продуктов обратитесь к документации по этому продукту, чтобы подтвердить, какие блоки поддерживают генерацию кода.