Фазы симуляции в динамических системах

Образцовая компиляция

Первая фаза симуляции происходит, когда модель системы открыта, и вы моделируете модель. В Редакторе Simulink® выберите Simulation> Run. Выполнение симуляции заставляет механизм Simulink вызывать образцовый компилятор. Образцовый компилятор преобразовывает модель в исполняемую форму, процесс вызвал компиляцию. В частности, компилятор:

  • Выполняет выражения параметров блоков модели, чтобы определить их значения.

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

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

  • Выполняет оптимизацию сокращения блока.

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

  • Определяет блок отсортированный порядок (см. Управление и Отображение Отсортированный Порядок для получения дополнительной информации).

  • Определяет шаги расчета всех блоков в модели, шаги расчета которой вы явным образом не задавали (см., Как Распространение Влияет на Наследованные Шаги расчета).

Эти события являются по существу тем же самым как, что происходит, когда вы обновляете схему (Схема обновления и Симуляция Выполнения). Различие - то, что программное обеспечение Simulink запускает образцовую компиляцию как часть симуляции модели, куда компиляция приводит непосредственно в соединяющуюся фазу, как описано в Фазе Ссылки. Напротив, вы запускаете явное образцовое обновление как автономную работу на модели.

Соедините фазу

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

Списки осуществлений метода

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

Блокируйте приоритеты

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

Фаза цикла симуляции

Если Фаза Ссылки завершается, симуляция вводит фазу цикла симуляции. В этой фазе механизм Simulink последовательно вычисляет состояния и выходные параметры системы с промежутками со времени начала симуляции ко времени окончания, с помощью информации, предоставленной моделью. Последовательные моменты времени, в которых вычисляются состояния и выходные параметры, называются временными шагами. Отрезок времени между шагами называется размером шага. Размер шага зависит от типа решателя (см. Решатели), раньше вычислял непрерывные состояния системы, основной шаг расчета системы (см. Шаги расчета в Системах), и ли непрерывные состояния системы имеют разрывы (см. Обнаружение Пересечения нулем).

Фаза Simulation Loop имеет две подфазы: фаза Loop Initialization и фаза Loop Iteration. Фаза инициализации происходит однажды, в начале цикла. Фаза итерации повторяется однажды на временной шаг со времени начала симуляции ко времени остановки симуляции.

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

Итерация цикла

На каждом временном шаге, механизме Simulink:

  1. Вычисляет выходные параметры модели.

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

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

  2. Вычисляет состояния модели.

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

    Если модель имеет только дискретные состояния, механизм Simulink вызывает дискретный решатель, выбранный пользователем. Решатель вычисляет размер временного шага, должен был поразить шаги расчета модели. Это затем вызывает метод Обновления модели. Метод модели Update вызывает метод Обновления своей системы, которая вызывает методы Обновления каждого из блоков, которые система содержит в порядке, заданном списками методов Обновления, сгенерированными в фазе Link.

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

  3. Опционально проверки на разрывы в непрерывных состояниях блоков.

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

  4. Вычисляет время для следующего временного шага.

Шаги 1 - 4 повторяются, пока время остановки симуляции не достигнуто.

Похожие темы