PID (DBL 배열)
- 업데이트 날짜:2025-07-30
- 4분 (읽기 시간)
단순한 PID 어플리케이션 또는 효율적인 알고리즘을 필요로하는 고속 컨트롤 어플리케이션에서 PID 알고리즘을 사용하여 PID 컨트롤러를 구현합니다. PID 알고리즘을 사용하면 Integrator Anti-Windup과 PID 게인 변경에 대한 충돌 없는 컨트롤러 출력 기능을 통해 컨트롤 출력 범위 제한이 가능합니다. 이 VI의 DBL 인스턴스를 사용하여 한 개의 컨트롤 루프를 구현합니다. 병렬 여러 루프 컨트롤을 구현하려면 DBL 배열 인스턴스를 사용합니다.

입력/출력
출력 범위
—
출력 범위는 컨트롤 출력을 강제 변환할 범위를 지정합니다. 기본 범위는 -100에서 100이며, 이는 전체 스케일의 퍼센트로 지정된 값에 상응합니다. 사용하는 컨트롤 시스템에 적합하도록 이 범위를 변경할 수 있습니다. 예를 들어 퍼센트 단위 대신에 공학 단위를 사용할 수 있습니다. 이 VI는 컨트롤러 출력이 지정된 최소값 또는 최대값에 도달하면 integrator anti-windup을 실행합니다. 출력 범위는 다음 원소의 클러스터 배열입니다.
셋포인트
—
셋포인트는 컨트롤되고 있는 프로세스 변수의 셋포인트 값 또는 원하는 값을 지정합니다. 이 VI는 프로세스 변수 입력 배열의 크기와 맞도록 셋포인트 입력 배열의 크기를 조정합니다.
프로세스 변수
—
프로세스 변수는 컨트롤되는 프로세스 변수의 측정 값을 지정합니다. 이 값은 피드백 컨트롤 루프의 피드백 값과 같습니다.
PID 게인
—
PID 게인은 다음 원소의 클러스터 배열입니다.
dt (초)
—
dt (초)는 이 VI가 호출되는 루프 사이클 시간 또는 간격을 초 단위로 지정합니다. dt (초)가 0과 같거나 작은 경우, 이 VI는 분해능이 1 ms인 내부 타이머를 사용하여 마지막으로 호출된 때부터의 시간을 계산합니다. dt (초)가 1 ms보다 작아야 하는 경우에는 이 값을 명시적으로 지정합니다. 기본값은 -1입니다.
다시 초기화? (거짓)
—
다시 초기화?는 적분된 에러와 같은 컨트롤러의 내부 파라미터를 다시 초기화할지 지정합니다. 어플리케이션 전체를 다시 시작하지 않고, 어플리케이션을 정지한 후 컨트롤 루프만 다시 시작해야 하는 경우에 다시 초기화?를 참으로 설정하십시오. 기본값은 거짓입니다.
출력
—
출력은 컨트롤 프로세스에 적용된 PID 알고리즘의 컨트롤 출력을 반환합니다. 이 VI는 프로세스 변수 입력 배열의 크기에 근거하여 출력 배열의 길이를 결정합니다.
dt 출력 (초)
—
dt 출력(초)은 실제 시간 간격을 초 단위로 반환합니다. dt 출력(초)은 dt(초)를 –1로 설정하는 경우, dt(초)의 값 또는 계산된 간격을 반환합니다. |
이 다형성 VI의 DBL 배열 인스턴스는 여러 개의 루프가 있는 PID 컨트롤 어플리케이션에서 사용할 수 있습니다. 이 때, 프로세스 변수 입력의 길이가 출력 배열의 길이를 결정합니다. 다른 입력 배열의 길이는 프로세스 변수 입력의 길이와 같지 않아도 됩니다. 이 VI는 다른 입력 배열의 길이를 다음과 같이 프로세스 변수 입력의 길이와 같게 조정합니다:
- 입력 배열이 프로세스 변수 입력보다 긴 경우, 입력 배열을 프로세스 변수 입력의 길이와 같게 자릅니다. 배열의 추가적인 값이 사용되지 않습니다.
- 입력 배열이 프로세스 변수 입력보다 짧은 경우, 입력 배열의 마지막 값을 프로세스 변수 입력의 길이와 같아질 때까지 반복합니다.
이렇게 하면, 이 VI에 전달되는 배열에서 각 출력 계산에 사용해야하는 입력값을 반복하여 지정할 필요가 없습니다. 대신 배열은 각 출력 계산에 사용되는 값 한 개로 이루어질 수도 있습니다.
예제
LabVIEW 포함되는 다음 예제 파일을 참조하십시오.
- labview\examples\control\PID\General PID Simulator.vi
출력 범위
—
높은 출력
—
셋포인트
—
다시 초기화? (거짓)
—
출력
—
dt 출력 (초)
—