Main Content

PID Controller 블록을 사용한 안티와인드업 제어

이 예제에서는 액추에이터가 포화되었을 때 PID 제어기의 적분 와인드업을 방지하기 위해 안티와인드업 기법을 사용하는 방법을 보여줍니다. Simulink®의 PID Controller 블록에는 두 개의 내장 안티와인드업 방법인 back-calculationclamping이 포함되어 있으며 더 복잡한 산업 시나리오를 처리할 수 있는 추종 모드도 제공합니다. PID Controller 블록은 산업 시나리오에서 흔히 발생하는 제어기 와인드업 문제를 처리할 수 있는 여러 기능을 지원합니다.

제어할 플랜트는 불감 시간을 갖는 포화되는 1차 공정입니다.

이 PID Controller 블록은 Simulink® Control Design™의 PID 조정기로 포화를 무시하는 설정을 사용하여 조정되었습니다.

제어하는 플랜트는 불감 시간을 갖는 1차 공정으로 다음과 같이 정의됩니다.

$$P(s)=\frac{1}{10s+1}e^{-2s}$.

플랜트는 알려진 입력 포화 제한 [-10, 10]을 가지며, 이 제한은 Plant Actuator로 레이블이 지정된 Saturation 블록에 반영되어 있습니다. Simulink의 PID Controller 블록에는 두 개의 안티와인드업 방법이 내장되어 있어서 플랜트 입력 포화에 대해 제공받은 정보를 고려할 수 있습니다.

안티와인드업을 사용하지 않았을 경우의 성능

먼저, PID Controller 블록에서 포화 모델을 고려하지 않았을 경우 포화가 폐루프에 미치는 영향을 검토해 보겠습니다. 모델을 시뮬레이션하면 다음과 같은 결과가 생성됩니다. 다음 그림은 안티와인드업을 사용하지 않을 경우의 설정점과 측정된 출력을 비교하여 보여줍니다.

다음 그림은 안티와인드업을 사용하지 않을 경우의 제어기 출력과 포화된 입력을 보여줍니다.

이러한 그림에는 입력 포화가 있는 시스템을 제어할 때 발생하는 두 가지 문제가 주요하게 나타나 있습니다.

  1. 설정점 값이 10일 때, PID 제어 신호는 약 24 정도에서 정상 상태에 도달하는데, 이는 액추에이터의 범위에서 벗어나 있습니다. 따라서 제어 신호가 증가해도 시스템 출력에 영향이 없는 비선형 영역에서 제어기가 동작하고 있는 것입니다. 이러한 상태를 와인드업이라고 합니다. 플랜트의 DC 이득은 단위 이득입니다. 따라서 제어기 출력이 액추에이터 범위 밖에서 정상 상태 값을 가져야 할 이유가 없습니다.

  2. 설정점 값이 5가 되면 PID 제어기 출력이 액추에이터 범위 내로 돌아가기까지 상당한 지연이 있습니다.

포화 효과를 고려하도록 PID 제어기를 설계하면 PID 제어기가 대체로 선형 영역에서 동작할 수 있고 비선형으로부터 빠르게 복구할 수 있어서 성능이 향상됩니다. 이러한 성능 향상을 위해 안티와인드업 메커니즘을 사용할 수 있습니다.

블록이 역계산에 기반한 안티와인드업을 수행하도록 구성하기

역계산 안티와인드업 방법은 제어기가 특정 포화 제한에 도달하여 비선형 동작에 진입하면 피드백 루프를 사용하여 PID Controller 블록 내부 적분기의 와인드업 상태를 해소합니다. 안티와인드업을 활성화하려면 블록 대화 상자의 출력 포화 탭으로 이동하십시오. 출력 제한을 선택하고 플랜트의 포화 제한을 입력합니다. 그런 다음, 안티와인드업 방법 목록에서 back-calculation을 선택합니다. 다음으로, 역계산 계수(Kb)를 지정합니다. 이 이득의 역이 안티와인드업 루프의 시정수입니다. 이 예제에서는 역계산 이득을 1로 선택했습니다. 이 값을 선택하는 방법에 대한 자세한 내용은 [1]을 참조하십시오.

역계산이 활성화되면 블록은 적분기 출력의 와인드업 상태를 해소하는 내부 추종 루프를 갖게 됩니다. 다음 그림은 역계산을 사용할 경우의 PID Controller 블록의 마스크 내부를 보여줍니다.

PID 제어 신호가 빠르게 선형 영역으로 되돌아가고 루프가 포화로부터 복구되는 것을 볼 수 있습니다.

출력 제한이 활성화되었기 때문에 제어기 출력 u(t)와 포화된 입력 SAT(u)가 서로 일치합니다.

안티와인드업이 미치는 영향을 더 잘 시각화하기 위해 다음 그림은 안티와인드업을 사용했을 때와 사용하지 않았을 때 플랜트에서 측정한 출력 y(t)를 보여줍니다.

블록이 적분기 고정에 기반하여 안티와인드업을 수행하도록 구성하기

흔히 사용되는 또 다른 안티와인드업 전략은 조건부 적분에 기반하는 것입니다. 안티와인드업을 활성화하기 위해 블록 파라미터 대화 상자에서 PID 고급 탭을 선택합니다. 출력 제한을 선택하고 플랜트의 포화 제한을 입력합니다. 그런 다음, 안티와인드업 방법 목록에서 고정을 선택합니다.

다음 그림은 고정을 사용할 경우의 설정점과 측정된 출력을 비교하여 보여줍니다.

다음 그림은 출력 제한이 활성화되어 제어기 출력 u(t)와 포화된 입력 SAT(u)가 서로 일치하는 것을 보여줍니다.

고정을 언제 사용하는지에 대한 자세한 내용은 [1]을 참조하십시오.

복잡한 안티와인드업 시나리오를 처리하기 위해 추종 모드 사용하기

지금까지 논의한 안티와인드업 전략은 대화 상자를 통해 블록에서 제공하는 내장 방법을 사용하여 블록에 전달되는 포화 정보를 처리하는 방식이었습니다. 이러한 내장 기법이 의도한 대로 작동하려면 두 개의 조건이 충족되어야 합니다.

  1. 플랜트의 포화 제한이 알려져 있고 이를 블록 대화 상자에 입력할 수 있습니다.

  2. PID Controller 블록의 출력 신호가 액추에이터에 전달되는 유일한 신호입니다.

일반 안티와인드업 시나리오를 처리할 때는 이러한 조건이 제한적일 수 있습니다. PID Controller 블록은 추종 모드를 제공하여 역계산 안티와인드업 루프를 외부에서 설정할 수 있도록 합니다. 안티와인드업 목적으로 추종 모드를 사용하는 사례로 다음의 두 경우를 고려할 수 있습니다.

  1. 종속적으로 연결된 동특성을 갖는 액추에이터 포화의 안티와인드업

  2. 피드포워드를 사용하는 PID 제어의 안티와인드업

종속적으로 연결된 동특성을 갖는 액추에이터 포화에 대해 안티와인드업 체계 구성하기

sldemo_antiwindupactuator에서 액추에이터는 복잡한 동특성을 갖습니다. 복잡한 동특성은 대개 액추에이터가 자체 폐루프 동특성을 가질 때 발생합니다. PID 제어기는 외부 루프에 있으면서 액추에이터 동특성을 내부 루프로 인식하며, 이를 종속적으로 포화된 동특성이라고도 합니다.

안티와인드업 전략을 성공적으로 수행하려면 PID Controller 블록의 추종 포트에 액추에이터 출력을 다시 전달해야 합니다. PID Controller 블록의 tracking mode를 구성하려면 블록 파라미터 대화 상자의 PID 고급 탭을 클릭하십시오. 추종 모드 활성화를 선택한 다음 이득으로 Kt를 지정하십시오. 이 이득의 역이 추종 루프의 시정수입니다. 이 이득을 선택하는 방법에 대한 자세한 내용은 [1]을 참조하십시오.

플랜트의 측정된 출력 y(t)와 제어기 출력 u(t)가 설정점의 변화에 거의 즉시 응답합니다. 안티와인드업 메커니즘을 사용하지 않으면 긴 지연으로 인해 응답이 느립니다.

피드포워드를 사용하는 PID 제어의 안티와인드업 체계

또 다른 일반적인 제어 구성은 액추에이터가 PID 제어 신호와 피드포워드 제어 신호가 결합된 제어 신호를 수신하는 것입니다. 모델 sldemo_antiwindupfeedforward를 엽니다.

역계산 안티와인드업 루프를 정확하게 빌드하려면 추종 신호가 피드포워드 신호에 의해 기여되는 부분을 차감해야 합니다. 이 작업을 통해 PID Controller 블록이 액추에이터에 적용된 유효한 제어 신호 부분을 알 수 있습니다.

플랜트는 DC 이득이 1이므로 여기서 피드포워드 이득은 단위 이득입니다.

플랜트의 측정된 출력 y(t)와 제어기 출력 u(t)가 설정점의 변화에 거의 즉시 응답합니다. 설정점 값이 10일 때, 제어기 출력 u(t)가 액추에이터 범위 내로 감소하는 것을 볼 수 있습니다.

설정점 값이 10일 때, 제어기 출력 u(t)가 액추에이터 범위 내로 감소하는 것을 볼 수 있습니다.

다음 그림은 안티와인드업을 사용할 경우의 PID 제어기 출력과 피드포워드 입력을 보여줍니다.

참고 문헌

[1] Åström, Karl J., and Tore Hägglund. Advanced PID Control. Triangle Park, NC: International Society of Automation, 2006.

참고 항목

관련 항목