Оценка параметров системы после реализации в программе
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Для сравнения полученных результатов и согласно поставленной задаче, необходимо провести три прогона системы в программной реализации:

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.