프로세스 탱크 스트래핑 테이블(Process Tank Strapping Table, PTST)
이 정보는 CompactLogix 5380P, ControlLogix 5580P 및 ControlLogix 5590P 컨트롤러에 적용됩니다.
프로세스 탱크 스트래핑 테이블(Process Tank Strapping Table, PTST) 명령어는 제품의 레벨과 탱크 보정 표에서 직교한 원위치 탱크의 제품 양을 계산합니다. 이 명령어는 다음을 보상할 수 있습니다.
- 제품/물 인터페이스 레벨이 지정되어 탱크 하단의 여유 물입니다.
- 셸 재료와 제품 및 주변 온도의 선형 확장 계수로 지정된 탱크 셸의 열 확장.
- 제품 밀도가 제공되면 부동 탱크 덮개입니다.
프로세스 탱크 스트래핑 테이블(Process Tank Strapping Table, PTST) 명령어는 블록 간 계산 함수입니다.
사용 가능한 언어
래더 다이어그램

함수 블록 다이어그램

구조화된 텍스트
PTST(PTST_tag, Cfg_CalTbl);
피연산자
중요:
다음과 같은 경우 작업 시 예외가 발생할 수 있습니다.
- 출력 태그 피연산자가 덮어써집니다.
- 구조 피연산자의 구성원이 덮어써집니다.
- 지정된 경우를 제외하고 여러 명령어에서 구조 피연산자를 공유합니다.
명령어 내에서 숫자 데이터 유형을 혼합하기 위한 데이터 변환 규칙이 있습니다. 데이터 변환 항목을 참조하십시오.
구성 피연산자
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
PlantPAx Control | P_TANK_STRAPPING_TABLE | 태그 | 명령어의 적절한 연산에 필요한 데이터 구조. |
Cfg_CalTbl | P_STRAPPING_TABLE_ROW | 태그 | 탱크 보정 표, 레벨 -> 볼륨. |
P_TANK_STRAPPING_TABLE 구조
공개 구성원은 프로그래밍 방식으로 액세스할 수 있는 표준(표시) 태그 구성원입니다. 비공개의 숨겨진 구성원은 HMI 페이스 플레이트에서 사용되며 프로그래밍 방식으로 액세스할 수 없습니다. 비공개 구성원은 공개 구성원 다음의 별도의 테이블에 나열됩니다.
공개 입력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
EnableIn | BOOL | 활성화 입력. 래더 다이어그램: 렁-입력-조건에 해당합니다. 기본값은 참입니다. |
Inp_InitializeReq | BOOL | 1 = 명령어를 초기화하도록 요청합니다. 명령어는 명령어 최초 실행에서 정상적으로 초기화됩니다. 재초기화가 필요한 경우 이 요청을 사용합니다. 명령어에 의해 이 피연산자가 자동으로 지워집니다. 기본값은 참입니다. |
Inp_Level | REAL | 탱크 내 내장 레벨(피트 또는 미터)입니다. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_FreeWaterLevel | REAL | 주요 수준 단위(피트 또는 미터)로 표시한 탱크 내 내장 사용 가능한 물 인터페이스 레벨. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Inp_ObsAPI | REAL | 제품 온도에서 관찰된 밀도 또는 도 API입니다. 중량 보정을 통해 변위를 계산하는 부동 루프 보정에 사용됩니다. 유효값 = 모든 부동 소수점 수. 기본값은 30.5입니다. |
Inp_AvgProdTemp | REAL | 평균 제품 온도 입력(화씨 또는 섭씨). 유효값 = 모든 부동 소수점 수. 기본값은 60.0입니다. |
Inp_AmbTemp | REAL | 주변 온도 입력(화씨 또는 섭씨). 유효값 = 모든 부동 소수점 수. 기본값은 60.0입니다. |
Cfg_MinorPerMajor | REAL | 표 부 단위(인치, 센티미터, 밀리미터, 주 단위당)(피트 또는 미터). 부 단위를 사용하지 않는 경우 유형 0.0입니다. 유효값 = 모든 부동 소수점 수. 기본값은 12.0입니다. |
Cfg_HasCorrTempShell | BOOL | 0= 탱크 셸의 온도 보정 없음. 1 = 탱크 셸의 온도 보정 포함. 기본값은 거짓입니다. |
Cfg_HasFloatRoofAdj | BOOL | 0 = 부동 루프 조정을 사용하지 마세요. 1 = 유체 레벨의 변위를 고려한 유동 조정을 포함합니다. 기본값은 거짓입니다. |
Cfg_HasMoreObj | BOOL | 1 = 추가 정보가 포함된 객체를 HMI에 알립니다. 기본값은 거짓입니다. |
Cfg_CalTemp | REAL | 탱크 보정 온도(일반적으로 60 °F 또는 15 °C). 유효값 = 모든 부동 소수점 수. 기본값은 60.0입니다. |
Cfg_ShellCoefOfExp | REAL | 탱크 셸 선형 열 팽창 계수(화씨당 1 또는 섭씨당 1). 유효값 = 모든 부동 소수점 수. 기본값은 0.0000062입니다. |
Cfg_K | REAL | 온도 가중치(절연 탱크의 경우 유형 0.0). API MPMS 2.2A Appendix D 참조. 유효값 = 모든 부동 소수점 수. 기본값은 7.0입니다. |
Cfg_FloatRoofLevel | REAL | 부동 루프 보상(피트)을 추가 또는 뺄 가장 낮은 레벨. 유효값 = 모든 부동 소수점 수. 기본값은 0.0입니다. |
Cfg_FloatRoofCalAPI | REAL | 부동 루프 데이터가 포함된 표의 도 API. 유효값 = 모든 부동 소수점 수. 기본값은 30.5입니다. |
Cfg_FloatRoofVolPerAPI | REAL | 보정 밀도(API 도 단위의 체적 단위 기준으로, 일반적으로 음수 값임)와 동일하지 않은 제품 밀도에 대한 표 값 조정. 유효값 = 모든 부동 소수점 수. 기본값은 -2.5입니다. |
공개 출력 구성원 | 데이터 유형 | 설명 |
|---|---|---|
EnableOut | BOOL | 활성화 출력. 이 출력 상태는 항상 EnableIn 입력 상태를 반영합니다. |
Val_TotObsVol | REAL | 보정 표에서 관찰된 원시 총량(배럴,갤런, 리터). |
Val_FreeWater | REAL | 자유 수량(배럴,갤런, 리터). |
Val_TempShell | REAL | 탱크 셀 온도를 화씨 또는 섭씨로 계산합니다. |
Val_CorrTempShell | REAL | 탱크 셸의 온도 보정(승수). |
Val_FloatRoofAdj | REAL | 부동 루프 조정 볼륨(배럴,갤런, 리터)입니다. |
Val_GrossObsVol | REAL | 1차 값: 총 관찰된 볼륨(API MPMS 12.1.1 참조). |
Sts_Initialized | BOOL | 1 = 명령어가 초기화됩니다. Inp_InitializeReq를 사용하여 다시 초기화합니다. |
Sts_UnderMin | BOOL | Inp_Level 표 범위에서 가장 낮은 레벨입니다. |
Sts_OverMax | BOOL | Inp_Level 표 범위에서 가장 높은 레벨보다 높습니다. |
공개 InOut 구성원 | 데이터 유형 | 설명 |
|---|---|---|
Cfg_CalTbl | P_STRAPPING_TABLE_ROW[2] | 탱크 보정 표(레벨 - 볼륨). |
P_STRAPPING_TABLE_ROW 구조
구성원 | 데이터 유형 | 설명 |
|---|---|---|
주 | REAL | 주 단위(피트, 미터)의 수. 유효값 = 0.0~최대 양의 부동값. |
부 | REAL | 부 단위의 수(인치, 센티미터 또는 밀리미터). 유효값 = 0.0~최대 양의 부동값. |
볼륨 | REAL | 탱크 볼륨(오일 배럴,갤런, 리터)은 해당 레벨(피트, 인치)에 있습니다. 유효값 = 0.0~최대 양의 부동값. |
연산
HMI용 문자열 구성
HMI 페이스 플레이트(FT 보기)과 Logix Designer 구성 대화 상자의 문자열을 구성합니다. 문자열은 태그 항목의 확장 속성으로 설정됩니다. 문자열을 Logix Designer에서만 구성합니다.
- 설명
- 그래픽 기호 레이블
- HMI 페이스 플레이트 호출용 디스플레이 라이브러리
- 명령어 이름
- 영역 이름
- URL 링크
- 추가 정보
- 총 볼륨 단위
- 자유 수량 단위
- 원시 볼륨 단위
- 계산된 탱크 온도 단위
- 탱크 온도 단위 보정
- 부동 루프 조정 볼륨 단위
- 탱크 보정 단위의 온도
- API 단위의 온도
- 레벨 단위
- 볼륨 단위
- 탱크 셸 선형 계수 단위의 온도
PTST 명령어 모니터링
Logix Designer 내에서 모니터링. PTST에 연결된 작업자 페이스 플레이트가 없습니다.
연산 상태 플래그에 영향
아니요.
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱스 폴트의 경우 배열을 통한 인덱스를 참조하세요.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 렁-출력-조건이 거짓으로 해제됩니다. |
명령어 최초 실행 | 모든 내부 상태 및 계산이 재설정됩니다. 명령어는 정상 실행됩니다. |
렁-입력-조건이 거짓임 | 렁-출력-조건이 거짓으로 해제됩니다. 계산 값이 업데이트되지 않습니다(마지막 값 유지). |
렁-입력-조건이 참임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. 명령어가 실행됩니다. |
사후 스캔 | 렁-출력-조건이 거짓으로 해제됩니다. |
함수 블록 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | EnableOut이 거짓으로 해제됩니다. |
명령어 최초 실행 | 모든 내부 상태 및 계산이 재설정됩니다. 명령어는 정상 실행됩니다. |
명령어 최초 스캔 | 함수 블록 다이어그램 표에서 명령어 최초 실행을 참조하십시오. |
EnableIn이 거짓임 | EnableOut이 거짓으로 해제됩니다. 계산 값이 업데이트되지 않습니다(마지막 값 유지). |
EnableIn이 참임 | EnableOut이 참으로 설정됩니다. 명령어가 실행됩니다. |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다. |
구조화된 텍스트
구조화된 텍스트에서 정상 스캔 중에 EnableIn은 항상 참입니다. 명령어는 로직에서 활성화한 컨트롤 경로에 있을 때 실행됩니다.
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 함수 블록 다이어그램 표의 사전 스캔을 참조하십시오. |
명령어 최초 실행 | 함수 블록 다이어그램 표에서 명령어 최초 실행을 참조하십시오. |
EnableIn이 참임 | 함수 블록 다이어그램 표의 EnableIn이 참인 경우를 참조하십시오. |
사후 스캔 | 함수 블록 다이어그램 표에서 사후 스캔을 참조하십시오. |
예
이 예에서 PTST 명령어는 측정된 저장 탱크 수준 및 저장 탱크 배타적 범위 정보를 기반으로 저장 탱크에서 제품의 양을 계산합니다. 부동 루프에는 변위가 없으며 변위에 대한 보상이 없습니다. 탱크의 열 확장을 고려하여 온도를 기준으로 조정은 없습니다.
래더 다이어그램

함수 블록 다이어그램

측정된 저장 탱크 레벨은 입력 Inp_Level 사용하여 PTST 명령어에 연결합니다. 레벨은 피트 단위입니다. 저장 탱크의 높이가 4피트입니다. 이 예에서는 데이터가 6인치 증분입니다. 배선 표에는 9개의 행이 있습니다.
레벨(ft-in). | 볼륨(배럴) |
|---|---|
0-00 | 3.1 |
0-06 | 136.6 |
1-00 | 264.2 |
1-06 | 402.7 |
2-00 | 541.4 |
2-06 | 692.7 |
3-00 | 844.1 |
3-06 | 990.8 |
4-00 | 1137.5 |
컨트롤러에 스트래핑 테이블 정보를 저장하기 위해 태그 MyP_StrapTbl_CalTable 9 성분 배열인 [9]P_STRAPPING_TABLE_ROW 유형으로 만들어집니다.
. 주요 | . 사소한 | . 볼륨 | |
|---|---|---|---|
MyP_StrapTbl_CalTable[0] | 0 | 0 | 3.1 |
MyP_StrapTbl_CalTable[1] | 0 | 6 | 136.6 |
MyP_StrapTbl_CalTable[2] | 1 | 0 | 264.2 |
MyP_StrapTbl_CalTable[3] | 1 | 6 | 402.7 |
MyP_StrapTbl_CalTable[4] | 2 | 0 | 541.4 |
MyP_StrapTbl_CalTable[5] | 2 | 6 | 692.7 |
MyP_StrapTbl_CalTable[6] | 3 | 0 | 844.1 |
MyP_StrapTbl_CalTable[7] | 3 | 6 | 990.8 |
MyP_StrapTbl_CalTable[8] | 4 | 0 | 1137.5 |
PTST 명령어의 InOut 태그 Cfg_CalTbl은 명령어에 스트래핑 테이블 정보를 제공하기 위해 MyP_StrapTbl_CalTable 새 배열을 가리키도록 수정됩니다. 그러면 PTST 출력이 다른 PAI 명령어에 연결됩니다. 출력은 저장 탱크의 계산된 양입니다.
구조화된 텍스트
MyPTST.Inp_Level := MyLevel.Val;
MyVolume.Inp_PVUncertain := MyLevel.Sts_PVUncertain;
MyVolume.Inp_PVData := MyPTST.Val_TotObsVol;
PAI(MyLevel);
PTST(MyPTST,MyP_StrapTbl_CalTable);
PAI(MyVolume);
의견을 작성 부탁드립니다.