프로세스 높음 또는 낮음 선택기(Process High or Low Selector, PHLS)
이 정보는 CompactLogix 5380P, ControlLogix 5580P 및 ControlLogix 5590P 컨트롤러에 적용됩니다.
프로세스 높음 또는 낮음 선택기(Process High or Low Selector, PHLS) 명령어는 최대 6개의 수신되는 컨트롤 변수(controlled variables, CV) 중 가장 높거나 낮은 변수를 선택합니다. 이 명령어는 선택한 CV를 출력으로 전송하고 선택되지 않은 CV를 플래그로 표시하여 선택한 CV를 추적합니다.
계속 감소하거나 계속 증가하는 출력에서 문제가 발생하지 않도록 추적 값을 업스트림 PID/PIDE 게인 시간의 오류 값과 같은 양만큼 오프셋합니다.
PHLS 명령어를 사용하여 오버라이드 선택 컨트롤 전략을 구현합니다. 오버라이드 선택 전략을 사용하면 1차 프로세스 변수를 컨트롤하는 동시에 다른 프로세스 변수가 최종 컨트롤 요소의 출력을 오버라이드하여 제약 조건을 초과하는 것을 피할 수 있습니다.
사용 가능한 언어
래더 다이어그램

함수 블록 다이어그램

구조화된 텍스트
PHLS(PHLSTag);
피연산자
중요:
다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
- 출력 태그 피연산자가 덮어써집니다.
- 구조 피연산자의 구성원이 덮어써집니다.
- 지정된 경우를 제외하고 여러 명령어에서 구조 피연산자를 공유합니다.
명령어 내에서 숫자 데이터 유형을 혼합하기 위한 데이터 변환 규칙이 있습니다. 데이터 변환 항목을 참조하십시오.
구성 피연산자
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
PHLS | P_HIGH_LOW_SELECT | 태그 | PHLS 구조 |
PHLS 입력 구조
입력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
EnableIn | BOOL | 활성화 입력. 래더 다이어그램: 렁-입력-조건에 해당합니다. 기본값은 참입니다. |
Inp_InitializeReq | BOOL | 다시 초기화할 때 이 요청을 사용합니다. 기본값은 거짓입니다. |
Inp_1 | REAL | 입력 #1. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_E1 | REAL | 기본 #1의 루프 오류(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_PGain1 | REAL | 기본 #1의 비례 게인(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_2 | REAL | 입력 #2. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_E2 | REAL | 기본 #2의 루프 에러(옵션, 오프셋 계산에 사용됨). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_PGain2 | REAL | 기본 #2의 비례 게인(옵션, 오프셋 계산에 사용됨). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_3 | REAL | 입력 #3. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_E3 | REAL | 기본 #3의 루프 오류(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_PGain3 | REAL | 기본 #3의 비례 게인(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_4 | REAL | 입력 #4. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_E4 | REAL | 기본 #4의 루프 오류(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_PGain4 | REAL | 기본 #4의 비례 게인(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_5 | REAL | 입력 #5. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_E5 | REAL | 기본 #5의 루프 오류(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_PGain5 | REAL | 기본 #5의 비례 게인(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_6 | REAL | 입력 #6. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_E6 | REAL | 기본 #6의 루프 오류(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_PGain6 | REAL | 기본 #6의 비례 게인(옵션, 오프셋 계산에 사용). 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_InitializeVal | REAL | 다운스트림 블록의 초기화 값. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Cfg_HiLoSel | BOOL | 선택: 1 = 높음 - 선택, 0 = 낮음 - 선택. 기본값은 거짓입니다. |
Cfg_HasInp1 | BOOL | 1 = Inp_1 연결됨. 기본값은 참입니다. |
Cfg_UseInp1 | BOOL | 1 = Inp_1이 선택 항목에 포함되어 있습니다(유지 관리 용도). 기본값은 참입니다. |
Cfg_Inp1Offset | BOOL | 1 = 오프셋 Inp_1, 오프셋 = Val +/- Inp_PGain1 * Inp_E1. 기본값은 거짓입니다. |
Cfg_HasInp2 | BOOL | 1 = Inp_2가 연결되어 있습니다. 기본값은 참입니다. |
Cfg_UseInp2 | BOOL | 1 = Inp_2가 선택에 포함됩니다(유지 관리용). 기본값은 참입니다. |
Cfg_Inp2Offset | BOOL | 1 = 오프셋 Inp_2, 오프셋 = Val +/- Inp_PGain2 * Inp_E2. 기본값은 거짓입니다. |
Cfg_HasInp3 | BOOL | 1 = Inp_3이 연결되어 있습니다. 기본값은 거짓입니다. |
Cfg_UseInp3 | BOOL | 1 = Inp_3이 선택 항목에 포함되어 있습니다(유지 관리 용도). 기본값은 거짓입니다. |
Cfg_Inp3Offset | BOOL | 1 = 오프셋 Inp_3, 오프셋 = Val +/- Inp_PGain3 * Inp_E3. 기본값은 거짓입니다. |
Cfg_HasInp4 | BOOL | 1 = Inp_4가 연결되어 있습니다. 기본값은 거짓입니다. |
Cfg_UseInp4 | BOOL | 1 = Inp_4가 선택 항목에 포함되어 있습니다(유지 관리 용도). 기본값은 거짓입니다. |
Cfg_Inp4Offset | BOOL | 1 = 오프셋 Inp_4, 오프셋 = Val +/- Inp_PGain4 * Inp_E4. 기본값은 거짓입니다. |
Cfg_HasInp5 | BOOL | 1 = Inp_5가 연결되어 있습니다. 기본값은 거짓입니다. |
Cfg_UseInp5 | BOOL | 1 = Inp_5가 선택 항목에 포함되어 있습니다(유지 관리 용도). 기본값은 거짓입니다. |
Cfg_Inp5Offset | BOOL | 1 = 오프셋 Inp_5, 오프셋 = Val +/- Inp_PGain5 * Inp_E5. 기본값은 거짓입니다. |
Cfg_HasInp6 | BOOL | 1 = Inp_6이 연결되어 있습니다. 기본값은 거짓입니다. |
Cfg_UseInp6 | BOOL | 1 = Inp_6이 선택 항목에 포함되어 있습니다(유지 관리 용도). 기본값은 거짓입니다. |
Cfg_Inp6Offset | BOOL | 1 = 오프셋 Inp_6, 오프셋 = Val +/- Inp_PGain6 * Inp_E6. 기본값은 거짓입니다. |
Cfg_DecPlcs | SINT | 표시의 소수 자릿수입니다. 유효값 = 0 ~ 6. 기본값은 2입니다. |
Cfg_HasOutNav | BOOL | 1 = 연결된 출력 개체에 대한 탐색을 활성화하도록 HMI에 지시합니다 기본값은 거짓입니다. |
Cfg_HasNav | SINT | 설정 비트는 활성화된 탐색 버튼을 나타냅니다. Cfg_HasNav.0 = Inp_1, Cfg_HasNav.1 = Inp_2, Cfg_HasNav.2 = Inp_3, Cfg_HasNav.3 = Inp_4, Cfg_HasNav.4 = Inp_5, Cfg_HasNav.5 = Inp_6. 기본값은 0입니다. |
Cfg_OutLoLim | REAL | 출력 낮음 클램핑 제한. 유효값 = Cfg_OutHiLim보다 작거나 같은 모든 부동 소수점 수. 기본값은 0.0입니다. |
Cfg_OutHiLim | REAL | 출력 높음 클램핑 제한. 유효값 = Cfg_OutLoLim보다 크거나 같은 모든 부동 소수점 수. 기본값은 100.0입니다. |
Cfg_HasMoreObj | BOOL | 1 = 추가 정보가 포함된 객체를 HMI에 알립니다. 기본값은 거짓입니다. |
출력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
EnableOut | BOOL | 이 출력 상태는 항상 EnableIn 입력 상태를 반영합니다. |
Val | REAL | 다운스트림 블록의 출력 값(선택된 최소값 또는 최대값). |
Val_Inp1Prev | REAL | 기본 #1에 대한 이전(피드백) 입력 값. |
Sts_UseInp1Prev | BOOL | 기본 #1에서 Val_Inp1Prev 피드백을 사용하도록 요청합니다. |
Val_Inp2Prev | REAL | 기본 #2에 대한 이전(피드백) 입력 값. |
Sts_UseInp2Prev | BOOL | 피드백 Val_Inp2Prev를 사용하도록 1차 #2에 요청합니다. |
Val_Inp3Prev | REAL | 기본 #3에 대한 이전(피드백) 입력 값. |
Sts_UseInp3Prev | BOOL | 기본 #3에서 Val_Inp3Prev 피드백을 사용하도록 요청합니다. |
Val_Inp4Prev | REAL | 기본 #4에 대한 이전(피드백) 입력 값. |
Sts_UseInp4Prev | BOOL | 기본 #4에서 Val_Inp4Prev 피드백을 사용하도록 요청합니다. |
Val_Inp5Prev | REAL | 기본 #5에 대한 이전(피드백) 입력 값. |
Sts_UseInp5Prev | BOOL | 기본 #5에서 Val_Inp5Prev 피드백을 사용하도록 요청합니다. |
Val_Inp6Prev | REAL | 기본 #6에 대한 이전(피드백) 입력 값. |
Sts_UseInp6Prev | BOOL | 기본 #6에서 Val_Inp6Prev 피드백을 사용하도록 요청합니다. |
Val_Out | REAL | HMI의 출력 값(선택된 최소 또는 최대 입력). |
Val_Sel | DINT | 선택한 입력: 0 = 최소값, 1 = Inp_1, 2 = Inp_2, 3 = Inp_3, 4 = Inp_4, 5 = Inp_5, 6 = Inp_6, 7 = 최대값, 8 = Inp_InitializeVal. |
Sts_Initialized | BOOL | 1 = 명령어가 초기화됩니다. |
Sts_MaintByp | BOOL | 1 = 유지 관리 바이패스 활성화됨(HMI의 표시 아이콘) |
Sts_Err | BOOL | 1 = 구성 오류, 자세한 내용은 Sts_ErrHas or Sts_ErrLim을 참조하십시오. |
Sts_ErrHas | BOOL | 1 = 구성 오류: 입력이 적어도 하나 이상 있어야 합니다. |
Sts_ErrLim | BOOL | 1 = 구성 오류: Cfg_OutHiLim은 Cfg_OutLoLim보다 작거나 같습니다. |
경보
PHLS 명령어에 경보가 없습니다.
가상화
PHLS 명령어에 가상화 기능이 없습니다.
HMI용 문자열 구성
HMI 페이스플레이트(FT 보기) 및
Logix Designer
구성 대화 상자의 문자열을 구성합니다. 문자열은 태그 항목의 확장 속성으로 설정됩니다. Logix Designer
의 문자열만 구성합니다.- 설명 - PHLS 태그 설명
- 그래픽 기호 레이블 – PHLS 태그의 레이블 메타데이터
- HMI 페이스 플레이트 호출용 디스플레이 라이브러리 - PHLS 태그의 라이브러리 메타데이터
- 명령어 이름 - PHLS 태그의 명령어 메타데이터
- 영역 이름 - PHLS 태그의 영역 메타데이터
- URL 링크 - PHLS 태그의 URL 메타데이터
- 출력 단위 - PHLS 구성원 Val_Out 태그의 엔지니어링 단위 메타데이터
- 입력 레이블 Input1 - PHLS 구성원 Inp_1 태그의 설명 메타데이터
- 입력 레이블 Input2 - PHLS 구성원 Inp_2 태그의 설명 메타데이터
- 입력 레이블 Input3 - PHLS 구성원 Inp_3 태그의 설명 메타데이터
- 입력 레이블 Input4 - PHLS 구성원 Inp_4 태그의 설명 메타데이터
- 입력 레이블 Input5 - PHLS 구성원 Inp_5 태그의 설명 메타데이터
- 입력 레이블 Input6 - PHLS 구성원 Inp_6 태그의 설명 메타데이터
- Input1 EU - PHLS 구성원 Inp_1 태그의 엔지니어링 단위 메타데이터
- Input2 EU - PHLS 구성원 Inp_2 태그의 엔지니어링 단위 메타데이터
- Input3 EU - PHLS 구성원 Inp_3 태그의 엔지니어링 단위 메타데이터
- Input4 EU - PHLS 구성원 Inp_4 태그의 엔지니어링 단위 메타데이터
- Input5 EU - PHLS 구성원 Inp_5 태그의 엔지니어링 단위 메타데이터
- Input6 EU - PHLS 구성원 Inp_6 태그의 엔지니어링 단위 메타데이터
- 탐색 객체 태그 이름 출력 허용 - PHLS 구성원 Out_Val Tag의 탐색 메타데이터
- 탐색 객체 태그 이름 Input1 허용 - PHLS 구성원 Inp_1 태그의 탐색 메타데이터
- 탐색 개체 태그 이름 Input2 허용 - PHLS 구성원 Inp_2 태그의 탐색 메타데이터
- 탐색 개체 태그 이름 Input3 허용 - PHLS 구성원 Inp_3 태그의 탐색 메타데이터
- 탐색 개체 태그 이름 Input4 허용 - PHLS 구성원 Inp_4 태그의 탐색 메타데이터
- 탐색 개체 태그 이름 Input5 허용 - PHLS 구성원 Inp_5 태그의 탐색 메타데이터
- 탐색 개체 태그 이름 Input6 허용 - PHLS 구성원 Inp_6 태그의 탐색 메타데이터
PHLS 명령어 모니터링
모니터링을 위해 프로세스 객체의 PlantPAx 라이브러리에서 작업자 페이스 플레이트를 사용합니다.
연산 상태 플래그에 영향
아니요.
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱스 폴트의 경우 배열을 통한 인덱스를 참조하세요.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
사전 스캔 | 렁-출력-조건이 거짓으로 해제됩니다. |
명령어 최초 실행 | 모든 구성에 입력이 있고 입력을 사용하고 입력 오프셋이 지워집니다. 이전 피드백, 루프 오류, 게인 값은 모두 0으로 설정됩니다. 명령어는 정상 실행됩니다. |
렁-입력-조건이 거짓임 | 렁-출력-조건이 거짓으로 해제됩니다. 모든 구성에 입력이 있고 입력을 사용하고 입력 오프셋이 지워집니다. 이전 피드백, 루프 오류, 게인 값은 모두 0으로 설정됩니다. 명령어가 마지막 상태로 유지됩니다. |
렁-입력-조건이 참임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. 명령어가 실행됩니다. |
사후 스캔 | 렁-출력-조건이 거짓으로 해제됩니다. |
함수 블록 다이어그램
조건/상태 | 수행한 작업 |
사전 스캔 | EnableOut이 거짓으로 해제됩니다. |
명령어 최초 실행 | 모든 구성에 입력이 있고 입력을 사용하고 입력 오프셋이 지워집니다. 이전 피드백, 루프 오류, 게인 값은 모두 0으로 설정됩니다. 명령어는 정상 실행됩니다. |
명령어 최초 스캔 | 함수 블록 다이어그램 표에서 명령어 최초 실행을 참조하십시오. |
EnableIn이 거짓임 | EnableOut이 거짓으로 해제됩니다. 명령어는 마지막 선택 상태를 유지하며 출력 값(Val)이 업데이트되지 않습니다(마지막 값 보유). |
EnableIn이 참임 | EnableOut이 참으로 설정됩니다. 명령어가 실행됩니다. |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
구조화된 텍스트
구조화된 텍스트에서 정상 스캔 중에 EnableIn은 항상 참입니다. 명령어는 로직에서 활성화한 컨트롤 경로에 있을 때 실행됩니다.
조건/상태 | 수행한 작업 |
사전 스캔 | 함수 블록 다이어그램 표의 사전 스캔을 참조하십시오. |
명령어 최초 실행 | 함수 블록 다이어그램 표에서 명령어 최초 실행을 참조하십시오. |
EnableIn이 참임 | 함수 블록 다이어그램 표의 EnableIn이 참인 경우를 참조하십시오. |
사후 스캔 | 함수 블록 다이어그램 표에서 사후 스캔을 참조하십시오. |
예
이 예는 PHLS 명령어를 사용하여 압력 컨트롤 전략의 일부를 구현합니다. 이 경우 2개의 PIDE 명령어가 입력으로 사용됩니다. PIDE 명령어는 흡입 압력 오버라이드 컨트롤 및 배출 압력 컨트롤에 대한 것입니다. PIDE 출력 값 CV(CV~최종 컨트롤 요소) 및 E(루프 오류)는 PHLS 명령어에 대한 입력으로 사용됩니다.
또한 이 예는 초기 값(Inp_InitializeVal) 및 초기화 요청(Inp_InitializeReq)에 대한 PHLS 입력을 보여줍니다. 이 경우 초기 값은 속도 참조에서 펌프 모터 드라이브로 가져옵니다. 초기화
이 예에서 명령어 초기화 요청 플래그는 모터의 실행 상태와 가용성 상태에 따라 설정됩니다.
래더 다이어그램

함수 블록 다이어그램

구조화된 텍스트
PIDE(PIDE_01);
PIDE(PIDE_02);
PHLS.Inp_1 := PIDE_01.CV;
PHLS.Inp_E1 := PIDE_01.E;
PHLS.Inp_2 := PIDE_02.CV;
PHLS.Inp_E2 := PIDE_02.E;
PHLS.Inp_InitializeVal := P50_Motor.Val_SpeedRef;
PHLS.Inp_InitializeReq := NOT(P50_Motor.Sts_RunningFwd AND P50_Motor.Sts_Available);
PHLS(PHLS);
의견을 작성 부탁드립니다.