Установка свойств моделирования

Установка диапазона симуляции

Для установки диапазона симуляции в VisSim-е необходимо задать ряд параметров и выбрать необходимый режим симуляции:

Для установки диапазона симуляции выполните действия:

  1. Выберите команду меню Симуляция > Настройки симуляции.
  2. В диалоговом окне "Настройки симуляции" выберите вкладку "Диапазон".
  3. Введите необходимые данные и установите требуемые опции.
  4. Нажмите на кнопку OK или клавишу ENTER.

Диалоговое окно "Настройки симуляции", вкладка "Диапазон"

Опция

Описание действия

Авто-рестарт

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

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

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

... от текущего состояния

Для корректных переходов (при авто-рестарте) между итерациями симуляции, активизируйте опцию "... от текущего состояния". В этом случае VisSim сохраняет значения на обладающих памятью блоках. К ним относятся: интеграторы (1/S), передаточнаяФункция, пространствоСостояний и регистрЗадержки.

Опция "... от текущего состояния" оказывает влияние в случае активизации режима "Авто-рестарт"

В реальном времени

С активной опцией "В реальном времени", VisSim выполняет симуляцию в реальном масштабе времени, те одна секунда симуляции будет равна часовой секунде. Основное назначение режима - работа с аппаратными средствами в петле. Для этого, однако, Вы нуждаетесь в расширении пакета - Vissim/Real-Time и специализированной плате ввода / вывода для управления движением. Vissim/Real-Time драйвер позволяет Вам конфигурировать порты аналоговых и цифровых каналов на платах разных производителей и имеет блоки чтения и записи для подключения к блок-схеме.

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

Начало / Конец

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

Задание диапазона симуляции

Шаг (или Частота)

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

Для адаптивных методов интегрирования (адаптивный Рунге-Кутта 5-ого порядка и адаптивный Булирша-Стоера), Вы можете определить минимальный размер шага, см. раздел Установки на вкладке 'Методы интегрирования'.

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

Назначение метода интегрирования

Назначение метода интегрирования означает, что для расчетов ко всем интеграторам блок-схемы ("1/S") подключается указанный алгоритм. Если Вы выбираете адаптивный алгоритм, то дополнительно необходимо определить минимальный размер шага, допуск ошибки и количество возможных итераций.

VisSim имеет семь алгоритмов интегрирования различной точности для численного решения (интегрирования) дифференциальных уравнений: Эйлера, Трапециидальный, Рунге-Кутта 2-ого порядка, Рунге-Кутта 4-ого порядка, Адаптивный Рунге-Кутта 5-ого порядка, Адаптивный Булирша-Стоера и Обратный Эйлера (жесткий).

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

Для визуальной демонстрации точности разных алгоритмов, на рисунке приведены результаты интегрирования модуля синусоидального сигнала с частотой 0,2 Гц. Результат операции - оценочная область под серией кривых.

Демонстрация численной точности методов интегрирования

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

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

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

Установки на вкладке 'Методы интегрирования'

Для назначения метода интегрирования выполните действия:

  1. Выберите команду меню Симуляция > Настройки симуляции.
  2. В диалоговом окне "Настройки симуляции" выберите вкладку "Методы интегрирования".
  3. Выберите метод и (при необходимости) задайте параметры.
  4. Нажмите на кнопку OK или клавишу ENTER.

Диалоговое окно "Настройки симуляции", вкладка "Методы интегрирования"

Метод интегрирования

Описание

Эйлера

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

Трапециидальный

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

Рунге-Кутта 2-ого порядка

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

Рунге-Кутта 4-ого порядка

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

Адаптивный Рунге-Кутта 5-ого порядка

Имеет точность пятого порядка. Адаптивность метода проявляется в том, что при ускорении изменений (увеличении приращений) входных координат алгоритм автоматически уменьшает размер шага

Адаптивный Булирша-Стоера

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

Обратный Эйлера (жесткий)

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

Min (шаг)

Адаптивные алгоритмы (Рунге-Кутта 5-ого порядка и Булирша-Стоера) могут менять величину шага симуляции. Размер шага непрерывно корректируется, чтобы попасть в допуск ошибки за ограниченное количество итераций. Вы можете задать его минимальный размер. Таким образом, неточные результаты могут быть получены если: минимальный размер шага слишком большой, допуск ошибки мал, или мало количество итераций. Значение по умолчанию - 1e-006

Max (ошибка обрыва)

При выборе адаптивных методов интегрирования, Вы должны задать максимальную ошибку между результатами двух последовательных итераций. VisSim использует ошибку обрыва для определения размера шага. Чем больше допуск ошибки, тем больший размер шага возможен. Значение по умолчанию - 1e-005

Max (адапт. итераций)

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

Установка предпочтений симуляции

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

Для установки опций вкладки "Предпочтения" выполните действия:

  1. Выберите команду меню Симуляция > Настройки симуляции.
  2. В диалоговом окне "Настройки симуляции" выберите вкладку "Предпочтения".
  3. Установите желаемые опции и задайте параметры.
  4. Нажмите на кнопку OK или клавишу ENTER.

Диалоговое окно "Настройки симуляции", вкладка "Предпочтения"

Опция

Описание

Фиксация состояния в файле

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

О неподключенных входах

Активизирует предупреждения перед выполнением симуляции, в случае, если в блок-схеме имеются блоки, с неподключенными входами. Они будут помечаться красным цветом. Появляющееся диалоговое окно позволяет: 1) аварийно прекратить симуляцию - кнопка "Стоп", 2) проигнорировать первый найденный неподключенный вход и продолжить проверку блок-схемы - "Повтор" и 3) игнорировать все неподключенные входы и выполнить симуляцию - кнопка "Пропустить"

О некратной шагу задержке

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

О некратной шагу синхронизации

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

О числовом переполнении

Активизирует предупреждения, в случае, если в блоке конвертерТипов (convert) при преобразовании старших типов данных к младшим (например - double к int) происходит переполнение.

О расширении целых типов

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

О конце симуляции

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

Единицы частоты

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

Инициирующее число для Random-генератора

Опция оказывает влияние на процесс генерации случайных чисел блоками ГауссовШум и однородныйШум. Те соответствующие псевдослучайные последовательности определяются начальным инициирующим числом.

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

Инициирующие число может принимать значения 0 до 65535. Значение по умолчанию - 0.

Если опция "Авто-рестарт" вкладки "Диапазон" активирована, то VisSim генерирует новую  последовательность случайных чисел для каждой симуляции автоматически. В противном случае, последовательность неизменна и для ее смены Вы должны вручную определить новое, начальное, инициирующее число.

Увеличение приоритета задач реального времени

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

Смена последовательности псевдослучайных чисел

Если опция "Авто-рестарт" вкладки "Диапазон" диалогового окна "Настройки симуляции" активирована, то VisSim генерирует новую  последовательность случайных чисел для каждой симуляции автоматически. В противном случае, последовательность неизменна и для ее смены Вы должны вручную определить новое, начальное, инициирующее число, см. раздел Установка предпочтений симуляции

Настройки симуляции по умолчанию

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

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

  1. Выберите команду меню Симуляция > Настройки симуляции.
  2. В диалоговом окне "Настройки симуляции" выберите вкладку "Предустановки".
  3. Назначьте значения по умолчанию.
  4. Нажмите на кнопку OK или клавишу ENTER.

Диалоговое окно "Настройки симуляции", вкладка "Предустановки"