위치결정 테이블 시작
이 명령은 위치결정 메모리(위치결정 테이블 영역)에서 지정된 데이터에 따라 위치결정 동작을 시작합니다. 다음 연산이 가능합니다.
E(종료점) 제어
P(통과점) 제어(P ® E)
C(연속점) 제어(C ® E)
J(속도점) 제어(J ® E)
선형 보간
입력
채널 번호
Configurator PMX: SYS_PMX_CHANNEL_0–SYS_PMX_CHANNEL_3
Configurator PM7: SYS_PM7_AXIS_1–SYS_PM7_AXIS_8
테이블 번호: 1-20
오퍼랜드 값이 범위를 벗어나면 연산 에러가 발생합니다.
시스템 정지, 비장정지, 제한 정지 및 감속 정지 조건이 충족되면 정지 작동이 우선 적용됩니다.
지정된 채널의 시스템 레지스터가 [펄스 출력[테이블 작업]] 이외이면 연산 오류가 발생합니다.
위치결정 메모리(축 설정 영역)의 값이 비정상이면 자가 진단 에러(위치 동작 에러)가 발생합니다.
시작할 채널이 이미 작동 중이면 위치결정 제어가 종료됩니다.
s3_OutputCalculationOnly에 계산만 지정되면 테이블 계산만 실행됩니다. 계산 실행 후 다음 스캔에서 같은 채널과 같은 테이블에 위치결정 동작이 시작되면 위치결정 제어의 시작 시간이 줄어듭니다.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
[펄스 출력[테이블 작업]]이 시스템 레지스터에 설정되지 않은 경우
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
[펄스 출력[테이블 작업]]이 시스템 레지스터에 설정되지 않은 경우
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bStartPositioning: BOOL:=FALSE;
iChannel0: INT:=0;
END_VAR
변수 bStartPositioning가 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_F,F380_Positioning_Start!,,13,1,27,7,,?DEN?Ds1_Channel?Ds2_TableNumber?Ds3_OutputCalculationOnly?AENO);
B(B_CONTACT,,bStartPositioning,6,2,8,4,R);
B(B_VARIN,,iChannel0,11,3,13,5,);
B(B_VARIN,,3,11,4,13,6,);
B(B_VARIN,,0,11,5,13,7,);
L(1,3,6,3);
L(8,3,13,3);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bStartPositioning) then
F380_Positioning_Start(s1_Channel := iChannel0,
s2_TableNumber := 3,
s3_OutputCalculationOnly := 0);
END_IF;