Э. А. Романовский теория автоматического
Скачать 0.67 Mb.
|
Министерство образования и науки Российской Федерации Государственное образовательное учреждение высшего профессионального образования «Камская государственная инженерно-экономическая академия» Э. А. Романовский ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ ЛАБОРАТОРНЫЙ ПРАКТИКУМ ЧАСТЬ 1 Набережные Челны 2011 - 2 - УДК 519.71(075.9); 681.5 Романовский Э. А. Теория автоматического управления: лабора- торный практикум. Часть 1. / Э. А. Романовский. – Набережные Чел- ны: Изд-во Камской государственной инженерно-экономической ака- демии, 2011. – 71 с.: ил. – Библиогр.: 13 назв. Настоящий лабораторный практикум содержит комплекс работ, позволяющих приобрести навыки исследования систем автоматиче- ского управления с применением компьютерной среды MATLAB. По- собие призвано дать лицам, изучающим теорию автоматического управления, возможность приобретения навыков компьютерного мо- делирования, а также анализа и синтеза систем автоматического управления на ЭВМ. Практикум содержит лабораторные работы и включает: теорети- ческие сведения по излагаемым вопросам, задания с исходными дан- ными, представленными в 30 вариантах, а также контрольные вопро- сы. Настоящий практикум предназначен для студентов специально- сти 220301.65 - «Автоматизация технологических процессов и произ- водств», а также для студентов других специальностей. Рецензент: Зубков Е. В., канд. техн. наук, доцент. Печатается по решению научно-методического совета Камской государственной инженерно-экономической академии. © ГОУ ВПО «Камская государственная инженерно- экономическая академия», 2011 год. © Э. А. Романовский, 2011 год. - 3 - С ОДЕРЖАНИЕ С ОДЕРЖАНИЕ ....................................................................................... 3 Р АБОТА №1. З НАКОМСТВО С КОМПЬЮТЕРНОЙ СРЕДОЙ MATLAB 5 1.1. Общие сведения о среде MATLAB ....................................... 5 1.1.1. Вводная информация ........................................................................5 1.1.2. Работа с векторами и матрицами...................................................10 1.1.3. Работа с полиномами ......................................................................14 1.2. Задания................................................................................... 15 1.3. Контрольные вопросы .......................................................... 19 Р АБОТА №2. М ОДЕЛИРОВАНИЕ ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ СИСТЕМ С ПОМОЩЬЮ ПЕРЕДАТОЧНЫХ ФУНКЦИЙ ....... 21 2.1. Общие сведения об LTI-объектах, представленных в виде передаточных функций......................................................... 21 2.1.1. Вводная информация ......................................................................21 2.1.2. Создание и преобразование lti-объектов ......................................22 2.1.3. Создание более сложных lti-объектов...........................................24 2.2. Задания................................................................................... 25 2.3. Контрольные вопросы .......................................................... 27 Р АБОТА №3. М ОДЕЛИРОВАНИЕ ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ СИСТЕМ В ПРОСТРАНСТВЕ СОСТОЯНИЙ ........................ 28 3.1. Общие сведения об LTI-объектах, представленных в пространстве состояний ....................................................... 28 3.1.1. Вводная информация ......................................................................28 3.1.2. Создание и преобразование lti-объектов ......................................30 3.1.3. Создание более сложных lti-объектов...........................................32 3.2. Задания................................................................................... 33 3.3. Контрольные вопросы .......................................................... 33 Р АБОТА №4. О ПРЕДЕЛЕНИЕ ВРЕМЕННЫХ ХАРАКТЕРИСТИК ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ СИСТЕМ ............................. 34 4.1. Общие сведения о временных характеристиках................ 34 4.1.1. Вводная информация ......................................................................34 4.1.2. Построение временных характеристик ........................................36 4.2. Задания................................................................................... 41 4.3. Контрольные вопросы .......................................................... 41 - 4 - Р АБОТА №5. О ПРЕДЕЛЕНИЕ ЧАСТОТНЫХ ХАРАКТЕРИСТИК ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ СИСТЕМ ............................. 43 5.1. Общие сведения о частотных характеристиках................. 43 5.1.1. Вводная информация ......................................................................43 5.1.2. Построение частотных характеристик..........................................46 5.2. Задания................................................................................... 48 5.3. Контрольные вопросы .......................................................... 48 Р АБОТА №6. М ОДЕЛИРОВАНИЕ ЛИНЕЙНЫХ НЕПРЕРЫВНЫХ СИСТЕМ СРЕДСТВАМИ ПАКЕТА S IMULINK ..................... 50 6.1. Общие сведения об имитационном моделировании средствами пакета Simulink ................................................. 50 6.1.1. Вводная информация ......................................................................50 6.1.2. Проведение процесса имитационного моделирования ...............50 6.2. Задания................................................................................... 54 6.3. Контрольные вопросы .......................................................... 62 Р АБОТА №7. Т ИПОВЫЕ ДИНАМИЧЕСКИЕ ЗВЕНЬЯ СИСТЕМ УПРАВЛЕНИЯ .................................................................... 63 7.1. Общие сведения о типовых динамических звеньях.......... 63 7.1.1. Вводная информация ......................................................................63 7.1.2. Модели типовых динамических звеньев ......................................63 7.2. Задания................................................................................... 65 7.3. Контрольные вопросы .......................................................... 68 Р АБОТА №8. И ССЛЕДОВАНИЕ ТИПОВЫХ ЗВЕНЬЕВ ПРИ РАЗЛИЧНЫХ ИХ СОЕДИНЕНИЯХ ........................................................... 69 8.1. Общие сведения о возможных соединениях типовых динамических звеньев .......................................................... 69 8.2. Задания................................................................................... 69 8.3. Контрольные вопросы .......................................................... 70 С ПИСОК ЛИТЕРАТУРЫ ....................................................................... 71 - 5 - Работа №1. З НАКОМСТВО С КОМПЬЮТЕРНОЙ СРЕДОЙ MATLAB Цель лабораторной работы: получить первоначальные сведения и навыки работы с компьютерной средой MATLAB. 1.1. О БЩИЕ СВЕДЕНИЯ О СРЕДЕ MATLAB 1.1.1. Вводная информация MATLAB – это интерактивная компьютерная среда для выполне- ния разнообразных инженерных и научных расчетов. MATLAB можно также назвать средой компьютерного моделирования. В англоязычной литературе название компьютерной среды MATLAB расшифровывается как Matrix Laboratory - матричная лабо- ратория. Связано это с тем, что изначально среда MATLAB была предназначена для автоматизации сложных матричных вычислений. Со временем благодаря появлению и развитию поддержки различных числовых типов и структур данных, а также операций над такими данными, в среде MATLAB стала возможной автоматизация очень разнообразных математических преобразований и вычислений. На- пример, MATLAB поддерживает операции с комплексными числами, числовыми векторами и матрицами, многомерными числовыми мас- сивами, полиномами, многомерными массивами ячеек и пр. Возможности среды MATLAB весьма обширны, а по скорости выполнения математических операций MATLAB, как правило, пре- восходит своих конкурентов. В настоящее время среда MATLAB при- менима для автоматизации математических расчетов практически в любой области науки и техники. MATLAB широко применяется при математическом моделирова- нии физических устройств и систем, относящихся, например, к меха- нике, в частности, к динамике, гидродинамике и аэродинамике, аку- стике и т. д. Этому способствует не только расширенный набор мат- ричных и иных операций и функций, но также и наличие расширения (подсистемы моделирования) Simulink, предназначенного для решения задач визуального блочного компьютерного моделирования динамиче- ских систем и устройств. Также среда MATLAB содержит десятки других расширений (пакетов), предназначенных для решения задач из отдельных областей науки и техники. В обширном и постоянно пополняемом комплексе команд, функ- - 6 - ций и пакетов среда MATLAB имеет, в частности, специальные сред- ства для автоматизации электротехнических и радиотехнических рас- четов (например, средства для анализа и обработки сигналов, средства цифровой фильтрации сигналов и пр.). Также MATLAB содержит средства для обработки изображений, средства для реализации ней- ронных сетей, средства для создания систем нечёткой логики и прочие средства. Важными достоинствами среды MATLAB являются ее откры- тость и расширяемость. Основу среды составляет ядро, написанное преимущественно на языке C++ с целью повышения быстродействия самой среды. Большинство команд и функций среды MATLAB реали- зовано в виде текстовых M-файлов (файлов с расширением « .m »), со- держащих тексты программ и подпрограмм, написанных на специаль- ном языке программирования среды, который называется – язык про- граммирования MATLAB. Содержимое всех исходных файлов компь- ютерной среды MATLAB в принципе доступно для модернизации. Обычно подпрограммы (функции), заранее созданные разработ- чиками среды MATLAB или создаваемые пользователем в среде MATLAB, называют M-функциями, т. к. содержимое каждой такой подпрограммы сохраняется в отдельном файле с расширением « .m ». Коллекции M-файлов для решения определенного круга родст- венных задач принято называть Toolboxes (пакеты; от двух слов Tool – инструмент и Box – коробка). В настоящем лабораторном практикуме будут рассматриваться в основном лишь возможности среды MATLAB применительно к тео- рии автоматического управления (ТАУ) [8, 9, 10, 11, 12, 13]. Более подробно сведения об использовании среды MATLAB в объёме, дос- таточном для применения студентом при решении большинства встре- чающихся в его практике задач, приведены в [1]. Сведения, встречаю- щиеся в практике студента при решении задач ТАУ, наиболее подроб- но изложены в [2]. Ещё более детальные сведения об использовании среды MATLAB, связанные, например, с визуальным моделированием, с применением различных инструментальных средств среды, с про- граммированием в среде на языке MATLAB, можно найти в [3, 4, 5, 6]. Существует несколько способов взаимодействия со средой MATLAB. Старейшим и, пожалуй, простейшим способом взаимодей- ствия со средой является способ командной строки. После запуска среды становится доступным командное окно (внешне оно подобно командному окну операционных систем Win- dows или командному окну операционных систем, построенных на ядре Linux). В этом окне появляется приглашение для ввода команд - 7 - ( » ). Пользователь вводит очередную команду на языке программиро- вания MATLAB и нажимает клавишу «Enter». После этого среда MATLAB выводит в командном окне результат выполнения введённой пользователем команды и снова отображает приглашение для ввода следующей команды ( » ). Пользователь всегда может очистить содер- жимое командного окна вводом команды clc . При этом содержимое рабочего пространства (Workspace) среды MATLAB не очищается. Под содержимым рабочего пространства среды понимается об- ласть памяти, в которой хранится весь набор объектов созданных пользователем в период работы со средой MATLAB. Пользователь создаёт эти объекты, применяет их для решения своих задач и в случае необходимости удаляет их из рабочего пространства среды. По завер- шении работы среды MATLAB содержимое рабочего пространства уничтожается автоматически. Доступ к объектам рабочего пространства (часто их называют пе- ременными, но это не совсем верно, т. к. в среде MATLAB можно соз- давать и константные объекты) осуществляется по их именам. Прави- ла именования объектов в среде MATLAB аналогичны правилам име- нования объектов в алгоритмических языках программирования, та- ких как C++, Pascal и пр. Вот основные, наиболее важные, из этих правил: 1. Имена объектов могут содержать заглавные и строчные симво- лы латинского алфавита ( A , … Z , a , … z ), а также символы арабских цифр ( 0 , … 9 ) и знак подчёркивания ( _ ). При этом значимыми явля- ются только первые 31 символ, остальные символы в именах средой игнорируются. 2. Имена объектов могут начинаться только с символа латинского алфавита (т. е. с буквы). Символ знака подчёркивания в среде MATLAB буквой не считается (в отличие от многих языков програм- мирования). 3. В именах объектов различаются строчные и заглавные символы алфавита, т. е. Alpha123 , alpha123 и ALPHA123 – это всё разные имена. Как правило, имена функций (подпрограмм) среды MATLAB записываются с использованием строчных символов алфавита. Примеры создания объектов: » a1 = 10 % Создание объекта , хранящего % целое число a1 = 10 - 8 - » b2 = 15.13 % Создание объекта , хранящего % вещественное число b2 = 15.1300 » d5 = 3 + 5i % Создание объекта , хранящего % комплексное число d5 = 3.0000 + 5.0000i Как видно из примеров, для разделения целой и дробной частей в вещественных числах применяется символ « ». Примеры также де- монстрируют добавление в командах поясняющих однострочных ком- ментариев. Для этого в командах используется символ процента ( % ). Подобным образом создаются комментарии и в текстах про- грамм/подпрограмм на языке MATLAB. У целых чисел отсутствуют дробные части, однако такие числа всё равно представляются в среде MATLAB на машинном уровне в той же форме, что и вещественные числа. Этот основной тип данных (часто его называют типом вещественных чисел с плавающей точкой) в среде MATLAB называется double . Подобный тип поддерживается практически любым алгоритмическим языком программирования. Как правило, среда MATLAB выделяет 8 байт для хранения такого веще- ственного числа в памяти. Однако количество байт, выделяемых сре- дой MATLAB под вещественные числа, может быть и другим. Это за- висит от применяемых: аппаратного обеспечения, операционной сис- темы и версии среды MATLAB. Ниже приведены некоторые примеры записи литералов вещест- венных чисел, допускаемые в среде MATLAB. 2.851324764e12; 0; -456.87594363; 0.005759436e0; 187e-1; 0.0; 6.5454E-2; .0; 456.876; -123; 0.134343; .525252; -.0002662626 Среда MATLAB поддерживает вычисления, как с вещественны- ми, так и с комплексными числами. Для хранения в своём рабочем пространстве объектов, содержащих комплексные числа, среда, есте- ственно, расходует в два раза больше памяти, чем для хранения объек- тов, содержащих вещественные числа. - 9 - Ниже приведены некоторые примеры записи литералов вещест- венных чисел, допускаемые в среде MATLAB. 2 + 3i; -7.689 + 0.865*i; 4 – 2.2j; .2 + i; -j; -.00333i Как видно, для записи пользователем мнимой единицы зарезер- вированы на выбор две буквы: i и j . Однако самой средой для обо- значения мнимой единицы при отображении результатов вычислений используется именно буква i Отобразить в командном окне содержимое какого-либо ранее соз- данного объекта очень просто. Для этого достаточно вести имя инте- ресующего объекта и нажать клавишу «Enter». Пример: » e2 = 5.5; % ... » e2 e2 = 5.5000 В любой момент рабочее пространство среды можно сохранить в некотором файле с расширением « .mat ». Для этого можно использо- вать пункт меню «File | Save Workspace As…» или команду save . При этом по умолчанию используется имя файла matlab.mat . Сам файл создаётся в папке по умолчанию. Также в любой момент можно вос- становить ранее сохранённое рабочее пространство из файла с расши- рением « .mat ». Для этого можно применить пункт меню «File | Load Workspace…» или команду load . Здесь также по умолчанию исполь- зуется имя файла matlab.mat . При этом не восстанавливается со- держимое командного окна, а лишь восстанавливаются объекты рабо- чего пространства, сохранённые в файле. Само содержимое рабочего пространства всегда можно посмотреть и даже изменить при помощи специального визуального средства, доступного через пункт меню «File | Show Workspace». В конце команды пользователь может добавить символ « ; ». Этим самым он указывает среде MATLAB, что ей следует подавить вывод результата выполнения вводимой в данный момент пользователем ко- манды. В итоге среда выполнит введённую пользователем команду, но не выведет результат её выполнения, а вместо этого просто снова ото- бразит приглашение для ввода следующей команды ( » ). Это удобно то- - 10 - гда, когда пользователь и так хорошо представляет, каков будет резуль- тат выполнения вводимой им команды. Пример: » a1 = 10; % Создание объекта , хранящего целое число » b2 = 15.13; % Создание объекта , хранящего % вещественное число » d5 = 3 + 5i; % Создание объекта , хранящего % комплексное число Если вводимая пользователем команда является слишком длин- ной, то её можно разделить на несколько строк, добавляя в конце каж- дой строки троеточие (сочетание из трёх символов точки « »). При- мер: » S = 1 – 1/2 + 1/3 – 1/4... – 1/8 + 1/9 – 1/10; Можно в среде MATLAB сохранять в разные файлы, а также вос- станавливать из разных файлов отдельные объекты. Например: save temp X; % Сохранение переменной X в файл temp.mat. save tmp X Y Z; % Сохранение переменных X, Y, Z в файл % tmp.mat. % ... load tmp X Y; % Восстановление двух объектов из файла % tmp.mat. Для удаления объектов из рабочего пространства можно исполь- зовать команду clear . Пример: clear X Y % Удаляются только переменные X и Y. clear % Очистка всего рабочего пространства |