Смекни!
smekni.com

Автоматизация технологических процессов колпаковой печи (стр. 5 из 5)

Рис 6.2.2 Блок-схема расчетной части.


Заключение

В данном курсовом проекте был рассмотрен вопрос автоматизации колпаковой нагревательной печи, были выбраны технологические средства для модернизации и улучшения ее работы, а так же разработана математическая модель контуров контроля и регулирования температуры под колпаком печи, расхода топлива и воздуха.


Список используемой литературы

1. «Расчет нагревательных и термических печей» ред. В.М. Тымчака 1983г.

2. «Нагрев стали в печах» В.Ф.Копытов.

3. Н.П.Свинолобов, В.Л.Бровкин «Печи черной металлургии» Учебное пособие.

4. Конспект лекций по дисциплине "Автоматизация технологических процессов и объектов черной металлургии"

5. В. Шамис. Borland C++ Builder для профессионалов.


Приложения

Приложение А

Листинг программы

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

#include <vcl.h>

#pragma hdrstop

#include <math.h>

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

float T_r,T_m,T_k;

float T_r_z,T_m_z,T_k_z;

float F_t,F_v,F_g;

float L,D_vn,D_v;

float t,st,Kob=44,Tob=44,Td,Kr;

float Ti,D,y1,y2,y3,y4,y5,tz;

float Kob2,Tob2,Td2,Kr2;

float Ti2,D2;

float Kob3,Tob3,Td3,Kr3;

float Ti3,D3,x3[42];

float x[42],x2[42],Z1,q1,im;

float buf1[10],buf2[10],buf3[10];

int count,ct1;

double ent(float T)

{

im=-9e-08*T*T*T+0.0002*T*T+0.0346*T+8.6794;

return(im);

}

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

double pid_t (double D)

{

t=0;

// st=30;

Td=1;

Kr=0.2;

Ti=20;

y1=Kr*D;

y2=0;

y4=0;

y5=y1;

// y1=Kr*(D-x[1]);

y2=y2+Kr*Td*(x[1]-x[0])/Ti;

y4=-Kr*Td*(x[1]-x[0])/1;

y5=y1+y2+y4;

x[41]=x[40]+(Kob*y5-x[40])/Tob;

for(int i=0;i<41;i+=1)

x[i]=x[i+1];

return(x[40]);

}

double pid_Ft (double D)

{

t=0;

// st=30;

Td2=1.2;

Kr2=0.2;

Ti2=12;

y1=Kr2*D;

y2=0;

y4=0;

y5=y1;

// y1=Kr*(D-x[1]);

y2=y2+Kr2*Td2*(x2[1]-x2[0])/Ti2;

y4=-Kr2*Td2*(x2[1]-x2[0])/1;

y5=y1+y2+y4;

x2[41]=x2[40]+(Kob2*y5-x2[40])/Tob2;

for(int i=0;i<41;i+=1)

x2[i]=x2[i+1];

return(x2[40]);

}

double pid_Fv (double D)

{

t=0;

// st=30;

Td3=0.8;

Kr3=0.2;

Ti3=17;

y1=Kr3*D;

y2=0;

y4=0;

y5=y1;

// y1=Kr*(D-x[1]);

y2=y2+Kr3*Td3*(x3[1]-x3[0])/Ti3;

y4=-Kr3*Td3*(x3[1]-x3[0])/1;

y5=y1+y2+y4;

x3[41]=x3[40]+(Kob3*y5-x3[40])/Tob3;

for(int i=0;i<41;i+=1)

x3[i]=x3[i+1];

return(x3[40]);

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Kob=5;

Tob=10;

Kob2=12;

Tob2=10;

Kob3=25;

Tob3=27;

T_m=500;

Timer1->Enabled=true;

L=StrToFloat(Edit1->Text);

D_vn=StrToFloat(Edit2->Text);

D_v=StrToFloat(Edit3->Text);

Series1->Clear();

Series2->Clear();

Series3->Clear();

Series4->Clear();

count=0;

for (int i=0;i<=41;i++)

x[i]=30;

}

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

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Timer1->Enabled=false;

}

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

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

T_r_z=TrackBar1->Position;

T_r=pid_t(T_r_z);

T_m=T_m+(Kob*T_r/5-T_m)/(Tob);

Series1->AddXY(count,T_r_z);

Series2->AddXY(count,T_r);

Series3->AddXY(count,T_m);

F_t=pid_Ft(T_r);

F_v=pid_Fv(F_t);

Series4->AddXY(count,F_t);

Series5->AddXY(count+2,F_v);

count+=1;

}

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

void __fastcall TForm1::TrackBar1Change(TObject *Sender)

{

Label8->Caption=TrackBar1->Position;

}

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

Приложение В

Инструкция по работе с программой и результаты работы программы.

При запуске приложения запускается главное окно программы, вид которого представлен на рисунке В.1.

Рисунок В.1 Главное окно программы.

В левой части окна расположены управляющие кнопки , поля для ввода значений.

При нажатии на кнопку СТАРТ запускается таймер и начинает производится расчет значений температуры рулона, температуры муфеля. Изменение температур выводится на графики. На верхнем графике показаны температурные значения, а на нижнем – значения расхода топлива и воздуха. Ползунком можно менять задание, тогда на графиках становятся видны переходные процессы при ПИД регулировании.


Рис. Б.2. Запуск программы.

Рис.Б.3. Внешний вид при изменении задания.