Модели Simulink

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

Блок-схема

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

Семантика блок-схемы

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

Simulink расширяет классические блок-схемы:

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

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

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

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

Блоки

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, который ссылается на модель, выполняются как единый блок (атомарное выполнение) на каждом временном шаге. Для блока Atomic Subsystem флажка для параметра выбран 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.

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

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

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

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

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

Блокируйте маску

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

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

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

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

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

  • MATLAB® Function – Закодируйте функцию MATLAB с помощью языка MATLAB, который запускается в модели Simulink. Смотрите, что функции MATLAB Реализации Используют Блоки.

  • Система MATLAB – Приносит существующий System объекты на основе matlab.System в Simulink. См. MATLAB System Block.

  • Подсистема – Чертит блок-схему, представляющую алгоритм, переносит эту схему в экземпляр блока Simulink Subsystem, затем предоставляет блоку диалоговое окно параметра использование маски блока Simulink. Смотрите Подсистему, Атомарную подсистему, Подсистему CodeReuse.

  • C Вызывающая сторона – Интегрируют ваш внешний код С в модель Simulink. Смотрите Интегрируют код С Используя Блоки Вызывающей стороны C.

  • S-функция – Создает пользовательский блок программно путем создания файла MATLAB или файла MEX, который содержит системные функции блока. Получившийся файл называется S-функцией. Вы затем сопоставляете S-функцию с экземплярами блока Simulink S-Function в вашей модели. Смотрите S-функцию.

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

Линии

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

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

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

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

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

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

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

Смотрите сигналы и основы сигнала.

Данные

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

Типы данных:

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

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

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

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

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

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

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

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

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

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

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

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

    Значения для переменных рабочего пространства модели инициализируются от значений, сохраненных с моделью из отдельного 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, кликните по одному из следующего:

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

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

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

Смотрите установленные значения параметров блоков.

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

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

  • Рабочее пространство модели Simulink – Создает переменные рабочего пространства модели и присваивает значения переменным. Параметры, которые вы задаете, характерны для модели и сохранены с моделью. Используйте переменную MATLAB для простоты обслуживания. Используйте Simulink.Parameter возразите, чтобы управлять дополнительными свойствами включая тип данных, размерности и модули. Смотрите Редактирование и Управляйте Переменными Рабочей области при помощи Model Explorer.

  • Словарь Данных Simulink – Создает переменные данных проектирования в словаре данных и соединяет словарь с моделью. Во время симуляции модели Simulink получает данные из словаря данных.

  • Базовое рабочее пространство MATLAB – В базовом рабочем пространстве MATLAB, задайте параметры с помощью любого механизма MATLAB для определения переменной. Например, можно использовать MAT-файл и загрузить переменные, когда вы открываете модель. Используйте выражения MATLAB, чтобы задать значения переменной параметра. Simulink выполняет выражения прежде, чем запустить симуляцию. Смотрите Сохраняют и Переменные Рабочей области Загрузки.

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

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

Параметры аргумента и экземпляра модели

Когда вы ссылаетесь на ту же модель от блоков многоуровневой модели, вы создаете 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 properties shown in Property Inspector

Установка свойств модели и блока с Property Inspector

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

Смотрите также: Задайте Свойства Блока, Коллбэки для Индивидуально настраиваемого Поведения Модели.

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

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

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

Работа с состояниями

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

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

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

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

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

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

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

    В командном окне 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')
  • Диалоговое окно Block Parameters (и ContinuousStateAttributes параметр), позволяет вам давать имена состояниям для тех блоков (таких как Интегратор), которые используют непрерывные состояния. Это может упростить данные об анализе, регистрируемые для состояний, особенно когда блок имеет несколько состояний.

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

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

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

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

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

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

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

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

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

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

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

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

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

Размер шага

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

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

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

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

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

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

См. также, Что такое Шаг расчета?, Типы Шага расчета, Настройки времени выборки, информации о Шаге расчета Представления.

Блокируйте шаги расчета

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

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

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

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

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

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

Модули

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

Модули Simulink заданы как блок Inport или параметры блоков Outport на контурах компонента модели Simulink. Компоненты модели Simulink включают блоки Subsystem, блоки Model, диаграммы Stateflow и Simulink с блоками конвертера Simscape™. К дисплеям на модели, во вкладке 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. Заключите блоки Контроллера и Объекта в подсистему.

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

  3. В панели Диагностики Параметров конфигурации Модели, установленных Алгебраический параметр Цикла на error.

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

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

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