- •1Теория автоматического управления
- •1.1Общие сведения
- •1.2Определение параметров типовых динамических звеньев по их временным характеристикам
- •1.2.1Типовые динамические звенья
- •1.2.1.1Апериодическое (инерционное) звено
- •1.2.1.2Дифференцирующее звено первого порядка
- •1.2.1.3Колебательное звено
- •1.3Определение параметров типовых динамических звеньев по их частотным характеристикам
- •1.3.1Апериодическое (инерционное) звено
- •1.3.2Дифференцирующее звено первого порядка
- •1.3.3Колебательное звено
- •1.4Исследование устойчивости и качества линейной системы автоматического управления
- •1.4.1Определение условий устойчивости системы автоматического управления
- •1.4.2Анализ точности системы автоматического управления
- •1.4.3Интегральная оценка качества
- •1.4.4Выбор оптимальных параметров управляющего устройства по минимуму интегральной оценки
- •2.4Окно предыстории
- •2.5Командное окно
- •2.6Программирование в системе MatLab
- •2.6.1Создание m-файлов
- •2.6.2Вывод графиков
- •2.7Моделирование в среде Simulink
- •2.7.1Запуск среды
- •2.7.2Создание моделей
- •2.7.3Построение основных частотных и временных характеристик линейной системы управления
- •2.8Создание исполняемого файла
- •2.8.1Назначение компилятора MatLab
- •2.8.2Конфигурирование компилятора
- •2.8.3Среда разработки Deployment Tool
- •2.8.4Создание приложения
- •2.8.5Использование команды mcc
- •3.1.1.2Дифференцирующее звено
- •3.1.1.3Колебательное звено
- •3.1.2Моделирование с использованием gui-приложения
- •3.1.3Лабораторное задание
- •3.1.4Содержание отчета
- •3.1.5Контрольные вопросы
- •3.2Определение параметров типовых динамических звеньев по их частотным характеристикам
- •3.2.1Порядок выполнения работы в системе MatLab
- •3.2.1.1Апериодическое звено
- •3.2.1.2Дифференцирующее звено
- •3.2.1.3Колебательное звено
- •3.2.2Моделирование с использованием gui-приложения
- •3.2.3Лабораторное задание
- •3.2.4Содержание отчета
- •3.2.5Контрольные вопросы
- •3.3Исследование устойчивости и качества линейной системы автоматического управления
- •3.3.1Порядок выполнения работы в системе MatLab
- •3.3.2Моделирование с использованием gui-приложения
- •3.3.3Лабораторное задание
- •3.3.4Содержание отчета
- •3.3.5Контрольные вопросы
- •Определение параметров дифференциального звена по временным характеристикам
- •Определение параметров колебательного звена по временным характеристикам
- •Определение параметров дифференциального звена по частотным характеристикам
- •Определение параметров колебательного звена по частотным характеристикам
2.4Окно предыстории
В окне предыстории фиксируются все команды с параметрами, которые вы вызывали. Это позволяет в конце сеанса работы зафиксировать и сохранить эту последовательность действий, которая привела к решению поставленной задачи, или зафиксировать некоторое промежуточное состояние, т.е. сформировать весь сценарий решения задачи или его часть.
2.5Командное окно
Командное окно реализует диалог пользователя с компьютером посредством задания непосредственных инструкций к исполнению. Каждая инструкция после ее ввода сразу исполняется и выдает числовой ответ, либо выполняет некоторое действие – вывод на печать, запись в файл и т.п. Такой режим исполнения инструкций называется режимом интерпретации, и именно он реализован в качестве основного режима.
В режиме командного окна пользователь присваивает значения переменным, исполняет команды и функции, разрешает или подавляет вывод результатов в командное окно.
Следует помнить, что в системе MatLab регистр имеет значение.
2.6Программирование в системе MatLab
Работа из командной строки MatLab затрудняется, если требуется вводить много команд и часто их изменять. Ведение дневника при помощи команды diary и сохранение рабочей среды незначительно облегчают работу. Самым удобным способом выполнения групп команд MatLab является использование М-файлов, в которых можно набирать команды, выполнять их все сразу или частями, сохранять в файле и применять в дальнейшем. Для работы с М‑файлами предназначен редактор М-файлов, с помощью которого можно создавать собственные функции и вызывать их, в том числе и из командного окна.
Раскройте меню File основного окна MatLab и в пункте New выберите подпункт M-file. Новый файл открывается в окне редактирования M-файла (Рис. 2 .28).
Рис. 2.28. Окно редактирования M-файла.
2.6.1Создание m-файлов
M-файлы делятся на два типа.
Файл–программа (Script M-Files) – содержит последовательность команд, которые выполняются вызовом имени сохраненного M-файла из командного окна;
Создадим M-файл с именем main.m, содержащий код, приведенный ниже.
Пример 1. Создание файл-программы.
W = tf([2 1],[1 1 1]); % Задание передаточной функции вида
% W = (2p+1) / (p2+p+1),
% где р – оператор Лапласа
step(W,15); % Построение графика переходной
% характеристики со временем
% наблюдения 15 сек.
grid; % Вывод сетки на графике
Созданный M-файл вызывается на выполнение из командной строки путем набора его имени и нажатия клавиши Enter:
>> main
В результате выполнения появится окно
вывода графика переходной функции
звена с передаточной функцией вида
(Рис. 2 .29):
Рис. 2.29. График переходной функции.
Файл-функция (Function M-Files) – содержит описание функций, определяемых пользователем.
Синтаксис M-файла:
function «возв. значение» = <имя функции>( пар.1, пар.2,… )
Следует помнить, что имена функции и M-файла должны совпадать.
Пример 2. Создание файл-функции.
function W = StepPlot( num, den )
% Функция для составления передаточной функции по коэффициентам
% числителя - num и знаменателя - den, причем коэффициенты заданы % в виде матрицы-строки, и для построения графика переходной % характеристики звена с полученной передаточной функцией
W = tf(num, den); %Задание передаточной функции
step(W); % Построение графика переходной
% характеристики
grid; % Вывод сетки на графике
end
В качестве возвращаемого значения так же можно передавать группу переменных, заключенных в квадратные скобки:
function [ возв.1, возв.2, … ] = <имя функции>( пар.1, пар.2, … )
При вызове функции возвращаемые значения указываются так же в квадратных скобках. В случае указания не всех возвращаемых параметров, функция выдаст только первые значения, столько, сколько параметров было указано при вызове функции.
