FNS_InitConfigNameTable

FP-FNS 블록에 대한 데이터 구성

FNS_InitConfigNameTable 펑션은 변수 ProcessDataTable에서 ConfigNameTable을 생성합니다. 이것은 단일 요소 데이터 유형이거나 다중 요소 데이터 유형일 수 있습니다.

파라미터

입력

ProcessDataTable (INT, WORD, DINT, DWORD, REAL, TIME) 및 이러한 형식의 배열

공정 데이터 변수의 입력 및 출력

출력

ConfigNameTable ARRAY of WORD

FP-FNS 블록에 대한 구성 데이터 변수 ConfigNameTable의 배열 크기는 ProcessDataTable 변수의 요소 수와 같아야 합니다.

주석

  • 변수 ConfigNameTable의 크기가 ProcessDataTable의 구조에 해당하는지 확인합니다. 예를 들어, ProcessDataTable이 세 개의 항목으로 구성되었다면 ConfigNameTable 변수는 "Array[0..2] of WORD"이어야 하며, 이 크기는 항목 수와 일치합니다. ProcessDataTable 변수에 항목이 하나만 있으면(예: WORD) ConfigNameTable 변수는 "Array[0..0] of WORD"(크기 1)이어야 합니다.

  • 허용되는 입력 데이터 유형은 모두 16비트(INT, WORD), 32비트(DINT, DWORD, TIME(32비트), REAL)와 64비트 변수 또는 그 배열입니다. 64비트 변수는 2차원 배열로 정의됩니다. 예를 들어, "Array[0..0,0..3] of INT"는 64비트 변수이고 "Array[0..3] of INT"는 16비트 변수의 4개 요소가 있는 배열을 나타냅니다.

  • 데이터 유형 BOOL, STRING 및 이러한 형식의 배열은 펑션 FNS_InitConfigDataTable의 입력에서 사용할 수 없습니다.

  • 이 펑션의 출력 ConfigNameTableWORD의 배열이어야 합니다.

ProcessDataTable

다음 구문 표에서는 16비트, 32비트 및 64비트 변수와 그 배열을 ProcessDataTable 입력으로 사용할 때 이를 선언하는 방법을 보여줍니다.

입력 데이터 유형

입력 크기

코멘트

INT, WORD

16비트

DINT, WORD, REAL, TIME

32비트

Array[0..0,0..3] of INT

Array[0..0,0..3] of WORD

64비트

2차원 배열;

2차원 크기 = 4

Array[a ..b] of INT/Array[a ..b] of WORD

16비트 배열

크기 = b-a+1

1차원 배열

Array[a ..b] of DINT/Array[a ..b] of DWORD/

Array[a ..b] of REAL/Array[a ..b] of TIME

32비트 배열

크기 = b-a+1

1차원 배열

Array[0..x,0..3] of INT

Array[0..x,0..3] of WORD

64비트 배열

크기 = x+1

2차원 배열;

2차원 크기 = 4

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
	VAR
		adiDInt1: ARRAY[2..3] OF DINT:=[2(0)];
		arReal1: ARRAY[0..1, 1..9] OF REAL:=[18(0.0)];
		aui1: ARRAY[1..15] OF UINT:=[15(0)];
		dwWord1: DWORD:=0;
		iInt1: INT:=0;
		udiUDInt1: UDINT:=0;
	END_VAR

변수 configNames1의 크기는 입력 변수 myDUT60 변수의 엔트리 수와 일치해야 합니다.

DUT에는 엔트리 세 개가 있으므로, 출력 변수 configNames1는 세 가지 크기의 WORD 배열이어야 합니다(예: Array [0..2] of WORD).

POU 본문

sys_bIsFirstScanTRUE이면 첫 번째 주기에서 기능이 실행됩니다. 변수 configNames1의 값은 입력 변수 myDUT60 구조(요소 수와 형식)와 일치합니다.

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,,myDUT60,11,2,13,4,);
B(B_VAROUT,,configNames1,29,2,31,4,);
B(B_F,E_FNS_InitConfigNameTable!,Instance,13,0,29,4,,?DEN?dProcessNameTable?AENO?cConfigNameTable);
B(B_VARIN,,sys_bIsFirstScan,11,1,13,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

If sys_bIsFirstScan then
    configNames1:=FNS_InitConfigNameTable(myDUT60);
end_if;

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