고역 통과 필터(HPF)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.HPF 명령어는 차단 주파수보다 낮은 입력 주파수를 감쇠하는 필터를 제공합니다.
사용 가능한 언어
래더 다이어그램
이 명령어는 래더 다이어그램 로직에서는 사용할 수 없습니다.
펑션 블록

구조화된 텍스트
HPF(HPF_tag);
피연산자
펑션 블록
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
HPF tag | FILTER_HIGH_PASS | 구조 | HPF 구조 |
입력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableIn | BOOL | 활성화 입력. 거짓이면 명령어가 실행되지 않고 출력이 업데이트되지 않습니다. 기본값은 참입니다. |
In | REAL | 명령어의 아날로그 신호 입력. 유효값 = 모든 부동 소수점 수 기본값 = 0.0 |
Initialize | BOOL | 필터 제어 알고리즘을 초기화하도록 요청. 참이면 이 명령어는 Out = In을 설정합니다. 기본값은 거짓입니다. |
WLead | REAL | 라디안/초 단위의 리드 주파수. WLead < 최소값 또는 WLead > 최대값인 경우 이 명령어는 상태에 해당 비트를 설정하고 WLead를 제한합니다. 유효 = 유효 범위는 아래 설명 섹션을 참조하십시오. 기본값 = 0.0 |
Order | REAL | 필터 오더. Order는 차단 첨예도를 제어합니다. Order가 유효하지 않으면 명령어는 Status에 적절한 비트를 설정하고 Order = 1을 사용합니다. 유효값 = 1~3 기본값 = 1 |
OversampleDT | REAL | 오버 샘플링 모드에 대한 실행 시간. 값 = 0~4194.303초 기본값 = 0 |
RTSTime | DINT | 실시간 샘플링 모드에 대한 모듈 업데이트 기간 유효값 = 1~32,767ms 기본값 = 1 |
RTSTimeStamp | DINT | 실시간 샘플링 모드에 대한 모듈 타임 스탬프 값. 유효값 = 0~32,767ms 기본값 = 0 |
출력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableOut | BOOL | 명령어의 활성화 여부를 나타냅니다. Out이 오버플로되는 경우 거짓으로 해제됩니다. |
Out | REAL | 알고리즘의 계산된 출력. |
DeltaT | REAL | 업데이트 간 경과 시간. 컨트롤 알고리즘에서 프로세스 출력 계산에 사용되는 경과 시간(초)입니다. |
Status | DINT | 펑션 블록의 상태. |
InstructFault (Status.0) | BOOL | 명령어에서 다음 실행 에러 중 하나가 감지됩니다. 마이너 또는 메이저 컨트롤러 에러가 아닙니다. 나머지 상태 비트를 확인하여 발생한 에러를 판단합니다. |
WLeadInv (Status.1) | BOOL | WLead < 최소값 또는 WLead > 최대값. |
OrderInv (Status.2) | BOOL | 유효하지 않은 Order 값. |
TimingModeInv (Status.27) | BOOL | 유효하지 않은 TimingMode 값. 타이밍 모드에 대한 자세한 내용은 함수 블록 속성을 참조하세요. |
RTSMissed (Status.28) | BOOL | 실시간 샘플링 모드에서만 사용. 다음의 경우 참으로 설정됨: ABS(DeltaT - RTSTime) > 1밀리초. |
RTSTimeInv (Status.29) | BOOL | 유효하지 않은 RTSTime 값. |
RTSTimeStampInv (Status.30) | BOOL | 유효하지 않은 RTSTimeStamp 값. |
DeltaTInv (Status.31) | BOOL | 유효하지 않은 DeltaT 값. |
구조화된 텍스트
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
HPF tag | FILTER_HIGH_PASS | 구조 | HPF 구조 |
스트럭쳐드 텍스트 내 식의 구문에 대한 자세한 내용은 스트럭쳐드 텍스트 구문을 참조하십시오.
설명
HPF 명령어는 Order 파라미터를 사용하여 차단 첨예도를 제어합니다. HPF 명령어는 스캔 비율이 일정하게 유지되는 태스크에서 실행하기 위한 것입니다.
HPF 명령어에는 다음 등식이 사용됩니다.
다음과 같은 경우: | 이 명령어가 사용할 전달 함수: |
|---|---|
Order = 1 | ![]() |
Order = 2 | ![]() |
Order = 3 | ![]() |
다음 파라미터 제한 적용(여기서 DeltaT는 초 단위):
매개 변수 | 제한 |
|---|---|
WLead 1차 LowLimit | ![]() |
WLead 2차 LowLimit | ![]() |
WLead 3차 LowLimit | ![]() |
HighLimit | ![]() |
출력에 대해 계산된 값이 유효하지 않거나 NAN,
INF인 경우 명령어는 Out을 유효하지 않은 값으로 설정합니다. 출력에 대해 계산된 값이 유효해지면 명령어는 내부 파라미터를 초기화하고 Out = In을 설정합니다.
INF인 경우 명령어는 Out을 유효하지 않은 값으로 설정합니다. 출력에 대해 계산된 값이 유효해지면 명령어는 내부 파라미터를 초기화하고 Out = In을 설정합니다.연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 피연산자 관련 폴트에 대해서는 공통 속성을 참조하십시오.
실행
펑션 블록
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
Tag.EnableIn이 거짓임 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
Tag.EnableIn이 참임 | EnableIn 및 EnableOut이 참으로 설정됩니다. 명령어가 실행됩니다. |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | 상관 계수를 다시 계산합니다. |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
구조화된 텍스트
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 펑션 블록 표의 사전 스캔을 참조하십시오. |
정상 실행 | 펑션 블록 표에서 Tag.EnableIn이 참임을 참조하십시오. |
사후 스캔 | 펑션 블록 표에서 사후 스캔을 참조하십시오. |
예
HPF 명령어는 구성된 차단 주파수보다 낮은 주파수에서 발생하는 신호를 감쇠합니다. 이 명령어는 일반적으로 전기 또는 기계적 소스에서 비롯된 외란이나 저주파 "노이즈"를 필터링하는 데 사용됩니다. 필터의 특정 오더를 선택하여 다양한 감쇠도를 실현할 수 있습니다. 오더가 높을수록 필터 명령어에 대한 실행 시간이 더 오래 걸립니다.
다음 그래프는 해당 차단 주파수에 대한 다양한 필터 오더 효과를 보여줍니다. 각 그래프마다 이상적인 점근 근사치가 대수 눈금의 게인 및 주파수와 함께 제공됩니다. 필터의 실제 응답은 이러한 곡선과 유사하지만 정확히 일치하지는 않습니다.
이 예는 HPF 함수 블록의 최소 유효 프로그래밍으로서, 이 명령어에 대해 생성된 코드와 중립 텍스트를 보여주는 데 사용됩니다. 이것은 적분 목적에 한하며 검증 가능한 사례는 아닙니다.
필터 | 그래프 |
|---|---|
1차 필터 | ![]() |
2차 필터 | ![]() |
3차 필터 | ![]() |
펑션 블록

구조화된 텍스트
HPF_01.In := Velocity_Feedback;
HPF_01.WLead := Cutoff_frequency;
HPF_01.Order := 2;
HPF(HPF_01);
filtered_velocity_output := HPF_01.Out
의견을 작성 부탁드립니다.









