exponenta event banner

Модели Simulink

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

Блок-схема

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

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

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

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

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

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

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

См. также: Блок-схемы Simulink, Создание и редактирование модели в интерактивном режиме, Моделирование.

Блоки

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

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

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

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

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

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

  • Виртуальная подсистема - виртуальная подсистема используется для инкапсуляции связанных и функциональных частей в рамках более крупной модели. Для блока виртуальной подсистемы флажок параметра Treat as atomic unit снят.

  • Inport and Outport - блоки портов используются для перемещения данных (сигналов) и событий (вызовов функций) из внешнего блока подсистемы или ссылочного блока модели в блок и наоборот.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Маска блока

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

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

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

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

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

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

Линии

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

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

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

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

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

Строки событий

В ответ на вызов функции или инициатор действия строки события посылают событие в подсистему или блок модели. Блок, который принимает событие, выполняет блоки в нем один или более раз в течение временного шага. Инициаторы вызовов функций включают в себя диаграммы потока состояний, блоки генератора вызовов функций, блоки S-функций и блоки пересечения совпадений. Инициаторы действий включают блоки If и Switch Case.

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

Данные

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

Типы данных:

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

  • Параметры конфигурации модели (Model configuration parameters) - параметры, определяющие режим работы модели путем задания параметров, управляющих поведением модели.

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

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

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

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

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

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

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

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

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

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

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

    См. раздел Рабочие пространства модели, Указание источника данных в рабочем пространстве модели.

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

    Создайте файл словаря данных. На вкладке «Моделирование» в разделе «Проект» выберите «Словарь данных». Щелкните Создать (New) и введите имя файла с расширением .sldd.

    Определите переменные в словаре данных с помощью Проводника моделей. На вкладке Моделирование (Modeling) щелкните Обозреватель моделей (Model Explorer). На левой панели выберите «Конструкторские данные».

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

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

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

Параметры

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

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

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

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

См. раздел Задание параметров конфигурации модели.

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

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

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

  • Редактор данных модели - задание параметров блока с переменными.

  • Обозреватель моделей (Model Explorer) - задание параметров блока с переменными.

См. раздел Установка значений параметров блока.

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

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

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

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

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

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

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

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

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

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

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

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

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

  4. Для каждого блока модели откройте диалоговое окно параметров блока, перейдите на вкладку «Параметры экземпляра» и введите значение параметра экземпляра с именем аргумента модели.

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

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

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

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

Чтобы задать параметры, на вкладке «Моделирование» в разделе «Проект» выберите «Инспектор свойств». Щелкните блок, чтобы отобразить параметры и свойства блока.

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

Свойства

Свойства - это характеристики модели Simulink, которые обычно не влияют на результат моделирования. Чтобы задать свойства, на вкладке «Моделирование» в разделе «Проект» выберите «Инспектор свойств».

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

Открыв инспектор свойств, щелкните пустое место на блок-схеме или на вкладке «Моделирование» выберите «Параметры модели» > «Свойства модели». Свойства модели:

  • Общие (General) - имя и расположение файла модели.

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

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

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

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

Открыв инспектор свойств, выберите блок и перейдите на вкладку «Свойства». Свойства блока:

  • Аннотация блока (Block Annotation) - значения параметров выбранного блока, отображаемые под блоком.

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

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

  • Теги - идентификаторы блоков, которые можно искать программно.

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

Открыв инспектор свойств, выберите порт и перейдите на вкладку «Свойства». С помощью Инспектора свойств можно изменять свойства объектов портов, сигналов и блоков портов. Порты блока подсистемы также имеют вкладку блока портов, которая содержит свойства связанного блока портов.

Port properties shown in Property Inspector

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

Чтобы задать свойства, на вкладке «Моделирование» в разделе «Подготовка» выберите «Инспектор свойств». Щелкните пустое пространство, чтобы отобразить свойства модели. Щелкните блок, чтобы отобразить свойства блока.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Время выборки

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

Время выборки определяется как:

  • Непрерывно (Continuous) - блоки выполняются в переменное время на основе настроек решателя.

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

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

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

См. также раздел Что такое время образца?, Типы времени образца, Указать время образца, Просмотреть информацию о времени образца.

Время образца блока

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

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

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

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

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

Более подробное описание времени выборки см. в разделе Время выборки.

Единицы

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

Единицы Simulink задаются как параметры блока Inport или Outport на границах компонента модели Simulink. Компоненты модели Simulink включают блоки подсистемы, блоки модели, диаграммы потока состояний и блоки преобразователя Simulink to Simscape™. Чтобы отобразить единицы измерения в модели, на вкладке Отладка (Debug) выберите Информационные наложения (Information Overlays) > Единицы измерения (Units).

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

Прямой проход

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

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

Алгебраическая петля

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

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

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

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

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

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

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

которые могут быть переписаны в форме state-space как

$$
\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. В диалоговом окне подсистемы выберите Обработать как атомную единицу, чтобы сделать подсистему атомной.

  3. На панели Диагностика (Diagnostics) окна Параметры конфигурации модели (Model Configuration Parameters) задайте для параметра Алгебраический цикл (Algebraic Loop) значение error.

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

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

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