{***************************************************************************************************************
* ПРОГРАММА "РАСЧЁТ ОСНОВНЫХ РАЗМЕРОВ ТРЁХФАЗНОГО ТРАНСФОРМАТОРА"    *
*                                        (исходный файл TransPas.pas)                                                   *
* Программа реализует методику расчёта основных размеров трёхфазного                         *
* трансформатора, изложенную в книге П.М. Тихомирова, Расчёт трансформаторов,1986 г.  *
*                                                                                                                                         *
* Программа позволяет осуществить расчёт основных размеров трансформаторов              *
* со следующими признаками:                                                                                            *
* 1) конструкция магнитопровода - плоский шихтованный,                                                    *
*                                                 - пространственный витой,                                                *
*                                                 - пространственный стыковой';                                          *
* 2) материал магнитопровода - сталь горячекатаная,                                                          *
*                                             - сталь холоднокатаная;                                                        * 
* 3) количество обмоток на фазу - двухобмоточный,                                                             *
*                                                - трёхобмоточный;                                                              *
* 4) металл обмоток - медь,                                                                                                 *
*                             - алюминий;                                                                                          *
* 5) охлаждение - масляное,                                                                                                *
*                        - естественное воздушное.                                                                        *
*                                                                                                                                         *
* Исходные данные, размещаемые в файле ввода TransInp.txt (см. с. 39):                          *
*                           -  6 заданных величин,                                                                           *
*                           - 10 выбранных физических величин,                                                      *
*                           - 26 выбранных коэффициентов.                                                             *
* Кроме того в программе представлены в виде констант значения ещё 5 коэффициентов.  *
* Результаты расчёта помещаются в файл вывода TransOut.txt                 .           *
* Программу составил проф. Е.И. Забудский, январь 1982 г. (.for), август 1992 г. (.pas)   *
**************************************************************************************************************}
type vector10 = array[1..10] of real;
type vector2 = array[1..2] of real;
var Ks,Kr,Ker,Kdr,Kds1,Kds2,Kds3,Kmal,
Kdnm1,Kdnm2,Kdnm3,Kdnm4,Kos,Kug,Lo,NN,Kkz,M,Kpzk,Kpzp,
Kxg,Nzp,Nzk, Ss, Pk, F, Uk, Ua, Ur, a12, a22, Bs, Pus,Puer,
Qus,Quer,Quzp,Quzk, E, B, Amal, S, Ber,Ob,
Ar, A, A1, A2, B1, B2, C1: real;
Kmn,K,Kir,Ko: vector2;
x,x2,x3,Gs,Ger,Gst,Ps ,
Per,Pst,Gug,Plzk,Plzp,Q,Go,Co ,
Cakt,PLtok,Sigma,d,d12,l,Beta,Gip ,
C,Pug,Qs,Qer,Qug,Qz,Io: vector10;
L1 : integer;
fi,fo1,fo2 : text;
begin
assign(fi,'c:\progr\TransInp.txt'); reset(fi);
assign(fo1,'c:\progr\TransOut.txt'); rewrite(fo1);
assign(fo2,'c:\progr\TransGr.dat'); rewrite(fo2);
BETA[1]:= 0.85; BETA[2]:= 1.2; BETA[3]:= 1.55; BETA[4]:= 1.804;
BETA[5]:= 2.25; BETA[6]:= 2.6; BETA[7]:= 2.95; BETA[8]:= 3.3;
BETA[9]:= 3.65; BETA[10]:= 4.0;
KMN[1]:= 0.00001519; KMN[2]:= 0.00002453;
K[1]:= 12.75; K[2]:= 2.4;
KIR[1]:= 1.13; KIR[2]:= 1.06;
KO[1]:= 301000.0; KO[2]:= 616000.0;
KR:= 0.95;

{ Ввод исходных данных}
READ(fi, SS,PK,F,UK,UR,UA,LO, A12,A22,BS,PUS,PUER, QUS,QUER,
QUZP,QUZK,L1,KS,KER,KDR,KDS1, KDS2,KDS3,KDNM1,KDNM2,KDNM3,KDNM4,KMAL,
E,KOS,KUG,B,AMAL,NN,KXG, KPZK,KPZP,NZP,NZK,S,BER,OB);
{* Расчёт вспомогательных величин }
AR:=A12+KMAL*(SQRT(SQRT(SS)));
A:=16*(SQRT(SQRT((SS*AR*KR)/(F*UR*(BS*BS)*(KS*KS)))));
A1:=KXG*0.0566*(A*A*A)*AMAL*KS;
A2:=KXG*0.036*(A*A)*LO*KS;
B1:=KXG*BER*KS*KER*(A*A*A)*(AMAL+B+E)*0.01;
B2:=KXG*BER*KS*KER*(A*A)*(A12+A22)*0.01;
C1:=KO[L1]*3*(SS*(AMAL*AMAL))/(KDR*(KS*KS)*(BS*BS)*(F*F)*(A*A)*UA);
KKZ:=(141/UK)*(1+(EXP(-3.14*(UA/UR))));
M:=(KMN[L1]*(KKZ*KKZ)*KDR*KR*PK)/(AMAL*A);
{* Расчёт данных для выбора коэффициента Beta }
for I:integer:=1 to 10 do begin
X[I]:=SQRT(SQRT(BETA[I]));
X2[I]:=X[I]*X[I];
X3[I]:=X[I]*X[I]*X[I];
GS[I]:=A1/X[I]+A2*X2[I];
GER[I]:=B1*X3[I]+B2*X2[I];
GUG[I]:=KUG*KS*KER*(A*A*A)*(X3[I])*0.01;
GST[I]:=GS[I]+GER[I];
PS[I]:=exp(NN*Ln(F/50))*(KDS1*PUS*GS[I]);
PER[I]:=exp(NN*Ln(F/50))*(KDS2*PUER*GER[I]);
PUG[I]:=exp(NN*Ln(F/50))*(KDS3*GUG[I]);
PST[I]:=PS[I]+PER[I]+PUG[I];
PLZP[I]:=KPZP*KS*(A*A)*X2[I];
PLZK[I]:=KPZK*KS*(A*A)*X2[I];
QS[I]:=(F/50)*KDNM1*QUS*GS[I];
QER[I]:=(F/50)*KDNM2*QUER*GER[I];
QUG[I]:=(F/50)*KDNM3*GUG[I];
QZ[I]:=(F/50)*KDNM4*(QUZP*NZP*PLZP[I]+QUZK*NZK*PLZK[I]);
Q[I]:=QS[I]+QER[I]+QUG[I]+QZ[I];
IO[I]:=Q[I]/(30*SS);
GO[I]:=C1/X2[I];
GIP[I]:=KIR[L1]*GO[I];
CO[I]:=KOS*GIP[I];
CAKT[I]:=GST[I]+CO[I];
PLTOK[I]:=SQRT((KDR*PK)/(K[L1]*GO[I]));
SIGMA[I]:=M*X3[I];
D[I]:=A*X[I];
D12[I]:=AMAL*D[I];
L[I]:=3.14*D12[I]/BETA[I];
C[I]:=D12[I]+B*D[I]+A12+A22
end;
{* Печать исходных величин и признаков трансформатора} 
WRITEln(fo1, '--------------Расчёт основных размеров трёхфазного трансформатора.--------------'); 
WRITEln(fo1,'--------------ИСХОДНЫЕ (ЗАДАННЫЕ) ВЕЛИЧИНЫ:--------------'); 
WRITEln(fo1,' Мощность на стержень                               Ss = ',SS:10:4,' кВ.A');
WRITEln(fo1,' Потери короткого замыкания                       Pk = ',PK:10:4,' Вт');
WRITEln(fo1,' Частота напряжения                                       f = ', F:10:4,' Гц');
WRITEln(fo1,' Напряжение короткого замыкания               Uk = ',UK:10:4,' %');
WRITEln(fo1,' Активная составляющая напряжения к.з.    Ua = ',UA:10:4,' %');
WRITEln(fo1,' Реактивная составляющая напряжения к.з.  Ur = ',UR:10:4,' %');
WRITEln(fo1,'--------------ПРИЗНАКИ РАССЧИТЫВАЕМОГО ТРАНСФОРМАТОРА:----------------'); 
IF BER < 2.55 then WRITEln(fo1,' Конструкция магнитопровода - плоский шихтованный')
else if BER > 2.55 then WRITEln(fo1,' Конструкция магнитопровода - пространственный стыковой')
else WRITEln(fo1,' Конструкция магнитопровода - пространственный витой');
IF KXG = 1 then WRITEln(fo1,' Материал магнитопровода     - сталь холоднокатаная')
else WRITEln(fo1,' Материал магнитопровода                       - сталь горячекатана');
IF OB = 2.0 then WRITEln(fo1,' Число обмоток на фазу          - двухобмоточный')
else WRITEln(fo1,' Число обмоток на фазу                           - трёхобмоточный');
IF L1 = 1 then WRITEln(fo1,' Металл обмоток                       - алюминий')
else WRITEln(fo1,' Металл обмоток                    - медь');
IF S = 1 then WRITEln(fo1,' Охлаждение                           - масляное')
else WRITEln(fo1,' Охлаждение                                        - естественное воздушное');
{* Печать выбранных коэффициентов} 
WRITEln(fo1,'--------------ВЫБРАННЫЕ КОЭФФИЦИЕНТЫ:--------------'); 
WRITEln(fo1,' L1       =',L1:2,'        Ks   =',KS:6:3,'  Ker     =',KER:6:3,'  Kdr     =',KDR:6:3,'  Kds1   = ',KDS1:6:3);
WRITEln(fo1,' Kds2   =',KDS2:6:3,'  Kds3=',KDS3:6:3,'  Kdnm1=',KDNM1:6:3,'  Kdnm2=',KDNM2:6:3,'  Kdnm3= ',KDNM3:6:3);
WRITEln(fo1,' Kdmn4=',KDNM4:6:3,'  Kmal=',KMAL:6:3,'  E        =',E:6:3,'  Kos     =',KOS:6:3,'  Kug     = ',KUG:6:3);
WRITEln(fo1,' b        =',B:6:3,'    Amal=',AMAL:6:3,' NN     =',NN:6:3,'  Kxg     =',KXG:6:3,'  Kpzk   = ',KPZK:6:3);
WRITEln(fo1,' Kpzp  =',KPZP:6:3,'    Nzp =',NZP:6:3,'  Nzk    =',NZK:6:3,'  s          =',S:6:3,'  Ber     = ',BER:6:3);
WRITEln(fo1,' ob      =',OB:6:3);
{* Печать выбранных физических величин }
WRITEln(fo1,'--------------ВЫБРАННЫЕ ФИЗИЧЕСКИЕ ВЕЛИЧИНЫ:--------------'); 
WRITEln(fo1,' l0    =  ',Lo:6:3,' см ','          a12 = ',A12:6:3,' см ','       a22 =',A22:6:3,' см ');
WRITEln(fo1,' Qus =  ',QUS:6:3,' В.A/кг ','   Quer=',QUER:6:3,' В.A/кг '); 
WRITEln(fo1,' Quzp= ',QUZP:6:3,' В.A/см2 ',' Quzk=',QUZK:6:3,' В.A/см2 ');
{* Печать рассчитанных вспомогат-х величин }
WRITEln(fo1,'--------------РАССЧИТАННЫЁ ВСПОМОГАТЕЛЬНЫЕ ВЕЛИЧИНЫ:---------------'); 
WRITEln(fo1,'  ar=   ',AR:6:3,' см');
WRITEln(fo1,'  A =   ',A:6:3,' см');
WRITEln(fo1,' A1=  ',A1:6:3,' кг ','   A2= ',A2:6:3,' кг ');
WRITEln(fo1,' B1=  ',B1:6:3,' кг ','   B2= ',B2:6:3,' кг ');
WRITEln(fo1,' C1=  ',C1:6:3,' кг ');
WRITEln(fo1,' Kkz= ',KKZ:6:3,' д./e.','  M = ',M:6:3,' MПa');
{* Печать таблицы  результатов предварительного расчёта трансформатора}
WRITEln(fo1,'--------------РЕЗУЛЬТАТЫ РАСЧЁТА ОСНОВНЫХ РАЗМЕРОВ ТРАНСФОРМАТОРА:-------------'); 
{* Печать строки результатов }
WRITEln(fo1,' 2.1. Коэффициент Beta[I]'); WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,'  ',beta[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.2. Значение x[j]'); WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,'  ',X[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.3. Значение x2[j]'); WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,'  ',X2[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.4. Значение x3[j]'); WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,'  ',X3[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.5. Macca стали стержней, Gs[j], кг ');
for j:integer:=1 to 9 do WRITE(fo1,' ',GS[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.6. Macca стали ярм, Ger[j], кг ');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,' ',GER[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.7. Macca стали магнитопровода, Gst[j], кг');
for j:integer:=1 to 9 do WRITE(fo1,'',Gst[j]:7:2,'  '); WRITEln(fo1);
WRITEln(fo1,' 2.8. Macca стали угла магнитопровода, Gug[j], кг ');WRITE(fo1,'   ');
for j:integer:=1 to 9 do WRITE(fo1,' ',Gug[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.9. Потери в стали стержней, Ps[j], Вт');
for j:integer:=1 to 9 do WRITE(fo1,' ',Ps[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.10. Потери в стали ярм, Per[j], Вт');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,' ',Per[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.11. Потери в стали углов магнитопровода, Pug[j], кг ');WRITE(fo1,'   ');
for j:integer:=1 to 9 do WRITE(fo1,' ',Pug[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.12.Потери холостого хода, Pst[j], Вт ');
for j:integer:=1 to 9 do WRITE(fo1,' ',Pst[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.13.Площадь зазора для прямого стыка, Plzp[j], см2');
for j:integer:=1 to 9 do WRITE(fo1,' ',Plzp[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.14. Площадь зазора для косого стыка, Plzk[j], см2');
for j:integer:=1 to 9 do WRITE(fo1,' ',PLZK[j]:7:3,' '); WRITEln(fo1);
WRITEln(fo1,' 2.15. Намагничивающая мощность для стержней,Qs[j], В.A');
for j:integer:=1 to 9 do WRITE(fo1,' ',QS[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.16. Намагничивающая мощность для ярм, Qer[j], В.A');
for j:integer:=1 to 9 do WRITE(fo1,' ',QER[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.17. Намагничивающая мощность для углов, Qug[j], В.A');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,' ',QUG[j]:7:1,' '); WRITEln(fo1);
WRITEln(fo1,' 2.18. Намагничивающая мощность для зазоров,Qz[j], В.A');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,' ',QZ[j]:7:1,' '); WRITEln(fo1);
WRITEln(fo1,' 2.19. Намагничивающая мощность холостого хода, Qx[j], В.A');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,' ',Q[j]:7:0,' '); WRITEln(fo1);
WRITEln(fo1,' 2.20. Ток холостого хода, I([j], %');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,' ',IO[j]:7:4,' '); WRITEln(fo1);
WRITEln(fo1,' 2.21. Macca металла обмоток, Go[j],кг');
for j:integer:=1 to 9 do WRITE(fo1,'  ',GO[j]:7:1,' '); WRITEln(fo1);
WRITEln(fo1,' 2.22. Macca изолиров-го провода обмоток,Gip[j], кг');WRITE(fo1,'    ');
for j:integer:=1 to 9 do WRITE(fo1,' ',GIP[j]:7:3,''); WRITEln(fo1);
WRITEln(fo1,' 2.23. Стоимость обмоточного провода, Co[j], усл.ед.');
for j:integer:=1 to 9 do WRITE(fo1,' ',CO[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.24. Стоимость активной части, Cakt[j], усл.ед.');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,' ',CAKT[j]:7:1,' '); WRITEln(fo1);
WRITEln(fo1,' 2.25.Плотность тока в обмотках J[j], A/мм2');WRITE(fo1,'  ');
for j:integer:=1 to 9 do WRITE(fo1,'  ',PLTOK[j]:8:2,''); WRITEln(fo1);
WRITEln(fo1,' 2.26. Mexaн-е растягив-е напряжение в проводе,Sigma[j], MПa');
for j:integer:=1 to 9 do WRITE(fo1,'  ',Sigma[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.27. Диаметр стержня магнитопровода, d[j], см');
for j:integer:=1 to 9 do WRITE(fo1,'  ',D[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.28. Диаметр осевого канала между обмотками, d12[j], см');
for j:integer:=1 to 9 do WRITE(fo1,'  ',D12[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.29. Высота обмоток, l[j], см');
for j:integer:=1 to 9 do WRITE(fo1,'  ',L[j]:7:2,' '); WRITEln(fo1);
WRITEln(fo1,' 2.30. Расстояние между осями соседних стержней, C[j], см');
for j:integer:=1 to 9 do WRITE(fo1,'  ',C[j]:7:2,' '); WRITEln(fo1);
{Формирование файла TransGr.dat для постороения графика}
for j:integer:=1 to 9 do begin WRITEln(fo2); WRITE(fo2,' ',beta[j]:7:3,' ',Cakt[j]:7:3,'',Pst[j]:7:3,' ',Io[j]:7:3,' ', PLtok[j]:7:3,' ',Sigma[j]:7:3)
end;
{Методические указания студенту-расчётчику} 
WRITEln(fo1,'--------------МЕТОДИЧЕСКИЕ УКАЗАНИЯ РАСЧЁТЧИКУ:-------------');
WRITEln(fo1,' /Даны ссылки на книгу П.М. Тихомирова, Расчёт трансформаторов,1986 г./');
WRITEln(fo1,' На основе анализа данной таблицы результатов расчёта основных размеров');
WRITEln(fo1,'                                трансформатора необходимо:');
WRITEln(fo1,' 1. Выбрать значение коэффициента Beta, соответствующее минимуму');
WRITEln(fo1,'     стоимости активной части Cakt трансформатора               (см. строку 2.24);');
{WRITEln(fo1);}
WRITEln(fo1,' 2. Проверить соответствуют ли выбранному значению коэффициента Beta:'); 
WRITEln(fo1,'    2.1.Заданное значение потерь холостого хода                       (см. строку 2.12) (см. с. 384),');
WRITEln(fo1,'    2.2. Заданное значение тока холостого хода                         (см. строку 2.20) (см. с. 398),');
WRITEln(fo1,'    2.3. Рекомендованное значение плотности тока в обмотках (см. строку 2.25) (см. табл.5.7 на с. 257),');
WRITEln(fo1,'    2.4. Допустимое механическое напряжение в проводе          (см. строку 2.26) (см. с. 340);'); 
WRITEln(fo1,' 3. При соблюдении условий, указанных в пунктах 1 и 2, следует продолжить');
WRITEln(fo1,'     расчёт трансформатора далее согласно книге профессора П.М. Тихомирова;'); 
WRITEln(fo1,' 4. При несоблюении условий, указанных в пунктах 1 и 2, следует:'); 
WRITEln(fo1,'    4.1. Ввести соотвествующие коррективы (см. главу 11) в выполненный расчёт ');
WRITEln(fo1,'           основных размеров трансформатора,');
WRITEln(fo1,'    4.2. В соответствии с введёнными коррективами произвести изменения в исходных данных, ');
WRITEln(fo1,'    4.3. Запустить программу на счёт с измененными исходными данными');
WRITEln(fo1,'         для выполнения ещё раз основных размеров трансформатора на ПК.');
close(fi); close(fo1); close(fo2)
END.