Для сравнения полученных результатов и согласно поставленной задаче, необходимо провести три прогона системы в программной реализации:
1. YS=0, f=1;
2. YS=1, f=0;
3. YS=1, f=1;
1. Определим показатели качества АСР в программной реализации по переходной характеристике системы (Рис. 30) для случая YS=0, f=1;
hуст |
А3 |
А1 |
Рис. 30. Переходная характеристика при YS=0, f=1 в программной реализации
1) Максимальное перерегулирование:
2) Колебательность процесса:
3) Время регулирования в данном случае 178 с.
2. Определим показатели качества АСР в программной реализации по переходной характеристике системы (Рис. 31) для случая YS=1, f=0;
А3 |
А1 |
hуст |
Рис. 31. Переходная характеристика при YS=1, f=0 в программной реализации
1) Максимальное перерегулирование:
2) Колебательность процесса:
3) Время регулирования в данном случае 162 с.
3. Определим показатели качества АСР в программной реализации по переходной характеристике системы (Рис. 32) для случая YS=1, f=1.
1) Максимальное перерегулирование:
2) Колебательность процесса:
3) Время регулирования в данном случае 170 с.
А3 |
hуст |
А1 |
Рис. 32. Переходная характеристика при YS=1, f=1 в программной реализации
Выводы по главе 3
В главе описывается выбор и обоснование среды программирования. На основании приведенных в главе 1 методов моделирования САУ, произведена программная реализация системы. В программной интерпретации был использован математический метод решения дифференциальных уравнений (метод Эйлера - Коши) при моделировании объекта управления.
По окончании работы программы c помощью графического пакета Microsoft Excel были построены графики переходного процесса системы, которые представляются для трех случаев: YS=0 & f=1, YS=1 & f=0, YS=1 & f=1. Составим сводную таблицу показателей качества системы после прогона в системе СИМОПТ (без оптимизации) и в разработанной программе (таблица 13).
Таблица 13.
Сравнение показателей программной реализации и реализации в СИМОПТ
Критерии качества АСР | СИМОПТ | Программная реализация | ||||
YS=0, f=1 | YS=1, f=0 | YS=1, f=1 | YS=0, f=1 | YS=1, f=0 | YS=1, f=1 | |
Максимальное перерегулирование | ||||||
Колебательность | ||||||
Время регулирования tрегул | 165 с | 170 с | 160 с | 178 с | 170 с | 167 с |
Анализируя таблицу показателей качества полученных после прогона в программе SimOpt и разработанной программе, можно сделать вывод, что присутствует незначительное отклонение показателей качества, полученных с помощью программной реализации, от показателей качества, полученных после прогона модели в программе SimOpt. Таким образом, можно сделать вывод, что программная реализация составлена верно. В ходе программного моделирования оптимизация не производится.
Заключение
В курсовой работе приведены основные понятия и определения теории автоматического управления, основные понятия и определения моделирования динамических систем, в том числе численные методы решения обыкновенных дифференциальных уравнений. Представлено описание системы имитационного моделирования СИМОПТ, ее архитектуры и рабочего пространства.
В ходе выполнения работы были выполнены следующие задачи:
1. В данной курсовой работе была выполнена программная реализация на языке JAVA в среде NetBeans IDE 8.0.2. имитационной модели системы управления, состоящей из ПИ-регулятора и инерционного объекта 1-го порядка с запаздыванием.
2. Моделирование работы системы управления выполнено для трех случаев: YS=0 & f=1, YS=1 & f=0 и YS=1 & f=1. Данные, полученные в результате моделирования, использованы для построения графиков переходных процессов и фазовых портретов в MS Excel. Определены динамические показатели качества САР.
3. Изучены принципы работы с системой моделирования СИМОПТ, и с ее помощью выполнен прогон имитационной модели для трех выше указанных случаев. Также были определены характеристики переходных процессов, полученных при помощи СИМОПТ.
4. Выполнена оптимизация параметров ПИ-регулятора для всех трех случаев средствами СИМОПТ. Сравнение показателей качества переходных процессов, построенных при заданных настройках регулятора и оптимальных, показывает их значительное улучшение при использовании оптимальных настроек.
Список литературы
1. Автоматизированное проектирование систем управления. Под ред. М. Джамшиде, Ч. Дж. Херчета. - М.: Машиностроение, 1989. - 340 с.
2. Кельтон В., Лоу А. Имитационное моделирование. – СПб.: Питер; Киев: Издательская группа ВНV, 2004. – 847 с.
3. Клиначёв Н. В. Теория систем автоматического регулирования и управления: Учебно-методический комплекс. - Offline версия 3.6. - Челябинск, 2005. - 652 файла, ил.
4. Максимей И. В. Имитационное моделирование на ЭВМ. -М.: Радио и связь, 1988. – 231 с.
5. Монахов, В. В. Язык программирования Java и среда NetBeans. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2011. – 704 с.
6. Советов Б.Я. Моделирование систем: Учеб. для вузов. – М: Высш. Шк., 2005.- 343 с.
7. Эккель, Б. Философия Java. Библиотека программиста. – 4-е изд., перераб. и доп. – СПб.: Питер, 2009. – 638 с.
8. Конспект лекций по дисциплине "Основы теории управления" для студентов, обучающихся по специальности 220100 – Вычислительные машины, комплексы, системы и сети [Электронный ресурс]: в составе учебно-методического комплекса / разраб. С.И. Суркова; Тверской гос. техн. ун-т, Каф. ЭВМ - Тверь: ТГТУ, 2011.
9. Методические указания к лабораторной работе [Электронный ресурс]: по дисциплине "Проектирование ВС" для студентов, обучающихся по специальности 220100 - Вычислительные машины, комплексы, системы и сети;в составе учебно-методического комплекса. № 4 / разраб. В.А. Григорьев; Тверской гос. техн. ун-т, Каф. ЭВМ - Тверь: ТвГТУ, 2009.
10. Суркова, С.И., Хабаров, А.Р., Лебедев, В.В. Анализ и синтез САР [Электронный ресурс]: в составе учебно-методического комплекса; метод. указ. к лаб. работам по курсу "Теория автоматического управления" / Тверской гос. техн. ун-т, Каф. ЭВМ - Тверь: ТГТУ, 2004.
Приложение 1.
Результаты, полученные с помощью пакета СИМОПТ до оптимизации системы.
1). Графический результат для YS =0, f =1
Переходная характеристика
Фазовый портрет
2). Графический результат для YS =1, f =0
Переходная характеристика
Фазовый портрет
3). Графический результат для YS =1, f =1
Переходная характеристика
Фазовый портрет
Приложение 2.
Результаты, полученные с помощью пакета SimOpt после оптимизации системы.
1) Графический результат для YS =0, f =1
Переходная характеристика
Фазовый портрет
2) Графический результат для YS =1, f =0
Переходная характеристика
Фазовый портрет
3) Графический результат для YS =1, f =1
Переходная характеристика
Фазовый портрет
Приложение 3.
Программная реализация. Листинг с комментариями
package simulationmodel;
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.write.Number;
import jxl.write.NumberFormat;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class SystemModelling {
private static WritableWorkbook workbook;
private static WritableSheet sheet;
private static double K1, K2, T, TAY, K; // Стартовые условия
private static double YS, F; // Задание и возмущение
private static double T0, TK, HT, X1, XP, X2, U, XT, YX, Y, IT, C1, C2, Y1; // Доп.параметры системы
private static int N1;
private static double[] YR; // Массив запаздывания
public static void main(String[] args) throws RowsExceededException,
WriteException, IOException {
createWorkbookSheet();
initializeVariable();
initializeAdditionalValues();
calculationValues();
}
private static void initializeVariable() {
System.out.print("Инициализация входных параметров системы...");
K1 = 0.11;
K2 = 0.012;
T = 10;
K = 10;
TAY = 10;
YS = 1;
F = 0;
System.out.println(" Входные параметры заданы!");
}
private static void initializeAdditionalValues() {
System.out.print("Инициализация дополнительных параметров системы...");
T0 = 0; // Начало моделирования
TK = 200; // Конец моделирования
HT = 0.1; // Шаг моделирования
X1 = 0; // Ошибка
XP = 0; // Пред. значение ошибки по заданию
X2 = 0; // Производная ошибки по заданию
U = 0; // Выход регулятора
XT = 0; // Выход регулятора с возмущением
YX = 0; Y = 0; // Выход системы
IT = 0; // Интеграл
C1 = 0; C2 = 0; Y1 = 0; //вспомогательные коэффициенты и производная метода Эйлера
N1 = 0;
System.out.println(" Дополнительные параметры заданы!");
}
private static void calculationValues() throws WriteException, IOException {
//обнуление предыдущего значения сигнала
XP = 0;
Y = 0;
YX = 0;
XT = 0;
//обнуление интеграла
IT = 0;
//определение размера массива запаздывания
N1 = (int) (TAY / HT);
YR = new double[N1];
for (int i = 0; i < N1; i++)
// Обнуление массива
YR[i] = 0;
int i = 0;
int p = 0;
int pos = 0;
C1 = K / T;
C2 = -1 / T;
do { // Цикл по процессу моделирования
X1 = YS - Y; // Значение ошибки
X2 = (X1 - XP) / HT; // Производная ошибки
XP = X1;
IT = IT + ((X1 + XP) / 2) * HT; // Интеграл
U = K1 * X1 + K2 * IT; // Управляющее воздействие
XT = F + U; // Выход регулятора с возмущением
Y1 = C1 * XT + C2 * YX; //метод Эйлера
YX = YX + Y1 * HT; // Выход объекта
Y = YR[i]; //запоминаем очередное запаздывание
YR[i] = YX; // Вычисление запаздывания
i++;
if (i >= N1)
i = 0;
if (p >= 0) {
addRowValue(pos, T0, Y, X1, X2);
pos++;
}
T0 = T0 + HT;//прибавление на шаг
p++;
} while (T0 < TK);
addRowValue(pos, T0, Y, X1, 0);
saveFile();
}
private static void createWorkbookSheet() {
System.out.print("Создание нового файла...");
File excelFile = new File("SimulationModel.xls");
System.out.println(" Файл создан!");
try {
workbook = Workbook.createWorkbook(excelFile);
System.out.print("Создание рабочего листа...");
sheet = workbook.createSheet("export", 0);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(" Рабочий лист создан!");
}
private static void addRowValue(int pos, double T0, double Y, double X1,
double X2) throws WriteException {
WritableFont numberFont = new WritableFont(WritableFont.ARIAL);
WritableCellFormat numberFormat = new WritableCellFormat(numberFont,
new NumberFormat("#0.0000000"));
sheet.addCell(new Number(0, pos, T0, numberFormat));
sheet.addCell(new Number(1, pos, Y, numberFormat));
sheet.addCell(new Number(2, pos, X1, numberFormat));
sheet.addCell(new Number(3, pos, X2, numberFormat));
}
private static void saveFile() throws IOException, WriteException {
System.out.print("Записываем данные на лист, сохраняем файл...");
workbook.write();
workbook.close();
System.out.println(" Готово!");
}
}
Приложение 4.
1) Графический результат для YS =0, f =1
Переходная характеристика
Фазовый портрет
2) Графический результат для YS =1, f =0
Переходная характеристика
Фазовый портрет
3) Графический результат для YS =1, f =1
Переходная характеристика
Фазовый портрет
Дата: 2019-07-30, просмотров: 287.