상한/하한(High/Low Limit, HLL)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.사용 가능한 언어
래더 다이어그램
이 명령어는 래더 다이어그램 로직에서는 사용할 수 없습니다.
펑션 블록

구조화된 텍스트
HLL(HLL_tag);
피연산자
펑션 블록
피연산자 | 유형 | 형식 | 설명 |
HLL 태그 | HL_LIMIT | 구조 | HLL 구조 |
HL_LIMIT 구조
입력 매개 변수 | 데이터 유형 | 설명 |
EnableIn | BOOL | 활성화 입력. 거짓이면 명령어가 실행되지 않고 출력이 업데이트되지 않습니다. 기본값은 참입니다. |
입력 | REAL | 명령어의 아날로그 신호 입력. 유효값 = 모든 부동 소수점 수 기본값 = 0.0 |
HighLimit | REAL | 입력의 상한 SelectLimit = 0이고 HighLimit이 LowLimit이면 명령어는 Status에 적절한 비트를 설정하고 Out = LowLimit를 설정합니다.유효값 = HighLimit > LowLimit 기본값 = 0.0 |
LowLimit | REAL | 입력의 하한 SelectLimit = 0이고 LowLimit이 HighLimit이면 명령어는 Status에 적절한 비트를 설정하고 Out = LowLimit를 설정합니다.유효값 = LowLimit < HighLimit 기본값 = 0.0 |
SelectLimit | DINT | 한도 입력을 선택합니다. 이 입력은 설정이 3개 있습니다. 0 = 상/하한 모두 사용 1 = 상한 사용 2 = 하한 사용 SelectLimit이 유효하지 않으면 명령어는 SelectLimit = 0으로 가정하고 Status에 적절한 비트를 설정합니다. 유효값 = 0~2 기본값 = 0 |
출력 매개 변수 | 데이터 유형 | 설명 |
EnableOut | BOOL | 명령어의 활성화 여부를 나타냅니다. Out이 오버플로되는 경우 거짓으로 해제됩니다. |
Out | REAL | 알고리즘의 계산된 출력. |
HighAlarm | BOOL | 상한 알람 표시기. In HighLimit일 때 참으로 설정합니다. SelectLimit가 2로 설정되면 HighAlarm은 비활성화됩니다. |
LowAlarm | BOOL | 하한 알람 표시기. In LowLimit일 때 참으로 설정합니다. SelectLimit가 1로 설정되면 LowAlarm은 비활성화됩니다. |
상태 | DINT | 펑션 블록의 상태. |
InstructFault (Status.0) | BOOL | 명령어에서 다음 실행 에러 중 하나가 감지됩니다. 마이너 또는 메이저 컨트롤러 에러가 아닙니다. 나머지 상태 비트를 확인하여 발생한 에러를 판단합니다. |
LimitsInv (Status.1) | BOOL | HighLimit LowLimit. |
SelectLimitInv (Status.2) | BOOL | SelectLimit의 값은 0, 1 또는 2입니다. |
구조화된 텍스트
피연산자 | 유형 | 형식 | 설명 |
HLL 태그 | HL_LIMIT | 구조 | HLL 구조 |
스트럭쳐드 텍스트 내 식의 구문에 대한 자세한 내용은 스트럭쳐드 텍스트 구문을 참조하십시오.
설명
HLL 명령어는 다음 규칙을 이용해 Out의 값을 계산합니다.
선택 | 조건 | Action |
SelectLimit = 0 (상한 및 하한 사용) | In < HighLimit 및 In > LowLimit | Out = In |
In HighLimit | Out = HighLimit | |
In LowLimit | Out = LowLimit | |
HighLimit LowLimit | Out = LowLimit | |
SelectLimit = 1 (상한만 사용) | In < HighLimit | Out = In |
In HighLimit | Out = HighLimit | |
SelectLimit = 2 (하한만 사용) | In > LowLimit | Out = In |
In LowLimit | Out = LowLimit |
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
기능이 활성화되고 오버플로가 감지되면 부 폴트가 발생합니다(폴트 유형: 4, 폴트 코드: 4).
실행
펑션 블록
조건/상태 | 수행한 작업 |
사전 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
Tag.EnableIn이 거짓임 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
Tag.EnableIn이 참임 | EnableIn 및 EnableOut 비트가 참으로 설정됩니다. 명령어가 실행됩니다. |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | N/A |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
구조화된 텍스트
조건/상태 | 수행한 작업 |
사전 스캔 | 펑션 블록 표의 사전 스캔을 참조하십시오. |
정상 실행 | 펑션 블록 표에서 Tag.EnableIn이 참임을 참조하십시오. |
사후 스캔 | 펑션 블록 표에서 사후 스캔을 참조하십시오. |
예
이 HLL 명령어는 두 값 사이에서 In을 제한하며 In이 이 한도를 벗어날 때 필요하면 HighAlarm 또는 LowAlarm을 설정합니다. 이 명령어는 Out = In의 제한된 값을 설정합니다.
펑션 블록

구조화된 텍스트
HLL_01.In := value;
HLL_01.HighLimit := high_limit;
HLL_01.LowLimit := low_limit;
HLL(HLL_01);
limited_value := HLL_01.Out;
high_alarm := HLL_01.HighAlarm;
low_alarm := HLL_01.LowAlarm;
의견을 작성 부탁드립니다.
LowLimit이면 명령어는 Status에 적절한 비트를 설정하고 Out = LowLimit를 설정합니다.
HighLimit이면 명령어는 Status에 적절한 비트를 설정하고 Out = LowLimit를 설정합니다.