Моделирование динамических систем

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

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

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

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

Термин “основанная на времени блок-схема” используется, чтобы отличить блок-схемы, которые описывают динамические системы от той из других форм блок-схем, и термин блок-схема (или модель) используется, чтобы обратиться к основанной на времени блок-схеме, если контекст не требует явного различия.

Обобщать значение основанных на времени блок-схем:

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

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

  • Отношения между сигналами и переменными состояния заданы набором уравнений, представленных блоками. Каждый блок состоит из набора уравнений (методы блока). Эти уравнения задают отношение между входными сигналами, выходными сигналами и переменными состояния. Свойственный от определения уравнения понятие параметров, которые являются коэффициентами, найденными в рамках уравнения.

Создание моделей

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

Время

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

Состояния

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

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

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

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

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

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

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

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

  • Команда model отображает информацию о состояниях, заданных моделью, включая общее количество состояний, заданных моделью, блок, который задает каждое состояние и начальное значение каждого состояния.

  • Отладчик Simulink отображает значение состояния на каждом временном шаге во время симуляции, и отладчик Simulink информация об отображениях команды states о текущих состояниях модели (см. Отладчик Simulink).

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

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

    Модель Two Cylinder Model with Load Constraints иллюстрирует журналирование непрерывных состояний.

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

Вычисление непрерывного состояния влечет за собой знание его скорости изменения или производной. Поскольку скорость изменения непрерывного состояния обычно самого изменяется постоянно (т.е. самостоятельно состояние), вычисление значения непрерывного состояния на шаге текущего времени влечет за собой интегрирование своей производной от запуска симуляции. Таким образом моделирование непрерывного состояния влечет за собой представление операции интегрирования и процесса вычисления производной состояния в каждом моменте времени. Диаграммы Simulink используют блоки Интегратора, чтобы указать на интегрирование и цепочку блоков, соединенных с входом блока интегратора, чтобы представлять метод для вычисления производной состояния. Цепочка блоков, соединенных с входом блока интегратора, является графическим дубликатом к обыкновенному дифференциальному уравнению (ODE).

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

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

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

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

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

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

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

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

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

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

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

Настраиваемые параметры

Много параметров блоков являются настраиваемыми. Настраиваемый параметр является параметром, значение которого может быть изменено, не перекомпилировав модель (см. Образцовую Компиляцию для получения дополнительной информации о компиляции модели). Например, параметр усиления блока Gain является настраиваемым. Можно изменить усиление блока, в то время как симуляция запускается. Если параметр не является настраиваемым, и симуляция запускается, управление диалоговым окном, которое устанавливает параметр, отключено.

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

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

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

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

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

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

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

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

Авторские блоки

Можно создать библиотеки авторских блоков, которые можно затем использовать в моделях. Можно создать авторский блок или графически или программно. Чтобы создать авторский блок графически, вы чертите блок-схему, представляющую поведение блока, переносите эту схему в экземпляр блока Simulink Subsystem и предоставляете блоку диалоговое окно параметра, с помощью средства маски блока Simulink. Чтобы создать блок программно, вы создаете файл MATLAB или файл MEX, который содержит системные функции блока (см. lC/C ++ Основы S-функции). Получившийся файл называется S-функцией. Вы затем сопоставляете S-функцию с экземплярами Блока s-function Simulink в вашей модели. Можно добавить диалоговое окно параметра в Блок s-function путем переноса его в блок Subsystem и добавления диалогового окна параметра в блок Subsystem. Смотрите, что Блок Создает и Интегрирование Симуляции для получения дополнительной информации.

Системы и подсистемы

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

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

Виртуальные подсистемы

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

Невиртуальные подсистемы

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

Атомарные подсистемы.  Первичная характеристика атомарной подсистемы - то, что блоки в атомарной подсистеме выполняются как единый блок. Это обеспечивает преимущество группировки функциональных аспектов моделей на уровне выполнения. Любой блок Simulink может быть помещен в атомарную подсистему, включая блоки с различными уровнями выполнения. Можно создать атомарную подсистему путем выбора опции Treat as atomic unit на виртуальной подсистеме (см. блок Atomic Subsystem для получения дополнительной информации).

Enabled подсистемы.  Активированная подсистема ведет себя так же к атомарной подсистеме, за исключением того, что она выполняется только, когда сигнал, управляющий подсистемой, включает порт, больше, чем нуль. Чтобы создать активированную подсистему, поместите Разрешать блокировку порта в блоке Subsystem. Можно сконфигурировать активированную подсистему, чтобы содержать или сбросить состояния блоков в активированной подсистеме до действия включения подсистемы. Просто выберите параметр States when enabling Разрешать блокировки порта. Точно так же можно сконфигурировать каждый выходной порт активированной подсистемы, чтобы содержать или сбросить ее вывод до действия отключения подсистемы. Выберите параметр Output when disabled в блоке Outport.

Инициированные подсистемы.  Вы создаете инициированную подсистему путем размещения триггерной блокировки порта в подсистеме. Получившаяся подсистема выполняется, когда повышение или падающее ребро относительно нуля замечены на сигнале, управляющем триггерным портом подсистемы. Направление ребра инициирования задано параметром Trigger type на триггерной блокировке порта. Simulink ограничивает тип блоков, помещенных в инициированную подсистему к блокам, которые не имеют явных шагов расчета (т.е. блоки в подсистеме должны иметь шаг расчета-1), потому что содержимое инициированной подсистемы выполняется апериодическим способом. График Stateflow® может также иметь триггерный порт, который задан при помощи редактора Stateflow. Simulink не различает инициированную подсистему и инициированный график.

Function-Call подсистемы.  Подсистема вызова функций является подсистемой, которую другой блок может вызвать непосредственно во время симуляции. Это походит на функцию на языке процедурного программирования. Вызов подсистемы вызова функций эквивалентен вызову методов вывода и обновления блоков, которые подсистема содержит в отсортированном порядке. Блок, который вызывает подсистему вызова функций, называется инициатором вызова функции. Stateflow, Генератор Вызова функции и Блоки s-function могут все служить инициаторами вызова функции. Чтобы создать подсистему вызова функций, перетащите блок Function-Call Subsystem от библиотеки Ports & Subsystems в вашу модель и соедините инициатора вызова функции с портом вызова функции, отображенным сверху подсистемы. Можно также создать подсистему вызова функций с нуля первым созданием блока Subsystem в модели и затем создании блока Trigger в подсистеме и установке блока Trigger Trigger type к function-call.

Можно сконфигурировать подсистему вызова функций, которая будет инициирована (значение по умолчанию) или периодические, устанавливая его Sample time type быть triggered или periodic, соответственно. Инициатор вызова функции может вызвать инициированный нуль подсистемы вызова функций, однажды, или многократно на временной шаг. Шаги расчета всех блоков в инициированной подсистеме вызова функций должны быть установлены в наследованный (-1).

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

Enabled и Triggered подсистемы.  Можно создать Enabled и Triggered подсистему путем размещения Триггерной Блокировки порта и Разрешать блокировки порта в блоке Subsystem. Получившаяся подсистема является по существу инициированной подсистемой, которая выполняется, когда подсистема включена и повышение, или падающее ребро относительно нуля замечено на сигнале, управляющем триггерным портом подсистемы. Направление ребра инициирования задано параметром Trigger type на триггерной блокировке порта. Поскольку содержимое инициированной подсистемы выполняется апериодическим способом, Simulink ограничивает типы блоков, помещенных в Enabled и Triggered подсистему к блокам, которые не имеют явных шагов расчета. Другими словами, блоки в подсистеме должны иметь шаг расчета -1.

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

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

Подсистемы действия.  Подсистемы действия могут считаться пересечением свойств активированных подсистем и подсистем вызова функций. Подсистемы действия ограничиваются одним шагом расчета (например, непрерывным, дискретным, или наследованным шагом расчета). Подсистемы действия должны быть выполнены инициатором подсистемы действия. Это или Если блок или блок Switch Case. Все подсистемы действия, соединенные с данным инициатором подсистемы действия, должны иметь тот же шаг расчета. Подсистема действия создается путем размещения Блокировки порта Действия в блоке Subsystem. Значок подсистемы автоматически адаптируется к типу блока (т.е. Если или блок Switch Case), который выполняет подсистему действия.

Подсистемы действия могут быть выполнены самое большее однажды инициатором подсистемы действия. Подсистемы действия дают вам контроль, когда состояния сбрасывали через параметр States when execution is resumed на Блокировке порта Действия. Подсистемы действия также дают вам контроль, содержать ли значения выходного порта через параметр Output when disabled на блоке выходного порта. Это аналогично активированным подсистемам.

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

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

Некоторое время подсистема итератора очень похожа на подсистему вызова функций, в которой она может запуститься для любого количества итераций, в установленный срок продвигаются. В то время как подсистема итератора отличается от подсистемы вызова функций, в которой нет никакого отдельного инициатора (например, диаграмма Stateflow). Кроме того, некоторое время подсистема итератора имеет доступ к текущему номеру итерации, опционально произведенному В то время как блок Iterator. Некоторое время подсистема итератора также дает вам контроль, сбросить ли состояния при запуске через параметр States when starting на В то время как блок Iterator.

Для подсистем итератора.  Для подсистемы итератора запустит постоянное число итераций на каждом образцовом временном шаге. Количество итераций может быть внешним входом к для подсистемы итератора или заданный внутренне на блоке For Iterator. Для подсистемы итератора создается путем размещения блока For Iterator в блоке подсистемы.

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

Для каждого подсистемы.  Для каждой подсистемы позволяет вам повторять алгоритм для отдельных элементов (или подмассивы) входного сигнала. Здесь, алгоритм представлен набором блоков в подсистеме и применяется к одному элементу (или подмассив) сигнала. Можно сконфигурировать разложение входных параметров подсистемы в элементы (или подмассивы) использование блока For Each, который находится в подсистеме. Блок For Each также позволяет вам конфигурировать конкатенацию отдельных результатов в выходные сигналы. Преимущество этой подсистемы состоит в том, что она поддерживает отдельные наборы состояний для каждого элемента или подмассива, который она обрабатывает. Кроме того, для определенных моделей, для каждой подсистемы улучшает повторное использование кода кода, сгенерированного Simulink Coder™.

Сигналы

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

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

Хороший способ понять определение сигнала состоит в том, чтобы рассмотреть класс. Учитель является одним ответственным за запись на белой доске и чтение студентов, что записано на белой доске, когда они принимают решение. Это также верно для Сигналов Simulink: читатель сигнала (метод блока) может принять решение считать сигнал так же часто или нечасто, как так желаемый.

Для получения дополнительной информации о сигналах, смотрите Сигналы.

Блокируйте методы

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

Типы методов

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

  • Выходные параметры

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

  • Обновление

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

  • Производные

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

Соглашение о присвоении имен метода

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

BlockType.MethodType

Например, метод, который вычисляет выходные параметры блока Gain, упоминается как

Gain.Outputs 

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

g1.Outputs

Образцовые методы

Кроме того, чтобы блокировать методы, набор методов - то, при условии, что вычисляют образцовые свойства и его выходные параметры. Программное обеспечение Simulink так же вызывает эти методы во время симуляции, чтобы определить свойства модели и ее выходные параметры. Образцовые методы обычно выполняют свои задачи путем вызова методов блока того же типа. Например, метод модели Outputs вызывает Выходные методы блоков, которые он содержит в порядке, заданном моделью, чтобы вычислить ее выходные параметры. Метод модели Derivatives так же вызывает методы Производных блоков, которые он содержит, чтобы определить производные его состояний.

Смотрите также

|

Связанные примеры

Больше о