випрямляча. Як додаток до програми створена довідкова система для кращого освоєння програми.
За допомогою цієї програми можна аналізувати від яких параметрів, і в якій мірі залежить шукана величина. За допомогою програми зроблений розрахунок контрольного прикладу, в якому використані конкретні дані трансформатора.
ДОДАТКИ
Додаток 1
Таблиця П.1-Зведені дані за розрахунковими параметрами
ПеременнаяОбозначеніе в формулеДіапазон ізмененіяПрімечаніяРеактівное сопротівленіеX0,6 ... 1,5Варьіруемая велічінаЕффектівное значення ЕДСЕ0,15 ... 2,6Варьіруемая велічінаотношеніе ефективного струму вторинної обмотки трансформатора до середнього значення випрямленої току k 0,2 Постійна велічінакоеффіціент, що враховує вплив омічного падіння напруги в колі змінного струму на середнє випрямлена напруга? 0,24 Постійна велічінавелічіна випрямленого струму 0,75Постоянная велічінаотношеніе коефіцієнта трансформації на даному ступені регулювання до найменшого коефіцієнту трансформації, при якому виходить номінальна електродвіжующая сила холостого ходу вторинної обмотки трансформатора. 0,33 Постійна величина Додаток 2
Додаток 2 містить повний текст програми.
ФОРМА 1Unit1 ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, Menus, ExtCtrls, ComCtrls, XPMan, StdCtrls, Buttons, Unit2, shellapi;=class (TForm): TStatusBar ;: TMainMenu ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TXPManifest ;: TPopupMenu ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TGroupBox ;: TGroupBox ;: TGroupBox ;: TGroupBox ;: TBitBtn ;: TBitBtn ;: TBitBtn ;: TBitBtn ;: TLabeledEdit ;: TLabeledEdit ;: TLabeledEdit ;: TLabeledEdit ;: TLabeledEdit ;: TLabeledEdit ;: TLabeledEdit;:TLabeledEdit ;: TUpDown ;: TUpDown ;: TOpenDialog ;: TSaveDialog ;: TLabeledEdit ;: TLabeledEdit; FormCreate (Sender: TObject); ShowHint (Sender: TObject); Exit (Sender: TObject); ExecCalc (Sender: TObject); Calculate (Sender: TObject); leFloatKeyPress (Sender: TObject; var Key: Char); leIntKeyPress (Sender: TObject; var Key: Char); leIntKeyUp (Sender: TObject; var Key: Word ;: TShiftState); ShowAboutProgram (Sender: TObject ); N4Click (Sender: TObject); N5Click (Sender: TObject); FormCloseQuery (Sender: TObject; var CanClose: Boolean); LoadDataFile (FileName: TFileName); SaveDataFile (FileName: TFileName); bbHelpClick (Sender: TObject); N10Click (Sender: TObject);
{Private declarations}
{Public declarations} ;: TFMain ;, MvSteps: Integer ;, Xmin, Xmax, dX, Emin, Emax, dE, _k, _Id, _Em: Real; Unit3, Unit4; Formula (k0, X, E, _k, i, _Em: Real): Real; stdcall; Dll FormulaDLL.dll index 1
{$ R * .dfm} TFMain.LoadDataFile (FileName: TFileName) ;: string ;: TextFile; FileExists (FileName) then (TempFile, FileName); (TempFile); (TempFile, TempStr) ; .Text:=TempStr; (TempFile, TempStr) ;. Text:=TempStr; (TempFile, TempStr) ;. Position:=StrToInt (TempStr); (TempFile, TempStr) ;. Text:=TempStr; (TempFile, TempStr ) ;. Text:=TempStr; (TempFile, TempStr) ;. Position:=StrToInt (TempStr); (TempFile, TempStr) ;. Text:=TempStr; (TempFile, TempStr) ;. Text:=TempStr; (TempFile, TempStr) ;. Text:=TempStr; (TempFile, TempStr) ;. Text:=TempStr; (TempFile) ;;;; TFMain.SaveDataFile (FileName: TFileName) ;: TextFile; (TempFile, FileName); (TempFile); (TempFile, LabeledEdit1.Text); (TempFile, LabeledEdit2.Text); (TempFile, LabeledEdit3.Text); (TempFile, LabeledEdit4.Text); (TempFile, LabeledEdit5.Text); (TempFile, LabeledEdit6.Text); (TempFile , LabeledEdit7.Text); (TempFile, LabeledEdit8.Text); (TempFile, LabeledEdit9.Text); (TempFile, LabeledEdit10.Text); (TempFile) ;;; TFMain.ShowHint (Sender: TObject) ;. SimpleText:=Application.Hint; TFMain.Exit (Sender: TObject); ( Data.txt ) ;; TFMain.ExecCalc (Sender: TObject); ( Calc.exe raquo ;, SW_NORMAL); GetData: Boolean ;: TLabeledEdit; FMain do:=True;:=LabeledEdit1;:=StrToFloat (LabeledEdit1.Text);:=LabeledEdit2;:=StrToFloat (LabeledEdit2.Text);:=LabeledEdit4;:=StrToFloat (LabeledEdit4.Text);:=LabeledEdit5;:= StrToFloat (LabeledEdit5.Text);:=LabeledEdit7;
_ k:=StrToFloat (LabeledEdit7.Text);:=LabeledEdit8;
_ Em:=StrToFloat (LabeledEdit8.Text);:=LabeledEdit9;
_ Id:=StrToFloat (LabeledEdit9.Text);:=LabeledEdit10;:=StrToFloat (LabeledEdit10.Text);:=LabeledEdit3;:=StrToInt (LabeledEdit3.Text);:=(Xmax - Xmin )/(MsSteps - 1);:=LabeledEdit6;:=StrToInt (LabeledEdit6.Text);:=(Emax - Emin)/(MvSteps - 1); (Xmin lt; 0.3) or (Xmax lt; 0.3) then ( Значення реактивного опору повинно бути не менше 0,3 Ом ,
mtWarning, [mbOK], 0);:=False ;; (Xmax gt...