비례-적분-미분(PID)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.PID 명령어는 흐름, 압력, 온도 또는 레벨 등과 같은 프로세스 변수를 제어합니다.
PID 명령어는 일반적으로 프로세스 변수를 원하는 설정값으로 유지하기 위해 아날로그 모듈에서 프로세스 변수(PV)를 받으며 아날로그 출력 모듈의 제어 변수 출력(CV)을 조절합니다.
.EN 비트는 실행 상태를 나타냅니다. .EN 비트는 EnableIn이 거짓에서 참으로 전환할 때 설정됩니다. .EN 비트는 EnableIn이 거짓이 될 때 해제됩니다. PID 명령어는 .DN 비트를 사용하지 않습니다. PID 명령어는 EnableIn이 참이면 모든 스캔을 실행합니다.

사용 가능한 언어
래더 다이어그램

구조화된 텍스트
PID(PID,ProcessVariable,Tieback,ControlVariable,PIDMasterLoop,InHoldBit,InHoldValue);
피연산자
명령어 내에서 혼합된 데이터 유형을 위한 데이터 변환 규칙이 있습니다. 데이터 변환 항목을 참조하십시오.
래더 다이어그램
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
PID | PID | 구조 | PID 구조 |
Process variable | SINT | 태그 | 제어할 값 |
INT | |||
DINT | |||
REAL | |||
Tieback | SINT | 즉시 | (옵션) |
INT | 태그 | ||
DINT | 컨트롤러의 출력을 무시하는 하드웨어 수동/자동 스테이션의 출력. 이 매개 변수를 사용하지 않으려면 0 입력 | ||
REAL | |||
Control variable | SINT | 태그 | 최종 제어 장치(밸브, 댐퍼 등)로 보내는 값 |
INT | |||
DINT | 불감대를 사용하는 경우, Control variable은 REAL이어야 하며 에러가 불감대 내에 있을 경우 강제로 0이 됩니다. | ||
REAL | |||
PID master loop | PID | 구조 | 옵션 |
PID tag for the master PID | |||
If you are performing cascade control and this PID is a slave loop, enter the name of the master PID | |||
Enter 0 if you do not want to use this parameter | |||
Inhold bit | BOOL | 태그 | 옵션 |
1756 아날로그에서 오는 인홀드 비트의 현재 상태 | |||
무충돌 재시작을 지원하는 출력 채널 | |||
Inhold value | SINT | 태그 | 옵션 |
INT | 1756 아날로그 출력에서 오는 데이터 리드백 값 | ||
DINT | 무충돌 다시 시작을 지원하는 채널 | ||
REAL | 이 매개 변수를 사용하지 않으려면 0 입력 | ||
Setpoint | 표시 전용 | ||
Current value of the setpoint | |||
Process variable | 표시 전용 | ||
Current value of the scaled Process_Variable | |||
Output % | 표시 전용 | ||
Current output percentage value |
PID 구조
각 PID 명령어에 대해 고유한 PID 구조를 지정합니다.
니모닉 | 데이터 유형 | 설명 |
|---|---|---|
.CTL | DINT | .CTL 구성원은 32비트 워드 한 개에서 상태 구성원(비트)에 대한 액세스를 제공합니다. 비트 07~15는 PID 명령어가 설정합니다. .CTL 구성원을 참조하십시오. |
.SP | REAL | 설정값 |
.KP | REAL | 독립 - 비례 게인(단위 없음) |
Dependent - controller gain (unitless) | ||
.KI | REAL | 독립 - 적분 게인(1/초) |
Dependent - reset time (minutes per repeat) | ||
.KD | REAL | 독립 - 미분 게인(초) |
Dependent - rate time (minutes) | ||
.BIAS | REAL | 피드포워드 또는 편차 % |
.MAXS | REAL | 최대 엔지니어링 단위 스케일링 값 |
.MINS | REAL | 최소 엔지니어링 단위 스케일링 값 |
.DB | REAL | 불감대 엔지니어링 단위 |
.SO | REAL | 출력 % 설정 |
.MAXO | REAL | 최대 출력 제한(출력의 %) |
.MINO | REAL | 최소 출력 제한(출력의 %) |
.UPD | REAL | 루프 업데이트 시간(초) |
.PV | REAL | 스케일링된 PV 값 |
.ERR | REAL | 스케일링된 에러 값 |
.OUT | REAL | 출력 % |
.PVH | REAL | 프로세스 변수 상한 알람 제한 |
.PVL | REAL | 프로세스 변수 하한 알람 제한 |
.DVP | REAL | 양수 편차 알람 제한 |
.DVN | REAL | 음수 편차 알람 제한 |
.PVDB | REAL | 프로세스 변수 알람 불감대 |
.DVDB | REAL | 편차 알람 불감대 |
.MAXI | REAL | 최대 PV 값(스케일링되지 않은 입력) |
.MINI | REAL | 최소 PV 값(스케일링되지 않은 입력) |
.TIE | REAL | 수동 제어에 대한 타이백 값 |
.MAXCV | REAL | 최대 CV 값(100%에 해당) |
.MINCV | REAL | 최소 CV 값(0%에 해당) |
.MINITIE | REAL | 최소 타이백 값(100%에 해당) |
.MAXTIE | REAL | 최대 타이백 값(0%에 해당) |
.DATA[17] | REAL | .DATA 구성원 저장소:
|
.CTL 구성원
비트 | 번호 | 설명 |
.EN | 31 | |
.CT | 30 | 캐스케이드 유형(0 = 슬레이브; 1 = 마스터) |
.CL | 29 | 캐스케이드 루프(0 = 아니요; 1 = 예) |
.PVT | 28 | 프로세스 변수 추적(0 = 아니요; 1 = 예) |
.DOE | 27 | (0 = PV; 1 = 에러)의 편차 |
.SWM | 26 | 소프트웨어 모드(0= 아니요-자동; 1 = 예-소프트웨어 수동) |
.CA | 25 | 컨트롤 작업(0 = 역방향(SP-PV); 1 = 직접(PV-SP)) |
.MO | 24 | 스테이션 모드(0 = 자동; 1 = 수동) |
.PE | 23 | PID 수식(0 = 독립; 1 = 종속) |
.NDF | 22 | 미분 평활화(0 = 아니요; 1 = 예) |
.NOBC | 21 | 편차 계산(0 = 아니오; 1 = 예) |
.NOZC | 20 | 0점 교차(0 = 아니오; 1 = 불감대의 경우) |
.INI | 15 | PID 초기화됨(0 = 아니요; 1 = 예) |
.SPOR | 14 | 설정값 범위 초과(0 = 아니요; 1 = 예) |
.OLL | 13 | CV가 최소 출력 값보다 낮음(0 = 아니오; 1 = 예) |
.OLH | 12 | CV가 최대 출력 값보다 높음(0 = 아니오; 1 = 예) |
.EWD | 11 | 에러가 불감대 이내(0 = 아니오; 1 = 예) |
.DVNA | 10 | 에러 하한 알람(0 = 아니오; 1 = 예) |
.DVPA | 9 | 에러 상한 알람(0 = 아니오; 1 = 예) |
.PVLA | 8 | PV가 하한 알람(0 = 아니오; 1 = 예) |
.PVHA | 7 | PV가 상한 알람(0 = 아니오; 1 = 예) |
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
마이너 폴트 발생 조건: | 폴트 유형 | 폴트 코드 |
|---|---|---|
UPD ≥ 0 | 4 | 35 |
설정값 범위 초과 | 4 | 36 |
피연산자 관련 폴트에 대해서는 공통 특성 항목을 참조하십시오.
실행
래더 다이어그램
조건/상태 | 수행한 작업 | 범위 검사된 피연산자 |
|---|---|---|
사전 스캔 | .EN을 거짓으로 설정 pid 구조체 초기화 | PID |
Tag.EnableIn이 거짓임 | .EN을 거짓으로 설정 | PID |
Tag.EnableIn이 참임 | .EN을 참으로 설정 명령어가 PID 루프를 실행합니다. | 모든 피연산자 |
사후 스캔 | .EN을 거짓으로 설정 | PID |
의견을 작성 부탁드립니다.