Установка параметров моделирования
Выполнение процесса моделирования в Simulinke осуществляется нажатием клавиши Start simulation на панели инструментов, либо выбором команды Start меню Simulation окна модели. Процесс моделирования можно завершить досрочно, выбрав команду Stop меню Simulation или соответствующую кнопку на панели инструментов. Моделирование также можно приостановить (Simulation/Pause) и затем продолжить (Simulation/Continue).
Однако прежде чем выполнять само моделирование необходимо, если это требуется, выполнить установку параметров моделирования. Окно настройки параметров моделирования открывается выбором команды Simulation parametersменю Simulation. Окно настройки параметров имеет следующие вкладки:
1. Solver(Решатель) – установка параметров моделирования.
2. Workspace I/O(Ввод/вывод данных в рабочую область) - установка параметров обмена данными с рабочей областью MATLAB.
3. Diagnostics(Диагностика) - выбор параметров режима диагностики.
4. Advanced(Дополнительно) - установка дополнительных параметров.
5. Real-Time Workshop - параметры инструмента "Мастерская реального времени".
Установка параметров моделирования модели выполняется на вкладке Solver, которая разделена на 3 группы:
· Simulation time (Интервал моделирования);
· Solver options (Параметры решателя);
· Output options (Параметры вывода).
В разделе Simulation time устанавливаются следующие параметры:
- Start time – начальное значение интервала времени моделирования;
- Stop time – конечное значение интервала времени моделирования.
В разделе Solver options необходимо указать метод интегрирования (Туре) (либо с фиксированным (Fixed-step), либо с переменным (Variable-step) шагом) и выбрать один из следующих методов интегрирования:
- ode45 - одношаговые явные методы Рунге - Кутты 4-го и 5-го порядка;
- ode23 - одношаговые явные методы Рунге - Кутты 2-го и 3-го порядка;
- ode113 - многошаговый метод Адамса - Башворта - Мултона переменного порядка;
- ode 15s - многошаговый метод переменного порядка (от 1 до 5), использующий формулы численного дифференцирования;
- ode23s - одношаговый метод, использующий модифицированную формулу Розенброка 2-го порядка;
- ode23t - метод трапеций с интерполяцией;
- ode23tb - неявный метод Рунге - Кутты в начале решения и метод, использующий формулы обратного дифференцирования 2-го порядка в последующем.
Если в разделе Туре выбирается метод интегрирования с фиксированным шагом Fixed-step, то появляется текстовое поле Fixed-step size (Величина фиксированного шага), позволяющее указывать величину шага интегрирования. По умолчанию величина шага интегрирования устанавливается системой автоматически (auto). В противном случае требуемая величина шага задается числом, либо определяется из выражения.
При выборе Fixed-step необходимо также задать режим расчета (Mode):
- MultiTasking (Многозадачный). Используется, если в модели присутствуют параллельно работающие подсистемы и результат работы модели зависит от временных параметров этих подсистем. Режим позволяет выявить несоответствие между скоростью и дискретностью сигналов, пересылаемых блоками друг другу;
- SingleTasking (Однозадачный). Используется для тех моделей, в которых недостаточно строгая синхронизация работы отдельных составляющих не влияет на конечный результат моделирования;
- Auto (Автоматический выбор режима). Simulink автоматически устанавливает режим MultiTasking для тех моделей, в которых используются блоки с различными скоростями передачи сигналов, и режим SingleTasking для моделей, в которых содержатся блоки, оперирующие одинаковыми скоростями.
При выборе метода интегрирования с переменным шагом интегрирования Variable-step появляются поля для установки трех параметров:
- Max step size – максимальный шаг интегрирования. По умолчанию он устанавливается автоматически (auto), и его значение в этом случае равно (Stop Time – Start Time)/50. Если это значение оказывается слишком большим, то графики решений представляют собой ломаные, а не плавные линии. В этом случае величину максимального шага интегрирования необходимо задавать явным образом;
- Min step size – минимальный шаг интегрирования.
- Initial step size – начальное значение шага интегрирования.
При моделировании непрерывных систем с использованием переменного шага необходимо указать точность вычислений: относительную (Relative tolerance) и абсолютную (Absolute tolerance). По умолчанию они равны соответственно 10 -3 и auto.
В разделе Output optionsустанавливаются параметры вывода сигналов моделируемой системы:
- Refine output (Скорректированный вывод) – позволяет изменять шаг регистрации модельного времени и тех сигналов, которые сохраняются в рабочей области MATLAB с помощью блока То Workspace. Установка такта дискретности выполняется в строке редактирования Refine factor, расположенной справа. По умолчанию значение Refine factor равно 1, это означает, что регистрация производится с шагом Δt = 1 (т. е. для каждого значения модельного времени). Если задать Refine factor равным 2, это означает, что будет регистрироваться каждое второе значение сигналов, 3 – каждое третье и т. д. Параметр Refine factor может принимать только целые положительные значения.
- Produce additional output (Дополнительный вывод) – обеспечивает дополнительную регистрацию параметров модели в заданные моменты времени. Их значения вводятся в строке редактирования (в этом случае она называется Output times) в виде списка, заключенного в квадратные скобки. При использовании этого варианта базовый шаг регистрации (Dt)равен 1. Значения времени в списке Output times могут быть дробными числами и иметь любую точность.
- Produce specified output only (Формировать только заданный вывод) –устанавливает вывод параметров модели только в заданные моменты времени, которые указываются в поле Output times (Моменты времени вывода) в виде вектора.
На вкладке Workspace I/Oнаходятся элементы, позволяющие управлять вводом в рабочую область MATLAB и выводом из нее промежуточных данных и результатов моделирования:
· Load from workspace (Загрузить из рабочей области). Если флажок Input (Входные данные) установлен, то в расположенное справа текстовое поле можно ввести формат данных, которые будут считываться из рабочей области MATLAB. Установка флажка Initial State (Начальное состояние) позволяет ввести в связанное с ним текстовое поле имя переменной, содержащей параметры начального состояния модели. Данные, указанные в полях Input и Initial State, передаются в исполняемую модель посредством одного или более блоков In (из раздела библиотеки Sources).
· Save to workspace (Записать в рабочую область) – позволяет установить режим вывода значений сигналов в рабочей области MATLAB и задать их имена.
· Save options (Параметры записи) – задает количество строк при передаче переменных в рабочую область. Если флажок Limit rows to last установлен, то в поле ввода можно указать количество передаваемых строк (отсчет строк производится от момента завершения расчета). Если флажок не установлен, то передаются все данные. Параметр Decimation (Прореживание) задает шаг записи переменных в рабочую область (аналогично параметру Refine factor вкладки Solver). Параметр Format (формат данных) задает формат передаваемых в рабочую область данных. Доступные форматы Array (Массив), Structure (Структура), Structure With Time (Структура с дополнительным полем "Время").
Вкладка Diagnostics позволяет изменять перечень диагностических сообщений, выводимых Simulink в командном окне MATLAB, а также устанавливать дополнительные параметры диагностики модели.
Сообщения об ошибках или проблемных ситуациях, обнаруженных Simulink в ходе моделирования и требующих вмешательства разработчика, выводятся в командном окне MATLAB. Исходный перечень таких ситуаций приведен в списке Configuration options (Опции конфигурации). Разработчик может указать вид реакции на каждую ситуацию, используя группу переключателей в поле Action (Действие). С помощью переключателей можно выбрать один из вариантов реакции:
· None – игнорировать;
· Warning – выдать предупреждение и продолжить моделирование;
· Error - выдать сообщение об ошибке и остановить процесс моделирования.
Выбранный вид реакции отображается в списке рядом с наименованием события.
В панели Simulation options (Опции моделирования) можно задать виды проверки работы S-функций: Consistency Checking (Проверка совместимости) и Bounds Checking (Проверка границ). Выбор опции Consistency Checking дает возможность Simulink контролировать правильность работы пользовательской S-функции для выбранного решателя. С помощью опции Bounds Checking проверяется возможный выход за границы массивов при вычислении S-функцией вектора переменных состояния и их производных. Установка данных опций имеет смысл на этапе отладки модели, поскольку время расчета в этом случае значительно увеличивается.
Создание подсистем
Если блок–схема модели слишком сложная и имеет большие размеры, ее можно упростить, группируя блоки в подсистемы. Построение структурных схем с использованием подсистем позволяет сделать схему наглядной и создавать иерархические структуры. При этом сокращается количество блоков, которые выводятся в окне модели, и появляется возможность объединить в одну группу (подсистему) функционально связанные блоки. Количество подсистем в модели не ограничивается. Подсистема сама в свою очередь может содержать подсистемы, при этом уровень вложенности подсистем также не ограничивается.
Подсистему можно создать двумя способами:
· добавить блокSubsystem в модель, потом войти в этот блок и создать подсистему в появившемся окне подсистемы;
· выделить часть блок–схемы модели и объединить ее в подсистему.