# Правила настройки ПИД регулятора

#### Отклик на возмущение процесса с использованием метода Циглера-Николса.

 In[1]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "ZieglerNichols"}, "DisturbanceOutput"]
 Out[1]=
 In[2]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "ZieglerNichols"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[2]=

#### Использование метода Каппа-Тау.

 In[3]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "KappaTau"}, "DisturbanceOutput"]
 Out[3]=
 In[4]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "KappaTau"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[4]=

#### Использование метода AMIGO (приблизительная оптимизация коэффициента передачи интегрального регулятора при -связях).

 In[5]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "AMIGO"}, "DisturbanceOutput"]
 Out[5]=
 In[6]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "AMIGO"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[6]=

#### Использование метода Чьена-Хронеса-Резвика.

 In[7]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "ChienHronesReswick"}, "DisturbanceOutput"]
 Out[7]=
 In[8]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "ChienHronesReswick"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[8]=

#### Использование метода Коэна-Куна.

 In[9]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "CohenCoon"}, "DisturbanceOutput"]
 Out[9]=
 In[10]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "CohenCoon"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[10]=

#### Использование метода Лямбда (управления внутренней моделью).

 In[11]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "LambdaTuning"}, "DisturbanceOutput"]
 Out[11]=
 In[12]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "LambdaTuning"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[12]=

#### Использование правила Скогестада (SIMC).

 In[13]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "SkogestadIMC"}, "DisturbanceOutput"]
 Out[13]=
 In[14]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "SkogestadIMC"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[14]=

#### Использование метода Тиреуса-Луибена.

 In[15]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "TyreusLuyben"}, "DisturbanceOutput"]
 Out[15]=
 In[16]:= XPIDTune[TransferFunctionModel[Unevaluated[{{1.0/(s + 1)^3}}], s, SamplingPeriod ->None, SystemsModelLabels -> None], {Automatic, "TyreusLuyben"}, "DisturbanceOutput"]; Plot[Evaluate@{OutputResponse[%, UnitStep[t - 5], {t, 0, 50}], UnitStep[t - 5]}, {t, 0, 50}, PlotRange -> All, Exclusions -> None]
 Out[16]=