Создание обучающей системы автоматизированного проектирования маломощных электромеханических следящих систем, страница 47

      vars[7]:=StrToFloat(Edit7.Text);

      vars[8]:=StrToFloat(Edit8.Text);

      vars[9]:=StrToFloat(Edit9.Text);

      vars[10]:=StrToFloat(Edit10.Text);

    except {В случае если не удаётся - показываем сообщение}

      begin

        Application.MessageBox('Проверьте правильность введённых данных','Ошибка начальных данных',MB_OK or MB_ICONERROR);

        exit;

      end;

    end;

    {Проверка на допустимый интервал значений}

    if (vars[1]<=0) or (vars[1]>1)   then begin Application.MessageBox('Значение статического момента выходит за границы интервала (0;1)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[2]<=0) or (vars[2]>1)   then begin Application.MessageBox('Значение момента инерции выходит за границы интервала (0;1)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[3]<=0) or (vars[3]>180) then begin Application.MessageBox('Значение угловой скорости выходит за границы интервала (0;10)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[4]<=0) or (vars[4]>180)  then begin Application.MessageBox('Значение углового ускорения выходит за границы интервала (0;10)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[5]<=0) or (vars[5]>100) then begin Application.MessageBox('Значение динамической ошибки выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[6]<=0) or (vars[6]>100) then begin Application.MessageBox('Значение статической ошибки выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[7]<=0) or (vars[7]>10)  then begin Application.MessageBox('Значение колебательности выходит за границы интервала (0;10)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[8]<=0) or (vars[8]>100) then begin Application.MessageBox('Значение параметра T1 выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    if (vars[9]<=0) or (vars[9]>100) then begin Application.MessageBox('Значение параметра T2 выходит за границы интервала (0;100)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

if (vars[10]<=0) or(vars[10]>1)  then begin Application.MessageBox('Значение к.п. выходит за границы интервала (0;1)','Ошибка',MB_OK or MB_ICONERROR); exit; end;

    // Перевод в радианы

    vars[3] := vars[3]*pi/180;

    vars[4] := vars[4]*pi/180;

    //Расчёт мощности двигателя

power := 9.81*(((vars[2]*vars[4])+vars[1])/vars[10])*vars[3];

    Label18.Caption:='Мощность двигателя:      '+FloatToStrF(power,ffFixed,5,4)+' Вт.';

    // Выводим информацию и рассчитанные значения

    mmStart.Clear;

    mmStart.Lines.Add('Угловая скорость и угловое ускорение были переведены в радианы для дальнейшего'+

      ' расчёта потребляемой мощности исполнительного двигателя двигателя:');

    mmStart.Lines.Add('угловая скорость = '+FloatToStrF(vars[3],ffGeneral,5,4)+' рад/c; угловое ускорение = '+FloatToStrF(vars[4],ffGeneral,5,4)+' рад/(c^2).');

    mmStart.Lines.Add('Потребляема мощность рассчитанна по формуле Pдв = 9.81*(Jм*Eм + Мст)*Wм/КПД, Pдв = '+FloatToStrF(power,ffFixed,5,4)+' Вт.');

    mmStart.Lines.Add('Чтобы перейти в раздел выбора двигателя нажмите кнопку "Дальше >>".');

    Button1.Caption := 'Дальше >>' // Меняем заголовок кнопки

end //  if Button1.Caption := 'Начать рассчёт' then

  else if Button1.Caption = 'Дальше >>' then

  begin

    // Первый тест

    if test_res[1].right<5 then

    begin

      Form1.Enabled:=false;

      Form2.SetTest(1);

      Form2.Show;

    end // if test_res[1].right<5 then

    else begin

      //Открываем таблицу и рассчитываем поля по перегреву и перегрузке.

      OpenDatabase();

      PageControl1.ActivePageIndex:=1; // Показываем следующую страницу

      // Заполняем mmBase

      mmBase.Clear;

      mmBase.Lines.Add('После расчёта мощности исполнительного двигателя и предварительного'+