SUB

빼기

어큐뮬레이터 콘텐츠를 오퍼랜드 필드에서 정의한 오퍼랜드에서 뺍니다. 그 결과는 어큐뮬레이터로 전송됩니다.

파라미터

입력

정의되지 않은 입력 (INT, DINT, UINT, UDINT, REAL, LREAL)

1번째 입력: 피감수

정의되지 않은 입력 (INT, DINT, UINT, UDINT, REAL, LREAL)

2번째 입력: 감수

출력

정의되지 않은 출력 (INT, DINT, UINT, UDINT, REAL, LREAL)

입력으로 출력: 결과

주석

모든 오퍼랜드의 데이터 형식이 동일해야 합니다.

POU 헤더

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

	VAR
		bStart: BOOL:=FALSE;
		iMinuend: INT:=0;
		iSubtrahend: INT:=0;
		iResult: INT:=0;
	END_VAR

이 예에서 입력 변수(iMinuend, iSubtrahendbStart)가 선언됩니다. 대신 기능에 정수를 직접 입력할 수 있습니다(테스트에 대한 입력 예 활성화).

LD 본문

bStart가 설정되면 iSubtrahend(INT 데이터 형식)를 iMinuend에서 빼고. 그 결과를 iResult(INT 데이터 형식)에 씁니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,minuend,6,3,8,5,);
B(B_VARIN,,subtrahend,6,4,8,6,);
B(B_VAROUT,,result,14,3,16,5,);
B(B_CONTACT,,enable,3,2,5,4,);
B(B_F,E_SUB!,Instance,8,1,14,6,,?DEN?D?D?AENO?C);
L(1,3,3,3);
L(5,3,8,3);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF bStart then
    iResult:=iMinuend-iSubtrahend;
END_IF;

IL 본문

최종 수정일: 2022-09-19이 페이지에 대한 피드백Panasonic 직통 전화