ДонНТУ>>Портал магистров ДонНТУ
Магистр ДонНТУ Максименко Владмимр Леонидович

Максименко Владимир Леонидович

Факультет компьютерных наук и технологий
Специальность: «Компьютерные системы и сети»

Научный руководитель: к.т.н., доц. Назаренко Виктор Иванович

Исследование автоколебаний при моделировании гармонического осциллятора с использованием комплексов моделирования

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

Анализ архитектур моделирующих программ

На данный момент существует множество систем моделирования. Анализ научно-технической литературы показывает, что наиболее популярными являются системы моделирования DyMoLa, Dynast, Multisim, VisSim, МВТУ, MVS, SimuLink[1] Для сравнения при изучения гармонических колебаний были выбраны специализированные системы SimuLink и МВТУ.

Программный комплекс «МВТУ»[3] предназначен для исследования динамики и проектирования самых разнообразных систем и устройств. По своим возможностям он является альтернативой аналогичным зарубежным программным продуктам Simulink, VisSim и др. Удобный редактор структурных схем, обширная библиотека типовых блоков и встроенный язык программирования позволяют реализовывать модели практически любой степени сложности, обеспечивая при этом наглядность их представления. ПК «МВТУ» успешно применяется для проектирования систем автоматического управления, следящих приводов и роботов-манипуляторов, ядерных и тепловых энергетических установок, а также для решения нестационарных краевых задач (теплопроводность, гидродинамика и др.). Он широко используется в учебном процессе, позволяя моделировать различные явления в физике, электротехнике, в динамике машин и механизмов, в астрономии и т.д. Отличительной особенностью комплекса является возможность функционировать в многокомпьютерных моделирующих комплексах, в том числе и в режиме удаленного доступа к технологическим и информационным ресурсам.

ПК «МВТУ» реализует следующие режимы работы: моделирование, оптимизация, анализ, синтез, контроль и управление.

Для отечественных пользователей удобство работы с ПК «МВТУ» обусловлено русскоязычным интерфейсом и наличием обширной документации на русском языке. Учебная и демонстрационная версии ПК «МВТУ» вместе с полной документацией и набором демонстрационных примеров распространяются свободно[1]. В учебной версии есть ограничения на сложность модели: порядок дифференциальных уравнений не выше 30, а число блоков не более 100. В демонстрационной версии таких ограничений нет, но модель нельзя сохранить.

В качестве сравниваемой системы выбрана MATLAB, а точнее toolbox к нему под – Simulink. Этот выбор основан на том, что Simulink, как и МВТУ, является блочным языком программирования. Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний требующихся при работе на компьютере и, естественно, знаний той предметной области, в которой он работает.

Simulink является достаточно самостоятельным инструментом MATLAB и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета для разработки систем управления). Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

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

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

Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм написанных как на языке MATLAB, так и на языках С + +, Fortran и Ada.

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

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

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

Анализ программ для моделирования динамических процессов

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

В качестве исследуемой функции возьмем уравнение Ван дер Поля[2], амплитуда колебаний которого затухает во времени:

pic1

В моделировании для коэффициентов w и b будем использовать следующие значения:

pic2

pic3

Моделирование дифференциального-алгебраического уравнения Ван Дер Поля в среде моделирования МВТУ

Перейдем к моделированию уравнения. В системе МВТУ все элементы представлены блоками. На их базе была построена следующая схема:

Рисунок 1 – Модель уравнения Ван дер Поля в системе МВТУ
Рисунок 1 – Модель уравнения Ван дер Поля в системе МВТУ

Зададим параметры для моделирования. Для этого зайдем в пункт меню «Моделирование» -> «Параметры расчета» или нажав клавишу F10.

Рисунок 2 – «Параметры расчета»
Рисунок 2 – «Параметры расчета»

Откроется окно с настройками моделирования. Нас интересует вкладка «Основные». Здесь мы должны сделать следующие действия:
1. В качестве метода интегрирования выбираем «Рунге-Кутта 45 классический»
2. Зададим фиксированный шаг интегрирования.
В программе нет возможности переключения между фиксированным и переменным шагом. Из этого положения можно выйти, задав для полей «Минимальный шаг интегрирования», «Максимальный шаг интегрирования» и «Шаг вывода результатов» одно значение параметра. Зададим для этих полей значение 0.004
3. В качестве параметра «Время интегрирования» зададим значение 100
После этого сохраняем параметры, нажав на кнопку «ДА».

Рисунок 3 – Окно с параметрами моделирования
Рисунок 3 – Окно с параметрами моделирования

Теперь все готово для моделирования. Для получения результатов необходимо зайти в пункт меню «Моделирование» -> «Расчет» или нажать комбинацию клавиш CTRL+F9

Рисунок 4 – «Расчет»
Рисунок 4 – «Расчет»

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

Рисунок 5 – Фазовый портрет в среде МВТУ
Рисунок 5 – Фазовый портрет в среде МВТУ

Рисунок 6 - Временной график в среде МВТУ
Рисунок 6 - Временной график в среде МВТУ

Моделирование дифференциального-алгебраического уравнения Ван Дер Поля в среде моделирования Simulink

Как и прежде, мы была построена следующая схема уравнения Ван дер Поля, которая приведена ниже:

Рисунок 7 – Модель уравнения Ван дер Поля в системе Simulink
Рисунок 7 – Модель уравнения Ван дер Поля в системе Simulink

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

pic8

Зададим параметры для моделирования. Для этого зайдем в пункт меню «Simulation» -> «Configuration Parameters…» или нажать комбинацию клавиш CTRL+E.

Рисунок 8 –  «Configuration Parameters»
Рисунок 8 – «Configuration Parameters»

Откроется окно с настройками моделирования. Здесь мы должны сделать следующие действия:
1. В разделе «Solver options» в качестве решателя (Solver) выбираем «ode4 (Runge-Kutta)»
2. Зададим фиксированный шаг интегрирования. Для этого в «Type» выбираем «Fixed-step».В поле «Fixed step size» зададим значение 0.004
3. В качестве параметра «Stop time» зададим значение 100
После этого сохраняем параметры, нажав на кнопку «OK».

Рисунок 9 – Окно с параметрами моделирования
Рисунок 9 – Окно с параметрами моделирования

Теперь все готово для моделирования. Для получения результатов необходимо зайти в пункт меню «Simulation» -> «Start» или нажать комбинацию клавиш CTRL+T

Рисунок 10 –  «Start»
Рисунок 10 – «Start»

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

Рисунок 11– Фазовый портрет в среде Simulink
Рисунок 11 – Фазовый портрет в среде Simulink

Рисунок 12 - Временной график в среде Simulink
Рисунок 12 - Временной график в среде Simulink

Сравнение сред моделирования

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

Рисунок 13 – Вычисление функции. (Среда МВТУ) Рисунок 13 – Вычисление функции. (Среда Simulink)
а) в)
Рисунок 13 – Вычисление функции. а) Среда МВТУ; в) Среда Simulink

Из рис.13 видно, что в среде Simulink эта запись занимает всего 1 блок, в свою очередь в МВТУ используется 5 блоков. Не скрою, в МВТУ есть блок, реализующий вычисление над входными данными при помощи языка программирования МВТУ, но он у меня не захотел вычислять экспоненту. Тогда бы они выглядели одинаково.

Перейдем к настройкам. Обе системы имеют широкий выбор параметров. Но в МВТУ есть небольшой минус. Для замены длительности моделирования каждый раз необходимо заходить в параметры. В Simulink, в свою очередь, на панель вынесено поле, в котором можно менять значение, не заходя в настройки.

Ну и напоследок моделирование. Из рисунков 5, 6 и 11,12 видно, что результаты моделирования получились одинаковые.

Выводы

В данной работе в системах Simulink и МВТУ было промоделировано уравнение Ван дер Поля с затухающей амплитудой. Выполнены сравнительные характеристики систем моделирования Simulink и МВТУ. Все промоделированные уравнения имеют временные графики.

Так же стоит отметить, что программное обеспечение имеет характеристики, которые необходимо отметить в ходе сравнения:

  • потребление ресурсов;
  • быстродействие.

По окончанию моделирования МВТУ занимало почти в 2 раза меньше оперативной памяти. Что касается быстродействия, то SimuLink затратил на моделирование примерно 9 секунд, а МВТУ около 2 секунд. Тесты проводились на компьютере со следующими параметрами:

  • ОС – Windows XP x64 edition
  • Процессор – AMD Athlon 64 1.6GHz
  • ОЗУ – DDR2 4 Гб

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

1. Model.Exponenta.Ru — учебно-методический сайт о моделировании и исследовании систем, объектов, технических процессов и физических явлений. [электронный ресурс]. – Режим доступа: www/URL: http://model.exponenta.ru/
2. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи. М.: Мир, 1999. 685 с.
3. Сайт разработчиков ПК «МВТУ». [электронный ресурс]. – Режим доступа: www/URL:http://mvtu.power.bmstu.ru/