Смекни!
smekni.com

Створення програми розрахунку параметрів електричних машин за допомогою середовища Delphi (стр. 6 из 13)

aa[13,0]:=7.50;aa[13,1]:=7.88;aa[13,2]:=8.26;aa[13,3]:=8.64;aa[13,4]:=9.02;

aa[13,5]:=9.40;aa[13,6]:=9.82;aa[13,7]:=10.2;aa[13,8]:=10.7;aa[13,9]:=11.1;

aa[14,0]:=11.5;aa[14,1]:=12.2;aa[14,2]:=12.9;aa[14,3]:=13.6;aa[14,4]:=14.3;

aa[14,5]:=15.0;aa[14,6]:=16.0;aa[14,7]:=17.0;aa[14,8]:=18.0;aa[14,9]:=19.0;

aa[15,0]:=20.0;aa[15,1]:=21.6;aa[15,2]:=23.2;aa[15,3]:=24.9;aa[15,4]:=26.5;

aa[15,5]:=28.1;aa[15,6]:=29.6;aa[15,7]:=31.1;aa[15,8]:=32.7;aa[15,9]:=34.2;

aa[16,0]:=35.7;aa[16,1]:=38.0;aa[16,2]:=40.3;aa[16,3]:=42.6;aa[16,4]:=44.9;

aa[16,5]:=47.2;aa[16,6]:=49.3;aa[16,7]:=51.4;aa[16,8]:=53.5;aa[16,9]:=55.6;

aa[17,0]:=57.7;aa[17,1]:=60.0;aa[17,2]:=63.0;aa[17,3]:=66.0;aa[17,4]:=70.0;

aa[17,5]:=74.0;aa[17,6]:=79.0;aa[17,7]:=84.0;aa[17,8]:=90.0;aa[17,9]:=97.0;

val(edit1.Text,d1_zovn,cod1);

val(edit2.Text,d1,cod2);

val(edit3.Text,d2_vn,cod3);

val(edit4.Text,d2,cod4);

val(edit5.Text,pov_zaz,cod5);

val(edit6.Text,z1,cod6);

val(edit7.Text,z2,cod7);

val(edit8.Text,l1,cod8);

val(edit9.Text,l2,cod9);

val(edit10.Text,mat_st,cod10);

val(edit11.Text,tov_l,cod11);

val(edit12.Text,hz1,cod12);

val(edit13.Text,bz1,cod13);

val(edit14.Text,bzq1,cod14);

val(edit15.Text,hz2,cod15);

val(edit16.Text,bz2,cod16);

val(edit17.Text,d_d,cod17);

val(edit18.Text,f_potic,cod18);

val(edit19.Text,kc1,cod19);

val(edit20.Text,p2,cod20);

val(edit21.Text,bq,cod21);

val(edit22.Text,ai,cod22);

val(edit23.Text,bp,cod23);

val(edit29.Text,bz_max,cod24);

val(edit30.Text,kz_min,cod25);

val(edit31.Text,hz_max,cod26);

val(edit32.Text,bz_min,cod27);

val(edit33.Text,kz_max,cod28);

val(edit34.Text,hz_min,cod29);

val(edit35.Text,bz_ser,cod30);

val(edit36.Text,kz_ser,cod31);

val(edit37.Text,Hz_ser,cod24);

Form7.show;

form2.Visible:=false;

form7.Memo1.Clear;

t1:=(pi*d1)/z1;

kq:=((10*pov_zaz)+t1)/((10*pov_zaz)+bzq1);

str(kq:8:4,tex1);

form7.Memo1.Lines.Add('Коефіцієнт повітряного зазору');

form7.Memo1.Lines.Add(tex1);

form7.Memo1.Lines.Add(line);

fq:=(0.8*1000)*bq*pov_zaz*kq;

str(fq:8:4,tex2);

form7.Memo1.Lines.Add('Магнітне напруження повітряного зазору - А');

form7.Memo1.Lines.Add(tex2);

form7.Memo1.Lines.Add(line);

Bzmax:=(bq*t1)/(kc1*bz1);

str(bzmax:8:4,tex3);

form7.Memo1.Lines.Add(' Максимальна магнітна індукція в зубці статора - Тл');

form7.Memo1.Lines.Add(tex3);

form7.Memo1.Lines.Add(line);

if bzmax>1.8 then

begin

form7.Memo1.Lines.Add('Велечина Bz1 > 1.8 Тл - Ведемо розрахунки мінімального та');

form7.Memo1.Lines.Add('середнього значення магнітної індукції в зубці статора');

form7.Memo1.Lines.Add(line);

bzmin:=abs((bq*t1)/(kc1*(t1-bp)));

str(bzmin:8:4,tex4);

form7.Memo1.Lines.Add(' Мінімальна магнітна індукція в зубці статора - Тл');

form7.Memo1.Lines.Add(tex4);

form7.Memo1.Lines.Add(line);

bzser:=0.5*(bzmax+bzmin);

str(bzser:8:4,tex5);

form7.Memo1.Lines.Add(' Середня магнітна індукція в зубці статора - Тл');

form7.Memo1.Lines.Add(tex5);

form7.Memo1.Lines.Add(line);

hz_1:=(hz_max+(4*Hz_ser)+Hz_min)/6;

str(hz_1:8:4,tex6);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex6);

form7.Memo1.Lines.Add(line);

end

else begin

form7.Memo1.Lines.Add('Велечина Bz1 < 1.8 Тл - Напруженість поля в зубці');

form7.Memo1.Lines.Add('статора Hz1 визначаємо по таблиці');

form7.Memo1.Lines.Add(line);

end;

b2:=2; a1:=4;

f1:=roundto(f_potic,a1);

ba1:=roundto(bzmax,b2);

ind1:=trunc(f1/0.01+1);

ind2:=trunc((ba1-0.3)/0.1);

Hz_1:=aa[ind2,ind1];

str(hz_1:8:4,tex6);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex6);

form7.Memo1.Lines.Add(line);

form7.Memo1.Lines.Add(' Продовження розранунків');

form7.Memo1.Lines.Add(line);

fz:=0.1*hz_1*hz1;

str(fz:8:4,tex7);

form7.Memo1.Lines.Add(' Магнітне напруження зубцевого шару статора - А');

form7.Memo1.Lines.Add(tex7);

form7.Memo1.Lines.Add(line);

t2:=(pi*d2)/z2;

bzmax2:=(bq*t2)/(kc1*bz2);

str(bzmax2:8:4,tex8);

form7.Memo1.Lines.Add(' Максимальна магнітна індукція в зубці ротора - Тл');

form7.Memo1.Lines.Add(tex8);

form7.Memo1.Lines.Add(line);

if bzmax2>1.8 then begin

form7.Memo1.Lines.Add('Велечина Bz2 > 1.8 Тл - Ведемо розрахунки мінімального та');

form7.Memo1.Lines.Add('середнього значення магнітної індукції в зубці ротора');

form7.Memo1.Lines.Add(line);

bzmin2:=(bq*t2)/(kc1*(t2-bp));

str(bzmin2:8:4,tex9);

form7.Memo1.Lines.Add(' Мінімальна магнітна індукція в зубці ротора - Тл');

form7.Memo1.Lines.Add(tex9);

form7.Memo1.Lines.Add(line);

bzser2:=0.5*(bzmax2+bzmin2);

str(bzser2:8:4,tex10);

form7.Memo1.Lines.Add(' Середня магнітна індукція в зубці ротора - Тл');

form7.Memo1.Lines.Add(tex10);

form7.Memo1.Lines.Add(line);

hz_2:=(hz_max+(4*hz_ser)+hz_min)/6;

str(hz_2:8:4,tex11);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці ротора - А/см');

form7.Memo1.Lines.Add(tex11);

form7.Memo1.Lines.Add(line);

end

else begin

form7.Memo1.Lines.Add('Велечина Bz2 < 1.8 Тл - Напруженість поля в зубці');

form7.Memo1.Lines.Add('ротора Hz2 визначаємо по таблиці');

form7.Memo1.Lines.Add(line);

end;

b3:=2; a2:=4;

f2:=roundto(f_potic,a2);

ba2:=roundto(bzmax2,b3);

ind3:=trunc(f2/0.01+1);

ind4:=trunc((ba2-0.3)/0.1);

Hz_2:=aa[ind4,ind3];

str(hz_2:8:4,tex12);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці ротора - А/см');

form7.Memo1.Lines.Add(tex12);

form7.Memo1.Lines.Add(line);

fz2:=0.1*(hz_2*(hz2-(0.4*d2)));

str(fz2:8:4,tex13);

form7.Memo1.Lines.Add(' Магнітне напруження зубцевого шару ротора - А');

form7.Memo1.Lines.Add(tex13);

form7.Memo1.Lines.Add(line);

hc1:=(d1_zovn-d1-(2*hz1))/2;

str(hc1:8:4,tex14);

form7.Memo1.Lines.Add(' Висота спинки статора - мм');

form7.Memo1.Lines.Add(tex14);

form7.Memo1.Lines.Add(line);

pol_dil:=(pi*d1)/p2;

bc1:=(0.5*ai*pol_dil*bq)/(kc1*hc1);

str(bc1:8:4,tex15);

form7.Memo1.Lines.Add(' Магнітна індукція в спинці статора - Тл');

form7.Memo1.Lines.Add(tex15);

form7.Memo1.Lines.Add(line);

if bc1<1.4 then begin

b4:=2; a3:=4;

f3:=roundto(f_potic,a3);

ba3:=roundto(bc1,b4);

ind5:=trunc(f3/0.01+1);

ind6:=trunc((ba3-0.3)/0.1);

Hc_1:=aa[ind6,ind5];

str(hc_1:8:4,tex16);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex16);

form7.Memo1.Lines.Add(line);

end

else begin

bc_1:=bc1*0.4;

b4:=2; a3:=4;

f3:=roundto(f_potic,a3);

ba3:=roundto(bc_1,b4);

ind5:=trunc(f3/0.01+1);

ind6:=trunc((ba3-0.3)/0.1);

Hc_1:=aa[ind6,ind5];

str(hc_1:8:4,tex16);

form7.Memo1.Lines.Add(' Значення напруженості поля в зубці статора - А/см');

form7.Memo1.Lines.Add(tex16);

form7.Memo1.Lines.Add(line);

end;

lc1:=(pi/p2)*(d1_zovn-hc1);

str(lc1:8:4,tex17);

form7.Memo1.Lines.Add(' Довжина силової лінії в спинці статора - мм');

form7.Memo1.Lines.Add(tex17);

form7.Memo1.Lines.Add(line);

fc1:=0.1*hc_1*lc1;

str(fc1:8:4,tex18);

form7.Memo1.Lines.Add(' Магнітне напруження спинки статора - А');

form7.Memo1.Lines.Add(tex18);

form7.Memo1.Lines.Add(line);

hc2:=abs((d2-d2_vn-(2*hz2))/2);

str(hc2:8:4,tex19);

form7.Memo1.Lines.Add(' Висота спинки ротора - мм');

form7.Memo1.Lines.Add(tex19);

form7.Memo1.Lines.Add(line);

bc2:=(0.5*ai*pol_dil*bq)/(kc1*hc2);

str(bc2:8:4,tex20);

form7.Memo1.Lines.Add(' Магнітна індукція в спинці ротора - Тл');

form7.Memo1.Lines.Add(tex20);

form7.Memo1.Lines.Add(line);

b5:=2; a4:=4;

f4:=roundto(f_potic,a4);

ba4:=roundto(bc2,b5);

ind7:=trunc(f4/0.01+1);

ind8:=trunc((ba4-0.3)/0.1);

Hc_2:=aa[ind8,ind7];

str(hc_2:8:4,tex21);

form7.Memo1.Lines.Add(' Значення напруженості поля в спинці ротора - А/см');

form7.Memo1.Lines.Add(tex21);

form7.Memo1.Lines.Add(line);

lc2:=(pi/p2)*(d2_vn-hz2-hc2);

str(lc2:8:4,tex22);

form7.Memo1.Lines.Add(' Довжина силової лінії в спинці ротора ротора - мм');

form7.Memo1.Lines.Add(tex22);

form7.Memo1.Lines.Add(line);

fc2:=0.1*hc_2*lc2;

str(fc2:8:4,tex23);

form7.Memo1.Lines.Add(' Магнітне напруження спинки ротора - А');

form7.Memo1.Lines.Add(tex23);

form7.Memo1.Lines.Add(line);

f_rush:=(2*fq)+(2*fz)+(2*fz2)+fc1+fc2;

str(f_rush:8:4,tex24);

form7.Memo1.Lines.Add(' Магнітно-рушійна сила на пару полюсів - А');

form7.Memo1.Lines.Add(tex24);

form7.Memo1.Lines.Add(line);

ku:=f_rush/(2*fq);

str(ku:8:4,tex25);

form7.Memo1.Lines.Add(' Коефіцієнт магнітного накопичення');

form7.Memo1.Lines.Add(tex25);

form7.Memo1.Lines.Add(line);

form7.Memo1.Lines.Add(' Розрахунок закінчено');

end;

procedure TForm2.Digitkey(Sender: TObject; var Key: Char);

begin

if not (key in['0'..'9',#8,'.']) then begin

messagedlg('Помилка - Дозволено вводити тільки додатні цифри',mterror,[mbok],0);

key:=#0;

beep;

end;;

end;

end.

Текст модуля Unit3.pas

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, ExtCtrls, Buttons;

type

TForm3 = class(TForm)

MainMenu1: TMainMenu;

Timer1: TTimer;

Label1: TLabel;

N3: TMenuItem;

N2: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

Label2: TLabel;

Edit1: TEdit;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit3: TEdit;

Label5: TLabel;

Edit4: TEdit;

Label6: TLabel;

Edit5: TEdit;

Label7: TLabel;

Edit6: TEdit;

Label8: TLabel;

Edit7: TEdit;

Label9: TLabel;

Edit8: TEdit;

Label10: TLabel;

Edit9: TEdit;

Label11: TLabel;

Edit10: TEdit;

Label12: TLabel;

Edit11: TEdit;

Label13: TLabel;

Edit12: TEdit;

Label14: TLabel;

Edit13: TEdit;

GroupBox1: TGroupBox;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Label15: TLabel;

Edit14: TEdit;

Label16: TLabel;

Edit15: TEdit;

Label17: TLabel;

Edit16: TEdit;

Label18: TLabel;

Edit17: TEdit;

Label19: TLabel;

Edit18: TEdit;

Label20: TLabel;

Edit19: TEdit;

Label21: TLabel;

Edit20: TEdit;

Label22: TLabel;

Edit21: TEdit;

Label23: TLabel;

Edit22: TEdit;

Label24: TLabel;

Edit23: TEdit;

Label25: TLabel;

Edit24: TEdit;

Label26: TLabel;

Edit25: TEdit;

Label27: TLabel;

Edit26: TEdit;

Label28: TLabel;

Edit27: TEdit;

Label29: TLabel;

Edit28: TEdit;

BitBtn1: TBitBtn;

GroupBox2: TGroupBox;

Edit29: TEdit;

Label30: TLabel;

Label31: TLabel;

Edit30: TEdit;

Label32: TLabel;

Edit31: TEdit;

Label33: TLabel;

Edit32: TEdit;

Label34: TLabel;

Edit33: TEdit;

Label35: TLabel;

Edit34: TEdit;

Label36: TLabel;

Edit35: TEdit;

Label37: TLabel;

Edit36: TEdit;

Label38: TLabel;

Edit37: TEdit;

procedure N2Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Digitkey(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

{-----------------------------------------------}

d_ja_zovn,d_ja_vn,da,dval,lja,n,la,nk,bk,z:real;

bp,hz,S,pov_zaz,Lt,bt,ai,p2,Ea,m_s_ja:real;

t_l,m_s_g_p,bpl,m_s,kc,wc,ht,hja:real;

bzmax1,kzmin1,hzmax1,bzmin2,kzmax2,hzmin2,bzser1,kzser1,hzser1:real;

{-----------------------------------------------}

coder1,coder2,coder3,coder4,coder5,coder6,coder7,coder8,coder9,coder10:integer;

coder11,coder12,coder13,coder14,coder15,coder16,coder17,coder18,coder19,coder20:integer;

coder21,coder22,coder23,coder24,coder25,coder26,coder27,coder28,coder29,coder30:integer;

coder31,coder32,coder33,coder34,coder35,coder36,coder37:integer;

{-----------------------------------------------}

Pol_dil,l,li,f,n_n,bq,ti,bz1,kq,fq:real;

bzmin,bzmax,B_Bzmin,bzser,kzmax,kzmin,kzser:real;

h_z,f_z,ha,sa,ba,h_a, l_a,F_a,q,Ft,st,bm:real;

h_tt,ftt,h_ja,sja,bja,l_ja,fja,fbo,ku:real;

{-----------------------------------------------}

ed1,ed2,ed3,ed4,ed5,ed6,ed7,ed8,ed9,ed10:string;

ed11,ed12,ed13,ed14,ed15,ed16,ed17,ed18,ed19,ed20:string;

ed21,ed22,ed23,ed24,ed25,ed26,ed27,ed28,ed29,ed30:string;

ed31,ed32,ed33,ed34,ed35,ed36,ed37,ed38,ed39,ed40:string;

ed41,ed42,ed43,ed44,ed45,ed46:string;

{-----------------------------------------------}

a,p,ind1,ind2:integer;

{-----------------------------------------------}

file1:textfile;

file2:textfile;

aa:array[1..17,0..9] of real;

f1,ba1:real;

n_n_n,a_a_a:byte;

const line='___________________________________________________';

{-----------------------------------------------}

implementation

uses Unit1, Unit4, Unit5;

{$R *.dfm}

function RoundTo(num:real; r:byte):real;

var

rt:longint;

i:byte;

begin

rt:=1;

for i:=1 to r do rt:=rt*10;

RoundTo:=round(num*rt)/rt;

end;

procedure TForm3.N2Click(Sender: TObject);

begin

form1.Show;

form3.Visible:=false;

end;

procedure TForm3.Timer1Timer(Sender: TObject);

begin

if label1.Visible=true then

label1.Visible:=false

else label1.Visible:=true;

end;

procedure TForm3.N5Click(Sender: TObject);

begin

form1.Close;

end;

procedure TForm3.BitBtn1Click(Sender: TObject);

begin

form1.Show;

form3.visible:=false;

end;

procedure TForm3.BitBtn3Click(Sender: TObject);

begin

form1.Close;

end;

procedure TForm3.BitBtn2Click(Sender: TObject);

begin

aa[1,0]:=0.52;aa[1,1]:=0.53;aa[1,2]:=0.54;aa[1,3]:=0.55;aa[1,4]:=0.56;

aa[1,5]:=0.58;aa[1,6]:=0.59;aa[1,7]:=0.60;aa[1,8]:=0.61;aa[1,9]:=0.62;

aa[2,0]:=0.64;aa[2,1]:=0.65;aa[2,2]:=0.66;aa[2,3]:=0.67;aa[2,4]:=0.69;

aa[2,5]:=0.70;aa[2,6]:=0.71;aa[2,7]:=0.72;aa[2,8]:=0.74;aa[2,9]:=0.77;

aa[3,0]:=0.80;aa[3,1]:=0.81;aa[3,2]:=0.83;aa[3,3]:=0.85;aa[3,4]:=0.87;

aa[3,5]:=0.89;aa[3,6]:=0.91;aa[3,7]:=0.93;aa[3,8]:=0.95;aa[3,9]:=0.97;

aa[4,0]:=1.00;aa[4,1]:=1.02;aa[4,2]:=1.04;aa[4,3]:=1.06;aa[4,4]:=1.08;

aa[4,5]:=1.11;aa[4,6]:=1.13;aa[4,7]:=1.15;aa[4,8]:=1.18;aa[4,9]:=1.21;

aa[5,0]:=1.24;aa[5,1]:=1.26;aa[5,2]:=1.29;aa[5,3]:=1.32;aa[5,4]:=1.35;

aa[5,5]:=1.38;aa[5,6]:=1.40;aa[5,7]:=1.43;aa[5,8]:=1.46;aa[5,9]:=1.49;