При создании модели для предотвращения проблем в процессе разработки определите, поддерживают ли генераторы кода Simulink ® Coder™ и Embedded Coder ® нужные продукты и блоки.
В следующей таблице представлены продукты MathWorks ®, расширяющие и дополняющие программное обеспечение Simulink Coder. Для получения информации об этих продуктах и о том, как их поддерживает создание кода, см. документацию по продуктам по адресуwww.mathworks.com.
| Продукт | Расширяет возможности создания кода для... |
|---|---|
Аэрокосмическая Blockset™ | Самолеты, космические аппараты, ракеты, двигательные установки и беспилотные летательные аппараты |
Звуковые Toolbox™ | Системы обработки звука |
| Автоматизированное вождение Toolbox™ | Проектирование, моделирование и тестирование систем ADAS и автономного вождения |
| Блоксеть AUTOSAR | Моделирование и моделирование программного обеспечения AUTOSAR Classic и Adaptive ECU |
Коммуникационный Toolbox™ | Физический уровень систем связи |
Компьютерное зрение Toolbox™ | Видеообработка, обработка изображений и компьютерные системы зрения |
Система управления Toolbox™ | Линейные системы управления |
Toolbox™ системы DSP | Системы обработки сигналов |
| Встроенный кодер | Встраиваемые системы, платы быстрого прототипирования и микропроцессоры в серийном производстве |
Designer™ с фиксированной точкой | Системы с фиксированной точкой |
Нечеткая логика Toolbox™ | Конструкция системы основана на нечеткой логике |
| Verifier™ ЛПВП | Компонент прямого интерфейса программирования (DPI) и создание модели на уровне транзакций (TLM) от Simulink |
| Комплект для сертификации МЭК | Сертификация ISO 26262 и МЭК 61508 |
Калибровка на основе модели Toolbox™ | Разработка процессов для систематического определения оптимального баланса рабочих характеристик двигателя, выбросов и экономии топлива, а также повторное использование статистических моделей для проектирования системы управления, тестирования аппаратных средств в контуре (HIL) или моделирования силового агрегата |
Управление прогнозом модели Toolbox™ | Модельные прогнозирующие контроллеры |
| Глубокое обучение Toolbox™ | Нейронные сети |
| Параллельные вычисления Toolbox™ | Параллельные сборки для больших моделей Simulink |
| Система с фазированным массивом Toolbox™ | Системы матрицы датчиков для радаров, гидролокаторов, беспроводной связи и медицинской визуализации |
| Ошибка Polyspace ® Finder™ | Соответствие MISRA-C и статический анализ сформированного кода |
| Код Polyspace Prover™ | Формальный анализ сформированного кода |
| Силовой агрегат Blockset™ | Тестирование в реальном времени приложений силового агрегата |
| Система робототехники Toolbox™ | Проектирование, моделирование и тестирование приложений робототехники |
| Панель инструментов ROS | Проектирование, моделирование и развертывание приложений на основе ROS |
Simscape™ | Системы, охватывающие механические, электрические, гидравлические и другие физические области в качестве физических сетей |
Симскейп Driveline™ | Системы трансмиссии (трансмиссии) |
| Симскейп Electrical™ | Электронные, электромеханические и электрические силовые системы |
Симскейп Fluids™ | Гидравлические силовые и управляющие системы |
Симскейп Multibody™ | Трехмерные механические системы |
Симулинк 3D Animation™ | Системы с 3D визуализацией |
| Симулинк Check™ | Проверка соответствия модельным стандартам и метрики |
| Inspector™ кода Simulink | Автоматизированные проверки сформированного кода |
| Design™ управления Simulink | Автоматизация ПИД-контроллеров и оценка частотной характеристики в режиме реального времени |
| Симулинк Coverage™ | Анализ структурного покрытия модели и кода |
Optimization™ проектирования Simulink | Настройка таблиц адаптивного поиска и проверка характеристик сигнала |
Настольный Real-Time™ Simulink | Быстрое прототипирование или аппаратное моделирование системы управления и алгоритмов обработки сигналов |
Симулинк Real-Time™ | Быстрое управление прототипированием, аппаратное моделирование в цикле (HIL) и другие приложения для тестирования в реальном времени |
Отчет Simulink Generator™ | Автоматическое создание проектной документации в стандартном формате |
| Симулинк Requirements™ | Требования к разработке и отслеживанию проекта и кода |
| Симулинк Test™ | Тестирование генерируемого кода программным обеспечением в контуре (SIL), процессором в контуре (PIL) и оборудованием в контуре (HIL) в реальном времени |
| SoC Blockset™ | Разработка, оценка и внедрение аппаратных и программных архитектур SoC |
| Поток данных Stateflow ® | Конечные автоматы и блок-схемы |
Идентификация системы Toolbox™ | Системы, определенные на основе измеренных данных ввода-вывода |
| Динамика транспортного средства Blockset™ | Моделирование и моделирование динамики транспортных средств в 3D среде |
Сеть транспортных средств Toolbox™ | Блоки CAN для моделирования Accelerator и Rapid Accelerator и развертывания кода в Windows ® |
В следующих таблицах обобщена поддержка генератора кода для блоков Simulink. Существует таблица для каждой библиотеки блоков. Для получения дополнительной информации, включая типы данных, поддерживаемые каждым блоком, в окне команд MATLAB ® введитеshowblockdatatypetableили обратитесь к страницам ссылок на блоки. Для некоторых блоков созданный код может зависеть от memcpy или memset (string.h).
Дополнительные математические и дискретные: дополнительные дискретные
| Блок | Примечания по поддержке |
|---|---|
| Состояние фиксированной точки - пространство | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Передача прямой формы II | |
| Передача прямой формы II с переменным временем |
Дополнительные математические и дискретные: приращение/уменьшение
| Блок | Примечания по поддержке |
|---|---|
| Уменьшение реального мира | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Уменьшение сохраненного целого числа | |
| Время уменьшения до нуля | Поддерживает создание кода. |
| Уменьшение до нуля | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Приращение реального мира | |
| Приращение сохраненного целого числа |
Непрерывный
| Блок | Примечания по поддержке |
|---|---|
| Производная | Не рекомендуется для кода качества производства. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Генерируемый код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные издержки памяти и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Как правило, рекомендуется использовать Simulink Model Discritizer для отображения непрерывных блоков в дискретные эквиваленты, поддерживающие генерацию производственного кода. Используйте приложение Дискретизатор модели. Одним исключением является блок Интегратор второго порядка, поскольку для этого блока Дискретизатор модели производит приблизительную дискретизацию. |
| Интегратор | |
| Интегратор, Integrator Limited | |
| PID-контроллер | |
| PID-контроллер (2DOF) | |
| Интегратор второго порядка, интегратор второго порядка с ограниченной ответственностью | |
| Состояние - пространство | |
| Перенос Fcn | |
| Задержка транспортировки | |
| Переменная временная задержка, Переменная транспортная задержка | |
| Нулевой полюс |
Неоднородности
| Блок | Примечания по поддержке |
|---|---|
| Обратная реакция | Поддерживает создание кода. |
| Кулон и вязкое трение | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Мертвая зона | Поддерживает создание кода. |
| Динамическая зона нечувствительности | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Переход удара | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Quantizer | Поддерживает создание кода. |
| Ограничитель скорости | Невозможно использовать внутри иерархии запускаемых подсистем. |
| Динамический ограничитель скорости | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Реле | Поддержка создания кода. |
| Насыщенность | |
| Динамическая насыщенность | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Обтекание до нуля |
Дискретный
| Блок | Примечания по поддержке |
|---|---|
| Задержка | Поддерживает создание кода. |
| Различие |
|
| Дискретная производная |
|
| Дискретный фильтр | Поддержка создания кода. |
| Дискретный фильтр FIR | |
| Дискретный PID-контроллер |
|
| Дискретный PID-контроллер (2DOF) | |
| Дискретное состояние - пространство | Поддержка создания кода. |
| Дискретный перенос Fcn | |
| Дискретный нулевой полюс | |
| Интегратор дискретного времени | Зависит от абсолютного времени при использовании в иерархии инициируемых подсистем. |
| Включенная задержка | Поддерживает создание кода. |
| Удержание первого заказа | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Память | Поддержка создания кода. |
| Сбрасываемая задержка | |
| Задержка с отводом | |
| Перенос Fcn Первый заказ | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Перенос вывода или задержки Fcn | |
| Трансфер Fcn Real Zero | |
| Единичная задержка | Поддержка создания кода. |
| Переменная целочисленная задержка | |
| Удержание нулевого заказа |
Логические и битовые операции
Таблицы подстановки
| Блок | Примечания по поддержке |
|---|---|
| Косинус | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, установив флажок Обработать как атомную единицу. |
| Таблица прямого поиска (n-D) | Поддержка создания кода. |
| Интерполяция с использованием Prelookup | |
| 1-D Таблица подстановки | |
| 2-D Таблица подстановки | |
| n-D таблица подстановки | |
| Динамическая таблица подстановки | |
| Предварительный поиск | |
| Синус | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
Математические операции
Проверка модели
| Блок | Примечания по поддержке |
|---|---|
| Утверждение | Поддерживает создание кода. |
| Проверка дискретного градиента | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Проверка динамического зазора | Поддержка создания кода. |
| Проверить динамическую нижнюю границу | |
| Проверить динамический диапазон | |
| Проверить динамическую верхнюю границу | |
| Проверить разрешение ввода | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Проверка статического зазора | |
| Проверка статической нижней границы | |
| Проверить статический диапазон | |
| Проверка статической верхней границы |
Утилиты для всей модели
| Блок | Примечания по поддержке |
|---|---|
| Таблица поддержки блоков | Игнорируется при создании кода. |
| DocBlock | Для добавления комментариев к сгенерированному коду используется символ шаблона, заданный для параметра блока «Флаг встроенного кодера». Требуется лицензия Embedded Coder. Дополнительные сведения см. в разделе Использование DocBlock Simulink для добавления комментария. |
| Сведения о модели | Игнорируется при создании кода. |
| Линеаризация на основе времени | |
| Линеаризация на основе триггера |
Порты и подсистемы
Атрибуты сигнала
| Блок | Примечания по поддержке |
|---|---|
| От шины к вектору | Поддержка создания кода. |
| Преобразование типа данных | |
| Преобразование типа данных унаследовано | |
| Дублирование типа данных | |
| Распространение типа данных | |
| Масштабирование типа данных полосы | |
| IC | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Исследование | Поддерживает создание кода. |
| Переход ставки |
|
| Преобразование сигналов | Поддержка создания кода. |
| Спецификация сигнала | |
| Преобразование единиц | |
| Взвешенное время выборки | |
| Width |
Маршрутизация сигналов
| Блок | Примечания по поддержке |
|---|---|
| Назначение шины | Поддержка создания кода. |
| Автор шины | |
| Селектор шины | |
| Память хранилища данных | |
| Чтение хранилища данных | |
| Запись в хранилище данных | |
| Demux | |
| Контроллер окружающей среды | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| От | Поддержка создания кода. |
| Goto | |
| Перейти к разделу Видимость тегов | |
| Вектор индекса | |
| Ручное переключение | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Приемник варианта вручную | Поддержка создания кода. |
| Источник варианта вручную | |
| Слияние | Когда несколько сигналов, подключенных к блоку слияния, имеют не-Auto класс хранения, все не -Auto сигналы, подключенные к этому блоку, должны иметь одинаковую маркировку и одинаковый класс памяти. Когда блоки объединения соединяются непосредственно друг с другом, эти правила применяются ко всем сигналам, связанным с блоками объединения в группе. |
| Мультипортовый коммутатор | Поддержка создания кода. |
| Mux | |
| Отборщик | |
| Считыватель состояния | |
| Государственный писатель | |
| Выключатель | |
| Приемник варианта | |
| Источник варианта | |
| Конкатенат вектора |
Сливы
| Блок | Примечания по поддержке |
|---|---|
| Показ | Пропущено для создания кода. |
| Средство просмотра плавающей области и области | |
| Вспомогательный порт (Out1) | Поддерживает создание кода. |
| Объем | Пропущено для создания кода. |
| Остановить моделирование |
|
| Терминатор | Поддерживает создание кода. |
| К файлу | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| К рабочему пространству | Пропущено для создания кода. |
| График XY |
Источники
| Блок | Примечания по поддержке |
|---|---|
| Белый шум с ограниченным диапазоном | Невозможно использовать внутри иерархии запускаемых подсистем. |
| Чирп-сигнал | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Часы | |
| Постоянный | Поддерживает создание кода. |
| Счетчик свободно работает | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Счетчик ограничен |
|
| Цифровые часы | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Перечисляемая константа | Поддерживает создание кода. |
| Из файла | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Из электронной таблицы | |
| Из рабочей области | Пропущено для создания кода. |
| Земля | Поддержка создания кода. |
| Ввод (In1) | |
| Генератор импульсов | Невозможно использовать внутри иерархии запускаемых подсистем. Не ссылается на абсолютное время при настройке для операций на основе образцов. Зависит от абсолютного времени в операции на основе времени. |
| Пандус | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Случайное число | Поддерживает создание кода. |
| Повторяющаяся последовательность |
|
| Интерполяция повторяющейся последовательности |
|
| Повторяющаяся лестница последовательности | Генератор кода не группирует явно примитивные блоки, которые составляют неатомный маскированный блок подсистемы в сгенерированном коде. Такая гибкость обеспечивает более эффективную генерацию кода. В некоторых случаях можно добиться группирования, настроив маскированный блок подсистемы для выполнения в качестве атомной единицы, выбрав параметр блока Обработать в качестве атомной единицы. |
| Построитель сигналов | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Генератор сигналов | |
| Синусоидальная волна |
|
| Шаг | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
| Единообразное случайное число | Поддерживает создание кода. |
| Генератор формы сигнала | Не рекомендуется для производственного кода. Относится к ограничениям ресурсов и ограничениям на скорость и память, часто встречающимся во встроенных системах. Сгенерированный код может содержать динамическое выделение и освобождение памяти, рекурсию, дополнительные накладные расходы на память и широко изменяющееся время выполнения. Хотя код является функционально действительным и общепринятым в средах с богатыми ресурсами, более мелкие встроенные целевые объекты часто не могут поддерживать такой код. Обычно блоки развиваются в сторону пригодности для производственного кода. Таким образом, блоки, подходящие для производственного кода, остаются подходящими. |
Определяемые пользователем
| Блок | Примечания по поддержке |
|---|---|
| Вызывающий абонент функции | Поддержка создания кода. |
| Инициализация функции | |
| Интерпретированная функция MATLAB | Вместо этого следует использовать функциональный блок MATLAB. |
| Level-2 S-функция MATLAB | Если соответствующий файл TLC доступен, Уровень 2 MATLAB S-Function block использует файл TLC, чтобы сгенерировать код, иначе генерация объектного кода бросает ошибку. |
| Функция MATLAB | Поддержка создания кода. |
| Система MATLAB | |
| S-функция | S-функции, которые вызывают MATLAB, не поддерживаются для генерации кода. |
| Построитель S-функций | |
| Функция симулятора | Поддержка создания кода. |
| Завершить функцию |
В таблице поддержки типов данных блока Simulink обобщаются характеристики блоков в библиотеках блоков Simulink и Fixed-Point Designer, в том числе их рекомендуется использовать при создании производственного кода. Для просмотра этой таблицы в окне команды MATLAB введите showblockdatatypetableили обратитесь к страницам ссылок на блоки.
Для создания кода можно использовать несколько продуктов, включающих блоки. Однако перед использованием блоков для одного из этих продуктов обратитесь к документации по этому продукту для подтверждения того, какие блоки поддерживают генерацию кода.