Смекни!
smekni.com

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

val(edit7.Text,la,coder7);

val(edit8.Text,nk,coder8);

val(edit9.Text,bk,coder9);

val(edit10.Text,z,coder10);

val(edit11.Text,bp,coder11);

val(edit12.Text,hz,coder12);

val(edit13.Text,S,coder13);

val(edit14.Text,pov_zaz,coder14);

val(edit15.Text,lt,coder15);

val(edit16.Text,bt,coder16);

val(edit17.Text,ai,coder17);

val(edit18.Text,p2,coder18);

val(edit19.Text,ea,coder19);

val(edit20.Text,m_s_ja,coder20);

val(edit21.Text,t_l,coder21);

val(edit22.Text,m_s_g_p,coder22);

val(edit23.Text,bpl,coder23);

val(edit24.Text,m_s,coder24);

val(edit25.Text,kc,coder25);

val(edit26.Text,wc,coder26);

val(edit27.Text,ht,coder27);

val(edit28.Text,hja,coder28);

val(edit29.Text,bzmax1,coder29);

val(edit30.Text,kzmin1,coder30);

val(edit31.Text,hzmax1,coder31);

val(edit32.Text,bzmin2,coder32);

val(edit33.Text,kzmax2,coder33);

val(edit34.Text,hzmin2,coder34);

val(edit35.Text,bzser1,coder35);

val(edit36.Text,kzser1,coder36);

val(edit37.Text,hzser1,coder37);

form5.show;

form3.Visible:=false;

form5.Memo1.Clear;

pol_dil:=pi*da/p2;

str(pol_dil:8:4,ed1);

form5.Memo1.Lines.Add('Полюсне ділення - мм ');

form5.Memo1.Lines.Add(ed1);

form5.Memo1.Lines.Add(line);

l:=la-nk*bk;

str(l:8:4,ed2);

form5.Memo1.Lines.Add('Довжина якоря без вентиляційних каналів - мм');

form5.Memo1.Lines.Add(ed2);

form5.Memo1.Lines.Add(line);

li:=0.5*(lt+l);

str(li:8:4,ed3);

form5.Memo1.Lines.Add('Розрахункова довжина якоря - мм');

form5.Memo1.Lines.Add(ed3);

form5.Memo1.Lines.Add(line);

a:=1; p:=2;

n_n:=2*wc*s;

f:=(60*a*Ea)/(p*N_n*n);

str(f:8:4,ed4);

form5.Memo1.Lines.Add('Загальний магнітний потік - Вб ');

form5.Memo1.Lines.Add(ed4);

form5.Memo1.Lines.Add(line);

bq:=f/(ai*li*pol_dil*0.000001);

str(bq:8:4,ed5);

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

form5.Memo1.Lines.Add(ed5);

form5.Memo1.Lines.Add(line);

ti:=(pi*da)/z;

str(ti:8:4,ed6);

form5.Memo1.Lines.Add('Зубцеве ділення якоря - мм ');

form5.Memo1.Lines.Add(ed6);

form5.Memo1.Lines.Add(line);

bz1:=ti-bp;

str(bz1:8:4,ed7);

form5.Memo1.Lines.Add('Ширина коронки зуба - мм ');

form5.Memo1.Lines.Add(ed7);

form5.Memo1.Lines.Add(line);

kq:=((10*pov_zaz)+ti)/(10*pov_zaz+bz1);

str(kq:8:4,ed8);

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

form5.Memo1.Lines.Add(ed8);

form5.Memo1.Lines.Add(line);

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

str(fq:8:4,ed9);

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

form5.Memo1.Lines.Add(ed9);

form5.Memo1.Lines.Add(line);

bzmin:=((pi*(da-2*hz))/z)-bp;

str(bzmin:8:4,ed10);

form5.Memo1.Lines.Add('Ширина зубця в номінальному перерізі - мм ');

form5.Memo1.Lines.Add(ed10);

form5.Memo1.Lines.Add(line);

bzmax:=(bq*ti)/(kc*bzmin);

str(bzmax:8:4,ed11);

form5.Memo1.Lines.Add('Індукція в найменшому пеперізі зубця - Тл ');

form5.Memo1.Lines.Add(ed11);

form5.Memo1.Lines.Add(line);

if bzmax>1.8 then begin

MessageDlg('Велечина Bz max > 1.8 Тл - Беруться дані з графіків та розраховуються додаткові параметри Генератора.',

mtInformation,[mbOk], 0);

form5.Memo1.Lines.Add(' Результати розрахунку додаткових параметрів');

form5.Memo1.Lines.Add(line);

B_Bzmin:=(bq*ti)/(kc*(ti-bp));

str(B_Bzmin:8:4,ed12);

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

form5.Memo1.Lines.Add(ed12);

form5.Memo1.Lines.Add(line);

bzser:=0.5*(bzmax+b_bzmin);

str(bzser:8:4,ed13);

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

form5.Memo1.Lines.Add(ed13);

form5.Memo1.Lines.Add(line);

form5.Memo1.Lines.Add(' Зубцеві коефіціенти');

form5.Memo1.Lines.Add(line);

kzmax:=ti/(bzmin*kc);

str(kzmax:8:4,ed14);

form5.Memo1.Lines.Add('Для максимального перерізу зубця');

form5.Memo1.Lines.Add(ed14);

form5.Memo1.Lines.Add(line);

kzmin:=(pi*(da-2*hz))/(bzmin*kc*z);

str(kzmin:8:4,ed15);

form5.Memo1.Lines.Add('Для мінімального перерізу зубця');

form5.Memo1.Lines.Add(ed15);

form5.Memo1.Lines.Add(line);

kzser:=0.5*(kzmax+kzmin);

str(kzser:8:4,ed16);

form5.Memo1.Lines.Add('Для середнього перерізу зубця');

form5.Memo1.Lines.Add(ed16);

form5.Memo1.Lines.Add(line);

form5.Memo1.Lines.Add(' Дані введені з графіка');

form5.Memo1.Lines.Add(line);

str(bzmax1:8:1,ed17);

str(kzmin1:8:1,ed18);

str(hzmax1:8:0,ed19);

str(bzmin2:8:1,ed20);

str(kzmax2:8:1,ed21);

str(hzmin2:8:0,ed22);

str(bzser1:8:1,ed23);

str(kzser1:8:1,ed24);

str(hzser1:8:0,ed25);

form5.Memo1.Lines.Add(' Напруженість поля в найменшому перерізі зубця');

form5.Memo1.Lines.Add('Bz max = '+ed17+' Тл ');

form5.Memo1.Lines.Add('kz min = '+ed18);

form5.Memo1.Lines.Add('Hz max = '+ed19+' А/см ');

form5.Memo1.Lines.Add(line);

form5.Memo1.Lines.Add(' Напруженість поля в максимальному перерізі зубця');

form5.Memo1.Lines.Add('Bz min = '+ed20+' Тл ');

form5.Memo1.Lines.Add('kz max = '+ed21);

form5.Memo1.Lines.Add('Hz min = '+ed22);

form5.Memo1.Lines.Add(line);

form5.Memo1.Lines.Add(' Напруженість поля в середньому перерізі зубця');

form5.Memo1.Lines.Add('Bz ser = '+ed23+' Тл ');

form5.Memo1.Lines.Add('kz ser = '+ed24);

form5.Memo1.Lines.Add('Hz ser = '+ed25+' А/см ');

form5.Memo1.Lines.Add(line);

end

else MessageDlg('Велечина Bz max < 1.8 Тл - Не розраховуються додаткові параметри Генератора.',

mtInformation,[mbOk], 0);

form5.Memo1.Lines.Add(' Продовження розрахунку основних параметрів');

form5.Memo1.Lines.Add(line);

h_z:=(hzmax1+4*ht+hzmin2)/6;

str(h_z:8:4,ed26);

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

form5.Memo1.Lines.Add(ed26);

form5.Memo1.Lines.Add(line);

f_z:=0.1*h_z*hz;

str(f_z:8:4,ed27);

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

form5.Memo1.Lines.Add(ed27);

form5.Memo1.Lines.Add(line);

ha:=(da/2)-(dval/2)-hz;

str(ha:8:4,ed28);

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

form5.Memo1.Lines.Add(ed28);

form5.Memo1.Lines.Add(line);

sa:=((la-nk*bk)*ha*kc);

str(sa:8:4,ed29);

form5.Memo1.Lines.Add('Площа перерізу спинки якоря - мм.квад');

form5.Memo1.Lines.Add(ed29);

form5.Memo1.Lines.Add(line);

ba:=F/(2*(sa*0.000001));

str(ba:8:4,ed30);

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

form5.Memo1.Lines.Add(ed30);

form5.Memo1.Lines.Add(line);

n_n_n:=2; a_a_a:=4;

f1:=roundto(f,a_a_a);

ba1:=roundto(ba,n_n_n);

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

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

H_a:=aa[ind2,ind1];

str(h_a:8:4,ed31);

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

form5.Memo1.Lines.Add(ed31);

form5.Memo1.Lines.Add(line);

l_a:=((pi)*(da-(2*hz)-ha))/p2;

str(l_a:8:4,ed32);

form5.Memo1.Lines.Add('Довжина середньої силової лінії в спинці якоря - мм');

form5.Memo1.Lines.Add(ed32);

form5.Memo1.Lines.Add(line);

f_a:=0.1*H_a*l_a;

str(f_a:8:4,ed33);

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

form5.Memo1.Lines.Add(ed33);

form5.Memo1.Lines.Add(line);

q:=(10*pov_zaz)/pol_dil;

str(q:8:4,ed34);

form5.Memo1.Lines.Add('Коефіцієнт розсіювання');

form5.Memo1.Lines.Add(ed34);

form5.Memo1.Lines.Add(line);

ft:=f*(1+q);

str(ft:8:4,ed35);

form5.Memo1.Lines.Add('Магнітний потік полюса - Вб');

form5.Memo1.Lines.Add(ed35);

form5.Memo1.Lines.Add(line);

st:=(bt*lt*kc);

str(st:8:4,ed36);

form5.Memo1.Lines.Add('Поперечний переріз сердечника полюса - мм.квад');

form5.Memo1.Lines.Add(ed36);

form5.Memo1.Lines.Add(line);

bm:=ft/(st*0.000001);

str(bm:8:4,ed37);

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

form5.Memo1.Lines.Add(ed37);

form5.Memo1.Lines.Add(line);

h_tt:=(0.5*(d_ja_vn-da))-pov_zaz;

str(h_tt:8:4,ed38);

form5.Memo1.Lines.Add('Висота сердечника полюса - мм');

form5.Memo1.Lines.Add(ed38);

form5.Memo1.Lines.Add(line);

ftt:=0.1*ht*h_tt;

str(ftt:8:4,ed39);

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

form5.Memo1.Lines.Add(ed39);

form5.Memo1.Lines.Add(line);

h_ja:=0.5*(d_ja_zovn-d_ja_vn);

str(h_ja:8:4,ed40);

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

form5.Memo1.Lines.Add(ed40);

form5.Memo1.Lines.Add(line);

sja:=(h_ja*lja);

str(sja:8:4,ed41);

form5.Memo1.Lines.Add('Поперечний переріз спинки станини - мм.квад');

form5.Memo1.Lines.Add(ed41);

form5.Memo1.Lines.Add(line);

bja:=ft/(2*(sja*0.000001));

str(bja:8:4,ed42);

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

form5.Memo1.Lines.Add(ed42);

form5.Memo1.Lines.Add(line);

l_ja:=((pi*(d_ja_zovn-d_ja_vn))/(4*p))+h_ja;

str(l_ja:8:4,ed43);

form5.Memo1.Lines.Add('Магнітне напруження станини - мм');

form5.Memo1.Lines.Add(ed43);

form5.Memo1.Lines.Add(line);

fja:=hja*l_ja;

str(fja:8:4,ed44);

form5.Memo1.Lines.Add('Магнітна індукція станини - А');

form5.Memo1.Lines.Add(ed44);

form5.Memo1.Lines.Add(line);

fbo:=(2*fq)+(2*f_z)+(2*ft)+f_a+fja;

str(fbo:8:4,ed45);

form5.Memo1.Lines.Add('МРС обмотки якоря збудження на пару полюсів в режимі');

form5.Memo1.Lines.Add('холостого ходу - А');

form5.Memo1.Lines.Add(ed45);

form5.Memo1.Lines.Add(line);

ku:=fbo/(2*fq);

str(ku:8:4,ed46);

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

form5.Memo1.Lines.Add(ed46);

form5.Memo1.Lines.Add(line);

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

end;

procedure TForm3.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.

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

unit Unit4;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls, jpeg;

type

TAboutBox = class(TForm)

Panel1: TPanel;

ProgramIcon: TImage;

OKButton: TButton;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Timer1: TTimer;

Label1: TLabel;

GroupBox1: TGroupBox;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

procedure OKButtonClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutBox: TAboutBox;

implementation

uses Unit1;

{$R *.dfm}

procedure TAboutBox.OKButtonClick(Sender: TObject);

begin

close;

form1.visible:=true;

end;

procedure TAboutBox.FormCreate(Sender: TObject);

begin

label5.Caption:='';

end;

procedure TAboutBox.Timer1Timer(Sender: TObject);

begin

label5.Caption:=timetostr(time)

end;

end.

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

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, Menus, Buttons, ExtCtrls;

type

TForm5 = class(TForm)

Memo1: TMemo;

GroupBox1: TGroupBox;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

Label1: TLabel;

Timer1: TTimer;

procedure FormCreate(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit4, Unit1, Unit3, Unit6;

{$R *.dfm}

procedure TForm5.FormCreate(Sender: TObject);

begin

memo1.Clear;

end;

procedure TForm5.N6Click(Sender: TObject);

begin

form1.close;

end;

procedure TForm5.N3Click(Sender: TObject);

begin

form3.show;

form5.Visible:=false;

end;

procedure TForm5.Timer1Timer(Sender: TObject);

begin

if label1.Visible=true then

label1.Visible:=false

else label1.Visible:=true;

end;

procedure TForm5.BitBtn1Click(Sender: TObject);

begin

form3.show;

form5.Visible:=false;

end;

procedure TForm5.BitBtn3Click(Sender: TObject);

begin

form1.Close;

end;

procedure TForm5.BitBtn2Click(Sender: TObject);

begin

form6.show;

form3.Visible:=false;

form5.Visible:=false;

end;

procedure TForm5.N4Click(Sender: TObject);

begin

form6.Show;

form3.Visible:=false;

form5.Visible:=false;

end;

end.

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

unit Unit6;

interface

uses

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

Dialogs, ExtCtrls, StdCtrls, Menus,comobj, Buttons;

type

TForm6 = class(TForm)

Panel1: TPanel;

Label1: TLabel;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

GroupBox1: TGroupBox;

Timer1: TTimer;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

procedure Timer1Timer(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Unit4, Unit1, Unit5, Unit3;

{$R *.dfm}

procedure TForm6.Timer1Timer(Sender: TObject);

begin

if label1.Visible=true then

label1.Visible:=false

else label1.Visible:=true;

end;

procedure TForm6.N5Click(Sender: TObject);

begin