Elem_OfArray2D

배열 내 요소 수

이 펑션은 배열의 1번째 및 2번째 단위의 요소 수를 산출합니다.

파라미터

입력

Array2D (ANY_IN_UNITS_OF_WORDS)

결정할 요소 수가 있는 입력 변수(배열 단위 1, 2 또는 3)

출력

NrOfElem1 (INT, DINT, UINT, UDINT)

첫 번째 단위에서 요소 수 산출

NrOfElem2 (INT, DINT, UINT, UDINT)

두 번째 단위에서 요소 수 산출

주석

입력 Array2D가 1차원 배열인 경우:

  • 입력 Array2D에 있는 배열의 요소 수는 출력 NrOfElem1에서 산출됩니다.

  • 값 1은 출력 NrOfElem2에서 반환됩니다.

입력 Array2D가 2차원 배열인 경우:

  • 입력 Array2D의 배열에서 첫 번째 단위의 요소 수는 출력 NrOfElem1에서, 두 번째 단위의 요소 수는 NrOfElem2에서 산출됩니다.

입력 Array2D가 3차원 배열인 경우:

  • 입력 Array2D의 배열에서 첫 번째 단위의 요소 수는 출력 NrOfElem1에서, 배열의 두 번째 및 세 번째 단위의 제품은 NrOfElem2에서 산출됩니다.

따라서 펑션과 펑션블럭은 다양한 길이의 해당 프로세스 배열을 쓸 수 있습니다(또한 펑션(GetPointer, AreaOffs_ToVar, Var_ToAreaOffs)과 함께).

주석

제품 NrOfElem1*NrOfElem2는 항상 배열의 총 요소 수와 같습니다.

POU 헤더

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

	VAR
		ArrayOfInt: ARRAY [2..15,3..20] OF INT:=[252(0)];
		NumberOfDim1: INT:=0;
		NumberOfDim2: INT:=0;
	END_VAR

POU 본문

이 경우, 펑션 Elem_OfArray2D는 각 CPU 주기에서 실행됩니다(EN 입력 없음). 변수 ArrayOfInt의 요소 수를 결정합니다. 결과는 다음과 같습니다. NumberOfDim1 = 14 및 NumberOfDim2 = 18.

LD 본문

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,,ArrayOfInt,6,2,8,4,);
B(B_VAROUT,,NumberOfDim1,19,2,21,4,);
B(B_F,Elem_OfArray2D!,Instance,8,1,19,5,,?DArray2D?CNrOfElem1?CNrOfElem2);
B(B_VAROUT,,NumberOfDim2,19,3,21,5,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

추가 예 프로젝트(FPWIN Pro 설치의 "Samples" 디렉토리):2차원 배열의 제품 계산

최종 수정일: 2019-04-30이 페이지에 대한 피드백Panasonic 직통 전화