Модели Simulink

Модель является абстрактным и упрощенным описанием системы, использующей математические уравнения и схемы. Концепции моделирования в этой теме обеспечивают контекст для понимания процесса математического описания системы с Simulink® программные инструменты.

Блок

block diagram является визуальным представлением модели в редакторе Simulink. Редактор позволяет добавлять блоки, выбранные из библиотек блоков, представляющих элементарные компоненты модели. Элементарные компоненты включают интегратор, усиление и суммарные блоки. Блоки соединяются друг с другом линиями сигнала и события, чтобы визуально создать уравнения модели.

Семантика блоков

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

Simulink расширяет классические блоки на:

  • Добавление набора уравнений (блочных методов) к каждому блоку, которое задает основанные на времени отношения между входными сигналами, выходными сигналами и переменными состояния блока.

  • Добавление параметров к каждому блоку, которые задают коэффициенты из уравнений модели.

  • Предоставление механизма для численного решения блока путем оценки отношений с течением времени, где время начинается в заданное пользователем «время начала» и заканчивается в заданное пользователем «время остановки».

Смотрите также: Диаграммы Simulink, Сборка и Редактирование Модели Интерактивно, Симуляция.

Блоки

A block является базовой конструкцией моделирования редактора Simulink. Добавьте блоки из встроенных библиотек Simulink, чтобы выполнить определенные операции. Можно также создать пользовательские блоки. Некоторые блоки имеют входные сигналы, выходные сигналы и состояния. Большинство блоков имеют параметры, которые вы используете, чтобы задать поведение блоков. Имеет ли блок параметры, и характер этих параметров специфичен для каждого блока.

Каждый блок представляет набор уравнений для двигателя Simulink. Уравнения представлены как блочные методы. Блоки, показанные выше, имеют следующие блочные методы.

Методы блока оцениваются во время симуляции блок-схемы. Оценка методов блока выполняется в цикле симуляции, где каждый цикл через цикл симуляции представляет оценку блок-схемы в заданную точку времени.

Виртуальные блоки

Virtual blocks организуют и обеспечивают графическую иерархию в модели, но они не влияют на результат симуляции. Во время симуляции модели Simulink расширяет блоки на месте перед выполнением, процесс, известный как уплощение. Это расширение подобно тому, как макросы работают на языке программирования, таком как C или C++.

Simulink задает следующие виртуальные блоки:

  • Virtual Subsystem - Используйте виртуальную подсистему, чтобы инкапсулировать связанные и функциональные части в большей модели. Блок Virtual Subsystem имеет флажок для параметра, Treat as atomic unit снят.

  • Inport и Outport - Используйте блоки портов, чтобы переместить данные (сигналы) и события (вызовы функций) из блока Subsystem или ссылочного блока Model в блок и наоборот.

  • Bus Creator, Bus Assignment, Bus Selector - Блоки шины объединяют сигналы в виртуальную шину и управляют маршрутизацией сигналов вокруг сложной блок-схемы. Виртуальные шины являются графическим удобством и не меняют поведение модели.

Смотрите Невиртуальные и Виртуальные Блоки, Типы Сигналов, Типы Составных Сигналов.

Невиртуальные блоки

Невиртуальные блоки обеспечивают контроль выполнения и графическую иерархию в модели. Simulink задает следующие невиртуальные Подсистемы и Блоки Model:

  • Атомарная Подсистема и Модель - Блоки в блоке Atomic Subsystem или блоке Model, который ссылается на выполнение модели как один модуль измерения (атомарное выполнение) на каждом временном шаге. Для блока Атомарная подсистема установлен флажок для Treat as atomic unit параметра.

    Можно поместить любой блок Simulink в Atomic Subsystem или ссылочную модель, включая блоки с различными скоростями выполнения. Эта гибкость обеспечивает преимущество группировки функциональных аспектов модели на уровне выполнения.

    В следующем примере модель транспортного средства является блоком Atomic Subsystem, содержащим блоки, которые моделируют механику автомобиля. На управляющую модель ссылаются из блока Model.

  • Enabled и/или Triggered - Atomic Subsystem или Model блок, выполнение которого управляется внешними данными от сигнала. Содержит Enable или Trigger блок или оба блока. Для блока Trigger значение Trigger type параметра устанавливается равным rising, falling, или either.

  • Function-Call - Atomic Subsystem или Model блок, выполнение которого управляется событием от инициатора вызова функции (такого как Stateflow® график или Function-Call Generator, S-Function или Hit Crossing блок). Содержит блок Trigger с Trigger type значением function-call.

Simulink задает следующие невиртуальные компоненты только для блоков Subsystem.

  • Подсистема Действий - Atomic Subsystem блок, выполнение которого управляется событием от инициатора действия (например, If или Switch Case блок). Содержит блок Action Port в блоке Subsystem.

  • В то время как Iterator Subsystem - Atomic Subsystem блок, который запускает несколько итераций в течение каждого временного шага модели. Содержит блок While Iterator, который управляет количеством итераций путем оценки логического условия.

    Некоторое время подсистема итератора подобна подсистеме вызова функций в том, что она может запускаться для любого количества итераций на заданном временном шаге. Подсистема итератора отличается от подсистемы вызова функций тем, что отдельного инициатора нет.

  • Для Подсистемы Итератора - Atomic Subsystem блок, который запускает фиксированное количество итераций в течение каждого временного шага модели. Содержит блок For Iterator, который управляет количеством итераций.

См. «Невиртуальные» и «Виртуальные блоки».

Блочная маска

block mask является интерфейсом пользовательского блока параметра, который отображает только выбранные параметры блоков. Маска для блока Subsystem позволяет вам обеспечить интерфейс для настройки параметров на блоках внутри блока Subsystem без необходимости перемещаться по иерархии модели.

См. Основы маскирования.

Пользовательские блоки

Custom blocks новые блоки, которые расширяют встроенную функциональность Simulink. Можно создать библиотеки пользовательских блоков для использования в модели.

Следующие блоки определяют алгоритм пользовательского блока либо графически с помощью блок-схемы, либо программно:

Смотрите Типы Пользовательских Блоков, Авторские Блоки и Интегрирование Симуляции.

Линии

A line является базовой конструкцией моделирования редактора Simulink. Линии соединяют выходные порты блоков с входными портами других блоков.

Сигнальные линии

Signal lines передайте данные во время симуляции из одного блока в другой блок. Сигналы являются изменяющимися во времени величинами, которые имеют значения во всех точках времени (непрерывно) или в заданные моменты времени (дискретно). Источник сигнала соответствует блоку, который записывает в сигнал во время оценки его метода выхода блоков. Адресатом сигнала является блок, который читает сигнал во время оценки его метода входа.

Можно задать атрибуты сигнала, включая имя сигнала, тип данных (например, double, 32-битное целое число), численный тип (например, real, complex) и размерность (например, одномерный, двумерный, многомерный массив). Многие блоки могут принимать или выводить сигнал любого типа данных или размерности. Другие блоки накладывают ограничения на атрибуты сигналов, которые они могут обрабатывать.

Во время симуляции сохраните данные из сигнала путем регистрации сигналов.

Линии событий

В ответ на вызов функции или инициатор действия event lines отправьте событие в Subsystem или Model блок. Блок, который получает событие, выполняет блоки в нем один или несколько раз в течение временного шага. Инициаторы вызова функции включают диаграммы Stateflow, блоки Function-Call Generator, блоки S-Function и блоки Hit Crossing. Инициаторы действий включают If и Switch Case блоки.

См. «Основы сигналов и сигналов».

Данные

Data включает в себя значения параметров и входных сигналов, которые Simulink использует, чтобы получить выходные значения, следующие из симуляции поведения модели.

Типы данных:

  • Параметры модели - Переменные, чтобы задать параметры блока и сигнала в модели. Включает переменный MATLAB, объекты данных параметров и сигналов, объекты типа данных и объекты шины.

  • Параметры конфигурации модели - Параметры, которые определяют, как ваша модель запускается, задавая настройки, которые управляют поведением модели.

  • Данные моделирования - Входные данные для управления данными симуляции и вывода, сгенерированными симуляцией.

  • Объекты данных - Образцы классов данных, которые позволяют вам задавать характеристики сигналов, состояний и параметров блоков. Используйте Simulink.Signal и Simulink.Parameter классы для создания объектов данных. См. раздел Объекты данных.

Расположение данных:

  • Параметры блоков - Используйте параметры блоков, чтобы непосредственно задать числовые значения. Можно также ввести имя переменной и задать ее значение в рабочем пространстве модели, словаре данных Simulink или базовом рабочем пространстве MATLAB.

  • Базовое рабочее пространство MATLAB - Используйте базовое рабочее пространство MATLAB для сохранения переменных, которые отделены от модели, в скрипте MAT-файла или MATLAB.

    Simulink рассматривает базовое рабочее пространство и словарь данных как единое глобальное пространство имен. Если базовое рабочее пространство и словарь данных-ссылок имеют одинаковые имена переменных, Simulink использует значение переменных в словаре данных.

    Базовое рабочее пространство MATLAB содержит переменные, которые являются глобальными и видимыми для всех моделей Simulink.

    См. Сравнение методов загрузки сигналов, Экспорт данных моделирования.

  • Рабочее пространство модели Simulink - Используйте рабочее пространство модели для определения и хранения локальных переменных данных. Переменные, заданные в рабочем пространстве модели, видны только в возможности модели с уникальным пространством имен. Поэтому можно использовать одно и то же имя переменной в нескольких рабочих пространствах модели, и можно присвоить уникальное значение переменных имя в каждой модели.

    Задайте переменные в словаре данных с помощью Model Explorer. На вкладке Modeling нажмите Model Explorer. На левой панели выберите Рабочее Пространство Модели.

    Значения для переменных рабочего пространства модели инициализируются из значений, сохраненных в модели, из отдельного MAT-файла или файла MATLAB или с помощью кода MATLAB, сохраненного в модели.

    См. «Рабочие рабочие пространства модели», «Задайте источник для данных в рабочем пространстве модели».

  • Словарь данных Simulink - Используйте словарь данных для определения и хранения глобальных данных, обмена данными между моделями и отслеживания изменений, внесенных в данные. Данные сохраняются в файле, отдельном от модели.

    Создайте файл словаря данных. На вкладке Modeling, под Design, нажмите Data Dictionary. Нажмите New и введите имя файла с расширением .sldd.

    Задайте переменные в словаре данных с помощью Model Explorer. На вкладке Modeling нажмите Model Explorer. На левой панели выберите Design Data.

    См. раздел «Что такое словарь данных?».

  • Импортированные и экспортированные данные - Импортируйте сигналы для симуляции из базового рабочего пространства MATLAB, MAT-файла или электронной таблицы. Создайте входные сигналы с помощью исходного блока или Signal Editor блока. Используйте регистрацию сигналов, чтобы экспортировать результаты симуляции. Сигналы сохраняются как векторы [t, X, Y] для времени, состояния и выхода на каждом основном временном шаге.

Смотрите также: Определите, где хранить переменные и объекты для моделей Simulink, Разрешение символа.

Параметры

Parameters характеристики модели Simulink, которые влияют на симуляцию и результат генерации кода.

Параметры конфигурации модели

Model configuration parameters задайте поведение модели во время компиляции, симуляции и генерации кода, такие как используемый решатель и типы ошибок и предупреждений для отображения.

Чтобы задать параметры конфигурации модели, на вкладке Modeling нажмите Model Settings. Откроется диалоговое окно Параметры конфигурации (Configuration Parameters).

Смотрите Задать параметры конфигурации модели для модели.

Параметры блоков

Block parameters задайте динамику модели и математику. Имеет ли блок параметры, которые вы можете задать, и характер этих параметров специфичен для каждого блока. Чтобы задать параметры блоков, откройте диалоговое окно параметра блоков или на вкладке Modeling, под Design, нажмите одно из следующих:

  • Property Inspector - Задайте параметры блоков непосредственно или введите имя переменной для значения параметров.

  • Model Data Editor - Задайте параметры блоков с переменными.

  • Model Explorer - Задайте параметры блоков с переменными.

Смотрите Задать Значения Параметров блоков.

Параметры блоков

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

  • Simulink Model Workspace - Создайте переменные рабочего пространства модели и присвойте значения переменным. Параметры, которые вы определяете, специфичны для модели и сохранены с моделью. Для упрощения обслуживания используйте переменный MATLAB. Использование Simulink.Parameter объект для управления дополнительными свойствами, включая тип данных, размерности и модули. См. «Редактирование и управление переменными рабочей области при помощи Model Explorer».

  • Simulink Data Dictionary - создайте проект переменные данных в словаре данных и связайте словарь с моделью. Во время симуляции модели Simulink извлекает данные из словаря данных.

  • MATLAB Base Workspace - В базовом рабочем пространстве MATLAB задайте параметры с помощью любого механизма MATLAB для определения переменной. Для примера можно использовать MAT-файл и загружать переменные, когда вы открываете модель. Используйте выражения MATLAB, чтобы задать значения переменных параметров. Simulink оценивает выражения перед выполнением симуляции. См. «Сохранение и загрузка переменных рабочей области».

Использование базового рабочего пространства MATLAB или словаря данных Simulink для определения переменных полезно, когда вы используете один и тот же набор параметров для более чем одной модели. Этот механизм также позволяет вам использовать различные наборы значений параметров для одной и той же модели.

См. также: Совместное использование и повторное использование значений параметров блоков путем создания переменных, создания, редактирования и управления переменными рабочей области.

Аргумент модели и параметры образца

Когда вы ссылаетесь на ту же модель из нескольких блоков Model, вы создаете instances из модели. Можно задать параметры блоков, чтобы использовать одно и то же значение или другое значение для каждого образца модели.

Чтобы использовать различные значения,

  1. В рабочем пространстве модели для модели-ссылки создайте переменный MATLAB или Simulink.Parameter объект.

  2. Введите имя параметра и Value параметра по умолчанию. Установите флажок Argument, чтобы создать model argument.

  3. Для блока в модели-ссылке введите имя аргумента модели для значения параметров блоков.

  4. Для каждого блока Model откройте диалоговое окно параметров блоков, выберите вкладку Instance parameters и введите значение для параметра образца с именем аргумента модели.

См. также: Параметризация экземпляров переиспользуемой модели-ссылки.

Настраиваемые Параметры блоков

Вы можете изменить значение настраиваемых параметров блоков во время симуляции. Это позволяет вам в интерактивном режиме определить наиболее подходящее значение для параметра. Когда вы изменяете значение настраиваемого параметра, изменение вступает в эффект в начале следующего временного шага. Для примера параметр усиления блока Gain настраиваем. Можно изменить коэффициент усиления блока во время симуляции. Смотрите Настройку и Эксперимент с Параметрами блоков значениями.

Установка параметров блоков с помощью Property Inspector

Чтобы задать параметры, на вкладке Modeling, под Design, нажмите Property Inspector. Щелкните блок, чтобы отобразить параметры блоков и свойства.

Смотрите также: Задайте свойства блока.

Свойства

Properties характеристики модели Simulink, которые обычно не влияют на результат симуляции. Чтобы задать свойства, на вкладке Modeling, под Design, нажмите Property Inspector.

Свойства модели

Когда Property Inspector откроется, щелкните пустое пространство в блок схеме или на вкладке Modeling выберите Model Settings > Model Properties. Свойства модели включают:

  • Общее - Имя и местоположение файла модели.

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

  • Коллбэки - Команды, которые выполняются, когда происходит определенное событие модели.

См. Управление версиями модели и Определение свойств модели.

Свойства блока

Когда Property Inspector откроется, выберите блок, а затем перейдите на вкладку Properties. Свойства блока включают:

  • Аннотация блока - Значения выбранных параметров блоков, отображаемые под блоком.

  • Коллбэки - Команды, которые выполняются, когда происходит конкретное событие блока. Для примера можно настроить скрипт MATLAB, чтобы загрузить и определить переменные параметры блоков с помощью выражений.

  • Приоритет - Установите относительный порядок выполнения блоков. Меньшее значение выполняет блок перед большим значением приоритета.

  • Теги - Идентификаторы блоков, которые являются программно доступными для поиска.

Свойства порта

Когда Property Inspector откроется, выберите порт, а затем выберите вкладку Properties. Можно изменять свойства портовых объектов, сигналов и блоков портов с помощью Property Inspector. Порты блока подсистемы также имеют вкладку port block, которая содержит свойства связанного блока портов.

Port properties shown in Property Inspector

Настройка свойств модели и блока с помощью Property Inspector

Чтобы задать свойства, на вкладке Simulation, под Prepare, нажмите Property Inspector. Щелкните пустое пространство, чтобы отобразить свойства модели. Щелкните блок, чтобы отобразить свойства блока.

Смотрите также: Задайте свойства блока, коллбэки для настраиваемого поведения модели.

Переменные состояния

state модели определяется значениями ее state variables. Переменные состояния являются набором переменных, значения которых в начальный момент времени, наряду со значениями входов модели и уравнений модели, могут определять поведение модели во время симуляции. Примеры переменных состояния включают положение и скорость двигателя, ток индуктивности, напряжение конденсатора, температуру решения и давление газа.

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

Работа с государствами

Для определения, инициализации и логгирования состояний модели во время симуляции предусмотрены следующие средства:

  • Панель Импорт/Экспорт данных диалогового окна Параметры конфигурации модели (см. Информация о состоянии) позволяет вам задавать начальные значения для состояний модели и записывать значения состояний на каждом временном шаге во время симуляции как переменную массива или структуры в рабочем пространстве MATLAB.

    Откройте диалоговое окно Параметры конфигурации. Выберите блок проверки States для логгирования в переменном MATLAB xout.

    В Командном Окне MATLAB перечислите записанные значения для состояния блока Интегратор на каждом временном шаге.

        >> xout{1}.Values.Data
    
        ans =
    
            0.0000
            1.8127
            3.2968
            4.5119 . . .
  • model команда отображает информацию о состояниях, заданных моделью, включая общее количество состояний и блок, который определяет каждое состояние с его начальным значением.

    Перечислите блоки в vehicle_model модели с состояниями. В Командном Окне MATLAB введите функцию model, затем перечислите блоки с состояниями.

        [sys,x0,str,ts] = vehicle_model([],[],[],'sizes')
        str =
            {'vehicle_model/Integrator'}
  • Отладчик Simulink отображает значение состояния в каждом временном шаге во время симуляции и отладчик Simulink states команда отображает информацию о текущих состояниях модели (см. Simulink Debugger).

    В Командном Окне MATLAB запустите отладчик Simulink, затем введите команду states.

        sldebug 'vehicle_model'
        (sldebug @0): >> states
    
        Continuous States for 'vehicle_model':
        Idx  Value                    (system:block:element  Name   'BlockName')
             0. 0                        (0:0:0  CSTATE  'vehicle_model/Integrator')
  • Диалоговое окно Параметров блоков (и ContinuousStateAttributes параметр) позволяет вам задать имена состояниям для тех блоков (таких как Интегратор), которые используют непрерывные состояния. Это может упростить анализ данных, регистрируемых для состояний, особенно когда блок имеет несколько состояний.

Непрерывные состояния

Для всех значений времени определяется continuous state. Примером непрерывного состояния может быть скорость автомобиля, показанная на аналоговом спидометре с положением иглы, которое изменяется непрерывно с вращением шины.

Блоки с непрерывными состояниями и параметрами блоков Initial condition включать:

В целом, исключая простые модели, аналитические методы не существуют для интегрирования состояний, представленных обыкновенными дифференциальными уравнениями. Для интегрирования состояний требуется использование численных методов.

Дискретные состояния

discrete state определяется только в определенные моменты времени. Это - приближение непрерывного состояния, где состояние обновляется с периодическими или апериодическими временными интервалами. Примером дискретного состояния может быть скорость автомобиля, показанная на цифровом спидометре, который обновляется каждую секунду, в отличие от непрерывно.

Блоки с дискретными состояниями включают:

Вычисление дискретного состояния для блока требует знать его значение на предыдущем временном шаге, а также текущее входное значение для блока. Simulink предоставляет два типа дискретных решателей:

  • Дискретный решатель с фиксированным шагом - определяет фиксированный размер шага, который поражает все шаги расчета для всех дискретных состояний модели, независимо от того, действительно ли состояния изменяют значение во время расчета.

  • Дискретный решатель с переменным шагом - изменяет размер шага, чтобы убедиться, что шаг расчета происходит только в моменты, когда состояния изменяют значение.

Моделирование гибридных систем

A hybrid model имеет как непрерывное, так и дискретное состояния. Решение такой модели влечет за собой выбор размера шага, который удовлетворяет как ограничению точности на непрерывное интегрирование состояний, так и ограничению интервала шага расчета на дискретные состояния. Simulink удовлетворяет этому требованию, передавая следующий интервал шага расчета для дискретного решателя в качестве дополнительного ограничения для непрерывного решателя. Непрерывный решатель выбирает размер шага, который совершенствует симуляцию до, но не сверх времени следующего дискретного шага расчета. Непрерывный решатель может взять временной шаг до следующего попадания шаг расчета, чтобы удовлетворить его ограничению точности, но он не может сделать шаг дальше следующего попадания шаг расчета, даже если его ограничение точности позволяет ему.

Можно симулировать гибридные системы с помощью любого из методов интегрирования, но некоторые методы более эффективны, чем другие. Для большинства гибридных систем ode23 и ode45 превосходят другие решатели по эффективности. Из-за разрывов, связанных с выборкой и удержанием дискретных блоков, не используйте ode15s и ode113 решатели для гибридных систем.

Шаг расчета

Sample time - временной интервал, который задает скорость (1/время расчета) для выполнения блочных методов, чтобы создать выходы и обновить внутренние состояния блоков. Время является неотъемлемым компонентом блока в том, что результаты симуляции блока изменяются со временем.

Шаг расчета задается как:

  • Непрерывный - Блоки запускаются в переменное время на основе настроек решателя.

  • Дискретный - Блоки выполняются в определенные моменты времени, которые явно заданы.

В следующем примере контроллер запускается с дискретной скоростью, заданной со шаг расчета 0.01 секунд, в то время как Simulink определяет, что модель транспортного средства имеет непрерывный шаг расчета.

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

Смотрите также Что такой Шаг расчета?, Типы Шага расчета, Задать Шаг расчета, Просмотреть Шаг расчета информацию.

Блочные Шаги расчета

Каждый блок Simulink имеет шаг расчета, которое определяет, когда блок будет выполнен. Большинство блоков позволяют вам задать шаг расчета через SampleTime параметр. Общие варианты включают дискретные, непрерывные и унаследованные шаги расчета.

Общие типы шагов расчетаШаг расчетаПримеры
Дискретный[Ts, To]Unit Delay, Цифровой Фильтр
Непрерывный[0, 0]Интегратор, производная
Унаследованный[–1, 0]Усиление, Сумма

Для дискретных блоков шага расчета является вектором [Ts, To], где Ts - временной интервал или период между последовательными шагами расчета, а To - начальное смещение к шагу расчета. Напротив, шаги расчета для недискретных блоков представлены упорядоченными парами, которые используют нуль, отрицательное целое число или бесконечность, чтобы представлять определенный тип шага расчета. Для примера непрерывные блоки имеют номинальный шаг расчета [0, 0] и используются для моделирования систем, в которых состояния изменяются постоянно (например, автомобиль ускоряется), в то время как вы указываете тип шага расчета наследуемого блока символически как [-1, 0], и Simulink затем определяет фактическое значение на основе контекста наследуемого блока в модели.

Обратите внимание, что не все блоки принимают все типы шагов расчета. Для примера дискретный блок не может принять непрерывный шаг расчета.

Для визуального средства Simulink позволяет опциональное цветовое кодирование и аннотацию любой блок-схемы, чтобы указать тип и скорость шагов расчета блока. Можно захватить все цвета и аннотации в легенде (см. «Просмотр информации о шаге расчета»).

Для более подробного обсуждения шагов расчета смотрите Sample Time.

Модули

Units используются для измерения общей суммы количества.

Модули Simulink заданы как Inport блок или Outport параметров блоков в контуры компонента модели Simulink. Компоненты модели Simulink включают блоки Subsystem, блоки Model, диаграммы Stateflow и блоки преобразования Simscape™ Simulink. Чтобы отобразить модули на модели, на вкладке Debug, выберите Information Overlays > Units.

Смотрите также: Спецификация единиц измерения в моделях Simulink, Преобразование модулей.

Прямое сквозное соединение

Direct feedthrough является, где выходной сигнал порта блока вычисляется из значений его входных сигналов порта. Выход значения сигналов является функцией от значений входного сигнала.

Блоки с прямым сквозным соединением включают блоки Gain, Product, Sum и Math Function.

Алгебраический цикл

Цикл сигнала между блоками с прямым сквозным соединением называется algebraic loop. Алгебраический цикл обычно происходит, когда входной порт блока с прямой передачей управляется непосредственно выходным портом того же блока или косвенно через другие блоки с прямым сквозным соединением.

В следующей модели два блока Gain с прямым сквозным соединением создают алгебраический цикл:

См. также: Концепции Алгебраических циклов.

Искусственные Алгебраические циклы

Искусственный алгебраический цикл возникает, когда атомарная подсистема или блок Model заставляет Simulink обнаружить алгебраический цикл, даже если содержимое подсистемы не содержит прямого сквозного соединения от входа к выходу. Когда вы создаете атомарную подсистему, все блоки Inport являются прямым сквозным соединением, что приводит к алгебраическому циклу.

Начните с включенной модели, которая представляет собой простое пропорциональное управление объектом, описанное

$$ G(s) = \frac{1}{s^2+2s+1}$$

который может быть переписан в форме пространство состояний как

$$
\dot{x} = \left[
 \begin{array}{cc}
 -2 & -1 \\
1 & 0
 \end{array}
 \right]
+ \left(
\begin{array}{c}
0\\1
\end{array}
\right)
$$

$$
y = \left[\begin{array}{cc}0&1\end{array}\right]
$$

Система не имеет ни алгебраических переменных, ни прямого сквозного соединения и не содержит алгебраического цикла.

Измените модель так, как описано в следующих шагах:

  1. Заключайте блоки Controller и Plant в подсистему.

  2. В диалоговом окне подсистемы выберите Treat as atomic unit, чтобы сделать подсистему атомарной.

  3. На панели Diagnostics Параметров конфигурации модели установите параметр Алгебраический цикл на error.

При симуляции этой модели возникает алгебраический цикл, потому что подсистема является прямым сквозным соединением, хотя путь внутри атомарной подсистемы не является прямым сквозным соединением. Симуляция останавливается с алгебраической ошибкой цикла.

Обнаружение пересечения нулем

Simulink использует метод, известный как zero-crossing detection, чтобы точно определить непрерывность, не прибегая к чрезмерно маленьким временным шагам во время симуляции. Обычно этот метод улучшает время запуска симуляции.