Полезна для преподавателей и студентов, делающих первые шаги в программе. Программа позволяет моделировать переходные процессы в любых системах, в том числе в системах автоматики.
Скачать:
Предварительный просмотр:
Настоящие методическое пособие предназначено для изучения раздела «Автоматика» междисциплинарного комплекса МДК 03.01., дисциплин «Основы автоматика», «Системы автоматического управления»
В пособии рассматриваются методы цифрового моделирования систем автоматического управления и программные средства для их проведения, рассматриваются способы построения математических моделей.
В первой части инструкции (Часть 1) приведен способ описания систем дифференциальными уравнениями. В следующей части (Часть 2) инструкции будет представлен способ описания систем как совокупности множества передаточных функций.
Для иллюстрации примера использована версия 7.11 программы MATLAB.
Работа с другими версиями MATLAB аналогична, за исключением вида «окон».
Создание приложений в MATLAB Apps
Построение графического интерфейса в системе Matlab (стр. 1 из 2)
Matlab – это система инженерных и научных вычислений. Она обеспечивает математические вычисления, визуализацию научной графики программирование и моделирование процессов с использованием интуитивно понятной среды окружения, когда задачи и их решения могут быть представлены в нотации, близкой к математической. Наиболее известные области применения системы Matlab:
· математика и вычисления;
· вычислительный эксперимент, имитационное моделирование, макетирование;
· анализ данных, исследование и визуализация результатов;
· научная и инженерная графика;
· разработка приложений, включая графический интерфейс пользователя.
Основным объектом при программировании в среде Matlab является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками.
Система Matlab – это одновременно и операционная среда и язык программирования. Пользователь может написать специализированные функции и программы, которые оформляются в виде М-файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ, которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы.
Cреда системы Matlab
Среда системы Matlab это совокупность интерфейсов, через которые пользователь поддерживают связь этой системой. Это: диалог посредством командной строки или графического интерфейса, просмотр рабочей области, редактор и отладчик М-файлов, работа с файлами и оболочкой DOS, экспорт и импорт данных, интерактивный доступ к справочной информации, динамическое взаимодействие с внешними системами MicrosoftWord, MicrosoftExcel и др. Реализуются эти интерфейсы через командное окно, инструментальную панель, системы просмотра рабочей области и путей доступа, редактор / отладчик М-файлов, специальные меню.
Создание независимых приложений в MATLAB
Пользовательский интерфейс носит дружественный характер и построен с учетом устоявшихся принципов программного обеспечения, разрабатываемого для операционной системы Windows.
В системе Matlab существует два вида м-файлов:
— скрипты – представляют последовательности команд (представляют собой процедуры);
— function– представляют собой функции с входными аргументами и выходными параметрами (значениями функции).
Но далее возникает необходимость многократного запуска файла программы при других, изменённых параметрах решаемой задачи. Возникает неудобство: в постоянном редактировании исходного текста программы и повторном или очередном её запуске. При этом важен механизм управления переменными, который бы обеспечивал удобный интерфейс между программой и пользователем. При решении других задач могут возникнуть трудности с визуализацией какого-либо процесса, то есть некоторая переменная изменяться динамически в процессе решения поставленной задачи.
Все эти и другие трудности, возможно, решить при использовании графического интерфейса пользователя. (GUI– GraphicalUserInterface)
Основные принципы построения графического интерфейса
Использование графического интерфейса позволяет пользователю сделать программу более универсальной.
Как и любой процесс проектирования, процесс построения графического интерфейса пользователя можно разбить на следующие этапы:
1. Постановка задачи,
2. Создание формы интерфейса и создание на неё элементов управления.
3. Написание кода программы и кода обработки событий.
Этапы построения графического интерфейса пользователя
1. На первом этапе проводиться анализ поставленной задачи и определяется количество и состав элементов управления необходимых для решения задачи.
2. На втором этапе создаётся форма графического интерфейса и на ней создаются и размещаются элементы управления. Здесь же описываются их свойства.
Задавать расположение и выравнивать элементы на форме описывать их свойства можно ‘вручную’, но для удобства и быстроты используют редактор выравнивания объектов (TheAlignmentTool) и редактора свойств (ThePropertyEditor).
Существует два способа создания формы и элементов управления, а так же задания или изменения их свойств:
— использование команды WORKSPACE (то есть использование команды операционной среды MATLAB).
— использование средств панели инструментов – совокупности средств для быстрого создания GUI (TheControlPanel).
При построении элементов управления первым способом удобно использовать скрипт-файл, в котором последовательно с помощью команд WARKSPACE описывается создание элементов управления и устанавливаются их свойства.
Эти команды можно использовать как для написания кода, создающего графический интерфейс пользователя, так и использовать для управления свойствами элементов управления из тела m-файлов. Благодаря чему мы можем получить визуализацию нашего процесса вычисления.
На практике всё более склоняются ко второму способу создания графического интерфейса с элементами управления. Это объясняется тем, что при использовании панели управления с её редакторами свойств, событий, выравнивания очень удобно работать, и создавать GUI значительно быстрее, чем в первом случае.
3. На третьем этапе создания графического интерфейса пользователя (GUI) пишется код основной программы вычисления и код для обработки событий.
Код основной программы вычисления, пишется на языке программирования операционной среды Matlab, в виде m-файла. Созданные m-файлы закрепляются за событием какого-нибудь элемента управления или формы.
При описании свойств элементов управления события описываются в m-файле:
а) либо при создании каждого элемента управления описываем его свойства и сразу описываем действие событие;
б) либо описываем обработку события для каждого элемента при помощи редактора событий (ThePropertyEditor).
Начало выполнения действий по созданию графического интерфейса
Редактор GUIDE (руководство) вызывается командой guideиз командного окна или путем выполнения цепочки команд главного меню File (Файл) – New (Новый) – GUI (Графический Интерфейс).
Две странички, присутствующие на стартовой заставке (рис. 1), позволяют начать проектирование нового интерфейса (вкладка – CreateNewGUI, (Создать новый интерфейс)) или воспользоваться ранее созданным интерфейсом (вкладка – OpenExistingGUI (Открыть существующий интерфейс)). Дело в том, что описание формы приложения вместе с расположенными на ней интерфейсными компонентами может быть сохранено в файле с расширением fig. Если на диске хранится нечто похожее на наше будущее приложение, существующим файлом можно воспользоваться с целью экономии времени.
Начальная конструктора графического интерфейса (GUIDE) (рис. 1)
Мне было предложено рассмотреть приложение, воспроизводящее график одной из пяти функций в зависимости от выбранной строки раскрывающегося меню.
Окно редактирования формы (рис. 2)
После редактирование необходимо сохранить полученный проект. Для этого нажимаем: File–Saveas и сохраняем проект в нужную папку на диске. После этого откроется окно следующего содержания:
Окно редактирования m-кода формы (рис. 3)
Это код, описывающий поведение сохраненной нами формы. В нем содержатся процедуры и функции, которые позволяют форме быть работоспособной.
Окно программы, запущенной на выполнение (рис. 4)
Вот получена работоспособная программа, которая выполняет выведение различных графических зависимостей на координатной плоскости.
Выбирая различные пункты в выпадающем меню, а затем, нажимая кнопку, вы увидите различные варианты получаемых графиков.
Алгоритм создания интерфейса
1. Вызвать панель управления.
1) Создать новую форму интерфейса или загрузить существующую.
2) Перейти в режим редактирования формы.
3) Натаскать на форму необходимые элементы управления.
2. Вызвать редактор свойств.
1) Выбрать элемент управления.
2) Выбрать нужное свойство и изменить его.
3. Вызвать редактор событий.
1) Выбрать элемент управления.
2) Написать код обработки события.
4. Вызвать редактор выравнивания объектов.
1) Выбрать элемент управления иди группу элементов.
2) Выбрать метод выравнивания.
5. Перейти в окно панели управления и активизировать интерфейс.
1. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6 в математике и моделировании / В.П. Дьяконов. – М.: СОЛОН-Пресс, 2005. – 576 с.
2. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6. Основы применения / В.П. Дьяконов – М.: СОЛОН-Пресс, 2005. – 800 с.
3. Дьяконов, В.П. MATLAB 6.5 SP1/7 + Simulink 5/6. Работа с изображениями и видеопотоками / В.П. Дьяконов. – М.: СОЛОН-Пресс, 2005. – 400 с.
4. Ермачкова Ю.А. Проектирование интерфейса в среде GUIDEMATLAB / Ю.А. Ермачкова // Современные информационные технологии в экономике, управлении и образовании. Сборник материалов межвузовской научно-практической конференции, посвященной 175 – летию потребительской кооперации России и 5 – летию филиала. – М.: Информационно-внедренческий центр «Маркетинг», 2006. – С. 35–37.
function varargout = kursovaya(varargin)
% KURSOVAYA M-file for kursovaya.fig
% KURSOVAYA, by itself, creates a new KURSOVAYA or raises the existing
% H = KURSOVAYA returns the handle to a new KURSOVAYA or the handle to
% the existing singleton*.
% KURSOVAYA (‘CALLBACK’, hObject, eventData, handles,…) calls the local
% function named CALLBACK in KURSOVAYA.M with the given input arguments.
% KURSOVAYA (‘Property’, ‘Value’,…) creates a new KURSOVAYA or raises the
% existing singleton*. Starting from the left, property value pairs are
Источник: smekni.com
Автоматический запуск Simulink из Matlab
Использование современных программных средств, таких как Matlab/Simulink, позволяет существенно упростить анализ различных сложных систем. Скрипты Matlab позволяют в автоматическом режиме запускать схемы Simulink с изменением различных параметров.
Пройдите наш онлайн-курс по MATLAB/SIMULINK. Там вы научитесь пользоваться MATLAB как мощным калькулятором, создавать свои модели в SIMULINK, моделировать электрические цепи, а также сложные электроэнергетические системы с устройствами релейной защиты.
Такая задача может появиться, к примеру, при построении амплитудно-частотной характеристики (АЧХ) некоторого фильтра. Если фильтр достаточно сложный, то его аналитическое описание не всегда представляется возможным. В таком случае прибегают к численным методам анализа.
Simulink позволяет представить рассматриваемый фильтр в виде совокупности элементов, из которого он состоит, и сымитировать его работу при подаче на него определённого входного сигнала, например, напряжения.
Известно, что АЧХ представляет собой характеристику, описывающую амплитуду выходного сигнала в зависимости от входного при различных частотах. То есть для её построения необходимо изменять частоту входного сигнала при неизменной амплитуде и измерять амплитуду выходного сигнала. Это итерационная процедура, которая может быть автоматизирована.
Рассмотрим простейший фильтр, представленный на рис. 1. Параметры фильтра R = 1 Ом, L = 10 мГн, C = 400 мкФ.
Рис. 1. Исследуемый фильтр
Для построения АЧХ необходимо при известной амплитуде входного напряжения Uвх измерять амплитуду выходного напряжения Uвых при различных частотах входного напряжения и формировать замер
Для этого в Simulink собрана схема, представленная на рис. 2. Сама модель в Simulink: circuit.mdl.
Рис. 2. Схема в Simulink для построения АЧХ фильтра
Таким образом, схему по рис. 2 необходимо прогонять определённое число раз, при этом изменяя частоту источника ЭДС и измеряя выходное напряжение с помощью вольтметра Voltage. Для этого воспользуемся следующим скриптом Matlab (сам скрип вы можете скачать: simulink_start.m):
open(‘circuit.mdl’); % название модели U_in = 100; % амплитуда источника ЭДС U_out = []; % массив для сохранения амплитуды выходного напряжения f = 0:1:500; % массив частот входного напряжения for k = 1:length(f) set_param(‘circuit/U’,’Frequency’,’f(k)’); % задание частоты источника ЭДС sim(‘circuit’); % запуск моделирования U_out = [U_out max(abs(Uout.signals.values(Uout.time>=1)))]; % добавление выходного напряжения для определённой частоты в массив plot(f,U_out/U_in,’k-‘) % построение выходного графика grid on hold on
Для автоматического задания параметров элементов модели в Simulink в Matlab используется функция set_param . Для запуска моделирования используется функция sim . После окончания работы скрипта формируется АЧХ, представленная на рис. 3.
Рис. 3. АЧХ исследуемого фильтра
Итак, в статье представлен пример использования запуска модели в Simulink с помощью скрипта в Matlab для построения АЧХ фильтра.
Рекомендуемые записи
Automatically launch Simulink from Matlab Using modern software tools, such as Matlab / Simulink, can significantly simplify the analysis of…
Simulation of relay protection in Simulink The Matlab / Simulink software package allows you to simulate not only electrical networks, but…
Моделирование релейной защиты в Simulink Программный комплекс Matlab/Simulink позволяет моделировать не только электрические сети, но и многое другое, в том…