![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Программы для выполнения контрольной работы на персональной ЭВМ
Программа 1 Программа предназначена для расчета электромеханических w=f(Iя) характеристик двигателя постоянного тока независимого возбуждения. Варьируемые параметры: номинальный ток Iн, номинальное напряжение Uн, номинальная скорость вращения nн, сопротивление якорной цепи Rяц. Графики электромеханических характеристик строятся программно с цифровыми обозначениями. Расчетная область токов от (-Iном) до (+Iном) для конкретного двигателя с фиксированным шагом DI изменения тока Iя, чтобы получить (4¸ 5) значений расчетных точек w=f(Iя). Шаг DI рекомендуется выбирать с таким расчетом, чтобы крайними точками являлись токи от -Iном до +Iном. Программа выполнена на языке BORLAND PASCAL.
Program DPT; Uses Crt, Graph; Type tArr=array[0..10, 0..1] of real; Const p=2; {Число пар полюсов} Pn=3.2E+3; {Мощность} Rpar=285; N=720; {Число активных проводников якоря} a=1; {Число параллельных ветвей якоря} Wpar=3600; {Число витков полюса параллельной обмотки} Var Riac, w1, kfc, shag, k, Rdob, I1, Ic, w, CeF, I: real; number, m, Un: integer; koefx, koefy: real; ymax, xmax: integer; x, y: integer; Gd, Gm: Integer; OldX, OldY, NewX, NewY: Integer; Справочные данные двигателей постоянного тока продолжительного режима работы
Mas: tArr; { Процедура создания сетки и осей координат } Procedure Fon; Begin SetColor(Red); Line(0+Round(GetMaxX/2), 0, 0+Round(GetMaxX/2), GetMaxY); Line(0, Round(GetMaxY/2), GetMaxX, Round(GetMaxY/2)); SetColor(1); OutTextXY(GetMaxX-40, Round(GetMaxY/2-20), 'M'); OutTextXY(0+Round(GetMaxX/2), 0+20, 'N') End; { Процедура построения графика } Procedure Graphic(Mas: tArr); Var S: string; Begin x: =0; Gd: = Detect; InitGraph(Gd, Gm, ''); if GraphResult < > grOk then Halt(1) Else Begin Fon; koefy: =GetMaxY/3/ymax; koefx: =GetMaxX/3/xmax; SetColor(Blue); For m: =0 to number do Begin y: =round(koefy*Mas[m, 1]); x: =round(koefx*Mas[m, 0]); NewX: =x+320{Round(GetMaxX/2)}; NewY: ={Round(GetMaxY/2)}240-y; If m=0 then Begin OldX: =NewX; OldY: =NewY; End; SetLineStyle(0, 1, 3); Line(OldX, OldY, NewX, NewY); SetLineStyle(0, 1, 1); SetColor(Green); Ellipse(NewX, NewY, 0, 360, 5, 5); SetLineStyle(1, 1, 1); Line(NewX, NewY, NewX, Round((GetMaxY+1)/2)); Line(NewX, NewY, Round((GetMaxX+1)/2), NewY); SetLineStyle(0, 1, 1); SetColor(Blue); MoveTo(NewX, (Round((GetMaxY+1)/2)+2)); Str(Mas[m, 0]: 1: 1, s); OutText(s); MoveTo((Round((GetMaxX+1)/2)+2), NewY); Str(Mas[m, 1]: 1: 1, s); OutText(s); OldX: =NewX; OldY: =NewY; End; End; Readln;
|