FANUC 온라인 측정 프로그램
프로그램 소개
기능 설명 |
사용자는 로봇 측에서Mech-Metrics를 트리거하여 Mech-MSR를 사용해 측정하고, Mech-Metrics로 측정 결과를 반환합니다. |
파일 경로 |
Mech-MSR 및 Mech-Metrics 소프트웨어 설치 디렉터리의 |
필요한 리소스 |
Mech-MSR솔루션 및 Mech-Metrics 프로젝트 |
사용 전제 조건 |
|
| 이 샘플 프로그램은 예시 프로그램일 뿐입니다. 사용자는 실제 상황에 맞춰 이 내용을 바탕으로 수정해야 하며, 해당 프로그램을 그대로 사용하지 않도록 하십시오. |
프로그램 해설
다음에는 MSR_Metrics_Sample1 샘플 프로그램의 코드와 관련 설명입니다.
1: !-------------------------------- ;
2: !FUNCTION: MSR_Metrics_Sample1 ;
3: !Mech-Mind, 2024-05-27 ;
4: !-------------------------------- ;
5: ;
6: !set current uframe NO. to 0 ;
7: UFRAME_NUM=0 ;
8: !set current tool NO. to 1 ;
9: UTOOL_NUM=1 ;
10: !move to robot home position ;
11: J P[4] 100% FINE ;
12: !Init Socket!Modify IP Address ;
13: CALL MSR_INIT_SKT('8','192.168.1.20',30000,5) ;
14: !Set Custom Values ;
15: CALL MSR_MEAS_PAR(0,0,0,0,0,0,0,0) ;
16: !Start Measurement Task ;
17: CALL MSR_ST_MEAS(1,1,2,10,10,53) ;
18: !check whether metrics project ;
19: !has been triggered successfully ;
20: IF (R[53]<>8100),JMP LBL[99] ;
21: !Import Part ID During ;
22: !Measurement ;
23: CALL MSR_SET_WP(1,2,53) ;
24: !check whether Part ID has ;
25: !been imported successfully ;
26: IF (R[53]<>8103),JMP LBL[99] ;
27: !move to 1st image-capturing ;
28: !position ;
29: J P[1] 100% FINE ;
30: !Set Robot_Id,Index ;
31: !R No.2:MM Status ;
32: CALL MSR_MEAS_FEAT(1,3,53) ;
33: !check whether feature measureme- ;
34: !nt has been run successfully ;
35: IF (R[53]<>8101),JMP LBL[99] ;
36: !move to 2ed image-capturing ;
37: !position ;
38: J P[2] 100% FINE ;
39: !Set Robot_Id,Index ;
40: !R No.2:MM Status ;
41: CALL MSR_MEAS_FEAT(1,3,53) ;
42: !check whether feature measureme- ;
43: !nt has been run successfully ;
44: IF (R[53]<>8101),JMP LBL[99] ;
45: !move to 3rd image-capturing ;
46: !position ;
47: J P[3] 100% FINE ;
48: !Set Robot_Id,Index ;
49: !R No.2:MM Status ;
50: CALL MSR_MEAS_FEAT(1,3,53) ;
51: !check whether feature measureme- ;
52: !nt has been run successfully ;
53: IF (R[53]<>8101),JMP LBL[99] ;
54: CALL MSR_END_MEAS(1,11,12,13,14,53) ;
55: !check whether metrics project ;
56: !has been ended successfully ;
57: IF (R[53]<>8102),JMP LBL[99] ;
58: !Query Part Historical Data ;
59: CALL MSR_VIEW_WP(1,2,53) ;
60: !check whether part historical ;
61: !data has been viewed ;
62: !successfully ;
63: IF (R[53]<>8104),JMP LBL[99] ;
64: WAIT 1.00(sec) ;
65: END ;
66: ;
67: LBL[99:handling error] ;
68: !add error handling logic here ;
69: !according to different ;
70: !error codes ;
71: !e.g.: R[53]=-99 means ;
72: !failed to open socket ;
73: PAUSE ;
다음 표는 위 절차에 대한 논리적 해석을 제공합니다. 위 코드에서 세미콜론 !로 시작하는 주석 처리된 행은 주석 처리된 내용이 해제되었음을 나타냅니다.
| 워크플로 | 코드와 설명 | ||||
|---|---|---|---|---|---|
좌표계 설정하기 |
|
||||
지정된 위치로 이동하기 |
|
||||
통신 초기화하기 |
|
||||
사용자 정의 파라미터 설정하기 |
|
||||
측정 시작하기 |
|
||||
측정 중 대상 물체 SN 전달 |
|
||||
이동 로봇은 지정된 위치로 이동하여 특징 측정 작업을 수행하기 |
|
||||
측정 종료하기 |
|
||||
이력 데이터 조회하기 |
|
||||
프로그램 종료 및 오류 처리 |
|