위치결정 파라미터 쓰기
이 명령은 유저 프로그램으로 다음 위치결정 파라미터와 위치결정 테이블 데이터를 쓰는 데 사용됩니다.
사용된 채널/축, 반복 횟수 및 오류 코드와 같은 일반 정보
현재 실행 상태나 현재 반복 횟수와 같은 축 정보
펄스 출력 제어 코드, 원점복귀 설정, 그리고 속도, 가속 및 감속 설정과 같은 축 설정 정보
제어 코드 및 패턴, 속도, 가속 및 감속 설정과 같은 위치결정 테이블 데이터
이 명령은 s2_Start로 시작하는 연산 메모리 영역에 저장된 데이터의 워드 수(n_Number)를 읽어 d_Offset로 시작하는 위치결정 메모리 영역에 저장합니다.
입력
채널 번호
Configurator PMX: SYS_PMX_CHANNEL_0–SYS_PMX_CHANNEL_3
Configurator PM7: SYS_PM7_AXIS_1–SYS_PM7_AXIS_8
쓸 제어 유닛에 있는 연산 메모리 영역의 시작 어드레스(소스 어드레스)
쓸 워드 수
위치결정 메모리 영역:
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에만 해당)
쓴 데이터를 저장하는 제어 유닛에 있는 위치결정 메모리의 시작 오프셋 어드레스(대상 어드레스)
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bWriteData: BOOL:=FALSE;
awData: ARRAY [0..9] OF WORD:=[10(0)];
END_VAR
변수 bWriteData가 TRUE로 설정되면 함수가 실행됩니다.
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 := 8 ;
NETWORK_BODY
B(B_F,F385_Positioning_WriteData!,,20,0,33,8,,?DEN?Ds1_Channel?Ds2_Start?Dn_Number?Ds1_Area?Dd_Offset?AENO);
B(B_VARIN,,SYS_PMX_CHANNEL_0,18,2,20,4,);
B(B_VARIN,,awData,11,3,13,5,);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_SETTING,18,5,20,7,);
B(B_VARIN,,155,18,6,20,8,);
B(B_CONTACT,,bWriteData,9,1,11,3,R);
B(B_F,Adr_Of_Var_I!,,13,3,20,5,,?D?C);
B(B_F,Size_Of_Var!,,13,4,20,6,,?D?C);
L(1,2,9,2);
L(11,2,20,2);
L(13,4,13,5);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
(*
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 (DF(bWriteData)) then
F385_Positioning_WriteData( s1_Channel := SYS_PMX_CHANNEL_0,
s2_Start := Adr_Of_Var(awData),
n_Number := Size_Of_Var(awData),
s1_Area := SYS_POSITIONING_AREA_AXIS_SETTING,
d_Offset := 155);
end_if;