Министерство образования и науки Российской Федерации Дальневосточный федеральный университет Инженерная школа Н.М. Марченко НАЗНАЧЕНИЕ И СТРУКТУРА ПРИЛОЖЕНИЯ SIMULINK ПАКЕТА MATLAB Методические указания к лабораторной работе № 1 по дисциплине «Моделирование электромеханических систем» для студентов направления 140400 «Электроэнергетика и электротехника» профиля «Электропривод и автоматика» Учебное электронное издание Владивосток Издательский дом Дальневосточного федерального университета 2013 УДК 519.876.5 ББК 22.151.3 М30 Рецензент: Сальникова Е.Н., к.т.н., доцент кафедры приборостроения Инженерной школы (Дальневосточный федеральный университет, Владивосток). Автор: Марченко Нина Михайловна, к.т.н., доцент кафедры электроэнергетики и электротехники Инженерной школы (Дальневосточный федеральный университет, Владивосток). Марченко, Н.М. М30 Назначение и структура приложения Simulink пакета MATLAB: метод. указания к лабораторной работе № 1 по дисциплине «Моделирование электромеханических систем» для студентов направления 140400 «Электроэнергетика и электротехника» профиля «Электропривод и автоматика» [Электронный ресурс] / Н.М. Марченко ; Дальневосточный федеральный университет, Инженерная школа. – Электрон. дан. – Владивосток : Издательский дом Дальневост. федерал. ун-та, 2013. – 34 с. – Acrobat Reader, Foxit Reader либо любой другой их аналог. – Режим доступа: http://www.dvfu.ru/web/is/metodiceskie-rekomendacii Приведены описание разделов пакета Simulink, методика создания блок-схем моделей, их корректировки и исследования, способы регистрации результатов моделирования с помощью виртуальной аппаратуры. Для студентов направления 140400 «Электроэнергетика и электротехника» профиля «Электропривод и автоматика» по дисциплине «Моделирование электромеханических систем». Ключевые слова: модель, моделирование, блок, блок-схема, структурная схема, детализированная структурная схема, структурная модель. УДК 519.876.5 ББК 22.151.3 Публикуется по решению кафедры электроэнергетики и электротехники Инженерной школы ДВФУ Методические указания подготовлены редакционно-издательским отделом Инженерной школы ДВФУ Технический редактор И.А. Гончарук Компьютерная верстка К.А. Никитиной Формат PDF, объем 0,6 МБ [усл. печ. л. 4] Выпускаются в авторской редакции © Марченко Н.М., 2013 © Дальневосточный федеральный университет, 2013 © Издательский дом Дальневосточного федерального университета, оформление, 2013 Издательский дом Дальневосточного федерального университета 690990, Владивосток, ул. Пушкинская, 10 тел./факс (423) 222-12-40, 245-77-70 E-mail: [email protected], [email protected] Оглавление ИСТОРИЯ ПОЯВЛЕНИЯ ПАКЕТА MATLAB .............................................................................. 4 КРАТКОЕ ОПИСАНИЕ ПАКЕТА MATLAB ................................................................................. 5 Визуализация и графические средства системы MATLAB ........................................................... 7 ПРИЛОЖЕНИЕ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ SIMULINK ................................. 7 Назначение приложения Simulink .................................................................................................... 7 Структура приложения Simulink ...................................................................................................... 8 Раздел Continuous (непрерывные блоки)................................................................................ 8 Раздел Discrete (дискретные блоки) ...................................................................................... 10 Раздел Discontinuities (разрывные блоки) ............................................................................ 10 Раздел Look-Up Tables (табличные функции) ..................................................................... 12 Раздел Math Operations (математические операции)........................................................... 12 Раздел Model Verification (проверка модели) ...................................................................... 14 Раздел Model-Wide Utilities (утилиты расширения модели) .............................................. 14 Раздел Ports & Subsystems (порты и подсистемы)............................................................... 14 Раздел Signals Attributes (атрибуты сигналов) ..................................................................... 14 Раздел Signals Routing (пересылка сигналов) ...................................................................... 14 Раздел Sinks (приемники) ...................................................................................................... 14 Раздел Sources (источники сигналов) ................................................................................... 18 Раздел User Defined Functions (пользовательские функции) .............................................. 20 ЗАПУСК И ИСПОЛЬЗОВАНИЕ ПРИЛОЖЕНИЯ SIMULINK .................................................. 20 ПОСТРОЕНИЕ БЛОК-СХЕМ МОДЕЛЕЙ .................................................................................... 21 Копирование блоков из одного окна в другое ..................................................................... 21 Перемещение блоков в модели ............................................................................................. 21 Дублирование блоков внутри модели .................................................................................. 21 Установка параметров блока ................................................................................................. 21 Удаление блоков ..................................................................................................................... 22 Отсоединение блока ............................................................................................................... 22 Изменение ориентации блока ................................................................................................ 22 Изменение размеров блока .................................................................................................... 22 Изменение имен блоков и манипуляции с ними ................................................................. 22 Проведение соединительных линий ..................................................................................... 23 Создание линии между блоками ........................................................................................... 23 Создание разветвления линии ............................................................................................... 23 Создание сегмента линии ...................................................................................................... 23 Перемещение сегмента линии ............................................................................................... 23 Разделение линии на сегменты ............................................................................................. 24 Метки сигналов ....................................................................................................................... 24 Создание меток сигналов и манипулирование ими ............................................................ 24 Распространение меток сигналов .......................................................................................... 24 Комментарии ........................................................................................................................... 24 Создание подсистем ............................................................................................................... 25 Сохранение и вывод на печать блок-схемы S-модели ........................................................ 25 ПРОГРАММА РАБОТЫ ................................................................................................................. 26 СПИСОК ЛИТЕРАТУРЫ ............................................................................................................... 34 3 ИСТОРИЯ ПОЯВЛЕНИЯ ПАКЕТА MATLAB MATLAB – одна из старейших, тщательно проработанных и апробированных систем автоматизации математических расчетов, построенная на расширенном представлении матричных операций. Этот факт отражает название системы – MATrix LABoratory – матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что эта ориентация совсем не ощущается пользователями, которых не интересуют матричные вычисления. Система MATLAB была разработана Молером (С.В. Moler) и с конца 70-х годов широко использовалась на больших ЭВМ. В начале 80-х годов Дж. Литл (John Little) из фирмы MathWork Inc. (г. Нейтик, штат Массачусетс, США) разработал версию системы PC MATLAB для ПК класса IBM PC, VAX и Macintosh. В дальнейшем были созданы версии системы для рабочих станций Sun, компьютеров с ОС UNIX и многих других типов больших и малых ЭВМ. Одной из основных задач системы было предоставление пользователям мощного языка программирования, ориентированного на математические расчеты и способного превзойти возможности традиционных языков программирования, которые многие годы использовались для реализации численных методов. При этом особое внимание уделялось как повышению скорости вычислений, так и адаптации системы к решению самых разнообразных задач пользователей. Возможности MATLAB весьма обширны, а по скорости выполнения задач эта система превосходит другие подобные системы. Она применима практически к любой области науки и техники и широко используется при математическом моделировании физических устройств и систем. Важными достоинствами системы являются ее открытость и расширяемость. Большинство команд и функций реализованы в виде текстовых М-файлов и файлов на языке С, причем все файлы доступны для модификации. Пользователю предоставлена возможность создавать не только отдельные файлы, но и библиотеки файлов для реализации специфических задач. Поразительная легкость модификации системы и возможность ее адаптации к решению специфических задач науки и техники привели к созданию десятков пакетов прикладных программ (toolbox), намного расширивших сферы применения системы. Некоторые из них, например Notebook (интеграция с текстовым процессором Word и подготовка «живых» электронных книг), Symbolic Math и Extended Symbolic Math (символьные вычисления с применением ядра системы Maple V R5) и Simulink (моделирование динамических систем и устройств, заданных в виде системы блоков), настолько органично интегрировались с системой MATLAB, что стали ее составными частями. В целом MATLAB – это уникальная коллекция реализации современных численных методов, созданных за последние три десятка лет. Она вобрала в себя так же опыт, правила и методы математических вычислений, накопленные за тысячи лет развития математики. Система MATLAB рассчитана на самое серьезное применение в практической работе и открывает перед пользователем огромные возможности по реализации сложных 4 математических расчетов. С равным успехом она применима к задачам математики, физики, биологии, электротехники, радиотехники и т.д. Все это не исключает достоинств прозаического применения MATLAB в повседневных расчетах, так как MATLAB демонстрирует все достоинства приложений Windows, основанных на использовании графических средств интерфейса GUI. КРАТКОЕ ОПИСАНИЕ ПАКЕТА MATLAB MATLAB – это высокопроизводительный язык для технических расчетов. Он включает в себя вычисления, визуализацию и программирование в удобной среде, где задачи и решения выражаются в форме, близкой к математической. Типичное использование MATLAB – это: математические вычисления; создание алгоритмов; моделирование; анализ данных, исследования и визуализация; научная и инженерная графика; разработка приложений, включая создание графического интерфейса. MATLAB – это интерактивная система, в которой основным элементом данных является массив. Это позволяет решать различные задачи, связанные с техническими вычислениями, особенно те, в которых используются матрицы и вектора, в несколько раз быстрее, чем при написании программ с использованием «скалярных» языков программирования, таких как С или Fortran. К настоящему времени MATLAB представляет собой богатейшую библиотеку функций (их более 800), единственная проблема работы с которыми – быстро отыскать те из них, которые нужны для решения поставленной задачи. Для облегчения специалистам различных областей науки и техники работы с пакетом вся библиотека функций разбита на разделы. Те из них, которые носят более общий характер, входят в состав ядра MATLAB. Те же функции, которые являются специфическими для конкретной области, включены в состав добавочных разделов, носящих название toolboxes. Toolboxes применяются для обработки сигналов, систем контроля, нейронных сетей, нечеткой логики, вэйвлетов, моделирования и т.д. Возможности системы MATLAB: в области вычислений матричные, векторные, логические операции; элементарные и специальные функции; полиномиальная арифметика; многомерные массивы; пользовательские структуры; массивы структур; в области реализации численных методов дифференциальные уравнения; вычисление одномерных и двумерных квадратур; 5 поиск корней нелинейного алгебраического уравнения; оптимизация функций ряда переменных; одномерная и многомерная интерполяция; в области программирования свыше 500 встроенных математических функций; ввод/вывод двоичных и текстовых файлов; применение программ, написанных на С и Fortran; автоматическая перекодировка процедур MATLAB на языках С и C++; типовые управляющие структуры; в области визуализации и графики возможность создания двумерных и трехмерных графиков; проведения визуального анализа данных. Эти средства сочетались с открытой архитектурой системы, позволяющей изменять уже существующие функции и добавлять свои собственные. Многие математические системы создавались исходя из предположения, что пользователь будет решать свои задачи, практически не занимаясь программированием. Однако с самого начала было ясно, что подобный путь имеет недостатки. Многие задачи нуждаются в развитых средствах программирования, которые упрощают запись их алгоритмов и порою открывают новые методы создания последних. С одной стороны, MATLAB содержит огромное число операторов и функций, которые решают множество практических задач, для чего ранее приходилось готовить достаточно сложные программы. Но с другой стороны, система MATLAB создавалась как мощный математикоориентированный язык программирования высокого уровня. И многие рассматривали это как важное достоинство системы, свидетельствующее о возможности ее применения для решения новых и наиболее сложных математических задач. Система MATLAB имеет входной язык, напоминающий Бейсик с примесью Фортрана и Паскаля. Запись программ в системе традиционна и потому привычна для большинства пользователей ПК. К тому же система дает возможность редактировать программы с помощью любого, привычного для пользователя текстового редактора. Имеет она и собственный редактор с отладчиком. Отказ от присущего системе Mathcad «шика» – задания задач в формульном виде – компенсируется заметным увеличением скорости вычислений: при прочих равных условиях она почти на порядок выше, чем у системы Mathcad. А это немаловажное достоинство! Язык системы MATLAB в части программирования математических вычислений намного богаче любого универсального языка программирования высокого уровня. Он реализует почти все известные средства программирования, в том числе объектноориентированное и визуальное программирование. Это дает опытным программистам необъятные возможности для самовыражения. 6 Визуализация и графические средства системы MATLAB В последнее время создатели математических систем уделяют огромное внимание визуализации решения математических задач. Говоря проще это означает, что постановка и описание решаемой задачи и результаты решения должны быть предельно понятными не только тем, кто решает задачи, но и тем, кто их изучает или просто просматривает. Большую роль в визуализации решения математических задач играет графическое представление результатов решения, причем как конечных, так и промежуточных. Визуализация постановки задачи в MATLAB решается применением приложения Notebook и назначением именам функций достаточно ясных имен. А визуализация результатов вычислений достигается применением обширных средств графики, в том числе анимационной, и применением средств символьной математики. Последние версии MATLAB избавлены от примитивности графиков, которая была присуща первым версиям этой системы. Теперь новые графические средства Handle Graphics могут полноценно создавать объекты графики высокого разрешения, как геометрического, так и по цвету. Реализуются, причем с повышенной скоростью, построения графиков практически всех известных в науке и технике типов. Широко практикуется функциональная закраска сложных поверхностей, в том числе с интерполяцией по цвету. Возможен учет самых различных световых эффектов – вплоть до бликов на поверхности сложных фигур при освещении их различными источниками света и с учетом свойств материалов отражающих поверхностей. Применение дескрипторной графики позволяет создавать и типовые элементы пользовательского интерфейса – кнопки, меню, информационные и инструментальные панели и так далее. Введен также ряд средств на основе графического интерфейса пользователя Graphics User Interface, лежащего в основе графического интерфейса операционных систем Windows 95/98/2000/XP. Это панели инструментов, редактор и отладчик М-файлов, красочная демонстрация возможностей и так далее. Есть и возможность создавать свои средства пользовательского интерфейса. ПРИЛОЖЕНИЕ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ SIMULINK Назначение приложения Simulink Приложение Simulink позволяет осуществлять исследование (моделирование во времени) поведение динамических линейных и нелинейных систем, причем составление «программы» и ввод характеристик систем можно производить в диалоговом режиме, путем сборки на экране схемы соединений элементарных (стандартных или пользовательских) звеньев. В результате такой сборки получается модель системы (ее называют S-моделью), которая сохраняется в файле с расширением .mdl. Такой процесс составления вычислительных программ принято называть визуальным программированием. 7 Создание моделей в пакете Simulink основывается на использовании технологии Dragand-Drop. В качестве «кирпичиков» при построении S-модели применяются визуальные блоки (модули), которые сохраняются в библиотеках Simulink. S-модель может иметь иерархическую структуру, то есть состоять из моделей более низкого уровня, причем количество уровней иерархии практически не ограничено. В процессе моделирования есть возможность наблюдать за процессами, которые происходят в системе. Для этого используют специальные блоки («обзорные окна»), входящие в состав библиотеки Simulink. Библиотека может быть пополнена пользователем за счет разработки собственных блоков. Структура приложения Simulink В основе блок-схем S-моделей лежат элементарные блоки, позволяющие связать блок-схему со средой MATLAB и обеспечить функционирование в ней S-модели как программы. Эти блоки размещены в главной библиотеке пакета Simulink, которая имеет тоже название. Библиотека блоков Simulink – это набор визуальных объектов, при использовании которых, соединяя отдельные модули между собой линиями связей, можно составлять функциональную блок-схему любого устройства. Библиотека Simulink системы MATLAB 6.5 состоит из 13 разделов: Continuous – непрерывные блоки; Discrete – дискретные блоки; Discontinuities – разрывные блоки; Look-Up Tables – табличные функции; Math Operations – библиотека математических операций; Model Verification – проверка модели; Model-Wide Utilities – утилиты расширения модели; Ports & Subsystems – порты и подсистемы; Signals Attributes – атрибуты сигналов; Signals Routing – пересылка сигналов; Sinks – приемники (виртуальные приборы для наблюдения и регистрации процессов); Sources – источники сигналов; User Defined Functions – пользовательские функции. Раздел Continuous (непрерывные блоки) Непрерывные блоки наиболее широко используются при моделировании систем управления электроприводами. Раздел Continuous (Непрерывные блоки) (рис. 1) содержит блоки, которые разделяются на следующие группы: блоки общего назначения: Integrator (интегратор) – представляет идеальное интегрирующее звено; Derivative (дифференциатор) – представляет идеальное дифференцирующее звено; 8 Рис. 1. Блоки раздела Continuous блоки линейных стационарных звеньев: State-Space – позволяет задать линейное звено путем ввода четырех матриц его пространства состояний; Transfer Fcn – позволяет задать линейное звено путем ввода его передаточной функции; Zero-Pole – используется для того, чтобы задать звено посредством указания векторов значений его полюсов и нулей, а также значения коэффициента передачи; блоки задержки сигнала: Transport Delay – обеспечивает задержку сигнала не заданное количество шагов модельного времени (не обязательно целое число); Variable Transport Delay – позволяет задавать управляемую извне величину задержки. Пользуясь этими блоками, можно, собирая в окне блок-схемы различные звенья и соединяя их между собой, составлять модели сложных систем автоматического управления, а затем осуществлять моделирование во времени поведения этих систем, задавая разные входные воздействия. Блок Integrator позволяет осуществлять интегрирование входного сигнала в непрерывном времени. Окно его настройки содержит следующие параметры: External reset – подключение дополнительного управляющего сигнала; этот параметр может принимать такие значения: none – дополнительный управляющий сигнал не используется; rising – для управления используется нарастающий сигнал; falling для управления используется убывающий сигнал; either – на работу блока влияет изменение управляющего сигнала в любом направлении; 9 Initial condition source – определение источника (внутренний или внешний) установки начального значения выходного сигнала. Этот параметр принимает одно из двух значений: internal – используется внутренняя установка начального значения выходной величины; external – установка начальных условий будет осуществляться извне; Initial condition – начальное значение выходной величины, вводится в строке редактирования или как числовая константа либо в виде вычисляемого выражения; Limit output ограничение величины выхода (этот флажок определяет будут ли использоваться следующие три параметра); Upper saturation limit – верхнее предельное значение выходной величины (по умолчанию параметр не ограничен, то есть параметр имеет значение inf); Lower saturation limit – нижнее предельное значение выходной величины (по умолчанию параметр имеет значение inf); Show saturation port – показать порт насыщения; Show state port – показать порт состояния; Absolute tolerance – допустимая предельная величина абсолютной погрешности. Блок Transfer Fcn позволяет получить модель линейного динамического звена передаточной функции bn s n bn 1s n 1 ... b1s b0 W ( s) . am s m am 1s m 1 ... a1 s a0 Окно его настройки содержит следующие параметры: Numerator – значения коэффициентов числителя начиная с коэффициента bn bi ; при старшей производной; Denominator – значения коэффициентов знаменателя начиная с коэффициента их вводят через пробел, am a i ; их вводят через пробел, при старшей производной. Раздел Discrete (дискретные блоки) В раздел Discrete (дискретные блоки) входят блоки, с помощью которых в модели может быть описано поведение дискретных систем. Различают два основных типа таких систем: системы с дискретным временем и системы с дискретными состояниями. Блоки, которые входят в этот раздел, обеспечивают моделирование систем с дискретным временем и преобразование непрерывной системы в дискретную. Раздел Discontinuities (разрывные блоки) В разделе Discontinuities (разрывные блоки) расположены восемь блоков, которые реализуют некоторые типовые нелинейные (кусочно-нелинейные зависимости) зависимости выходной величины от входной (рис. 2). 10 Рис. 2. Блоки раздела Discontinuities Блок Saturation (Насыщение) реализует линейную зависимость с насыщением (ограничением). Выходная величина этого блока совпадает с входной, если последняя находится в указанном диапазоне. Если же входная величина выходит за рамки диапазона, то выходной сигнал принимает значение ближайшей из границ. Значения границ диапазона устанавливаются в окне настройки блока. Блок Dead Zone (Мертвая зона) реализует нелинейность типа зоны нечувствительности. Блок имеет два настраиваемых параметра: начало и конец зоны нечувствительности. Выходная величина равна нулю, если входная величина принимает значения, находящиеся внутри зоны нечувствительности. Если входная величина больше верхней границы зоны, выходная величина равна разности их значений. В том случае, когда входная величина меньше нижней границы зоны, выходная величина равна разности их значений. Блок Rate Limiter (Ограничитель скорости) обеспечивает ограничение сверху и снизу скорости изменения проходящего через него сигнала. Блок Backlash реализует нелинейность типа зазора. В диалоговом окне настройки блока содержатся два параметра: Deadband widt – величина люфта и Initial output – начальное значение выходной величины. Блок Relay работает по аналогии с обычным реле: если входной сигнал превышает некоторое предельное значение, то на выходе блока формируется постоянный сигнал. Блок имеет четыре настраиваемых параметра: 11 Switch on point (Точка включения) – уровень входного сигнала, при превышении которого происходит включение реле; Switch off point (Точка выключения) – уровень входного сигнала, ниже которого реле выключается; Output when on (Выход при включенном состоянии) – уровень выходной величины при включенном реле; Output when off (Выход при выключенном состоянии) – уровень выходного сигнала при выключенном реле. Блок Quantizer (Квантователь) осуществляет дискретизацию (квантование) входного сигнала по его величине. Единственный настраиваемый параметр блока – Quantization interval (Интервал квантования) – дискрет сигнала по его уровню. Блок Hit crossing offset (Обнаружить пересечение) позволяет зафиксировать состояние, в момент пересечения входным сигналом некоторого значения. При возникновении такой ситуации на выходе блока формируется единичный сигнал. Блок Coulomb & Viscous Friction (Кулоново и вязкое трение) реализует нелинейную зависимость типа линейной с предварительным натягом. Если входная величина положительна, то выходная величина пропорциональна ей с коэффициентом пропорциональности, равным коэффициенту вязкого трения, и ее значение больше на величину натяга (кулонова, сухого трения). Если входная величина отрицательна, то выходная величина также пропорциональна входной (с тем же коэффициентом пропорциональности) за вычетом величины натяга. При входной величине, равной нулю, выходная также равна нулю. Настраиваемыми параметрами блока являются величины кулонова трения (натяга) и коэффициента вязкого трения. Раздел Look-Up Tables (табличные функции) В разделе Look-Up Tables (табличные функции) сосредоточены блоки, формирующие выходной сигнал, зависимость которого от входного сигнала задана с помощью таблицы соответствий. Блоки осуществляют линейную интерполяцию по содержащимся в ней значениям. Раздел Math Operations (математические операции) В разделе Math Operations (математические операции) содержатся блоки, которые реализуют некоторые встроенные математические функции системы MATLAB. Они объединены в четыре группы (рис. 3). В первую группу, Math Operations, входят блоки, осуществляющие математические преобразования входных величин: Sum – суммирует поступающие на него сигналы; Product – выполняет умножение или деление входных сигналов; Dot Product – осуществляет умножение двух входных величин, если они являются скалярами, или определяет сумму произведений элементов двух входных векторов одинаковой длины; 12 Gain – является линейным усилительным звеном; Slider Gain – представляет собой звено интерактивного изменения коэффициента усиления; Matrix Gain – является матричным усилительным звеном для многомерной системы; Algebraic Constraint – используется для нахождения решения алгебраического уравнения; Polynomial – служит для вычисления корней полинома. Рис. 3. Блоки раздела Math Operations К этой группе относятся также шесть блоков стандартных математических операций: Math Function, Trigonometric Function, MinMax, Abs, Sign и Rounding Function (содержит разнообразные функции округления). Вторая группа, Vector Operations, содержит блоки, осуществляющие векторные операции. В состав третьей группы, Logical Operations, входят блоки, осуществляющие логические операции. 13 Четвертая группа, Complex Vector Conversions, содержит блоки, осуществляющие преобразования комплексных векторных величин. Блок Sum может использоваться в двух режимах: суммирования входных сигналов (в том числе с разными знаками) и суммирования элементов вектора, поступающего на вход блока. Для управления режимами работы блока используются параметры Icon Shape (Форма изображения) и List of signs (Список знаков). Блок Product выполняет умножение или деление нескольких входных сигналов. Окно настройки содержит два параметра: Number of inputs (Количество входов) и Multiplication (Умножение). Раздел Model Verification (проверка модели) Раздел Model Verification (проверка модели) содержит блоки, выполняющие проверку некоторых статических и динамических характеристик модели. Раздел Model-Wide Utilities (утилиты расширения модели) В разделе Model-Wide Utilities (утилиты расширения модели) сосредоточены блоки, позволяющие линеаризовать динамическую модель и оформить на нее документацию. Раздел Ports & Subsystems (порты и подсистемы) Большинство блоков раздела Ports & Subsystems (порты и подсистемы) предназначены для разработки сложных S-моделей, содержащих модели более низкого уровня (подсистемы), и обеспечивают установление необходимых связей между несколькими S-моделями. Раздел Signals Attributes (атрибуты сигналов) Раздел Signals Attributes (атрибуты сигналов) состоит из блоков, обеспечивающих определение либо изменение некоторых атрибутов сигнала, таких как размер (количество элементов в векторном или матричном сигнале), тип данных, начальные условия, скорость передачи данных т.п. Раздел Signals Routing (пересылка сигналов) В раздел Signals Routing (пересылка сигналов) включены блоки, обеспечивающие разного рода пересылки сигналов, такие как переключения сигналов, объединение сигналов в шину, «разводку» сигналов из шины и т.п. Раздел Sinks (приемники) В раздел Sinks(Приемники) входят виртуальные приборы для наблюдения и регистрации процессов. Они позволяют визуализировать получаемые при моделировании результаты и проконтролировать правильность работы того или иного блока и моделируемой системы в целом. В этом разделе размещены три группы блоков (рис. 4). Все они имеют только входы и не имеют выходов. 14 Рис. 4. Блоки раздела Sinks Группу Model & Subsystem Outputs составляют блоки, предназначенные для пересылки и сохранения результатов: Out – выходной порт для вывода результатов вне модели; Terminator – порт для вывода результатов «в никуда»; To File – блок, обеспечивающей сохранение результатов моделирования на диске в МАТ-файле (с расширением .mat); To Workspace – блок, который сохраняет результаты в рабочем пространстве. В группу Data Viewers входят блоки, которые при моделировании играют роль обзорных окон. К ним относятся: Scope – блока с одним входом, который используется для вывода в графическое окно графика зависимости величины, подаваемой на его вход, от модельного времени; Floating Scope – блок с одним входом, выполняющий аналогичные функции; XYGraph – блок с двумя входами, который обеспечивает построение графика зависимости одной моделируемой величины (второй сверху вход) от другой (первый вход); Display – блок с одним входом, предназначенный для отображения числовых значений входной величины. К третьей группе относится блок управления моделированием – Stop Simulation, позволяющий прерывать моделирование при выполнении тех или иных условий; блок срабатывает в том случае, когда на его вход поступает ненулевой сигнал. Блок Scope (осциллоскоп) позволяет в ходе моделирования наблюдать графики процессов, которые интересуют исследователя. Для настройки его параметров нужно после размещения отображения блока в окне блок-схемы дважды щелкнуть на нем мышью. В результате на экране появится окно Scope (рис. 5). Размер и пропорции окна можно изменять произвольно, пользуясь мышью. По горизонтальной оси откладываются значения модельного времени, а по вертикальной – значения входной величины, отвечающие этим моментам времени. 15 Рис. 5. Окно блока Scope Для управления параметрами окна в нем предусмотрена панель инструментов, которая содержит одиннадцать кнопок, имеющих следующие назначения (слева направо): вывод содержимого окна Scope на принтер; вызов окна настройки параметров блока Scope; изменение масштаба одновременно по обеим осям графика; изменение масштаба по горизонтальной оси; изменение масштаба по вертикальной оси; автоматическая установка оптимального масштаба осей (полный обзор, автошкалирование); сохранение установок параметров осей; восстановление установок параметров осей; включение холостого подсоединения блока; шлюз селектора сигналов; селектор сигналов. Третья, четвертая и пятая кнопки одновременно не используются, то есть в определенный момент времени может быть использована только одна из них. Кнопки не доступны до тех пор, пока в окне Scope не отобразится график. Щелчок на второй кнопке приводит к появлению на экране диалогового окна 'Scope 'parameters (рис. 6), в котором настраиваются параметры (свойства) блока. Рис. 6. Окно настройки блока Scope 16 В этом окне имеются две вкладки: General (Общие), позволяющая установить параметры осей, и Data history (Представление данных), предназначенная для определения параметров представления данных блока Scope. Область Axes (Оси) вкладки General (Общие) содержит поля ввода Number of axes (Количество осей) и Time range (Интервал времени), а также раскрывающийся список Tick labels (Метки осей). В первом поле задается количество графических полей в окне Scope (одновременно меняется количество входов блока Scope). Во втором устанавливается верхняя граница модельного времени, откладываемого по оси абсцисс; при этом следует принимать во внимание следующее: если размер заданного интервала моделирования не превышает установленного в этом поле значения (то есть весь процесс умещается в окне Scope), под графиком в строке Time offset (Сдвиг по времени) выводится значение 0. В случае же, когда интервал моделирования превышает установленное значение, в окне Scope отображается только график, соответствующий последнему отрезку времени. При этом в строке Time offset (Сдвиг по времени) выводится размер «скрытого» интервала времени. С помощью раскрывающегося списка Tick labels (Метки осей) можно задать вид оформления осей координат в графиках окна Scope. Указанный список содержит три пункта: all (все), bottom axis only (только нижней оси), none (нет). В результате выбора первого из них деления по осям будут наноситься вдоль каждой из осей всех графиков. Выбор второго означает, что деления по горизонтальным осям графических полей (если их несколько) за исключением нижнего будут отсутствовать. При выборе третьего пункта исчезнут деления по осям графиков и надписи на них, график займет все поле окна и последнее примет вид, как показано на рис. 7. Рис. 7. Окно Scope при установке значения none параметра Tick labels Если в области Axes (Оси) установить флажок Floating scope, то входы в блок Scope будут отключены, и блок отображается как не имеющий входа. Блок XYGraph также является обзорным окном. В отличие от блока Scope он имеет два входа: на первый (верхний) подается сигнал, значения которого откладываются по горизонтальной оси графика, а на второй (нижний) – сигнал, значения которого откладываются по вертикальной оси. 17 Если перетянуть этот блок в окно блок-схемы, а потом дважды щелкнуть мышью на его изображении, на экране появится окно настройки блока, позволяющее установить границы изменений обеих входных величин, а также задать дискрет по времени. Блок Display предназначен для вывода на экран числовых значений величин, которые фигурируют в блок-схеме. Раздел Sources (источники сигналов) Блоки, входящие в раздел Sources (источники сигналов), предназначены для формирования сигналов, которые при моделировании обеспечивают работу S-модели в целом или отдельных ее частей. Все блоки-источники имеют по одному выходу и не имеют входов. Этот раздел содержит две группы блоков: Model & Subsystem Inputs (Входы моделей и подсистем) и Signal Generators (Генераторы сигналов) (рис. 8). Рис. 8. Блоки раздела Sources В первую группу входят блоки, обеспечивающие поступление сигналов в S-модель или подсистему Simulink извне (из других S-моделей, рабочего пространства или МАТфайлов). Во вторую группу включены блоки, формирующие выходную величину как заданную функцию времени. Они представляют собой генераторы сигналов заданного вида: Constant – формирует постоянную величину; Signal Generator – создает непрерывный колебательный сигнал одной из волновых форм (синусоидальной, прямоугольной, треугольной) или случайный сигнал; Pulse Generator – генератор непрерывны прямоугольных импульсов; 18 Signal Builder – создает один или несколько процессов, аппроксимируемых отрезками прямых (до пяти отрезков в каждом); Ramp – создает линейный восходящий (или нисходящий ) сигнал; Sine Wave – генерирует гармонический сигнал; Step – генерирует сигнал в виде ступеньки (ступенчатый сигнал) с заданными параметрами (время начала ступеньки и ее высота); Repeating Sequence – генерирует периодическую последовательность; Chirp Signal – генератор гармонических колебаний, частота которых линейно изменяется во времени; Random Number – источник дискретного сигнала, значения которого являются случайной величиной, распределенной по нормальному закону; Uniform Random Number – источник дискретного сигнала, значения которого являются случайной равномерно распределенной величиной; Band-Limited White Noise – генератор белого шума с ограниченной полосой частот; Clock – источник непрерывного сигнала, пропорционального модельному времени; Digital Clock – источник дискретного сигнала, пропорционального времени. Как и другие блоки библиотеки Simulink, блоки-источники могут быть настроены пользователем, за исключением блока Clock. Блок Signal Generator. Диалоговое окно настройки этого блока содержит следующие параметры: Wave form – форма волны; в раскрывающемся списке можно выбрать одну из таких форм периодического процесса: Sine (Синусоидальные волны), Square (Прямоугольные волны), Sawtooth (Треугольные волны), Random (Случайные колебания). Amplitude – значения амплитуды генерируемых колебаний; Frequency – частота колебаний; Units – единицы измерения частоты колебаний: Hertz (Герцы), Rad/Sec (Радианы в секунду). Блок Pulse Generator генерирует последовательность прямоугольных импульсов. В окне его настройки устанавливаются такие параметры: Pulse type – тип импульсов: Time based (для непрерывного сигнала, аргумент – время), Sample based (для дискретного времени, аргумент – число дискретов времени); Amplitude – амплитуда сигнала (высота прямоугольного импульса); Period – размер периода сигнала; Pulse width – ширина импульса в процентах от периода; phase delay – величина задержки первого импульса относительно t = 0. Блок Ramp формирует непрерывно нарастающий сигнал. В окне его настройки задаются такие параметры: Slope – значение скорости нарастающего сигнала; Start time – время начала нарастания сигнала; Initial output – значение сигнала до момента начала его нарастания. 19 Блок Sine Wave является генератором гармонического сигнала. В окне настройки блока задаются такие параметры: Sine type – тип синусоидальной волны:Time based – для непрерывного сигнала (аргумент – время); Sample based – для дискретного времени (аргумент – число дискретов времени); Amplitude – амплитуда синусоидального сигнала; Bias – смещение (постоянная составляющая синусоиды); Frequency (rad/sec) – частота колебаний (в радианах в секунду); Phase (rad) – начальная фаза (в радианах); Sample time – величина дискрета времени для данного блока. Блок Step. В диалоговом окне настройки этого блока устанавливаются следующие параметры: Step time (время начала ступеньки, момент скачка сигнала) – момент времени, в который происходит скачкообразное изменение величины сигнала; значение по умолчанию – 1; Initial value (начальное значение) – уровень сигнала до скачка; значение по умолчанию 0; Final value – (конечное значение) – уровень сигнала после скачка; значение по умолчанию – 1. Раздел User Defined Functions (пользовательские функции) В разделе User Defined Functions (пользовательские функции) содержатся блоки, назначение которых определяет пользователь. На их основе он может создавать собственные S-блоки, выполняющие необходимые ему функции. ЗАПУСК И ИСПОЛЬЗОВАНИЕ ПРИЛОЖЕНИЯ SIMULINK Начать работу с пакетом Simulink можно из командного окна MATLAB, щелкнув для этого на соответствующей кнопке панели инструментов. В результате на экране должно появиться окно Simulink Library Browser (браузер библиотек Simulink). В левой половине окна браузера приведен перечень библиотек, включенных в состав Simulink, а в правой – перечень разделов соответствующей библиотеки либо изображения блоков соответствующего раздела. Чтобы ознакомиться с составом какой-либо из библиотек, следует дважды щелкнуть на ее имени. Библиотеку можно открыть и в отдельном окне. Для этого следует щелчком правой кнопки мыши по имени библиотеки вызвать контекстное меню и выбрать команду открытия. Для начала сборки блок-схемы моделируемой системы, необходимо в главном меню MATLAB вызвать команду File (Файл)→New (Новый)→Model (Модель). После этого на экране появится новое (пустое) окно untitled, в котором и будет осуществляться сборка Sмодели (MDL-файла). Окно имеет строку меню, панель инструментов и рабочее поле. Меню File (Файл) содержит команды, предназначенные для работы с MDL-файлами; меню Edit (Правка) – команды редактирования блок-схемы; меню View (Вид) – команды изменения внешнего 20 вида окна; меню Simulation (Моделирование) – команды управления процессом моделирования; меню Format (Формат) – команды редактирования формата (то есть команды, позволяющие изменить внешний вид отдельных блоков и блок-схемы в целом). Меню Tools (Инструменты) включает некоторые дополнительные сервисные средства, предназначенные для работы с S-моделью. ПОСТРОЕНИЕ БЛОК-СХЕМ МОДЕЛЕЙ Копирование блоков из одного окна в другое В процессе создания и редактирования модели необходимо копировать блоки из библиотеки или из другой модели в текущую модель. Для этого достаточно открыть нужный раздел библиотеки или окно модели-прототипа и перетащить нужный блок с помощью мыши в окно создаваемой (редактируемой) модели. Скопированный блок получает те же значения настраиваемых параметров, что и блок-оригинал. Копировать блоки можно и другим способом. Для этого необходимо выполнить следующие действия: выделить блок, который нужно скопировать; вызвать команду Edit → Copy (Правка → Копировать); сделать активным окно, в которое нужно скопировать блок; вызвать в нем команду Edit → Paste (Правка → Вставить). Каждому из скопированных блоков автоматически присваивается имя. Первый из них будет иметь тоже имя, что и блок в библиотеке, а каждый следующий блок такого типа – то же имя с добавлением порядкового номера. Перемещение блоков в модели Для перемещения блоков внутри модели с одного места на другое, достаточно перетянуть его с помощью мыши. При этом автоматически будут перерисованы линии связей перемещенного блока с другими. Для одновременного перемещения нескольких блоков вместе с соединительными линиями следует выделить блоки и линии рамкой, а затем перетянуть с помощью мыши один из выделенных блоков в нужное место. Остальные блоки займут новые места; все относительные расстояния при этом сохранятся. Дублирование блоков внутри модели Для копирования блоков внутри модели, нужно, удерживая нажатой клавишу Ctrl, установить указатель мыши на блок, который необходимо скопировать, и перетянуть его в другую позицию. Такого же результата можно достичь, если перетянуть блок в новое положение, используя правую кнопку мыши. Установка параметров блока Параметры блока устанавливаются в диалоговом окне его настройки. Для вызова этого окна необходимо дважды щелкнуть на изображении блока в блок-схеме. 21 Удаление блоков Для удаления ненужных блоков из блок-схемы нужно выделить эти блоки и нажать клавишу Delete или Backspace. Удалить блоки с помощью команд окна блок-схемы Edit → Clear (Правка → Очистить) или Edit → Cut (Правка → Вырезать). Если выбрать вторую команду, то в дальнейшем удаленные блоки можно будет скопировать обратно в модель, воспользовавшись командой Edit → Paste (Правка → Вставить) окна блок-схемы. Отсоединение блока Для отсоединения блока от линии связи следует поместить указатель на изображение блока, нажать клавишу Shift и, не отпуская ее, перетянуть блок в другое место. Изменение ориентации блока В обычном изображении блоков сигнал проходит сквозь блок слева направо (по левую сторону размещены входы блока, а по правую сторону – выходы). Для изменения ориентации блока нужно сделать следующее: выделить блок, который нужно повернуть; открыть меню Format (Формат) в окне блок-схемы и выбрать команду Flip Block (Перевернуть блок) – чтобы повернуть блок на 180° или команду Rotate Block (Повернуть блок) – для поворота блока по часовой стрелке на 90°. Изменение размеров блока Для изменения размеров блока необходимо выполнить следующие действия: выделить нужный блок; установить указатель мыши на одну из угловых меток блока. Возле этой метки должен появиться указатель в виде двунаправленной стрелки, расположенной под углом 45°. захватить эту метку мышью и перетянуть в новое положение. Противоположная метка блока останется неподвижной. Изменение имен блоков и манипуляции с ними Все имена блоков в модели должны быть уникальными и включать как минимум один символ. Если блок ориентирован слева направо, то по умолчанию имя располагается под ним, если блок ориентирован справа налево – выше блока, а если сверху вниз или снизу вверх – по правую сторону блока. Для изменения имени блока следует щелкнуть на нем, а потом, как обычно, воспользовавшись клавиатурой, ввести новое имя или отредактировать существующее. Для изменения шрифта необходимо выделить блок, вызвать команду Format → Font (Формат → Шрифт) в окне модели и в раскрывшемся списке выбрать нужный шрифт. Изменить местоположение имени выделенного блока можно двумя способами: перетянуть имя на противоположную сторону с помощью мыши или воспользоваться командой Format → Flip Name (Формат → Развернуть имя) окна модели. Удалить имя блока можно с помощью команды Format → Hide Name (Формат → Скрыть имя) окна модели, чтобы потом восстановить отображение имени блока, следует воспользоваться командой Format → Show Name (Формат → Показать имя). 22 Проведение соединительных линий Сигналы в модели передаются по линиям. Каждая линия может передавать либо скалярный, либо векторный сигнал. Линия соединяет выходной порт одного блока с входным портом другого или с входными портами нескольких блоков через разветвление линии. Создание линии между блоками Для соединения выходного порта одного блока с входным портом другого следует выполнить следующие действия: установить указатель мыши в область выходного порта первого блока; при этом указатель должен принять вид крестика; удерживая нажатой левую кнопку мыши, переместить указатель к входному порту второго блока; отпустить кнопку мыши. В результате вместо символов портов появится соединительная линия, стрелка на конце которой будет указывать направление передачи сигнала. Линии можно проводить как от выходного порта к входному, так и наоборот. Описанным выше способом можно создать соединительные линии, включающие лишь горизонтальные и вертикальные сегменты. Создание разветвления линии Ответвляющая линия начинается от существующей и передает ее сигнал к входному порту другого блока. Таким образом, разветвление линий дает возможность организовать передачу одного сигнала нескольким блокам. Для создания ответвления от линии нужно выполнить такие действия: щелкнуть в той точке линии, от которой должна ответвляться другая линия; нажав и удерживая правую кнопку мыши, провести линию к входному порту нужного блока, отпустить кнопку мыши. Создание сегмента линии Линии могут быть нарисованы по сегментам. В этом случае указатель устанавливается в конец сегмента и с помощью мыши рисуется следующий сегмент. Перемещение сегмента линии Для перемещения отдельного сегмента линии необходимо выполнить следующее: установить указатель на сегмент, который нужно передвинуть; нажать и удерживать левую кнопку мыши; при этом указатель должен принять форму креста; передвинуть указатель к новому положению сегмента и отпустить кнопку мыши. Сегмент, который соединен с портом блока, передвинуть нельзя. 23 Разделение линии на сегменты Для того чтобы разделить линию на два сегмента, необходимо выполнить следующие действия: выделить линию и установить указатель мыши в ту ее точку, в которой линия должна быть разделена на два сегмента; удерживая нажатой клавишу Shift, нажать и удерживать левую кнопку мыши; указатель при этом примет вид кружка, и на линии образуется излом; передвинуть указатель в новое положение и отпустить кнопку мыши и клавишу Shift. Для того чтобы передвинуть излом линии, достаточно на блок-схеме перетянуть точку излома в новое положение. Метки сигналов Для наглядности оформления блок-схемы и удобства пользования ею линии можно снабжать метками протекающих по ним сигналов. Метка размещается выше или ниже горизонтальной линии либо слева или справа от вертикальной линии. Метка может быть расположена в начале, конце линии или в любой другой ее точке. Создание меток сигналов и манипулирование ими Для создания метки сигнала надо дважды щелкнуть на сегменте линии и ввести текст метки. При выполнении щелчка следует соблюдать точность, иначе вместо метки будет создан комментарий к модели. Для перемещения метки нужно просто перетянуть ее с помощью мыши в новое место. Чтобы скопировать метку, следует, нажав и удерживая клавишу Ctrl, перетянуть метку в новое положение на линии или избрать другой сегмент линии, на которой нужно установить копию метки, и дважды щелкнуть на нем. Если необходимо отредактировать текст метки, надо щелкнуть на ней и потом произвести соответствующие изменения, как в обычном текстовом редакторе. Чтобы удалить метку, нажмите и удерживайте клавишу Shift, выделите метку и затем воспользуйтесь клавишей Delete или Backspace. Распространение меток сигналов Распространение меток сигналов – это процесс автоматического переноса имени метки на сегменте одной линии, разорванные блоками From/Goto и Mux. Для того чтобы распространить метки, необходимо создать во втором и следующих сегментах линии метки с именем < >. После выполнения команды Edit Update → Diagram (Правка → Обновить схему) в окне модели или нажатия клавиш Ctrl+D в указанных сегментах автоматически будут проставлены метки. Комментарии Комментарии дают возможность снабжать блок-схемы текстовой информацией о модели и отдельных ее составляющих. Комментарии можно размещать в любом свободном месте блок-схемы. 24 Для создания комментария необходимо дважды щелкнуть в любом свободном месте блок-схемы, а потом ввести комментарий в прямоугольную рамку. Переместить комментарий в другое место можно, перетянув его на это место с помощью мыши. Чтобы скопировать комментарий, нужно нажать клавишу Ctrl и, удерживая ее, перетянуть комментарий в новое место. Для редактирования комментария надо щелкнуть на нем, а потом внести нужные изменения, как в обычном текстовом редакторе. Если необходимо при этом изменить шрифт, его размер или стиль, следует выделить фрагмент текста комментария, подлежащий изменению, вызвать команду Format → Font (Формат → Шрифт) в окне блок-схемы, выбрать в появившемся диалоговом окне название шрифта, его размер, стиль и т.п., а затем щелкнуть на кнопку ОК. Удалить комментарий можно следующим образом: выделить его с помощью рамки и нажать клавишу Delete или Backspace. Создание подсистем Сложную блок-схему модели можно существенно упростить путем группировки блоков. Последние можно объединить в подсистемы. Использование подсистем дает следующие преимущества: сокращается количество блоков, которые выводятся в окне модели, а также появляется возможность объединять в одну группу (подсистему) функционально связанные блоки и создавать иерархические блок-схемы. Подсистему можно создать двумя способами: добавив блок Subsystem или сгруппировав существующие блоки. При создании подсистемы первым способом нужно сделать следующее: перетащить блок Subsystem из раздела Ports & Subsystems в окно модели. открыть окно блок-схемы блока Subsystem, дважды щелкнув на его изображении в блок-схеме S-модели; в пустом окне блок-схемы подсистемы создать подсистему, используя блоки In и Out для представления ее входов и выходов. Если блок-схема уже содержит блоки, которые нужно объединить в подсистему, то последнюю можно образовать таким образом: выделить с помощью рамки блоки и соединяющие их линии, которые нужно включить в состав подсистемы. вызвать команду Edit → Create Subsystem (Правка → Создать подсистему) в окне модели; все выделенные блоки будут заменены одним блоком Subsystem. Если открыть окно блока Subsystem, дважды щелкнув на нем, отобразится блок-схема подсистемы. Сохранение и вывод на печать блок-схемы S-модели Для записи модели (блок-схемы) на диск нужно вызвать команду Save (Сохранить) или Save as (Сохранить как) из меню File (Файл) окна модели. Simulink записывает в указанную директорию файл с заданным (введенным с клавиатуры) именем, присваивая ему расширение .mdl. Чтобы распечатать модель (блок-схему) на принтере, нужно воспользоваться командой File → Print (Файл → Печать) окна модели. 25 Для вставки блок-схемы в документ текстового редактора Word необходимо использовать команду Copy Model to clipboard (Копировать модель в буфер) меню Edit (Правка) окна модели, которая помещает в буфер обмена содержимое окна модели. Если после этого перейти в окно текстового редактора и нажать клавиши Ctrl+V, в открытом документе редактора появится изображение блок-схемы модели. ПРОГРАММА РАБОТЫ 1. Изучить структуру Library Browser приложения Simulink. 2. Открыть окно модели Untitled, сохранить его в папке Work пакета MATLAB с именем Lab1 и проделать в нем следующие операции с блоками и линиями: копирование и удаление блоков; изменение их параметров; создание соединительных линий; создание ответвлений от линий; копирование сегментов; перемещение сегментов; удаление линий; нанесение меток и комментариев. 3. В библиотеке Sinks (Виртуальные приборы для наблюдения и регистрации процессов) познакомиться с блоком Scope (осциллограф). Настройка окна осциллографа выполняется с помощью панели инструментов, содержащей 11 кнопок, большинство из которых являются типовыми для Windows приложений. Параметры блока Scope устанавливаются с помощью инструмента Parameters. Особое внимание следует обратить на окно настроек Number of axes на вкладке General. При помощи этого поля можно изменять число входов осциллографа. 4. В библиотеке Sources (Источники сигналов) познакомиться со следующими блоками: Step, Sine Wave, Ramp, Pulse Generator. Настроить параметры этих блоков, зарегистрировать сигналы на их выходах с помощью осциллографов. Step Ramp Scope Рис. 4.1 Sine Wave Scope Рис. 4.2 Pulse Generator Scope Рис. 4.3 Scope Рис. 4.4 26 5. В библиотеке Math Operations (блоки математических операций) познакомиться с блоками Abs, Gain, Product, Sum. Собрать с этими блоками указанные ниже модели, настроить параметры блоков и зарегистрировать сигналы на выходах моделей с помощью осциллографов. |u| Sine Wave Abs 1 Scope Sine Wave Рис. 5.1 Gain Scope Рис. 5.2 Sine Wave Sine Wave Step Step Scope Scope Рис. 5.3 Рис. 5.4 Sine Wave Product Step Scope Рис. 5.5 6. В библиотеке Continuous (непрерывные блоки) познакомиться с блоками Integrator и Transfer Fcn. Собрать с этими блоками указанные ниже модели, настроить параметры блоков и зарегистрировать сигналы на выходах моделей с помощью осциллографов. Используя блок Transfer Fcn, реализовать следующие передаточные функции: W1 ( s) k ; s W2 ( s) W3 ( s) kT1s ; T2 s 1 W4 ( s) W5 ( s) T1s 2 k ; T2 s 1 k ; T1s 1 k (T1s 1) ; T2 s 1 W6 ( s) Параметры блоков принять: k T1s 2 T2 s 1 . T3 s 2 T4 s 1 5; T1 0,1 c; T2 27 0,3 c; T3 0,5 c; T4 0,6 c. 1 s Step 1 s Scope Integrator Sine Wave Рис. 6.1 Integrator Scope Рис. 6.2 1 s+1 Step Transfer Fcn Scope Рис. 6.3 7. В библиотеке Discontinuities (нелинейные блоки) познакомиться с блоками Dead Zone, Saturation, Relay. Собрать с этими блоками указанные ниже модели, настроить параметры блоков и зарегистрировать сигналы на выходах моделей с помощью осциллографов. Step Dead Zone Scope Sine Wave Рис. 7.1 Step Saturation Relay Scope Рис. 7.2 Scope Sine Wave Рис. 7.3 Sine Wave Dead Zone Saturation Scope Рис. 7.4 Scope Sine Wave Рис. 7.5 Dead Zone Saturation Scope Рис. 7.6 8. Построить по приведенным ниже структурным схемам разомкнутых систем управления модели, настроить параметры блоков и зарегистрировать сигналы на выходах моделей с помощью осциллографов. 28 Параметры блоков принять следующие: амплитуда входного ступенчатого и синусоидального сигналов А = 5; коэффициент передачи линейного блока к = 3; частота гармонического сигнала ω = 3 рад/c; постоянная времени Т = 0,8 с; В и D подобрать экспериментально. k s А В t Рис. 8.1 ωt k s В Рис. 8.2 k s А t В Рис. 8.3 Ωt k s В Рис. 8.4 ωt k s D B Рис. 8.5 29 k Ts 1 А t В Рис. 8.6 k Ts 1 ωt В Рис. 8.7 9. Построить по приведенным ниже структурным схемам замкнутых систем управления модели, настроить параметры блоков и зарегистрировать сигналы на выходах моделей с помощью осциллографов. Параметры блоков принять следующие: амплитуда входного ступенчатого сигнала А = 5; амплитуда возмущающего воздействия А1 = 5; коэффициенты передачи линейных блоков к1 = 3; к2 = 2,5; к3 = 3,5; к4 = 0,03; постоянные времени Т1 = 0,5 с; Т2 = 1,1 с; Т3 = 0,8 с; Т11 = 0,3 с; Т12 = 0,8 с. _ k2 T2 s 1 k1 k3 T3 s k4 Рис. 9.1 А1 _ _ k2 T2 s 1 k1 k4 Рис. 9.2 30 k3 T3 s _ k1 (T1s 1) T1s k2 T2 s 1 k3 T3 s k4 Рис. 9.3 k1 k2 T2 s 1 _ k3 T3 s k1 T1 s k4 Рис. 9.4 − k1 (T11s 1)(T12s 1) T11s k2 T2 s 1 k3 T3 s k4 Рис. 9.5 Структурную модель по схеме, представленной на рис. 9.3, реализовать тремя способами: 1) построить модель с детализированной структурной схемой ПИ-регулятора, как показано на рис. 9.4; 2) построить модель, используя блок PID Controller из раздела Additional Linear (Добавочные линейные блоки) библиотеки Simulink Extras (Дополнительная библиотека 31 Simulink) (см. Simulink Library Browser), настраивая только пропорциональную (Proportional) и интегральную (Integral) части блока; 3) построить модель, используя блок Transfer Fcn из библиотеки Continuous. Сравнить результаты моделирования, полученные с помощью каждого из трех вариантов моделей. Структурную модель по схеме, представленной на рис. 9.5, реализовать двумя способами: 1) построить модель с детализированной структурной схемой ПИД-регулятора, как показано на рис. 9.6; 2) построить модель, используя блок PID Controller из раздела Additional Linear (Добавочные линейные блоки) библиотеки Simulink Extras (Дополнительная библиотека Simulink) (см. Simulink Library Browser), настраивая пропорциональную (Proportional), интегральную (Integral) и дифференциальную (Derivative) части блока. Сравнить результаты моделирования, полученные с помощью каждого из двух вариантов моделей. k1 (T11 T12 ) T11 k1 T11s _ k2 T2 s 1 k3 T3 s k1T11T12 s T11 k4 Рис. 9.6 _ k1 (T1 s k2 T2 s 1 1) k4 Рис. 9.7 32 k3 T3 s Структурную модель по схеме, представленной на рис. 9.7, реализовать двумя способами: 1) построить модель с детализированной структурной схемой ПД-регулятора, как показано на рис. 9.8; 2) построить модель, используя блок PID Controller из раздела Additional Linear (Добавочные линейные блоки) библиотеки Simulink Extras (Дополнительная библиотека Simulink) (см. Simulink Library Browser), настраивая пропорциональную (Proportional) и дифференциальную (Derivative) части блока. Сравнить результаты моделирования, полученные с помощью каждого из двух вариантов моделей. k1 k2 T2 s 1 _ k1T1s k4 Рис. 9.8 33 k3 T3 s СПИСОК ЛИТЕРАТУРЫ 1. Герман-Галкин С.Г. Компьютерное моделирование полупроводниковых систем в MATLAB 6.0: учеб. пособие. СПб.: КОРОНА Принт, 2001. 320 с. 2. Герман-Галкин С.Г. MATLAB & SIMULINK. Проектирование мехатронных систем на ПК. СПб.: КОРОНА-ВЕК, 2008. 368 с. 3. Лазарев Ю. Моделирование процессов и систем в MATLAB. Учебный курс. СПб.: Питер; Киев: Издательская группа DHV, 2005. 512 с. 4. Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. MATLAB 7. СПб.: БХВ-Петербург, 2005. 1104 с. 5. Черных И.В. Моделирование электротехнических устройств в MATLAB, SimPowerSystems и Simulink. М.: ДМК Пресс; СПб.: Питер, 2008. 288 с. 34