Список использованных источников. 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 – Структурная схема СУ
Таблица Б.1
Исходные параметры | Варианты | ||||
u(t) | 0,8 | ||||
К1 | |||||
К2 | |||||
Т2, сек. | 2,5 | 2,5 | 2,5 | 2,5 | 2,5 |
К3 | |||||
Т3 , сек | |||||
Требования к системе управления | Варианты | ||||
Закон регулирования | ПИ | ПД | ПИД | П и гибкая ОС | П и жесткая ОС |
Варьируемые параметры | параметры кор. устр. | параметры кор. устр. | парамеры кор. устр. | параметры кор. устр. | параметры кор. устр. |
Ошибка е(t) | min | min | min | ||
Время регулирования , сек | <10сек | <10сек | <10сек | <10сек | <10сек |
Перерегулирование | <30% | <30% | <30% | <30% | <30% |
Таблица Б.2
Порядковый номер в журнале | Номер варианта | Порядковый номер в журнале | Номер варианта |
Пример:Порядковый номер в журнале 13.
1 – вариант исходных данных;
3 – вариант требований к системе управления.