GET_SINT

오프셋이 있는 바이트 데이터에서 부호 있는 정수 값 읽기

이 함수는 Data의 8비트 바이트 값을 가져옵니다. 여기서 iByteOffset은 바이트의 오프셋을 지정합니다. 바이트 번호 지정은 0부터 시작되며, 0은 Data의 첫 번째 바이트를 나타냅니다.

결과는 -128~127 범위의 부호 있는 정수 값을 포함합니다. 결과 바이트 값의 부호 비트(즉, 비트 번호 7)가 상위 비트로 확장됩니다. 즉, 부호 비트가 0이면 모든 상위 비트가 0입니다. 부호 비트가 1인 경우 모든 상위 비트는 1입니다.

입력

Data (ANY) BOOL 데이터를 포함하지 않은 모든 단순 및 파생 데이터 유형(ARRAY, DUT)

바이트를 가져온 바이트 데이터

iByteOffset (INT, DINT, UINT, UDINT)

Data의 첫 번째 바이트(0부터 시작)를 기준으로 한 바이트 오프셋은 0 이상이어야 합니다.

출력

Unnamed output INT, DINT (ANY_SIGNED_INT)

-128~127 범위의 부호 있는 정수 값. 결과 바이트 값의 부호 비트(즉, 비트 번호 7)가 상위 비트로 확장됩니다.

주석

  • Control FPWIN Pro7이 액세스할 데이터의 유효성을 확인하지 않으므로 입력 데이터의 유효성을 확인하십시오.

주석

최상의 성능을 얻으려면 가능한 한 일정한 입력 값을 사용하십시오!

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR
		bStart: BOOL:=FALSE;
		iResult: INT:=0;
		awByteData: ARRAY [0..4] OF WORD:=[100,200,300,400,501];
		iOffs: INT:=0;
	END_VAR

LD 본문

변수 bStartTRUE로 설정되면 펑션이 실행됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,4,3,6,5,);
B(B_F,E_GET_SINT!,,11,2,19,7,,?DEN?DData?DiByteOffset?AENO?C);
B(B_VARIN,,awByteData,9,4,11,6,);
B(B_VAROUT,,iResult,19,4,21,6,);
B(B_VARIN,,iOffs,9,5,11,7,);
L(1,0,1,7);
L(1,4,4,4);
L(6,4,11,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

if (bSTart) then
	iResult:=GET_SINT(Data := awByteData, iByteOffset := iOffs);
end_if;

최종 수정일: 2025-06-24이 페이지에 대한 피드백Panasonic 직통 전화