
- •Исследование систем автоматического управления
- •Оглавление
- •Глава 1. Изучение пакетов matlab и scilab
- •1.1. Краткие сведения о работе в среде MatLab
- •1.2. Работа в среде SciLab
- •Практическая работа
- •Задания на практическую работу
- •Контрольные вопросы
- •Глава 2. Исследование временных характеристик типовых динамических звеньев
- •2.1. Передаточная функция сау
- •2.2. Типовые динамические звенья
- •2.3. Временные характеристики динамических звеньев
- •2.4. Использование MatLab для моделирования систем
- •На основе передаточных функций
- •Использование команд языка сценариев
- •Использование Simulink
- •2.5. Использование SciLab для моделирования систем
- •На основе передаточных функций
- •Использование script-языка
- •Рекомендации по моделированию дифференцирующего звена с замедлением и изодромного звена
- •Использование средств визуального моделирования
- •Практическая работа
- •Содержание отчета о работе
- •Варианты заданий
- •Контрольные вопросы
- •Глава3. Частотные характеристики типовых динамических звеньев
- •3.1. Виды частотных характеристик линейных систем
- •3.2. Построение частотных характеристик на основе
- •Передаточных функций
- •3.2. Построение частотных характеристик в среде MatLab
- •3.3. Построение частотных характеристик в среде SciLab
- •Практическая работа
- •Задание к практической работе
- •Содержание отчета о работе
- •Контрольные вопросы
- •Глава4. Структурные преобразования сау
- •4.1. Виды соединений сау
- •Последовательное соединение звеньев
- •Параллельное соединение звеньев
- •Встречно-параллельное соединение (с обратной связью)
- •4.2. Описание соединений звеньев в MatLab
- •4.3. Описание соединений звеньев в среде SciLab
- •Практическая работа
- •Задание к практической работе
- •Содержание отчёта
- •Варианты заданий для практической работы
- •Контрольные вопросы
- •5. Исследование основных структур сау
- •5.1. Разомкнутые системы автоматического управления
- •5.2. Системы автоматического управления по возмущению (системы компенсации)
- •5.3. Замкнутые системы автоматического управления
- •5.4. Астатическое управление
- •5.5. Комбинированные системы автоматического
- •Управления
- •5.6. Описание математической модели управляемого объекта
- •Практическая работа
- •Задание № 5
- •Варианты заданий
- •Требования по оформлению отчёта
- •Контрольные вопросы
- •Глава6. Исследование устойчивости сау
- •6.1. Устойчивость линейных сау
- •6.2. Алгебраический критерий устойчивости Гурвица
- •6.3. Алгебраический критерий устойчивости Рауса
- •6.4. Критерий устойчивости Михайлова
- •6.5. Критерий устойчивости Найквиста
- •6.6. Логарифмический критерий
- •Практическая работа
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Глава7. Комплексное исследование сау
- •7.1. Представление сау в векторно-матричной
- •Форме (state space)
- •Практическая работа
- •Задание
- •Варианты заданий
- •Глава8. Исследование точности сау. Коррекция
- •Статических и динамических свойств сау
- •8.1. Точность сау
- •8.2. Коррекция статических свойств сау
- •8.3. Увеличение коэффициента усиления
- •Прямого канала системы
- •8.4. Введение интегрирующих звеньев в прямой
- •Канал системы
- •8.5. Охват объекта управления местной неединичной
- •Положительной обратной связью
- •8.6. Коррекция динамических свойств сау
- •8.7. Практическая работа
- •Содержание отчёта
- •Контрольные вопросы
- •Глава9. Вычисления в matlab/scilab
- •9.1. Создание m-файлов-сценариев в MatLab
- •9.2. Редактирование и отладка файлов-сценариев
- •9.3. Специальные константы SciLab
- •9.4. Элементы программирования на языке matlab/SciLab
- •9.5. Построение графиков
- •9.6. Изображение сетки в графической области
- •9.7. Вывод названий графика и осей
- •Глава10. Работа в среде simulink
- •10.1. Запуск Simulink
- •10.2. Обозреватель разделов библиотеки Simulink
- •10.3. Создание модели исследуемого объекта
- •10.4. Создание подсистем
- •10.5. Выполнение расчета
- •10.6. Отображение сигналов в окне осциллографа
- •10.7. Описание свойств основных блоков Simulink
- •Глава11. Работа в средеxcos
- •11.1. Основные возможности Xcos
- •11.2. Запуск Xcos
- •11.3. Создание модели системы
- •11.4. Настройка параметров моделирования
- •11.5. Создание суперблоков
- •11.6. Описание свойств основных блоков Xcos
- •Библиографический список
2.4. Использование MatLab для моделирования систем
На основе передаточных функций
Использование команд языка сценариев
В среде MatLabсуществует несколько возможностей задания передаточных функций линейных систем управления. В случае работы с помощью командной строки либо файла сценария наиболее рационально использовать функциюtf(transferfunction).
Синтаксис функции ft:
f=tf(num,den), где num – коэффициенты полинома числителя передаточной функции, идущие по убыванию степени s, аden– коэффициенты полинома знаменателя передаточной функции, идущие по убыванию степениs.
Например, передаточная функция
(17)
вводится следующим образом:
>> n = [2 4]
n =
2 4
>> d = [1 1.5 1.5 1]
d =
1.0000 1.5000 1.5000 1.0000
>> f = tf ( n, d )
Transfer function:
2 s + 4
-------------------------
s^3 + 1.5 s^2 + 1.5 s + 1
Еще один способ задания передаточной функции (17):
>> f = tf ( [2 4], [1 1.5 1.5 1] );
Функции для получения временных характеристик на основе передаточных функций приведены в табл. 4.
Таблица 4
Функции для представления временных характеристик
Функция |
Описание функции |
step(f) step(f, t) |
Вывод в виде графика переходной характеристики системы |
impulse(f) impulse(f, t) |
Вывод в виде графика импульсной характеристики системы |
Примечание. f – передаточная функция; t – интервал времени, для которого будет рассчитан переходный процесс
|
Использование Simulink
Еще одним способом задания систем в виде передаточных функций является использование пакета Simulink, входящего в составMatLab.
Для представления передаточной функции в Simulink используется блок Transfer Fcn. Блок передаточной характеристики Transfer Fcn задает передаточную функцию в виде отношения полиномов
, (18)
где nn и nd – порядок числителя и знаменателя передаточной функции, порядок числителя не должен превышать порядок знаменателя, num – вектор или матрица коэффициентов числителя, den – вектор коэффициентов знаменателя. Параметры блока TransferFcn:
Numerator – вектор или матрица коэффициентов полинома числителя.
Denominator – вектор коэффициентов полинома знаменателя.
Absolute tolerance – абсолютная погрешность.
Исследование переходных характеристик осуществляется путем подачи на вход блока, представляющего передаточную функцию (блок Transfer Fcn), единичного ступенчатого сигнала (блоки ConstantилиStep). Входной сигнал блока должен быть скалярным. Чтобы получить переходный процесс, необходимо поместить на схему блокScopeи соединить его вход с выходом блока, переходный процесс которого необходимо получить. На рис. 6. показан пример моделирования колебательного звена с помощью блока Transfer Fcn (схема вSimulinkи переходные процессы, полученные в блокеScope). Начальные условия при использовании блока Transfer Fcn полагаются нулевыми.
Рис. 6. Пример моделирования колебательного звена с помощью Simulink
2.5. Использование SciLab для моделирования систем
На основе передаточных функций
Использование script-языка
При использовании script-языка SciLab для представления линейных систем используется функция syslin.
Синтаксис:
sl = syslin(dom, N, D)
sl = syslin(dom, H)
Параметры функции syslin:
dom – символьная переменная, которая может принимать два значения: 'c' или 'd'. dom определяет временной домен системы и может принимать следующие значения: dom='c' для систем непрерывных во времени; dom='d' для дискретно-временных систем;
N, D – полиномиальные матрицы;
H – рациональная матрица;
Выражение s = poly(0,'s') задаёт полином, соответствующий оператору Лапласа; переменная s может быть использована в дальнейшем. Наряду с таким заданием можно использовать и константу %s.
Далее приведены альтернативные способы
задания двух ПФ
и
.
Пример 1:
s = poly(0, 's');
H1 =(1+2*s)/s^2
W1 = syslin('c', H1)
H2 = (1+2*s+s^2)/s^2
W2 = syslin('c', H2)
Пример 2:
s = poly(0, 's');
W1 = syslin('c', 1+2*s, s^2)
W2 = syslin('c', 1+2*s+s^2, s^2)
Пример 3:
W1 = syslin('c', 1+2*%s, %s^2)
W2 = syslin('c', 1+2*%s+%s^2, %s^2)
Для исследования временных характеристик используется функция csim, предназначенная для моделирования линейной системы
[y [,x]] = csim(u, t, sl),
где u – функция управления, принимает значения ‘step’ или ‘impulse’ в зависимости от вызываемой временной характеристики;
t – действительный вектор, характеризующий время; t(1) – начальное время x0=x(t(1));
sl – передаточная функция, представленная функцией syslin.
Далее рассмотрим в качестве примера моделирование апериодических звеньев первого порядка с различными значениями постоянных времени. Результат моделирования в виде переходных характеристик приведен на рис. 7.
Пример:
// построение переходных характеристик
// апериодического звена 1-го порядка
K = 1; // коэффициент усиления
T1 = 0.1; // постоянные времени
T2 = 0.5;
T3 = 1;
W1 = syslin('c', K/(T1*%s + 1));// задать ПФ
W2 = syslin('c', K/(T2*%s + 1));
W3 = syslin('c', K/(T3*%s + 1));
t = 0:0.05:5; // временной интервал
h1 = csim('step', t, W1); // моделирование подачи
h2 = csim('step', t, W2); // на вход ПФ
h3 = csim('step', t, W3); // ступенчатого воздействия
// построение графиков
plot(t, h1, 'r', t, h2, 'g', t, h3, 'b');
xgrid(2); // установка сетки на графике
// установка подписей графика и осей
xtitle('h(t)', 'time, c', 'h(t)');
legend('T=0.1', 'T=0.5', 'T=1'); // подпись легенды
Рис. 7. Переходные характеристики апериодических звеньев в SciLab