F384_Positioning_ReadData

위치결정 파라미터 읽기

이 명령은 유저 프로그램으로 다음 위치결정 파라미터와 위치결정 테이블 데이터를 읽는 데 사용됩니다.

  • 사용된 채널/축, 반복 횟수 및 오류 코드와 같은 일반 정보

  • 현재 실행 상태나 현재 반복 횟수와 같은 축 정보

  • 펄스 출력 제어 코드, 원점복귀 설정, 그리고 속도, 가속 및 감속 설정과 같은 축 설정 정보

  • 제어 코드 및 패턴, 속도, 가속 및 감속 설정과 같은 위치결정 테이블 데이터

이 명령은 s2_Offset으로 시작하는 위치결정 메모리에 저장된 데이터의 n_Number에서 지정한 워드 수를 읽고 d_Start로 시작하는 연산 메모리 영역에 저장합니다.

파라미터

입력

s1_Channel (WORD, INT, UINT)

채널 번호

Configurator PMX: SYS_PMX_CHANNEL_0SYS_PMX_CHANNEL_3

Configurator PM7: SYS_PM7_AXIS_1SYS_PM7_AXIS_8

s1_Area (WORD, INT, UINT)

위치결정 메모리 영역:

  • 0: SYS_POSITIONING_AREA_COMMON_DATA

  • 1: SYS_POSITIONING_AREA_AXIS_INFORMATION

  • 2: SYS_POSITIONING_AREA_AXIS_SETTING

  • 3: SYS_POSITIONING_AREA_TABLE_DATA (FP-XH 표준 형식)

    SYS_POSITIONING_AREA_CAM_PATTERN (FP-XH M4T16T, FP-XH M8N16T에만 해당)

  • 4: SYS_POSITIONING_AREA_SYNCRONOUS_CONTROL(FP-XH M4T16T, FP-XH M8N16T에만 해당)

  • 5: SYS_POSITIONING_AREA_OPERATION_CHANGE(FP-XH M4T16T, FP-XH M8N16T에만 해당)

  • 6: SYS_POSITIONING_AREA_RTEX_PARAMETER(FP-XH M4T16T, FP-XH M8N16T에만 해당)

s2_Offset (WORD, INT, UINT)

읽을 제어 유닛에 있는 위치결정 메모리 영역의 시작 오프셋 어드레스(소스 어드레스)

n_Number (WORD, INT, UINT)

읽을 워드 수

출력

d_Start (WORD)

읽은 데이터를 저장하는 제어 유닛에 있는 연산 메모리의 시작 어드레스(대상 어드레스)

POU 헤더

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

	VAR
		bReadData: BOOL:=FALSE;
		awData: ARRAY [0..9] OF WORD:=[10(0)];
		@'': @'';
	END_VAR

POU 본문

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

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_COMMENT,,ø^Settings for s1_Channel:ø^	PMX-Configurator:  SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3ø^	PM7-Configurator: 	SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8ø^,2,1,49,6,);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_F,F384_Positioning_ReadData!,,22,0,35,7,,?DEN?Ds1_Channel?Ds1_Area?Ds2_Offset?Dn_Number?AENO?Cd_Start);
B(B_VARIN,,SYS_PMX_CHANNEL_0,20,2,22,4,);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_INFORMATION,20,3,22,5,);
B(B_VARIN,,155,20,4,22,6,);
B(B_VARIN,,awData,13,5,15,7,);
B(B_VAROUT,,awData,43,2,45,4,);
B(B_F,Size_Of_Var!,,15,5,22,7,,?D?C);
B(B_F,Adr_Of_Var_O!,,35,2,43,4,,?D?C);
B(B_CONTACT,,bReadData,7,1,9,3,);
L(1,2,7,2);
L(9,2,22,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

(*
	Settings for s1_Channel:
		PMX-Configurator: 	SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3
		PM7-Configurator: 	SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8
*)

if (bReadData) then
	F384_Positioning_ReadData(	s1_Channel 	:= SYS_PMX_CHANNEL_0, 
								s1_Area 	:= SYS_POSITIONING_AREA_AXIS_INFORMATION, 
								s2_Offset 	:= 155, 
								n_Number 	:= Size_Of_Var(awData), 
								d_Start 	=> Adr_Of_Var(awData));
end_if;

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