exponenta event banner

Системный блок MATLAB

Зачем использовать системный блок MATLAB?

Системные объекты позволяют реализовать алгоритмы на языке MATLAB ®. Системный блок MATLAB позволяет использовать системные объекты в Simulink ®.

Системный блок MATLAB позволяет:

  • Совместное использование одних и тех же системных object™ в MATLAB и Simulink

  • Выделение интеграции системных объектов с Simulink

  • Модульное тестирование алгоритма в MATLAB перед его использованием в Simulink

  • Настройка диалогового окна

  • Эффективное моделирование с лучшей инициализацией

  • Состояния обработки

  • Настройка значков блоков с метками портов

  • Доступ к двум режимам моделирования

Выбор типа правого блока

Существует несколько механизмов включения алгоритмов MATLAB в Simulink, таких как:

  • Блок системы MATLAB

  • Функциональный блок MATLAB

  • Интерпретируемый функциональный блок MATLAB

  • Level-2 Функциональный блок MATLAB S

Дополнительные сведения о выборе правильного блока см. в разделе Сравнение функциональных возможностей пользовательского блока.

Системные объекты

Перед использованием системного блока MATLAB необходимо иметь системный объект для связи с блоком. Объект System является специализированным видом класса MATLAB. Системные объекты разработаны специально для реализации и моделирования динамических систем с вводами, изменяющимися с течением времени.

Дополнительные сведения о создании системных объектов см. в разделе Настройка системных объектов для Simulink.

Примечание

Чтобы использовать объект System в среде Simulink, он должен иметь конструктор, который можно вызвать без аргументов. По умолчанию конструктор объектов System имеет эту возможность, и нет необходимости определять собственный конструктор. Однако при создании собственного конструктора объекта System необходимо иметь возможность вызывать его без аргументов.

Системные объекты существуют в других продуктах MATLAB. Системный блок MATLAB поддерживает только системные объекты, написанные на языке MATLAB. Кроме того, если объект System имеет соответствующий блок Simulink, для него нельзя реализовать системный блок MATLAB.

Интерпретированное выполнение или создание кода

Системные блоки MATLAB можно использовать в моделях Simulink для моделирования с помощью интерпретированного выполнения или генерации кода.

  • При интерпретированном выполнении модель моделирует блок с помощью механизма выполнения MATLAB.

  • При генерации кода модель моделирует блок с помощью генерации кода (требует использования подмножества кода MATLAB, поддерживаемого для генерации кода). Список поддерживаемых функций см. в разделе Функции и объекты, поддерживаемые для генерации кода C/C + +.

Атрибуты входного сигнала по умолчанию

Если системный блок MATLAB имеет один или несколько входов, не подключенных к выходному порту другого блока или подключенных к порту с недостаточно заданными атрибутами, то атрибуты входного сигнала по умолчанию для неопределенных атрибутов:

Атрибут данныхДефолт
Тип данныхдважды
Размер[1 1] скаляр
Сложностьреальный

Ограничения системных блоков MATLAB

Эти возможности в настоящее время не поддерживаются.

КатегорияОписание ограниченияРабота

Системные объекты

Настраиваемые логические и символьные векторные свойства объекта System являются не настраиваемыми параметрами в системном блоке MATLAB.

Типы данных

  • Системный блок MATLAB не поддерживает виртуальные шины в качестве входных или выходных данных.

  • Системные объекты не могут использовать пользовательские непрозрачные типы данных.

Время выборки

Нельзя использовать системные блоки MATLAB для моделирования систем непрерывного времени или многоскоростных систем.

Линеаризация

Нельзя использовать линеаризацию на основе якобиана.

Глобальные переменные

Глобальные переменные, определенные на панели «Цель моделирования параметров конфигурации модели» > «Пользовательский код» и на которые ссылается объект System, не являются общими для Stateflow ® и функционального блока MATLAB.

Включите параметр Импортировать пользовательский код (Import custom code) на панели Цель моделирования (Simulation Target) диалогового окна Параметры конфигурации (Configuration Parameters).

Отладка

Отладка MATLAB для моделирования на основе генерации кода.

Установите в поле MATLAB System block Simulate using parameter значение Interpreted execution, а затем отладка. По завершении установите для параметра Simulate using back значение Code generation.

Инструмент с фиксированной точкой

Инструмент Fixed-Point Tool не возвращает информацию о конструкции min/max, min/max logging и autoscaling для системных блоков MATLAB.

Анализ покрытия модели (программное обеспечение Simulink Coverage™)

Simulink Coverage не может выполнить анализ модели для блока MATLAB System с помощью Simulate, используя параметр set to Interpreted execution.

Проверка совместимости модели (программное обеспечение Simulink Design Verifier™)

Simulink Design Verifier не может выполнить проверку совместимости для модели или подсистемы, содержащей системный блок MATLAB.

Примеры систем и системных объектов MATLAB

Примеры системных и системных объектов MATLAB см. в разделе:

ПримерОписание

Идентификация системы для системы FIR с использованием системных блоков MATLAB

В этом примере показано, как использовать системный блок MATLAB для реализации блоков Simulink с использованием системного объекта. Подсвечивает два системных блока MATLAB. Откройте исходный код MATLAB для каждого объекта System, щелкнув значок Source code из диалогового окна блока.

Системный блок MATLAB с входными и выходными сигналами переменного размера

В этом примере показано, как использовать системный блок MATLAB для реализации блоков Simulink с входными и выходными сигналами переменного размера. Из-за использования сигналов переменного размера в примере используются методы распространения.

Пример закона больших чисел

В этом примере показано, как использовать системные блоки MATLAB для иллюстрации закона больших чисел. Из-за использования функций MATLAB, не поддерживаемых для генерации кода, в примере используются методы распространения и интерпретированного выполнения.

Использование шин с системными блоками MATLAB

В этом примере показано, как использовать системные блоки MATLAB с невиртуальными шинами на входе или выходе. Из-за использования шин Simulink в примере используются методы распространения. В примере определяются типы шин в базовом рабочем пространстве MATLAB с помощью обратных вызовов модели.

См. также

Связанные примеры

Подробнее