Label43.Caption:='T3 = '+FloatToStrF(T3,ffFixed,10,5)+' сек';
label32.Caption:='tau1 = '+FloatToStrF(vars[8]*0.001,ffFixed,10,5)+' сек';
label33.Caption:='tau2 = '+FloatToStrF(vars[9]*0.001,ffFixed,10,5)+' сек';
Label53.Caption := '1/taus='+FloatToStrF(1/Ts,ffFixed,10,5)+' 1/сек';
Label54.Caption := '1/tau1='+FloatToStrF(1000/vars[8],ffFixed,10,5)+' 1/сек';
Label55.Caption := '1/tau2='+FloatToStrF(1000/vars[9],ffFixed,10,5)+' 1/сек';
Label56.Caption := '1/T1='+FloatToStrF(1/T1,ffFixed,10,5)+' 1/сек';
Label57.Caption := '1/T2='+FloatToStrF(1/T2,ffFixed,10,5)+' 1/сек';
Label58.Caption := '1/T3='+FloatToStrF(1/T3,ffFixed,10,5)+' 1/сек';
// Прокручиваем вверх поле изменения и ПФ
SendMessage(MmEvent.Handle, WM_VSCROLL, SB_TOP, 0);
// ПОСТРОЕНИЕ АССИМПТОТИЧЕСКОЙ ЛАХ РАЗОМКНУТОЙ СИСТЕМЫ
AssimRaspLax(KwUp,Ts,vars[8]*0.001,vars[9]*0.001);
// ПОСТРОЕНИЕ ПОЛЮСОВ.
DrawVerticals(T1,T2,T3,Ts);
// ПОСТРОЕНИЕ АССИМПТОТИЧЕСКОЙ ЖЕЛАЕМОЙ ЛАХ
AssimZLax(Kw,T1,T2,T3);
// ПОСТРОЕНИЕ ЗАПРЕТНОЙ ЗОНЫ ДЛЯ ЛАХ В ОБЛАСТИ НИЗКИХ ЧАСТОТ
LowDenyZone(Kw,T1);
// ПОСТРОЕНИЕ ИСХОДНЫХ ЛАХ И ЛФЧХ
LaxRazomkn(Kw,Ts,vars[8]*0.001,vars[9]*0.001);
// ПОСТРОЕНИЕ ЖЕЛАЕМЫХ ЛАХ И ЛФЧХ
LAXZhelaem(Kw,T1,T2,T3,vars[8]*0.001,vars[9]*0.001,State);
// ПОСТРОЕНИЕ ЛАХ КОРРЕКТИРУЮЩЕГО УСТРОЙСТВА
LaxKU(KwUp,Kw,T1,T2,T3,vars[8]*0.001,vars[9]*0.001,State);
// ВЫВОД ПЕРЕДАТОЧНЫХ ФУНКЦИЙ
WritePf(Kw,KwUp,Ts,vars[8]*0.001,vars[9]*0.001,T1,T2,T3,State);
SendMessage(MmPf.Handle, WM_VSCROLL, SB_TOP, 0); // Прокрутка вверх
// ПОСТРОЕНИЕ ТОЧНОЙ ЛАХ КОРРЕКТИРУЮЩЕГО УСТРОЙСТВА
AssimKULax(Kw,KwUp,Ts,vars[8]*0.001,vars[9]*0.001,T1,T2,T3,State);
DrawVerticalsKU(T1,T2,T3,Ts,vars[8]*0.001,vars[9]*0.001);
end;
// Выбор постоянной времени T3
function TForm1.TestT3: Byte;
const
s1 = 'Сопрягающая частота (1/T3) меньше частоты (1/tau1), поэтому желаемая ЛАХ имеет'+
' вид 1-2-1-2-3-4, корректирующее устройство будет физически реализуемо, и дополнительных изменений не требуется.';
s2 = 'Так как сопрягающая частота (1/T3) лежит в интервале частот [(1/tau1);(1/tau2)], необходимо уменьшить постоянную времени'+
' T3 в два раза, иначе желаема ЛФЧХ попадёт в запретную область, и коррекция будет невозможна. Постоянная времени T3 была уменьшена в 2 раза,'+
' корректирующее устройство физически реализуемо, ЛАХ имеет вид 1-2-1-3-4.';
s3 = 'Так как сопрягающая частота (1/T3) больше частоты (1/tau2), необходимо уменьшить постоянную времени'+
' T3 в три раза, иначе желаема ЛФЧХ попадёт в запретную область, и коррекция будет невозможна. Постоянная времени T3 была уменьшена в 3 раза,'+
' корректирующее устройство сложно физически реализовать, ЛАХ имеет вид 1-2-1-4.';
s4 = 'Для упрощения физической реализации корректирующего устройства можно изменить некоторые характеристики усилителя и исходной системы, так чтобы'+
' постоянная премени tau2, стала равной T3, тогда корректирующее устройство будет иметь более простой вид.';
s5 = 'При пересчёте постоянной времени T3 (уменьшении в 2 раза), сопрягающая частота (1/T3)попадает за частоту(1/tau2), следовательно необходимо'+
' ещё раз пересчитать постоянную времени T3, уменьшив её в три раза.';
var
W0 : Real;
begin
W0 := sqrt(Kw/T1); //!!! Вместо T1 было Ts ошибка в курсовых
T3 := sqrt(vars[7]*(vars[7]-1))/(W0*(vars[7]+1));
// T3 левее tau1
if (1/T3) < (1/(vars[8]*0.001)) then
begin
State := 1;
MmEvent.Lines.Add(s1);
end;
// T3 правее tau1 и левее tau2
if ((1/T3) >= (1/(vars[8]*0.001))) and ((1/T3) < (1/(vars[9]*0.001)) ) then
begin
T3 := sqrt(vars[7]*(vars[7]-1))/(2*W0*(vars[7]+1));
if (1/T3) < (1/(vars[9]*0.001)) then
begin // после пересчёта тот же случай
State := 2;
MmEvent.Lines.Add(s2);
MmEvent.Lines.Add('(1/T3) = '+FloatToStrF((1/T3), ffFixed, 6,3)+'.');
end
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.