Как сделать симуляцию

Обновлено: 05.07.2024

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Донсков Н.В.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Донсков Н.В.

Параллельная реализация метода расщепления для системы из нескольких GPU с применением в задачах аэрогидродинамики

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

Метод измерения НИВ использует качестве параметра нормированное интегральное время (НИВ) микроконтактирования - относительное время, в течение которого сопротивление подшипника ниже некоторого порогового значения (при измерении R^ выбирают порядка 50-100 Ом)[6, стр. 136] [7, стр. 110]. Данный метод обеспечивает идентификацию режима смазки в подшипнике, обладает хорошей помехозащищенностью, высокой чувствительностью.

Сравнительный анализ методов показал, что наиболее перспективными являются метод измерения активного сопротивления (активной составляющей комплексного сопротивления) и метод НИВ. Эти методы позволят проводить диагностирование практически всех подшипников качения как на отдельно взятых диагностических стендах, так и в узлах и машинах. При этом оценка технического состояния подшипника может проводиться во время работы машины, без его изъятия из узла и на рабочих режимах, а так же на других аналогичных объектах [8. стр 629].

Список использованной литературы:

1. Акустические и электрические методы в триботехнике / Свириденок А.И. [и др.]. Минск: Наука и техника, 1987. 257 с.

2. Майоров М.В., Мишин В.В., Чернышов В.Н. Диагностирование ступичных подшипников автомобиля//Мир транспорта и технологических машин. 2013. № 2 (41). С. 9-16.

4. Бальмонт В.Б., Матвеев В.А. Опоры качения приборов./М.: Машиностроение, 1984. - 240 с.

5. Спришевский, А.И. Подшипники качения: монография. М.: Машиностроение, 1968. - 632 с.

6. Мишин В.В. Подход к комплексному диагностированию подшипникового узла с учетом качества его сборки.//Фундаментальные и прикладные проблемы техники и технологии. 2010. №6. С. 132-139.

7. Экспериментальное исследование электрического сопротивления (проводимости) подшипника качения, как диагностического параметра/Селихов А.В. [и др].//Фундаментальные и прикладные проблемы техники и технологии. 2010. № 6-2. С. 25.

8. Подмастерьев К.В. Электропараметрические методы комплексного диагностирования опор качения: монография. М.: Машиностроение-1, 2001. - 376 с.

9. Zhidkov A.V., Tyutyakin A.V., Mishin V.V. Research of time-frequency characteristics of electrical resistance signal of friction zone of hip joint endoprosthesis with metal-metal friction pair // International Conference on Industrial Engineering, ICIE 2017. С. 624-629.

© Афанасьев Н.А., 2021

г. Ростов-на-Дону, РФ.

ПРОГРАММА ДЛЯ СИМУЛЯЦИИ ЖИДКОСТИ И ГАЗОВ

В статье описывается предложенный автором алгоритм и его программная реализация на

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

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

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

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

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

Теория. Жидкость в реальной жизни описывается уравнениями Навье-Стокса. Мы не будем останавливаться на них, так как это фундаментальные уравнения, понимание которых требует глубоких знаний в области физики и решения дифференциальных уравнений.

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

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

Упрощение: Можно легко имплементировать сетку как двумерный массив плотности, и два двумерных массива скоростей по осям х и у. Однако для быстроты вывода символов на экран монитора, двумерные массивы в дальнейшем преобразуются в одномерные. Для этого в программе используется функция int IX(int x, int y).

Создание структуры сетки. Для создания объекта, который будет хранить массивы и другие параметры сетки, в программе создана структура FluidCube: struct FluidCube

int size; //Размер сетки симуляции

float dt; //Временной шаг

float diff; //Диффузия

float vise; //Вязкость

float *s; //Предыдущая плотность

float *Vx0; //Предыдущая скорость по x float *Vy0; //Предыдущая скорость по y

Для заполнения объекта этой структуры данными о диффузии, вязкости, временного шага симуляции и выделения оперативной памяти под массивы, создана функция.

struct FluidCube *FluidCubeCreate(int diffusion, int viscosity, float dt)< struct FluidCube *cube = malloc(sizeof(*cube)); cube->size = N; cube->dt = dt; cube->diff = diffusion; cube->visc = viscosity; cube->s = calloc(N * N, sizeof(float)); cube->density = calloc(N * N, sizeof(float)); cube->Vx = calloc(N * N, sizeof(float)); cube->Vy = calloc(N * N, sizeof(float)); cube->Vx0 = calloc(N * N, sizeof(float)); cube->Vy0 = calloc(N * N, sizeof(float)); return cube;

Начальное состояние. Чтобы просчитать новые состояния клеток сетки, потребуются данные о их предыдущих скоростях и плотностях. Для добавления данных в эти массивы используются функции:

void FluidCubeAddDensity(struct FluidCube *cube, int x, int y, float amount)

cube->density[IX(x, y)] += amount;

void FluidCubeAddVelocity(struct FluidCube *cube, int x, int y, float amountX, float amountY)

int index = IX(x, y); cube->Vx[index] += amountX; cube->Vy[index] += amountY;

Основные функции. Три основных этапа симуляции - диффузия, проекция и адвекция.

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

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

• Адвекция - так как у нас есть массив скоростей, эти скорости заставляют плотность двигаться. Применяется как к жидкости, так и к самим скоростям.

Для выше названных функций разработаны две подпрограммы:

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

Lin_solve - функция определения коэффициентов диффузии.

Для последовательного выполнения трех этапов симуляции (диффузия, адвекция, проекция) используется функция

void FluidCubeStep(struct FluidCube *cube)

float vise = cube->visc; float diff = cube->diff; float dt = cube->dt; float *Vx = cube->Vx; float *Vy = cube->Vy; float *Vx0 = cube->Vx0; float *Vy0 = cube->Vy0; float *s = cube->s; float *density = cube->density; diffuse(1, Vx0, Vx, vise, dt); diffuse(2, Vy0, Vy, vise, dt); projeet(Vx0, Vy0, Vx, Vy); advect(1, Vx, Vx0, Vx0, Vy0, dt); advect(2, Vy, Vy0, Vx0, Vy0, dt); project(Vx, Vy, Vx0, Vy0); diffuse(0, s, density, diff, dt); advect(0, density, s, Vx, Vy, dt);

screen[IX(i,j)] = gradient[index]; for(j = 0; j density[IX(i,j)] > 0) //Сделаем затухание для того, чтобы

fluid->density[IX(i,j)] -= decay; //жидкость затухала со временем index = fluid->density[IX(i,j)];

if(index >= 11) //Защита от выхода за границы массива

При таком подходе текст переносится на следующую строку автоматически.

Система вывода описанная выше, работает только в командной строке операционной системы Windows 10. На ранних версиях ОС командная строка обновляется медленнее и будут видны ее мерцания на мониторе. Размер окна командной строки должен быть N строк и N столбцов. В противном случае вывод будет работать некорректно.

Ниже приведен пример настроек командной строки (рис.1) и расчеты симуляции истечения жидкости при разных положениях точечных источников и их количестве (рис.2).

Рисунок 1 - Настройки командной строки

В данных примерах ширина буфера экрана, а также ширина и высота экрана равны 70, так как заданная в исходных данных константа N равна 70 (см. рис.1).

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

© Донсков Н.В., 2021

бакалавр 4 курса, СПбГАСУ г. Санкт-Петербург, РФ Научный руководитель: Горбунова О.В.

канд. биол. наук, доцент, СПбГАСУ г. Санкт-Петербург, РФ

ПРИМЕНЕНИЕ СИСТЕМ ОГРАНИЧЕНИЯ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА НА СТРОИТЕЛЬНЫХ ПЛОЩАДКАХ В ЦЕЛЯХ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ

И СНИЖЕНИЯ ТРАВМАТИЗМА

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

Системы ограничения несанкционированного доступа; системы позиционирования;

предупреждение несчастных случаев.

Bachelor fourth-year, SPbGASU Saint-Petersburg, Russian Federation Scientific adviser: Gorbunova O.V.

PhD in Biological sciences, Associate Professor, SPbGASU Saint-Petersburg, Russian Federation


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

Что такое интерактивный симулятор программы ​

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

Зачем нужны интерактивные симуляторы программного обеспечения ​

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

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

Интерактивное моделирование стоит попробовать, потому что:

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

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

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

1. Нужно иметь четкое представление об изучаемой программе ​

Первое и самое главное – вы сами должны профессионально использовать изучаемое программное обеспечение. Как можно объяснять другим, если сами не понимаете? Внимательно изучите приложение перед записью. Глубокое знание приложения поможет давать обучающимся грамотные советы и рекомендации по некоторым шагам. Кроме того, умелое использование имитации программного обеспечения позволит избежать слишком большого количества ошибок.

2. Нужно понимать ваших пользователей ​

Понимание ваших пользователей является ключом к успеху моделирования. Заранее задайте себе несколько вопросов:

  • Собираетесь ли создавать симуляции ПО для новичков или профессионалов?
  • Есть ли у них опыт работы с похожими технологиями?

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

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

3. Определите степень взаимодействия

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

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

4. Выберите правильный инструмент


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

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

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

5. Симуляторы имитируют именно то, что вы сделали ​

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

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

Заключение

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

Загрузите ActivePresenter 7, откройте функцию записи моделирования программного обеспечения и работайте с целевым приложением на привычной скорости. Не беспокойтесь об ошибках или избыточных действиях – их позже можно будет отредактировать. Множество готовых инструментов позволят улучшить записанное моделирование с помощью нескольких щелчков мыши. Наконец, экспортируйте его в HTML (с пакетами LMS или без них), чтобы позволить пользователям взаимодействовать с ним.

Допустим, у нас есть проект для ПЛИС Altera в среде разработки Quartus II. Давайте проведём программную симуляцию: подадим на входы ПЛИС определённый сигнал и посмотрим, что будет на её выходах. Для этого воспользуемся встроенным инструментом Simulation Waveform Editor.

1 Создаём файл симуляцииUniversity Program VWF

Первым делом запустим IDE Quartus II и откроем нужный проект. Теперь создадим новый файл. Нажмём комбинацию клавиш Ctrl+N или через меню File New… В открывшемся окне выберем тип файла – University Program VWF.

Создаём файл University Program VWF

Создаём файл University Program VWF

2 Добавление узлов и шин в Simulation Waveform Editor

Запустится инструмент Simulation Waveform Editor. Сразу сохраним этот файл, пока ещё пустой, под произвольным именем в папке проекта: Ctrl+S (или File Save). Я назову файл "data_test.vwf", т.к. буду подавать данные на вывод ПЛИС под названием DATA.

Теперь нужно добавить в проект наши шины. Идём в меню Edit Insert Insert Node or Bus… Откроется окно Insert Node or Bus, где мы нажмём кнопку Node Finder… для поиска доступных шин ПЛИС в проекте.

Insert Node or Bus – Добавление узлов и шин в симуляцию Simulation Waveform Editor

Insert Node or Bus – Добавление узлов и шин в симуляцию Simulation Waveform Editor

В окне поиска узлов Node Finder нажимаем кнопку List (список). В левой части окна появится список найденных узлов и шин проекта. Для выбора добавьте их в правое поле, нажимая соответствующие кнопки. Или добавьте сразу все, нажав кнопку . Подтвердите выбор нажатием на кнопку OK. В окне Insert Node or Bus также нажмите ОК.

Node Finder – Поиск узлов и шин в проекте Quartus

Node Finder – Поиск узлов и шин в проекте Quartus

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

Шины добавлены в симуляцию, но пока не описана форма сигналов на них

Шины добавлены в симуляцию, но пока не описана форма сигналов на них

3 Настройка временных параметров в Simulation Waveform Editor

Но сначала нужно задать параметры времени, которые будут использоваться Simulation Waveform Editor при симулировании. В меню Edit Grid Size… зададим шаг временной сетки. А в меню Edit Set End Time… укажем желаемую длительность симулирования.

Настройка временных параметров в Simulation Waveform Editor

Настройка временных параметров в Simulation Waveform Editor

4 Настройка параметров тактового импульса

Зададим параметры тактового импульса. Выбираем в левом поле нужный сигнал по имени Name, нажав по нему левой кнопкой мыши. Теперь идём в меню: Edit Value Overwrite Clock… В открывшемся окне Clock задаём период (Period), фазу (Offset) и скважность (Duty cycle) тактового импульса.

Задаём параметры тактового импульса CLK в редакторе симуляции Simulation Waveform Editor

Задаём параметры тактового импульса CLK в редакторе симуляции Simulation Waveform Editor

5 Настройка параметров входного сигнала в Simulation Waveform Editor

Зададим форму сигнала Data. Выделим его и в меню Edit Value выберем подходящий тип. Я выберу произвольно изменяющийся сигнал Random Values… и настрою его параметры в открывшемся окне.

Задание формы входного сигнала в Simulation Waveform Editor

Задание формы входного сигнала в Simulation Waveform Editor

После этого сохраним настройки сигналов ( Ctrl+S ).

6 Функциональное симулированиев Simulation Waveform Editor

Теперь можно запускать функциональное симулирование: Simulation Run Functional Simulation или нажав соответствующую кнопку на панели меню. Quartus проведёт симуляцию и выведет результат в новом окне Simulation Waveform Editor.


Результат функционального симулирования в Simulation Waveform Editor

Результат функционального симулирования в Simulation Waveform Editor

Для того чтобы провести временную симуляцию (Timing Simulation), необходимо прежде задать временные параметры с помощью инструмента TimeQuest Timing Analyzer.

Полезный совет

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

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

Прежде чем вы запустите симуляцию, можно задать опции как время начала симуляции, время остановки и решатель для решения модели. (См. Критерии выбора Решателя), Вы задаете эти опции в диалоговом окне Configuration Parameters, которое можно открыть путем нажатия на Model Settings на вкладке Modeling. Эти настройки сохранены с моделью в configuration set. Можно создать несколько конфигураций модели для каждой модели и переключателя между ними, чтобы видеть эффекты различных настроек. Смотрите Наборы конфигурации модели.

По умолчанию симуляции запускаются в 0,0 с и конец в 10,0 с.

Примечание

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

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

Примечание

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

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

В процессе моделирования вы не можете внести изменения в структуру модели, такие как добавление или удаление линий или блоков. Однако можно внести эти изменения, в то время как симуляция запускается:

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

Измените параметры блока, пока вы не вызываете изменение в:

Количество состояний, входных параметров или выходных параметров

Количество нулевых пересечений

Длина вектора любых параметров блоков

Длина внутренних векторов кладки блоков

Размерность любых сигналов

Можно также исследовать модель визуально, как она симулирует. Например, можно кликнуть по линии, чтобы видеть, что сигнал продолжил ту линию на блоке Floating Scope или Display. Можно также отобразить значения порта, когда модель симулирует. Смотрите Значения Порта Отображения для Отладки.

Запустите, приостановите и остановите симуляцию

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

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

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

Если вы останавливаете симуляцию, шаг текущего времени завершается, и затем остановки симуляции.

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

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

Остановите симуляцию Используя блоки симуляции остановки

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

Добавьте блок Stop Simulation в свою модель.

Соедините блок Stop Simulation с сигналом, значение которого становится ненулевым в заданном времени остановки.

Например, эта модель останавливает симуляцию, когда время симуляции достигает 10.


Приостановите симуляцию Используя блоки утверждения

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

Добавьте блок Assertion в свою модель.

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

В диалоговом окне блока Assertion снимите флажок Stop simulation when assertion fails. Введите эту команду как значение Simulation callback when assertion fails:

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


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

Читайте также: