Список использованных источников. 1. Анхимюк В.Л. Теория автоматического управления: Учеб

1. Анхимюк В.Л. Теория автоматического управления: Учеб. для вузов. – Минск.:Дизайн ПРО., 2002. – 352 с.

2. Мирошник И.В. Теория автоматического управления. Линейные системы. - СПб.:Питер, 2005. – 336 с.

3. Брюханов В. Н. и др. Теория автоматического управления. – М: Высшая школа, 2000 г.

4. Соловьев Н.А, Семенов А.М. Основы теории управления. Учебное пособие.: – Оренбург: ГОУ ОГУ, 2009.

5. "МВТУ" - программный комплекс для моделирования и исследования систем и объектов (сайт http://energy.power.bmstu.ru/mvtu/ )

6. Бесекерский В.А., Попов Е.П. Теория систем автоматического регулирования. – М.: Наука, 1975.

7. Воронов А.А. Основы теории автоматического регулирования и управления: Учеб. пособие для вузов / А.А. Воронов, В.К. Титов, Б.Н. Новогранов – М.: Высш. школа, 1977. – 519с.: ил.

8. Теория автоматического управления: Учеб. для вузов. / А.С. Востриков, Т.А. Французова. – М.: Высш. шк., 2004.

Приложение А

Текст программы

//Main.h--------------------------------------------------------------------

#ifndef MainH

#define MainH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Chart.hpp>

#include <ExtCtrls.hpp>

#include <Series.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <Graphics.hpp>

//---------------------------------------------------------------------------

class TMainForm : public TForm

{

__published: // IDE-managed Components

TButton *StartButton;

TGroupBox *CorrectBox;

TImage *Image;

TGroupBox *ImageBox;

TGroupBox *UBox;

TLabel *Label7;

TEdit *KUEdit;

TGroupBox *DBox;

TLabel *Label8;

TEdit *KDEdit;

TGroupBox *IBox;

TLabel *Label10;

TEdit *KIEdit;

TGroupBox *ControlBox;

TGroupBox *OUBox;

TLabel *Label12;

TEdit *UEdit;

TGroupBox *OA1Box;

TLabel *Label13;

TLabel *Label14;

TEdit *UA1Edit;

TEdit *TA1Edit;

TGroupBox *OA2Box;

TLabel *Label15;

TLabel *Label16;

TEdit *UA2Edit;

TEdit *TA2Edit;

TGroupBox *GeneralBox;

TLabel *Label5;

TLabel *Label6;

TEdit *StepEdit;

TEdit *TimeEdit;

TLabel *Label1;

TEdit *XEdit;

TGroupBox *YBox;

TChart *Chart;

TLineSeries *Series1;

TLineSeries *Series2;

void __fastcall StartButtonClick(TObject *Sender);

private: // User declarations

double X, Time, dt, KI, KU, KD, K, K1, K2, T1, T2;

public: // User declarations

__fastcall TMainForm(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TMainForm *MainForm;

//---------------------------------------------------------------------------

#endif

//Main.cpp------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Main.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TMainForm *MainForm;

//---------------------------------------------------------------------------

__fastcall TMainForm::TMainForm(TComponent* Owner)

: TForm(Owner)

{

Chart->Series[0]->Clear();

Chart->Series[1]->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TMainForm::StartButtonClick(TObject *Sender)

{

Chart->Series[0]->Clear();

Chart->Series[1]->Clear();

Time = StrToFloat(TimeEdit->Text);

dt = StrToFloat(StepEdit->Text);

X = StrToFloat(XEdit->Text);

KU = StrToFloat(KUEdit->Text);

KI = StrToFloat(KIEdit->Text);

KD = StrToFloat(KDEdit->Text);

K = StrToFloat(UEdit->Text);

K1 = StrToFloat(UA1Edit->Text);

K2 = StrToFloat(UA2Edit->Text);

T1 = StrToFloat(TA1Edit->Text);

T2 = StrToFloat(TA2Edit->Text);

double Y, Y0, EKKY, EKKY0, EKK0, EK0, EKI, EKI0, EKU0, EKD, EM, EM0;

Y0 = EKKY0 = EK0 = EKK0 = EKI0 = EM0 = 0;

for (double t=0; t<=Time; t += dt)

{

EM = X - Y0;

Chart->Series[1]->AddXY(t, EM0);

EKU0 = EM0*KU;

EKI = EKI0 + dt*KI*EM0;

EKD = KD/dt*(EM - EM0);

EK0 = EKU0 + EKI0 + EKD;

EKK0 = EK0*K;

EKKY = EKKY0 + dt/T1*(K1*EKK0 - EKKY0);

Y = Y0 + dt/T2*(K2*EKKY0 - Y0);

Chart->Series[0]->AddXY(t, Y0);

Y0 = Y;

EKKY0 = EKKY;

EKI0 = EKI;

EM0 = EM;

}

}//---------------------------------------------------------------------------

Приложение Б

Варианты заданий на курсовую работу

Структурная схема исходной СУ для всех вариантов представлена на рисунке Б.1. С целью обеспечения работоспособности исследуемой СУ, допускается введение в структуру дополнительных корректирующих устройств. Исходные данные приведены в таблице Б.1.

Список использованных источников. 1. Анхимюк В.Л. Теория автоматического управления: Учеб - student2.ru

Рисунок Б.1 – Структурная схема СУ

Таблица Б.1

Исходные параметры Варианты
u(t) 0,8
К1
К2
Т2, сек. 2,5 2,5 2,5 2,5 2,5
К3
Т3 , сек
Требования к системе управления Варианты
Закон регулирования ПИ ПД ПИД П и гибкая ОС П и жесткая ОС
Варьируемые параметры параметры кор. устр. параметры кор. устр. парамеры кор. устр. параметры кор. устр. параметры кор. устр.
Ошибка е(t) min min min
Время регулирования Список использованных источников. 1. Анхимюк В.Л. Теория автоматического управления: Учеб - student2.ru , сек <10сек <10сек <10сек <10сек <10сек
Перерегулирование Список использованных источников. 1. Анхимюк В.Л. Теория автоматического управления: Учеб - student2.ru <30% <30% <30% <30% <30%

Таблица Б.2

Порядковый номер в журнале Номер варианта Порядковый номер в журнале Номер варианта
   

Пример:Порядковый номер в журнале 13.

1 – вариант исходных данных;

3 – вариант требований к системе управления.

Наши рекомендации