여러 위치결정 테이블 동시 시작
이 명령은 여러 위치결정 테이블을 동시에 시작합니다. 위치결정 테이블의 번호는 s1_dutMultipleChannels로 지정됩니다. 각 위치결정 테이블은 Configurator PMX로 지정된 단일 축을 제어합니다. E 포인트 제어, P 포인트 제어 및 C 포인트 제어 테이블이 시작될 수 있습니다.
입력
동시에 시작할 데이터 테이블 번호를 저장하는 데이터 레지스터의 시작 영역
오퍼랜드 값이 범위를 벗어나면 연산 에러가 발생합니다.
시스템 정지, 비장정지, 제한 정지 및 감속 정지 조건이 충족되면 정지 작동이 우선 적용됩니다.
지정된 채널의 시스템 레지스터가 [펄스 출력[테이블 작업]] 이외이면 연산 오류가 발생합니다.
모든 지정된 채널을 시작할 수 있는 경우에만 채널이 동시에 실행됩니다. 지정된 채널 중에 상태가 "사용 중"인 채널이 있으면 위치결정 테이블이 동시에 시작되지 않고 프로세스가 종료됩니다. FP_POS_UNIT_GET_STATUS를 사용하여 각 채널의 상태를 확인합니다.
F380_Positioning_Start를 사용하여 선형 보간을 시작합니다. F383_Positioning_StartMultiple로 보간 축 제어 테이블을 지정하면 자가 진단 에러(위치결정 동작 에러)가 발생합니다.
s1_dutMultipleChannels는 각 채널의 지정된 위치결정 테이블 번호를 시작합니다.
단일 축 제어를 수행하는 위치결정 테이블만 지정할 수 있습니다.
위치결정 테이블 번호의 유효 범위는 0~20입니다. 위치결정 테이블 번호로 0을 지정하면 동시 시작에서 채널이 제외됩니다.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
채널 또는 위치결정 테이블 번호가 허용 범위를 벗어나는 경우
[펄스 출력[테이블 작업]]이 시스템 레지스터에 설정되지 않은 경우
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
채널 또는 위치결정 테이블 번호가 허용 범위를 벗어나는 경우
[펄스 출력[테이블 작업]]이 시스템 레지스터에 설정되지 않은 경우
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bStartMultiple: BOOL:=FALSE;
dutChannels: F383_MultipleChannels_DUT;
END_VAR
변수 bStartMultiple가 FALSE에서 TRUE로 변경되면 함수가 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,F383_Positioning_StartMultiple!,,11,1,25,5,,?DEN?Ds1_dutMultipleChannels?AENO);
B(B_CONTACT,,bStartMultiple,4,2,6,4,);
B(B_VARIN,,dutChannels,9,3,11,5,);
L(1,3,4,3);
L(1,0,1,5);
L(6,3,11,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStartMultiple) then
F383_Positioning_StartMultiple(s1_dutMultipleChannels := dutChannels);
END_IF;