프로세스 아날로그 HART(Process Analog HART, PAH)
이 정보는 CompactLogix 5380P, ControlLogix 5580P 및 ControlLogix 5590P 컨트롤러에 적용됩니다.
프로세스 아날로그 HART(PAH) 명령어는 해당 장치의 아날로그 입력(PAI) 또는 아날로그 출력(PAO) 명령어와 함께 지능형 아날로그 장치에 HART 디지털 데이터를 제공하는 데 사용됩니다. 기능:
- 엔지니어링 단위 및 변수 상태를 포함한 HART 동적 변수(PV, SV, TV 및 QV) 값과 장치의 아날로그 루프 전류(밀리암페어 DC)의 디지털 값.
- 아날로그 범위(최소값: 4mA, 최대값: 20mA).
- 아날로그 측정 단위.
- 태그 및 설명 텍스트 같은 장치 정보.
- 추가 장치 상태(HART "명령 48 추가 상태" 비트 배열).
- 설정된 명령 48비트를 기준으로 진단 메시지 및 심각도 조회(배열에서 최초 3개의 진단의 경우).
- 필드 장치 상태 비트와 같은 HART를 통해 장치로부터 수신된 추가 상태 정보.
사용 가능한 언어
래더 다이어그램

함수 블록 다이어그램

구조화된 텍스트
PAH(PAH_tag, Ref_HARTData, Ref_DiagTable, Ref_UnitsTable)
피연산자
중요:
다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
- 출력 태그 피연산자가 덮어써집니다.
- 구조 피연산자의 구성원이 덮어써집니다.
- 지정된 경우를 제외하고 여러 명령어에서 구조 피연산자를 공유합니다.
명령어 내에서 숫자 데이터 유형을 혼합하기 위한 데이터 변환 규칙이 있습니다. 데이터 변환 항목을 참조하십시오.
구성 피연산자
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
PlantPAx ControlPlantPAx Control | P_ANALOG_HART | 태그 | 명령어의 적절한 연산에 필요한 데이터 구조. |
Ref_HARTData | PAX_HART_DEVICE:I:0 | 태그 | PlantPAx에 대한 HART 장치 데이터. |
Ref_DiagTable | P_HART_CODE_DESC_STATUS[2] | 태그 | 진단 비트 번호(메시지 및 상태)에 대한 조회 테이블. |
Ref_UnitsTable | RAC_CODE_DESCRIPTION[2] | 태그 | 측정 단위 코드(단위 텍스트)의 조회 테이블. |
PAX_HART_DEVICE:I:0 데이터 유형은 5094-IF8IH와 같이 고도로 통합된 HART 모듈의 Add-On 프로필과 연결됩니다.
P_ANALOG_HART 구조
공개 구성원은 프로그래밍 방식으로 액세스할 수 있는 표준(표시) 태그 구성원입니다. 비공개의 숨겨진 구성원은 HMI 페이스 플레이트에서 사용되며 프로그래밍 방식으로 액세스할 수 없습니다. 비공개 구성원은 공개 구성원 다음의 별도의 테이블에 나열됩니다.
공개 입력 구성원 | 데이터 유형 | FBD 기본 표시 | FBD 배선 필요 | 사용 | 설명 |
|---|---|---|---|---|---|
EnableIn | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 활성화 입력. 래더 다이어그램: 렁 상태에 해당합니다. 기본값은 참입니다. |
Inp_InitializeReq | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = 명령어를 초기화하도록 요청합니다. 명령어는 명령어 최초 실행에서 정상적으로 초기화됩니다. 이 요청을 사용하여 다시 초기화합니다. 명령어에 의해 이 피연산자가 자동으로 지워집니다. 기본값은 참입니다. |
Cfg_HasHARTPV | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = HART 디지털 PV가 있으며 페이스 플레이트에 표시; 0 = HART 디지털 PV는 사용되지 않습니다. 기본값은 거짓입니다. |
Cfg_HasHARTSV | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 유효값 =1 = HART 디지털 SV가 있으며 페이스 플레이트에 표시; 0 = HART 디지털 SV는 사용되지 않습니다. 기본값은 거짓입니다. |
Cfg_HasHARTTV | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = HART 디지털 TV가 있으며 페이스 플레이트에 표시; 0 = HART 디지털 TV는 사용되지 않습니다. 기본값은 거짓입니다. |
Cfg_HasHARTQV | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = HART 디지털 QV가 있으며 페이스 플레이트에 표시; 0 = HART 디지털 QV는 사용되지 않습니다. 기본값은 거짓입니다. |
Cfg_UseHARTVarSts | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = HART 통신 상태를 사용하여 SrcQ 생성, 0 = 양호한 상태로 가정합니다. 기본값은 참입니다. |
Cfg_UseHARTText | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = HART 장치에서 수신된 텍스트 사용, 0 = 텍스트에 확장 속성을 사용합니다. 기본값은 거짓입니다. |
Cfg_HARTPVDecPlcs | SINT | 표시되지 않음 | 필요하지 않음 | 입력 | HART PV 표시의 소수 자릿수입니다. 유효값 = 0,1,2,3,4,5,6. 기본값은 2입니다. |
Cfg_HARTSVDecPlcs | SINT | 표시되지 않음 | 필요하지 않음 | 입력 | HART SV 표시의 소수 자릿수입니다. 유효값 = 0,1,2,3,4,5,6. 기본값은 2입니다. |
Cfg_HARTTVDecPlcs | SINT | 표시되지 않음 | 필요하지 않음 | 입력 | HART TV 표시의 소수 자릿수입니다. 유효값 = 0,1,2,3,4,5,6. 기본값은 2입니다. |
Cfg_HARTQVDecPlcs | SINT | 표시되지 않음 | 필요하지 않음 | 입력 | HART QV 표시의 소수 자릿수입니다. 유효값 = 0,1,2,3,4,5,6. 기본값은 2입니다. |
Cfg_HasMoreObj | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = 더 많은 정보를 가진 객체를 탐색에 사용할 수 있음을 HMI에 알립니다. 기본값은 거짓입니다. |
Cfg_HasNav | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 1 = 관련 아날로그 입력 또는 출력 객체를 탐색에 사용할 수 있음을 HMI에 알립니다. 기본값은 거짓입니다. |
Set_VirtualHARTPV | REAL | 표시되지 않음 | 필요하지 않음 | 입력 | 가상(Sts_Virtual = 1)에 사용되는 HART PV(PV 엔지니어링 단위). 기본값은 0.0입니다. |
Set_VirtualHARTSV | REAL | 표시되지 않음 | 필요하지 않음 | 입력 | 가상에서 사용되는 HART SV(Sts_Virtual = 1인 경우) (SV 엔지니어링 단위). 기본값은 0.0입니다. |
Set_VirtualHARTTV | REAL | 표시되지 않음 | 필요하지 않음 | 입력 | 가상(Sts_Virtual = 1)에 사용되는 HART TV(TV 엔지니어링 단위). 기본값은 0.0입니다. |
Set_VirtualHARTQV | REAL | 표시되지 않음 | 필요하지 않음 | 입력 | 가상(Sts_Virtual = 1)에 사용되는 HART QV(QV 엔지니어링 단위). 기본값은 0.0입니다. |
PCmd_Virtual | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 가상(시뮬레이션된) 장치 작업을 선택하는 프로그램 명령. 명령어에 의해 이 피연산자가 자동으로 지워집니다. 기본값은 거짓입니다. |
PCmd_Physical | BOOL | 표시되지 않음 | 필요하지 않음 | 입력 | 물리적 장치 작업(시뮬레이션되지 않음)을 선택하는 프로그램 명령. 명령어에 의해 이 피연산자가 자동으로 지워집니다. 기본값은 거짓입니다. |
공개 출력 구성원 | 데이터 유형 | FBD 기본 표시 | FBD 배선 필요 | 사용 | 설명 |
|---|---|---|---|---|---|
EnableOut | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 이 출력 상태는 항상 EnableIn 입력 상태를 반영합니다. |
Val_HARTPV | REAL | 표시 | 필요하지 않음 | 출력 | PV 엔지니어링 단위의 디지털 HART PV 값(대체 후, 사용되는 경우). |
Val_HARTSV | REAL | 표시 | 필요하지 않음 | 출력 | SV 엔지니어링 단위의 디지털 HART SV 값(대체 이후, 사용되는 경우) |
Val_HARTTV | REAL | 표시 | 필요하지 않음 | 출력 | TV 엔지니어링 단위의 디지털 HART TV 값(대체 후, 사용되는 경우). |
Val_HARTQV | REAL | 표시 | 필요하지 않음 | 출력 | QV 엔지니어링 단위의 디지털 HART QV 값(대체 후, 사용되는 경우). |
Val_HARTLoopCurrent | REAL | 표시 | 필요하지 않음 | 출력 | 루프 전류에 대한 디지털 HART 값(mA). |
Val_InpRawMinFromHART | REAL | 표시되지 않음 | 필요하지 않음 | 출력 | HART 모듈의 아날로그 입력 실제 크기 신호 최소값(모듈 단위). |
Val_InpRawMaxFromHART | REAL | 표시되지 않음 | 필요하지 않음 | 출력 | HART 모듈의 아날로그 입력 실제 크기 신호 최대값(모듈 단위). |
Val_PVEUMinFromHART | REAL | 표시되지 않음 | 필요하지 않음 | 출력 | HART 장치에서 아날로그 입력 스케일링 범위 최소값(엔지니어링 단위). |
Val_PVEUMaxFromHART | REAL | 표시되지 않음 | 필요하지 않음 | 출력 | HART 장치에서 아날로그 입력 스케일링 범위 최대값(엔지니어링 단위). |
Sts_eHARTDiagCode1 | INT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 진단 코드 #1(명령 48의 비트 번호, 255 = 없음). |
Sts_eHARTDiagCode2 | INT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 진단 코드 #2(명령 48의 비트 번호, 255 = 없음). |
Sts_eHARTDiagCode3 | INT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 진단 코드 #3(명령 48의 비트 번호, 255 = 없음). |
Sts_bHARTDiagSts | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | 전체 HART 진단 상태 .0 = 정보, .1 = 유지 관리 필요, .2 = 규격 이탈, .3 = 기능 점검, .4 = 실패. |
Sts_bHARTDiagSts1 | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 진단 코드 #1에 대한 진단 상태, .0 = 정보, .1 = 유지 관리 필요, .2 = 규격 이탈, .3 = 기능 점검, .4 = 실패. |
Sts_bHARTDiagSts2 | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 진단 코드 #2에 대한 진단 상태, .0 = 정보, .1 = 유지 관리 필요, .2 = 규격 이탈, .3 = 기능 점검, .4 = 실패. |
Sts_bHARTDiagSts3 | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 진단 코드 #3에 대한 진단 상태, .0 = 정보, .1 = 유지 관리 필요, .2 = 규격 이탈, .3 = 기능 점검, .4 = 실패. |
Sts_Initialized | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = 명령어가 초기화됩니다. Inp_InitializeReq를 사용하여 다시 초기화합니다. |
Sts_Virtual | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = 장치(Inp_PVData)의 입력 대신 가상 PV를 사용하여 출력을 계산합니다. 0 = 명령어가 입력 매개 변수 Inp_PVData를 사용하여 출력을 계산합니다. Sts_Virtual은 Inp_Virtual의 복사본입니다. |
Sts_ConnectionFault | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = HART 데이터 입력 연결 폴트, 0 = 연결 정상. |
Sts_DvcMalfunction | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = HART 장치가 오작동을 보고합니다. |
Sts_CurrentSaturated | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = HART에서 아날로그 전류가 제한되었음을 보고합니다. |
Sts_CurrentFixed | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = HART 명령을 통해 루프 전류가 고정 값으로 설정됩니다. |
Sts_CurrentMismatch | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = HART를 통해 보고된 루프 전류가 아날로그 신호와 일치하지 않습니다. |
Sts_DiagnosticActive | BOOL | 표시되지 않음 | 필요하지 않음 | 출력 | 1 = HART 데이터 입력 진단 활성. |
Val_DiagnosticSeqCount | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 데이터 입력 진단 시퀀스 카운트(진단 데이터의 변경에 따라, 줄바꿈). |
SrcQ_IO | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | 1차 입력 또는 출력의 소스 및 품질(열거됨): 0=양호, 라이브, 양호로 확인됨 1=양호, 라이브, 양호로 간주됨 2=양호, 피드백 없음, 양호로 간주됨 8=테스트, 가상화됨 9=테스트, 루프백 10=테스트, 수동으로 입력됨 16=불확실, 라이브, 규격 이탈 17 = 불확실, 장치 또는 버스에서 대체됨 18=불확실, 명령어에서 대체됨 19 = 불확실, 알려진 마지막 양호 상태 사용 20=불확실, 교체 값 사용 32=불량, 신호 실패 33 = 불량, 채널 오류 34=불량, 모듈 또는 통신 실패 35=불량, 잘못된 구성 |
SrcQ | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | 1차 값 또는 상태의 소스 및 품질(열거됨): 0=양호, 라이브, 양호로 확인됨 1=양호, 라이브, 양호로 간주됨 2=양호, 피드백 없음, 양호로 간주됨 8=테스트, 가상화됨 9=테스트, 루프백 10=테스트, 수동으로 입력됨 16=불확실, 라이브, 규격 이탈 17 = 불확실, 장치 또는 버스에서 대체됨 18=불확실, 명령어에서 대체됨 19 = 불확실, 알려진 마지막 양호 상태 사용 20=불확실, 교체 값 사용 32=불량, 신호 실패 33 = 불량, 채널 오류 34=불량, 모듈 또는 통신 실패 35=불량, 잘못된 구성 |
SrcQ_HARTPV | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 디지털 PV의 소스 및 품질(열거됨): 0=양호, 라이브, 양호로 확인됨 1=양호, 라이브, 양호로 간주됨 2=양호, 피드백 없음, 양호로 간주됨 8=테스트, 가상화됨 9=테스트, 루프백 10=테스트, 수동으로 입력됨 16=불확실, 라이브, 규격 이탈 17 = 불확실, 장치 또는 버스에서 대체됨 18=불확실, 명령어에서 대체됨 19 = 불확실, 알려진 마지막 양호 상태 사용 20=불확실, 교체 값 사용 32=불량, 신호 실패 33 = 불량, 채널 오류 34=불량, 모듈 또는 통신 실패 35=불량, 잘못된 구성 |
SrcQ_HARTSV | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 디지털 SV의 소스 및 품질(열거됨): 0=양호, 라이브, 양호로 확인됨 1=양호, 라이브, 양호로 간주됨 2=양호, 피드백 없음, 양호로 간주됨 8=테스트, 가상화됨 9=테스트, 루프백 10=테스트, 수동으로 입력됨 16=불확실, 라이브, 규격 이탈 17 = 불확실, 장치 또는 버스에서 대체됨 18=불확실, 명령어에서 대체됨 19 = 불확실, 알려진 마지막 양호 상태 사용 20=불확실, 교체 값 사용 32=불량, 신호 실패 33 = 불량, 채널 오류 34=불량, 모듈 또는 통신 실패 35=불량, 잘못된 구성 |
SrcQ_HARTTV | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 디지털 TV의 소스 및 품질(열거됨): 0=양호, 라이브, 양호로 확인됨 1=양호, 라이브, 양호로 간주됨 2=양호, 피드백 없음, 양호로 간주됨 8=테스트, 가상화됨 9=테스트, 루프백 10=테스트, 수동으로 입력됨 16=불확실, 라이브, 규격 이탈 17 = 불확실, 장치 또는 버스에서 대체됨 18=불확실, 명령어에서 대체됨 19 = 불확실, 알려진 마지막 양호 상태 사용 20=불확실, 교체 값 사용 32=불량, 신호 실패 33 = 불량, 채널 오류 34=불량, 모듈 또는 통신 실패 35=불량, 잘못된 구성 |
SrcQ_HARTQV | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 디지털 QV의 소스 및 품질(열거됨): 0=양호, 라이브, 양호로 확인됨 1=양호, 라이브, 양호로 간주됨 2=양호, 피드백 없음, 양호로 간주됨 8=테스트, 가상화됨 9=테스트, 루프백 10=테스트, 수동으로 입력됨 16=불확실, 라이브, 규격 이탈 17 = 불확실, 장치 또는 버스에서 대체됨 18=불확실, 명령어에서 대체됨 19 = 불확실, 알려진 마지막 양호 상태 사용 20=불확실, 교체 값 사용 32=불량, 신호 실패 33 = 불량, 채널 오류 34=불량, 모듈 또는 통신 실패 35=불량, 잘못된 구성 |
SrcQ_HARTLoopCurrent | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | HART 루프 전류 값의 소스 및 품질(열거됨): 0=양호, 라이브, 양호로 확인됨 1=양호, 라이브, 양호로 간주됨 2=양호, 피드백 없음, 양호로 간주됨 8=테스트, 가상화됨 9=테스트, 루프백 10=테스트, 수동으로 입력됨 16=불확실, 라이브, 규격 이탈 17 = 불확실, 장치 또는 버스에서 대체됨 18=불확실, 명령어에서 대체됨 19 = 불확실, 알려진 마지막 양호 상태 사용 20=불확실, 교체 값 사용 32=불량, 신호 실패 33 = 불량, 채널 오류 34=불량, 모듈 또는 통신 실패 35=불량, 잘못된 구성 |
Sts_eSts | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | 장치 확인 상태: 0 = 라이브, 1 = 진단 정보, 2 = 유지 관리 필요, 3 = 규격 이탈(불확실), 4 = 기능 점검(대체됨) 5 = 실패, 6 = HART 통신 끊김, 7 = 가상화됨. |
Sts_eFault | INT | 표시되지 않음 | 필요하지 않음 | 출력 | 장치 폴트 상태: 0 = 없음, 1 = 동적 변수 불량, 2 = 장치 진단 시 실패 보고, 3 = HART 통신 손실, 4 = 모듈 연결 폴트, 5 = 장치에서 오작동 보고. |
Val_HARTRevision | SINT | 표시되지 않음 | 필요하지 않음 | 출력 | 장치로부터 수신된 HART의 규격 주 수정 버전입니다. |
개인 입력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
MCmd_Physical | BOOL | 물리적 장치 작업을 선택하는 Maintenance 명령(시뮬레이션되지 않음). 명령어에 의해 이 피연산자가 자동으로 지워집니다. 기본값은 거짓입니다. |
MCmd_Virtual | BOOL | 가상(시뮬레이션된) 장치 작업을 선택하는 유지 관리 명령. 명령어에 의해 이 피연산자가 자동으로 지워집니다. 기본값은 거짓입니다. |
개인 출력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
MRdy_Physical | BOOL | 1 = MCmd_Physical 준비, HMI 버튼 활성화. |
MRdy_Virtual | BOOL | 1 = MCmd_Virtual 준비, HMI 버튼 활성화. |
Sts_sHARTDesc | String_16 | HART 장치의 설명 텍스트. |
Sts_sHARTDiagMsg1 | String_32 | HART 장치 진단 메시지 #1. |
Sts_sHARTDiagMsg2 | String_32 | HART 장치 진단 메시지 #2. |
Sts_sHARTDiagMsg3 | String_32 | HART 장치 진단 메시지 #3. |
Sts_sHARTPVEU | String_16 | HART 디지털 PV 엔지니어링 단위 텍스트. |
Sts_sHARTQVEU | String_16 | HART 디지털 QV 엔지니어링 단위 텍스트. |
Sts_sHARTSVEU | String_16 | HART 디지털 SV 엔지니어링 단위 텍스트. |
Sts_sHARTTag | String_32 | HART 장치의 태그 텍스트. |
Sts_sHARTTVEU | String_16 | HART 디지털 TV 엔지니어링 단위 텍스트. |
Sts_sPVEU | String_16 | 아날로그 PV 엔지니어링 단위 텍스트. |
공개 InOut 구성원 | 데이터 유형 | FBD 기본 표시 | FBD 배선 필요 | 사용 | 설명 |
|---|---|---|---|---|---|
Ref_HARTData | PAX_HART_DEVICE:I:0 | 표시 | 필수 | InOut | I/O 모듈 어셈블리의 HART 데이터. |
Ref_DiagTable | P_HART_CODE_DESC_STATUS[2] | 표시 | 필수 | InOut | 진단 비트 번호(메시지 및 상태)에 대한 조회 테이블. |
Ref_UnitsTable | RAC_CODE_DESCRIPTION[2] | 표시 | 필수 | InOut | 측정 단위 코드(단위 텍스트)의 조회 테이블. |
PAX_HART_DEVICE:I:O 구조
PAX_HART_DEVICE:I:O 구조는 이 명령어에 필요한 모든 HART 데이터를 제공하기 위해 고도로 통합된 HART I/O 모듈에서 사용하는 입력 어셈블리 하위 유형입니다.
구성원 | 데이터 유형 | 설명 |
|---|---|---|
RunMode | BOOL | 항상 0, 이 명령어에는 사용되지 않음 |
ConnectionFaulted | BOOL | I/O 모듈에 대한 네트워크 연결이 끊어짐 |
DiagnosticActive | BOOL | I/O 모듈에 하나 이상의 진단을 사용할 수 있음 |
DiagnosticSequenceCount | SINT | 이 카운트는 I/O 모듈의 진단 정보가 변경할 때마다 증가합니다. +127로 카운트한 다음 다시 -128로 루프하여 0을 건너뜁니다. |
CurrentSaturated | BOOL | 아날로그 신호가 최소값 또는 최대값에 도달했으며 이는 실제 프로세스 변수를 나타내지 않습니다. |
CurrentFixed | BOOL | 아날로그 신호는 명령에 의해 고정되었으며 실제 프로세스 변수를 나타내지 않습니다. |
MoreStatusAvailable | BOOL | 하나 이상의 명령 48(추가 장치 상태) 비트가 설정되고 진단이 표시되어야 합니다. |
CurrentMismatch | BOOL | I/O 모듈에서 루프 전류와 실제 아날로그 루프 전류가 크게 맞지 않는 경우 디지털 값을 보고합니다. |
ConfigurationChanged | BOOL | 장치에서 구성 데이터(스케일링, 텍스트, 단위)가 변경되었음을 보고 |
Malfunction | BOOL | 장치 보고서 오작동이 감지됨 |
LoopCurrent | CHANNEL_AI:I:O | 장치 아날로그 루프 전류(mA DC)에 대한 HART 디지털 값 |
PV | CHANNEL_AI_HART:I:O | HART 동적 1차 변수(단위 및 상태 포함) |
SV | CHANNEL_AI_HART:I:O | HART 동적 2차 변수(단위 및 상태 포함) |
TV | CHANNEL_AI_HART:I:O | HART 동적 3차 변수(단위 및 상태 포함) |
QV | CHANNEL_AI_HART:I:O | HART 동적 4차 변수(단위 및 상태 포함) |
Static | AB_5000_HART_Static_Struct:I:O | 장치 스케일 범위, 아날로그 신호 측정 단위, 설명 및 태그 이름에 대한 장치 텍스트 문자열 등의 HART "정적" 데이터 |
ChDataAtSignal4 | REAL | 연결된 PAI 또는 PAO 명령어에서 스케일링 사용을 위해 제공된 경우 4.0mA DC 신호가 수신될 때 I/O 모듈 아날로그 채널에서 제공하는 값 |
ChDataAtSignal20 | REAL | 연결된 PAI 또는 PAO 명령어에서 스케일링 사용을 위해 제공된 경우 20.0 mA DC 신호가 수신될 때 I/O 모듈 아날로그 채널에서 제공하는 값 |
P_HART_CODE_DESC_STATUS 구조
P_HART_CODE_DESC_STATUS 구조는 특정 명령 48 진단 비트와 관련된 진단 텍스트 및 장치 상태를 조회하는 데 사용됩니다. 이 장치는 200비트(25바이트) 데이터 어레이를 제공하며, 여기서 각 비트 세트는 특정 진단 조건을 나타냅니다. 이 유형의 구성원 배열은 명령이 주어진 비트에 대한 텍스트 설명과 상태를 표시하도록 허용하는 데 사용됩니다.
이 매개 변수는 명령이 작동하는 데 필요한 데이터가 포함된 외부 태그에 명령을 연결합니다. 외부 태그는 표시된 데이터 유형이거나 NULL일 수 있습니다. NULL이면 진단 비트 조회 기능이 수행되지 않습니다.
구성원 | 데이터 유형 | 설명 |
|---|---|---|
Code | DINT | 진단 코드. HART 명령 48(추가 장치 상태)에서 반환된 200비트 배열의 진단 비트 번호(0 ~ 199)이며, 진단 비트가 설정되지 않은 경우 -1입니다. |
Desc | STRING_32 | 진단 텍스트. |
bSts | SINT | 장치 상태(비트맵핑됨): .0 = 정보 .1 = 유지 관리 필요 .2 = 규격 이탈 .3 = 기능 점검 .4 = 실패 |
RAC_CODE_DESCRIPTION[x] 구조
RAC_CODE_DESCRIPTION[x] 구조는 조회 테이블로 사용되는 엔지니어링 단위 코드 번호 및 해당 엔지니어링 단위 텍스트 쌍의 배열입니다. 명령어는 장치에서 수신한 엔지니어링 단위 코드를 테이블에서 검색하고 변수에 해당하는 엔지니어링 단위 텍스트를 표시합니다. 이 매개 변수는 명령이 작동하는 데 필요한 데이터가 포함된 외부 태그에 명령을 연결합니다. 외부 태그는 표시된 데이터 유형이거나 NULL일 수 있습니다. NULL인 경우 단위 코드 조회 기능이 수행되지 않습니다.
구성원 | 데이터 유형 | 설명 |
|---|---|---|
Code | DINT | 설명을 조회할 코드. |
Desc | STRING | 주어진 코드에 대한 설명. |
연산
이 다이어그램은 PAH 명령어의 기능을 보여줍니다.

가상화
명령어 테스트 및 연산자 교육에서 가상화를 사용합니다. 프로그램 명령 PCmd_Virtual 또는 유지 관리 명령 MCmd_Virtual을 사용하여 가상 작업을 명령합니다. 가상 작업을 완료한 후 프로그램 명령 PCmd_Physical 또는 유지 관리 명령을 MCmd_Physical을 사용하여 정상 물리적 장치 작동으로 돌아갑니다.
가상화가 활성화되면 PAH 명령어의 출력 동적 변수(PV, SV, TV, QV) 값은 가상 값 설정값(Set_VirtualPV 등)으로 설정되고 I/O 폴트는 무시됩니다. 작동 중인 HART 프로세스 장치가 있는 것처럼 작동하도록 명령어를 조작합니다.
초기화
명령어는 명령어 최초 실행에서 정상적으로 초기화됩니다. Inp_InitializeReq = 1로 설정하여 재초기화를 요청합니다. 올바른 초기화의 경우 코드의 온라인 편집을 수행하는 동안 명령어를 추가할 때 Inp_InitializeReq = 1(기본값)인지 확인합니다.
HMI용 문자열 구성
HMI 페이스 플레이트(FT 보기)과 Logix Designer 구성 대화 상자의 문자열을 구성합니다. 문자열은 태그 항목의 확장 속성으로 설정됩니다.
- 설명
- 그래픽 기호 레이블
- HMI 페이스 플레이트 호출용 디스플레이 라이브러리
- 명령어 이름
- 영역 이름
- URL 링크
- 원시 아날로그 신호의 엔지니어링 단위
- 아날로그 신호 PV의 엔지니어링 단위
- HART PV의 엔지니어링 단위
- HART SV의 엔지니어링 단위
- HART TV의 엔지니어링 단위
- HART QV의 엔지니어링 단위
- HART PV 레이블
- HART SV 레이블
PAH 명령어 모니터링
모니터링을 위해 프로세스 객체의 PlantPAx 라이브러리에서 작업자 페이스 플레이트를 사용합니다.
연산 상태 플래그에 영향
아니요.
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱스 폴트의 경우 배열을 통한 인덱스를 참조하세요.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 첫 번째 스캔/첫 번째 실행 시 초기화용으로 플래그 지정된 명령어 |
명령어 최초 실행 | 포인터 및 타이머와 같은 내부 데이터가 초기화됨 |
렁-입력-조건이 거짓임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. 명령어가 실행됩니다. HART 데이터, 단위 및 상태가 제공됩니다. |
렁-입력-조건이 참임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. 명령어가 실행됩니다. HART 데이터, 단위 및 상태가 제공됩니다. |
사후 스캔 | 렁-출력-조건이 거짓으로 해제됩니다. |
함수 블록 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 첫 번째 스캔/첫 번째 실행 시 초기화용으로 플래그 지정된 명령어 |
명령어 최초 실행 | 포인터 및 타이머와 같은 내부 데이터가 초기화됨 |
명령어 최초 스캔 | 포인터 및 타이머와 같은 내부 데이터가 초기화됨 |
EnableIn이 거짓임 | EnableOut이 거짓으로 설정됩니다. 명령어가 실행됩니다. HART 데이터, 단위 및 상태가 제공됩니다. |
EnableIn이 참임 | EnableOut이 참으로 설정됩니다. 명령어가 실행됩니다. HART 데이터, 단위 및 상태가 제공됩니다. |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
구조화된 텍스트
구조화된 텍스트에서 정상 스캔 중에 EnableIn은 항상 참입니다. 따라서 명령어가 로직에서 활성화한 컨트롤 경로에 있는 경우 해당 명령어가 실행됩니다.
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 함수 블록 다이어그램 표의 사전 스캔을 참조하십시오. |
명령어 최초 실행 | 함수 블록 다이어그램 표에서 명령어 최초 실행을 참조하십시오. |
EnableIn이 참임 | 함수 블록 다이어그램 표의 EnableIn이 참인 경우를 참조하십시오. |
사후 스캔 | 함수 블록 다이어그램 표에서 사후 스캔을 참조하십시오. |
예
다음 예에서는 PAH 명령어가 프로세스 아날로그 입력(PAI) 명령어와 함께 사용됩니다. PAI는 HART 아날로그 입력 모듈의 아날로그(4~20mA DC) 신호에 대한 처리를 제공하고 PAH 명령어는 동일한 필드 장치에서 수신된 아날로그 신호에 중첩된 디지털 HART 데이터에 대한 처리를 제공합니다. 따라서 폐쇄 루프 컨트롤(Control)에 대해 아날로그 실시간 신호가 제공되고(표시되지 않음) 추가 프로세스 모니터링을 위해 4개의 디지털 동적 변수가 제공됩니다.
래더 다이어그램

함수 블록 다이어그램

구조화된 텍스트
PAH(TI_301_Dvc, ProMag400_I:I.PAxDevice, HART_DiagTable_Flow, HART_EUTable_Generic);
TI_301.Cfg_InpRawMin:=TI_301_Dvc.Val_InpRawMinFromHART;
TI_301.Cfg_InpRawMax:=TI_301_Dvc.Val_InpRawMaxFromHART;
TI_301.Cfg_PVEUMin:=TI_301_Dvc.Val_PVEUMinFromHART;
TI_301.Cfg_PVEUMax:=TI_301_Dvc.Val_PVEUMaxFromHART;
TI_301.Inp_PVData:=TI_301_Inp_PVData;
TI_301.Inp_ModFault:=TI_301_Inp_ModFault;
TI_301.Inp_ChanFault:=TI_301_Inp_ChanFault;
TI_301.Inp_PVUncertain:=TI_301_Inp_PVUncertain;
PAI(TI_301, 0);
의견을 작성 부탁드립니다.