Системные объекты позволяют вам реализовать алгоритмы с помощью MATLAB® язык. Блок MATLAB System позволяет вам использовать системные объекты в Simulink®.
Блок MATLAB System позволяет вам:
Разделите те же Системные object™ в MATLAB и Simulink
Посвятите интегрирование системных объектов с Simulink
Модульный тест вашего алгоритма в MATLAB, прежде чем использовать его в Simulink
Настройка диалогового окна индивидуальной настройки
Эффективно моделируйте с лучшей инициализацией
Управляйте состояниями
Настройка значков блоков с метками портов
Доступ к двум режимам симуляции
Существует несколько механизмов включения алгоритмов MATLAB в Simulink, таких как:
MATLAB System блок
MATLAB Function блок
Interpreted MATLAB Function блок
Level-2 MATLAB S-Function блок
Для получения справки по выбору правого блока смотрите Сравнение функциональности пользовательских блоков.
Перед использованием блока MATLAB System необходимо иметь системный объект для связи с блоком. Системный объект является специализированным видом класса MATLAB. Системные объекты специально разработаны для реализации и симуляции динамических систем с входами, которые изменяются с течением времени.
Дополнительные сведения о создании системных объектов см. в разделе Настройка системных объектов для Simulink.
Примечание
Чтобы использовать ваш системный объект в окружение Simulink, у него должен быть конструктор, который можно вызвать без аргументов. По умолчанию конструктор системных объектов имеет эту возможность, и вам не нужно определять собственного конструктора. Однако, если вы создаете свой собственный конструктор системных объектов, вы должны иметь возможность вызвать его без аргументов.
Системные объекты существуют в других продуктах MATLAB. MATLAB System блок поддерживает только системные объекты, записанные на языке MATLAB. В сложение, если у Системный объект есть соответствующий блок Simulink, вы не можете реализовать для него MATLAB System блок.
Можно использовать блоки MATLAB System в моделях Simulink для симуляции с помощью интерпретированного выполнения или генерации кода.
При интерпретированном выполнении модель моделирует блок с помощью механизма выполнения MATLAB.
С генерацией кода модель моделирует блок, используя генерацию кода (требует использования подмножества кода MATLAB, поддерживаемого для генерации кода). Список поддерживаемых функций см. в разделе Функции и Объекты, поддерживаемые для генерации кода C/C + +.
Если блок MATLAB System имеет один или несколько входов, которые не связаны с выходным портом другого блока или соединены с портом, который имеет недоопределенные атрибуты, атрибуты входного сигнала по умолчанию для неопределенных атрибутов:
Атрибут данных | Дефолт |
---|---|
Тип данных | дважды |
Размер | [1 1] скаляр |
Сложность | реальный |
В настоящее время эти возможности не поддерживаются.
Категория | Описание ограничения | Работа |
---|---|---|
Системные объекты | Настраиваемые логические и символьные векторные свойства объекта System являются нетронутыми параметрами в блоке MATLAB System. | — |
Типы данных |
| — |
Шаг расчета | Невозможно использовать MATLAB System блоки для моделирования непрерывного времени или мультирейт-систем. | — |
Линеаризация | Невозможно использовать основанную на якобиане линеаризацию. | — |
Глобальные переменные | Глобальные переменные, определенные в панели Параметры конфигурации модели Simulation Target > Custom Code и на которые ссылается Системный объект, не разделяются с Stateflow® и блок MATLAB Function. | Включите Import custom code option в панели Simulation Target диалогового окна Параметры конфигурации. |
Отладка | Отладка MATLAB для симуляции на основе генерации кода. | Установите параметр MATLAB System Simulate using блока на |
Fixed-Point Tool | Этот Fixed-Point Tool не возвращает информацию о проекте min/max, min/max логгирования и автосканировании для блоков MATLAB System. | — |
Анализ покрытия модели (программное обеспечение Simulink Coverage™) | Simulink Coverage не может выполнить анализ модели для MATLAB System блока с Simulate using набора параметров, чтобы | — |
Проверяйте совместимость модели (программное обеспечение Simulink Design Verifier™) | Simulink Design Verifier не может выполнить проверку совместимости для модели или подсистемы, содержащей блок MATLAB System. | — |
Для примеров MATLAB System и системных объектов смотрите:
Пример | Описание |
---|---|
В этом примере показано, как использовать блок MATLAB System для реализации блоков Simulink с помощью системного объекта. В нем выделены два блока MATLAB System. Получите доступ к исходному коду MATLAB для каждого системного объекта, нажав на | |
MATLAB System Block с входными и выходными сигналами переменного размера | В этом примере показано, как использовать блок MATLAB System для реализации блоков Simulink с входными и выходными сигналами переменного размера. Из-за использования сигналов переменного размера в примере используются методы распространения. |
Этот пример показывает, как использовать блоки MATLAB System для иллюстрации закона больших чисел. Из-за использования функций MATLAB, не поддерживаемых для генерации кода, в примере используются методы распространения и интерпретированное выполнение. | |
В этом примере показано, как использовать блоки MATLAB System с невиртуальными шинами на входе или выходе. Из-за использования шин Simulink в примере используются методы распространения. Пример определяет типы шин в базовом рабочем пространстве MATLAB с помощью коллбэков модели. |