리드-래그(Lead-Lag, LDLG)

이 정보는
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
Compact GuardLogix
5380,
CompactLogix
5380,
ControlLogix
5580,
GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.
리드-래그(LDLG) 명령어는 입력 신호에 대한 위상 리드-래그 보상을 제공합니다. 이 명령어는 일반적으로 피드포워드 PID 제어 또는 프로세스 시뮬레이션에 사용됩니다.
사용 가능한 언어
래더 다이어그램
이 명령어는 래더 다이어그램에 사용할 수 없습니다.
펑션 블록
LDLG_FB_avail_v31
구조화된 텍스트
LDLG(LDLG_tag);
피연산자
펑션 블록
피연산자
유형
형식
설명
LDLG 태그
LEAD_LAG
구조
LDLG 구조
구조화된 텍스트
피연산자
유형
형식
설명
LDLG 태그
LEAD_LAG
구조
LDLG 구조
스트럭쳐드 텍스트 내 식의 구문에 대한 자세한 내용은
스트럭쳐드 텍스트 구문
을 참조하십시오.
LEAD_LAG 구조
입력 매개 변수
데이터 유형
설명
EnableIn
BOOL
활성화 입력. 선택하지 않으면 명령이 실행되지 않고 출력이 업데이트되지 않습니다.
기본값은 설정 상태입니다.
In
REAL
명령어의 아날로그 신호 입력.
유효값 = 모든 부동 소수점 수
기본값 = 0.0
Initialize
BOOL
필터 제어 알고리즘을 초기화하도록 요청. Initialize가 설정된 경우 Out = (In x Gain) + Bias.
기본값은 해제입니다.
Lead
REAL
리드 타임(초). 리드 제어 알고리즘을 사용하지 않으려면 리드 = 0.0으로 설정합니다. 리드 < 0.0인 경우 명령어에서는 상태에 해당하는 비트가 설정되고 리드가 0.0으로 제한됩니다. Lead > 최대 양의 부동 소수점 수이면 명령어는 Status에서 적절한 비트를 설정합니다.
유효값 = 0.0보다 Greater than or equal to 모든 부동 소수점 수
기본값 = 0.0
Lag
REAL
래그 시간(초). 최소 래그 시간은 DeltaT/2입니다. 래그 < DeltaT/2인 경우 명령어에서는 상태에 해당하는 비트가 설정되고 래그가 DeltaT/2로 제한됩니다. Lag > 최대 양의 부동 소수점 수이면 명령어는 Status에서 적절한 비트를 설정합니다.
유효값 = Greater than or equal to DeltaT/2인 모든 부동 소수점 수
기본값 = 0.0
Gain
REAL
프로세스 게인 승수. 이 값을 사용하여 프로세스 게인을 시뮬레이션할 수 있습니다. In 신호에 이 값을 곱합니다. I = (In x Gain) + Bias
유효값 = 모든 부동 소수점 수
기본값 = 1.0
Bias
REAL
프로세스 오프셋 레벨. 이 값을 사용하여 환경 조건을 시뮬레이션할 수 있습니다. 이 값에 In과 Gain을 곱한 결과를 더합니다. I = (In x Gain) + Bias
유효값 = 모든 부동 소수점 수
기본값 = 0.0
TimingMode
DINT
타이밍 실행 모드 선택.
0 = 주기 모드
1 = 오버 샘플링 모드
2 = 실시간 샘플링 모드
유효값 = 0~2
기본값 = 0
타이밍 모드에 대한 자세한 내용은 함수 블록 속성을 참조하세요.
OversampleDT
REAL
오버 샘플링 모드에 대한 실행 시간.
값 = 0~4194.303초
기본값 = 0
RTSTime
DINT
실시간 샘플링 모드에 대한 모듈 업데이트 기간
유효값 = 1~32,767ms
기본값 = 1
RTSTimeStamp
DINT
실시간 샘플링 모드에 대한 모듈 타임 스탬프 값.
유효값 = 0~32,767ms
기본값 = 0
출력 매개 변수
데이터 유형
설명
EnableOut
BOOL
활성화 출력.
Out
REAL
알고리즘의 계산된 출력. 이 출력에 대해 연산 상태 플래그를 사용합니다.
DeltaT
REAL
업데이트 간 경과 시간. 컨트롤 알고리즘에서 프로세스 출력 계산에 사용되는 경과 시간(초)입니다.
Status
DINT
펑션 블록의 상태.
InstructFault (Status.0)
BOOL
명령어에서 다음 실행 에러 중 하나가 감지됩니다. 마이너 또는 메이저 컨트롤러 에러가 아닙니다. 나머지 상태 비트를 확인하여 발생한 에러를 판단합니다.
LeadInv (Status.1)
BOOL
Lead < 최소값 또는 Lead > 최대값.
LagInv (Status.2)
BOOL
Lag < 최소값 또는 Lag > 최대값.
TimingModeInv (Status.27)
BOOL
유효하지 않은 TimingMode 값.
타이밍 모드에 대한 자세한 내용은 함수 블록 속성을 참조하세요.
RTSMissed (Status.28)
BOOL
실시간 샘플링 모드에서만 사용.
ABS | DeltaT - RTSTime | > 1 (.001 초)일 때 설정.
RTSTimeInv (Status.29)
BOOL
유효하지 않은 RTSTime 값.
RTSTimeStampInv (Status.30)
BOOL
유효하지 않은 RTSTimeStamp 값.
DeltaTInv (Status.31)
BOOL
유효하지 않은 DeltaT 값.
설명
LDLG 명령어에서는 연속된 하나의 리드와 래그가 지원됩니다. 명령어는 구성 가능한 게인과 바이어스 요소도 허용합니다. LDLG 명령어는 스캔 비율이 일정하게 유지되는 태스크로 실행되도록 설계되었습니다.
LDLG 명령어에서는 다음 수식을 사용합니다.
LDLG_fbd_eq
다음 매개 변수 제한 적용:
매개 변수
제한
리드
LowLimit = 0.0
HighLimit = 최대 양의 부동 소수점 수
래그
LowLimit = DeltaT/2(DeltaT는 초 단위)
HighLimit = 최대 양의 부동 소수점 수
출력에 대해 계산된 값이 유효하지 않거나, NAN 또는 Plus or Minus sign INF인 경우 명령어는 Out을 유효하지 않은 값으로 설정하고 연산 오버플로 상태 플래그를 설정합니다. 출력에 대해 계산된 값이 유효해지면 명령어는 내부 매개 변수를 초기화하고 Out = (In x Gain) + Bias를 설정합니다.
연산 상태 플래그
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 피연산자 관련 폴트에 대해서는 공통 속성 항목을 참조하십시오.
실행
펑션 블록
조건
펑션 블록 조치
사전 스캔
EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다.
Tag.EnableIn이 거짓임
EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다.
Tag.EnableIn이 참임
EnableIn 및 EnableOut 비트가 참으로 설정됩니다.
명령어가 실행됩니다.
명령어 최초 실행
N/A
명령어 최초 스캔
"Out = (In * Gain) + Bias" 계산을 실행합니다.
리드/래그 계수를 다시 계산합니다.
사후 스캔
EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다.
구조화된 텍스트
조건/상태
수행한 작업
사전 스캔
펑션 블록 표의 사전 스캔을 참조하십시오.
정상 실행
펑션 블록 표에서 Tag.EnableIn이 참임을 참조하십시오.
사후 스캔
펑션 블록 표에서 사후 스캔을 참조하십시오.
예
이 예의 LDLG 명령어에서는 1차 래그를 시뮬레이션된 프로세스에 추가합니다. 또는 선택적으로 LDLG 명령어에서 Gain을 입력하여 프로세스 게인을 시뮬레이션하거나 Bias를 입력하여 환경 조건을 시뮬레이션할 수도 있습니다.
펑션 블록
LDLG_FB_ex_v31
구조화된 텍스트
DEDT_01.In := SimulatedLoop.CVEU;
DEDT(DEDT_01,DEDT_01_array);
LDLG_01.In := DEDT_01.Out;
LDLG(LDLG_01);
SimulatedLoop.PV := LDLG_01.Out;
PIDE(SimulatedLoop);
의견을 작성 부탁드립니다.
이 자료에 대한 문의사항이나 요청사항이 있습니까? 여기에 요청사항을 작성 부탁드립니다.
Normal