Модели Simulink

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

Блок-схема

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

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

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

Simulink расширяет классический block diagrams:

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

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

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

Смотрите также: Диаграммы Simulink, Сборка и Редактирование Модель В интерактивном режиме, блок-схемы Использования, чтобы графически представлять динамические системы, Симуляцию

Блоки

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

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

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

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

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

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

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

  • Inport и Outport – Используйте блокировки порта, чтобы переместить данные (сигналы) и события (вызовы функции) снаружи блока System или блока 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, выполнением которого управляют внешние данные из сигнала. Содержит блокировка порта Trigger или Enable. Для блокировки порта Trigger параметр Trigger type установлен в rising, falling, или either.

  • Блок Function-Call - Atomic Subsystem или Model, выполнением которого управляет событие от инициатора вызова функции (например, диаграмма Stateflow, Генератор Вызова функции и Блоки s-function), Содержит блокировку порта 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, который управляет количеством итераций.

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

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

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

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

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

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

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

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

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

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

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

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

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

Строки

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

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

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

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

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

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

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

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

Данные

Данные являются параметром и значениями входного сигнала что использование 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, Разрешения Символа.

Параметры

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

Параметры модели

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

Чтобы задать параметры модели, во вкладке Modeling, нажимают Model Settings. Диалоговое окно Configuration Parameters открывается.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также Параметрируют Экземпляры Допускающей повторное использование Модели, на которую Ссылаются. Настраиваемые Параметры блоков

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

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

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

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

См. также Specify Block Properties.

Свойство

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

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

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

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

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

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

Смотрите управляют свойствами модели.

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

С открытым Property Inspector выберите блок, и затем выберите вкладку Properties. Блокируйтесь свойства включают:

  • Блокируйте Аннотацию – Значения выбранных параметров блоков, отображенных ниже блока.

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

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

  • Теги – идентификаторы Блока, которые программно доступны для поиска.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Discrete Time Integrator

  • Discrete State-Space

  • Discrete Transfer Fcn

  • Delay

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

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

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

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

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

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

'SampleTime'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модули

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

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

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

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

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

Блоки с прямым сквозным соединением включают Gain, Product, Sum, Transfer Fcn, State-Space и блоки 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. Обычно этот метод улучшает время выполнения симуляции.