Рис 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. Внешний вид при изменении задания.