LIMIT

입력 변수의 한계값

LIMIT에서는 1번째 입력 변수가 하한값이 되고 3번째 입력 변수가 상한값이 됩니다. 2번째 입력 변수가 이 한계 내에 있으면 출력 변수로 전송됩니다. 이 한계보다 크면 상한값이 전송되고 이 한계보다 작으면 하한값이 전송됩니다.

파라미터

입력

MN (INT, DINT, UINT, UDINT, REAL, LREAL)

1번째 입력: 하한값

IN (INT, DINT, UINT, UDINT, REAL, LREAL)

2번째 입력: 상한 및 하한값과 비교한 값

MX (INT, DINT, UINT, UDINT, REAL, LREAL)

3번째 입력: 상한값

출력

VAR_OUT (INT, DINT, UINT, UDINT, REAL, LREAL)

입력으로 출력: 결과, 상한값과 하한값 사이인 경우 2번째 입력값, 그렇지 않은 경우 상한 또는 하한값

POU 헤더

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

	VAR
		lower_limit_val: INT:=0;
			(*all types allowed*)
		comparison_value: INT:=0;
			(*all types allowed*)
		upper_limit_val: INT:=0;
			(*all types allowed*)
		result: INT:=0;
			(*all types allowed*)
	END_VAR

이 예에서 입력 변수(lower_limit_val, comparison_valueupper_limit_val)가 선언됩니다. 대신 펑션의 입력 정수에서 정수를 직접 입력할 수 있습니다.

LD 본문

lower_limit_valupper_limit_valcomparison_value의 올바른 범위를 지정합니다(result로 전송되어야 하는 경우).

  • comparison_valueupper_limit_val보다 크면 upper_limit_val 값이 result로 전송됩니다.

  • lower_limit_val보다 작으면 lower_limit_val 값이 result로 전송됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,lower_limit_val,9,1,11,3,);
B(B_VARIN,,comparison_value,9,2,11,4,);
B(B_VARIN,,upper_limit_val,9,3,11,5,);
B(B_VAROUT,,result,16,1,18,3,);
B(B_F,LIMIT!,Instance,11,0,16,5,,?DMN?DIN?DMX?C);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

result:=LIMIT(MN:=lower_limit_val, IN:=comparison_value, MX:=upper_limit_val);

IL 본문

LD

lower_limit_val

LIMIT

comparison_value, upper_limit_val

ST

result

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