Когда вы создаете модель, чтобы предотвратить проблемы позже в процессе разработки, определите, является ли 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 для добавления комментария. |
| 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, или обратитесь к страницам с описанием блока.
Несколько продуктов, которые включают блоки, доступны для использования при генерации кода. Однако перед использованием блоков для одного из этих продуктов обратитесь к документации по этому продукту, чтобы подтвердить, какие блоки поддерживают генерацию кода.