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

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

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

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

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

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

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

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

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

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

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

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

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

Списки выполнения метода

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

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

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

Фаза цикла моделирования

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

Фаза Цикла Моделирования имеет две подфазы: фаза Инициализации Цикла и фаза Итерации цикла. Фаза инициализации происходит однажды, в начале цикла. Фаза итерации повторяется однажды на временной шаг со времени начала моделирования ко времени остановки моделирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы

Была ли эта тема полезной?