GetDataTypeInfo

구조화된 변수의 설명 읽기

이 명령은 입력 Variable에서 구조화된 변수(DUT, ARRAY)의 변수 설명을 가져오며 해당 설명을 출력 변수 adutDataTypeInfo에 씁니다.

입력

Variable (BOOL, INT, UINT, WORD, DINT, UDINT, DWORD, REAL, DATE, TOD, DT, STRING)

구조화된 변수의 시작 어드레스

출력

adutDataTypeInfo (ANY ARRAY OF DATA_TYPE_INFO_DUT)

변수 설명 배열의 시작 어드레스

주석

  • 입력 Variable에 대한 유효한 형식은 간단한 형식의 멤버 변수(BOOL 제외)가 있는 구조화된 데이터 형식, 이러한 간단한 형식의 배열 및 이러한 간단한 형식으로 구성된 데이터 단위 형식입니다.

  • 변수 adutDataTypeInfoDATA_TYPE_INFO_DUT의 배열이어야 합니다.

  • 배열의 크기는 프로세스 데이터 내의 요소 수보다 크거나 같아야 합니다.

POU 헤더

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

	VAR
		bEnable: BOOL:=FALSE;
		asSimpleVariable: ARRAY [0..2] OF STRING[32]:=[3('')];
		adutDataTypeInfo: ARRAY [0..0] OF DATA_TYPE_INFO_DUT;
	END_VAR

LD 본문

변수 bEnableTRUE로 설정되면 함수가 실행됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,E_GetDataTypeInfo!,,15,0,28,4,,?DEN?dVariable?AENO?cadutDataTypeInfo);
B(B_VARIN,,asSimpleVariable,13,2,15,4,);
B(B_VAROUT,,adutDataTypeInfo,28,2,30,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,15,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

if (bEnable) then
    adutDataTypeInfo := GetDataTypeInfo(asSimpleVariable);
end_if;

DUT

이 예에서 dutVariable 변수는 다음 구조가 있는 Example_2_DUT 형식의 DUT입니다.

POU 헤더

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

	VAR
		bEnable: BOOL:=FALSE;
		dutVariable: Example_2_DUT;
		adutDataTypeInfo: ARRAY [0..2] OF DATA_TYPE_INFO_DUT;
	END_VAR

LD 본문

변수 bEnableTRUE로 설정되면 함수가 실행됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,E_GetDataTypeInfo!,,13,0,26,4,,?DEN?dVariable?AENO?cadutDataTypeInfo);
B(B_VARIN,,dutVariable,11,2,13,4,);
B(B_VAROUT,,adutDataTypeInfo,26,2,28,4,);
L(1,0,1,5);
L(1,2,4,2);
L(6,2,13,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

if (bEnable) then
    adutDataTypeInfo := GetDataTypeInfo(dutVariable);
end_if;

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