Системные объекты позволяют реализовать алгоритмы на языке 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] скаляр |
| Сложность | реальный |
Эти возможности в настоящее время не поддерживаются.
| Категория | Описание ограничения | Работа |
|---|---|---|
Системные объекты | Настраиваемые логические и символьные векторные свойства объекта System являются не настраиваемыми параметрами в системном блоке MATLAB. | — |
Типы данных |
| — |
Время выборки | Нельзя использовать системные блоки MATLAB для моделирования систем непрерывного времени или многоскоростных систем. | — |
Линеаризация | Нельзя использовать линеаризацию на основе якобиана. | — |
Глобальные переменные | Глобальные переменные, определенные на панели «Цель моделирования параметров конфигурации модели» > «Пользовательский код» и на которые ссылается объект System, не являются общими для Stateflow ® и функционального блока MATLAB. | Включите параметр Импортировать пользовательский код (Import custom code) на панели Цель моделирования (Simulation Target) диалогового окна Параметры конфигурации (Configuration Parameters). |
Отладка | Отладка MATLAB для моделирования на основе генерации кода. | Установите в поле MATLAB System block Simulate using parameter значение |
Инструмент с фиксированной точкой | Инструмент Fixed-Point Tool не возвращает информацию о конструкции min/max, min/max logging и autoscaling для системных блоков MATLAB. | — |
Анализ покрытия модели (программное обеспечение Simulink Coverage™) | Simulink Coverage не может выполнить анализ модели для блока MATLAB System с помощью Simulate, используя параметр set to | — |
Проверка совместимости модели (программное обеспечение Simulink Design Verifier™) | Simulink Design Verifier не может выполнить проверку совместимости для модели или подсистемы, содержащей системный блок MATLAB. | — |
Примеры системных и системных объектов MATLAB см. в разделе:
| Пример | Описание |
|---|---|
Идентификация системы для системы FIR с использованием системных блоков MATLAB | В этом примере показано, как использовать системный блок MATLAB для реализации блоков Simulink с использованием системного объекта. Подсвечивает два системных блока MATLAB. Откройте исходный код MATLAB для каждого объекта System, щелкнув значок |
Системный блок MATLAB с входными и выходными сигналами переменного размера | В этом примере показано, как использовать системный блок MATLAB для реализации блоков Simulink с входными и выходными сигналами переменного размера. Из-за использования сигналов переменного размера в примере используются методы распространения. |
В этом примере показано, как использовать системные блоки MATLAB для иллюстрации закона больших чисел. Из-за использования функций MATLAB, не поддерживаемых для генерации кода, в примере используются методы распространения и интерпретированного выполнения. | |
В этом примере показано, как использовать системные блоки MATLAB с невиртуальными шинами на входе или выходе. Из-за использования шин Simulink в примере используются методы распространения. В примере определяются типы шин в базовом рабочем пространстве MATLAB с помощью обратных вызовов модели. |