고급 선택 기능이 있는 PID 알고리즘을 사용하여 PID 컨트롤러를 구현합니다. 고급 PID 알고리즘에는 [PID] VI가 사용하는 알고리즘의 기능과 함께, 수동에서 자동으로 무충돌 전환 기능이 있는 수동 모드 컨트롤, 비선형 적분 동작, 2 자유도 컨트롤 및 에러 제곱 컨트롤 등의 기능을 포함합니다. 이 VI의 DBL 인스턴스를 사용하여 한 개의 컨트롤 루프를 구현합니다. 병렬 여러 루프 컨트롤을 구현하려면 DBL 배열 인스턴스를 사용합니다.


icon

입력/출력

  • c1ddbl.png 감마

    감마는 미분 동작에 적용될 에러의 가중치를 지정합니다. 기본값은 0이며, 이 값을 사용하면 셋포인트 값이 변경했을 때 발생할 수 있는 미분 스파이크(컨트롤러의 갑작스러운 변화)를 피할 수 있습니다.

    미분 스파이크를 걱정할 필요가 없는 일부 캐스캐이드 컨트롤 동작에서는, 감마를 증가시키면 첫번째 PID 컨트롤러의 속도가 빨라질 수도 있습니다.

    이 VI는 프로세스 변수 입력 배열의 크기와 맞도록 감마 입력 배열의 크기를 조정합니다.

  • c1ddbl.png 수동 컨트롤

    수동 컨트롤자동?이 거짓일 때 컨트롤 출력의 값을 지정합니다. 이 VI는 프로세스 변수 입력 배열의 크기와 맞도록 수동 컨트롤 입력 배열의 크기를 조정합니다.

  • c1dbool.png 자동? (참)

    자동?은 자동 컨트롤을 사용할지 수동 컨트롤을 사용할지 지정합니다. 자동?이 참인 경우, 이 VI는 자동 컨트롤을 사용합니다. 자동?이 거짓인 경우, 이 VI는 수동 컨트롤을 사용합니다. 이 VI는 수동에서 자동으로 무충돌 전환을 사용하여 변환합니다. 기본값은 참입니다.

    이 VI는 프로세스 변수 입력 배열의 크기와 맞도록 자동? 입력 배열의 크기를 조정합니다.

  • c1dnclst.png 출력 범위

    출력 범위는 컨트롤 출력을 강제 변환할 범위를 지정합니다. 기본 범위는 -100에서 100이며, 이는 전체 스케일의 퍼센트로 지정된 값에 상응합니다.

    사용하는 컨트롤 시스템에 적합하도록 이 범위를 변경할 수 있습니다. 예를 들어 퍼센트 단위 대신에 공학 단위를 사용할 수 있습니다. 이 VI는 컨트롤러 출력이 지정된 최소값 또는 최대값에 도달하면 integrator anti-windup을 실행합니다.

    출력 범위는 다음 원소의 클러스터 배열입니다.

  • cdbl.png 높은 출력

    높은 출력은 컨트롤러 출력의 최대값을 지정합니다. 기본값은 100입니다.

  • cdbl.png 낮은 출력

    낮은 출력은 컨트롤러 출력의 최소값을 지정합니다. 기본값은 –100입니다.

  • c1ddbl.png 셋포인트

    셋포인트는 컨트롤되고 있는 프로세스 변수의 셋포인트 값 또는 원하는 값을 지정합니다. 이 VI는 프로세스 변수 입력 배열의 크기와 맞도록 셋포인트 입력 배열의 크기를 조정합니다.

  • c1ddbl.png 프로세스 변수

    프로세스 변수는 컨트롤되는 프로세스 변수의 측정 값을 지정합니다. 이 값은 피드백 컨트롤 루프의 피드백 값과 같습니다.

  • c1dnclst.png 셋포인트 범위

    셋포인트 범위는 셋포인트/프로세스 변수 범위의 최대값 및 최소값을 지정합니다. 이 VI는 셋포인트 범위를 사용하여 비선형 적분 동작을 계산합니다. 기본 범위는 0에서 100이며, 이는 전체 스케일의 퍼센트로 지정된 값에 상응합니다. 사용하는 컨트롤 시스템에 적합하도록 이 범위를 변경할 수 있습니다. 예를 들어 퍼센트 단위 대신에 공학 단위를 사용할 수 있습니다.

    이 VI는 비선형 적분 동작 계산 및 비선형 오류 계산의 설정값 범위를 사용합니다.

  • cdbl.png 높은 셋포인트

    높은 셋포인트는 셋포인트/프로세스 변수 범위의 최대값을 지정합니다.

  • cdbl.png 낮은 셋포인트

    낮은 셋포인트는 셋포인트/프로세스 변수 범위의 최소값을 지정합니다.

  • c1dnclst.png PID 게인

    PID 게인은 다음 원소의 클러스터 배열입니다.

  • cdbl.png 비례 게인(Kc)

    비례 게인(Kc)은 컨트롤러의 비례 게인을 지정합니다. 기본값은 1입니다.

    PID 컨트롤러를 정의하는 식에서 KC는 비례 게인을 나타냅니다.

  • cdbl.png 적분 시간(Ti, 분)

    적분 시간(Ti, 분)은 적분 시간을 분 단위로 지정합니다. 기본값은 0.01입니다.

  • cdbl.png 미분 시간(Td, 분)

    미분 시간(Td, 분)은 미분 시간을 분 단위로 지정합니다. 기본값은 0입니다.

  • cdbl.png dt (초)

    dt (초)는 이 VI가 호출되는 루프 사이클 시간 또는 간격을 초 단위로 지정합니다. dt (초)가 0과 같거나 작은 경우, 이 VI는 분해능이 1 ms인 내부 타이머를 사용하여 마지막으로 호출된 때부터의 시간을 계산합니다. dt (초)가 1 ms보다 작아야 하는 경우에는 이 값을 명시적으로 지정합니다. 기본값은 -1입니다.

  • cbool.png 다시 초기화? (거짓)

    다시 초기화?는 적분된 에러와 같은 컨트롤러의 내부 파라미터를 다시 초기화할지 지정합니다. 어플리케이션 전체를 다시 시작하지 않고, 어플리케이션을 정지한 후 컨트롤 루프만 다시 시작해야 하는 경우에 다시 초기화?를 참으로 설정하십시오. 기본값은 거짓입니다.

  • c1ddbl.png 베타

    베타는 셋포인트 추적에 대한 외란 제거의 상대적 중요성을 지정합니다. 대부분의 어플리케이션에서는 기본값인 1이 적당합니다. 0과 1사이의 더 작은 값을 사용하여 프로세스 로드 변경과 같은 외란 제거의 중요성을 지정할 수 있습니다. 이 VI는 프로세스 변수 입력 배열의 크기와 맞도록 베타 입력 배열의 크기를 조정합니다.

  • c1ddbl.png 선형도

    선형도는 에러 응답의 선형도를 지정합니다. 선형도의 유효 범위는 0에서 1입니다. 값이 1인 경우 선형 응답이 보통이고, 0.1인 경우에는 응답이 대략 포물선형이 됩니다.

    VI는 비선형 에러 계산 및 비선형 게인 인자 계산에 이 값을 사용합니다.

  • i1ddbl.png 출력

    출력은 컨트롤 프로세스에 적용된 PID 알고리즘의 컨트롤 출력을 반환합니다. 이 VI는 프로세스 변수 입력 배열의 크기에 근거하여 출력 배열의 길이를 결정합니다.

  • idbl.png dt 출력 (초)

    dt 출력(초)은 실제 시간 간격을 초 단위로 반환합니다. dt 출력(초)dt(초)를 –1로 설정하는 경우, dt(초)의 값 또는 계산된 간격을 반환합니다.

  • 이 다형성 VI의 DBL 배열 인스턴스는 여러 개의 루프가 있는 PID 컨트롤 어플리케이션에서 사용할 수 있습니다. 이 때, 프로세스 변수 입력의 길이가 출력 배열의 길이를 결정합니다. 다른 입력 배열의 길이는 프로세스 변수 입력의 길이와 같지 않아도 됩니다. 이 VI는 다른 입력 배열의 길이를 다음과 같이 프로세스 변수 입력의 길이와 같게 조정합니다:

    • 입력 배열이 프로세스 변수 입력보다 긴 경우, 입력 배열을 프로세스 변수 입력의 길이와 같게 자릅니다. 배열의 추가적인 값이 사용되지 않습니다.
    • 입력 배열이 프로세스 변수 입력보다 짧은 경우, 입력 배열의 마지막 값을 프로세스 변수 입력의 길이와 같아질 때까지 반복합니다.

    이렇게 하면, 이 VI에 전달되는 배열에서 각 출력 계산에 사용해야하는 입력값을 반복하여 지정할 필요가 없습니다. 대신 배열은 각 출력 계산에 사용되는 값 한 개로 이루어질 수도 있습니다.

    수동에서 자동으로 무충돌 전환

    이 VI는 수동에서 자동으로 무충돌 전환하는 기능을 지원하여, 이 기능은 수동에서 자동 컨트롤 모드로 전환하는 동안 컨트롤러 출력에 큰 변동이 없도록 합니다.

    자동에서 수동으로 무충돌 전환

    이 VI는 자동에서 수동으로 무충돌 전환 기능을 지원하지 않습니다. 자동에서 수동 컨트롤 모드로 전환할 때 충돌없이 전환하려면, 컨트롤 모드가 자동에서 수동으로 전환될 때 수동 출력값이 컨트롤 출력값과 같도록 어플리케이션을 설계해야 합니다. 이렇게 하려면 다음 블록다이어그램에서 보이는 대로 수동 컨트롤에 로컬 변수를 사용합니다.

    예제

    LabVIEW 포함되는 다음 예제 파일을 참조하십시오.

    • labview\examples\control\PID\Manual-Automatic Control.vi