Мегаобучалка Главная | О нас | Обратная связь


Блок схема расчетной части задач



2020-02-03 311 Обсуждений (0)
Блок схема расчетной части задач 0.00 из 5.00 0 оценок




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

 


Рис.6.2.1 Блок-схема расчета ПИД-регулятора.

 


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

 



2020-02-03 311 Обсуждений (0)
Блок схема расчетной части задач 0.00 из 5.00 0 оценок









Обсуждение в статье: Блок схема расчетной части задач

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (311)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)