원점복귀
이 명령은 위치결정 메모리(축 설정 영역)에서 지정된 파라미터에 따라 원점복귀 동작을 시작합니다.
입력
채널 번호
Configurator PMX: SYS_PMX_CHANNEL_0–SYS_PMX_CHANNEL_3
Configurator PM7: SYS_PM7_AXIS_1–SYS_PM7_AXIS_8
오퍼랜드 값이 범위를 벗어나면 연산 에러가 발생합니다.
시스템 정지, 비장정지, 제한 정지 및 감속 정지 조건이 충족되면 정지 작동이 우선 적용됩니다.
지정된 채널의 시스템 레지스터가 [펄스 출력[테이블 작업]] 이외이면 연산 오류가 발생합니다.
원점복귀 패턴이 [DOG 방법 1], [DOG 방법 3] 또는 [원점 복귀 방법]인 경우, 원점입력이 시스템 레지스터에서 설정되지 않으면 연산 에러가 발생합니다. 원점복귀 패턴이 [DOG 방법 2] 또는 [데이터 설정 방법]인 경우, 원점입력이 시스템 레지스터에서 설정되지 않더라도 원점복귀가 시작됩니다.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
[펄스 출력[테이블 작업]]이 시스템 레지스터에 설정되지 않은 경우
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
[펄스 출력[테이블 작업]]이 시스템 레지스터에 설정되지 않은 경우
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bGoHome: BOOL:=FALSE;
iChannel0: INT:=0;
END_VAR
변수 bGoHome가 FALSE에서 TRUE로 변경되면 함수가 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_F,F382_Positioning_Home!,,7,2,19,6,,?DEN?Ds1_Channel?AENO);
B(B_CONTACT,,bGoHome,3,3,5,5,);
B(B_VARIN,,iChannel0,5,4,7,6,);
L(1,4,3,4);
L(1,0,1,6);
L(5,4,7,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bGoHome) then
F382_Positioning_Home(s1_Channel := iChannel0);
END_IF;