샘플 프로그램2:MM_S2_Vis_Basic
프로그램 소개
기능 설명 |
로봇이 Mech-Viz 프로젝트 실행을 트리거하고 경로 계획 결과를 획득하여 피킹 작업을 수행합니다. |
파일 경로 |
Mech-Vision 및 Mech-Viz의 설치 디렉터리로 이동하여 |
필요한 프로젝트 |
Mech-Vision프로젝트와 Mech-Viz 프로젝트 |
사용 조건 |
|
| 이 샘플 프로그램은 참고용으로 제공됩니다. 사용자는 실제 상황에 맞춰 이 내용을 바탕으로 수정해야 하며, 해당 프로그램을 그대로 사용하지 않도록 하십시오. |
프로그램 설명
다음에는 MM_S2_Vis_Basic 샘플 프로그램의 코드와 관련 설명입니다.
1. MJOINT(POINTC(264.2282,-217.9533,359.1164,-83.989165,1.303953,176.0864,CFG1,0,0,1), v100perc, fine, tool0);
2. MM_Init_Socket(1);
3. CALL: MM_Open_Socket();
4. CALL: MM_Status := MM_Set_Branch(1, 1);
5. CALL: MM_Status := MM_Start_Viz(1, MM_J);
6. CALL: MM_Status, MM_LastData, MM_POS_NUM, MM_VisPosNum := MM_Get_VizData(1);
7. IF MM_Status <> 2100 THEN
8. STOPPROG;
9. END_IF;
10. CALL: MM_JPS[1], MM_Label[1], MM_Tool[1] := MM_GET_JPS(1);
11. CALL: MM_JPS[2], MM_Label[2], MM_Tool[2] := MM_GET_JPS(2);
12. CALL: MM_JPS[3], MM_Label[3], MM_Tool[3] := MM_GET_JPS(3);
13. CALL: MM_JPS[4], MM_Label[4], MM_Tool[4] := MM_GET_JPS(4);
14. CALL: MM_JPS[5], MM_Label[5], MM_Tool[5] := MM_GET_JPS(5);
15. MJOINT(MM_JPS[1], v500, fine, tool0);
16. MJOINT(MM_JPS[2], v500, fine, tool0);
17. MJOINT(MM_JPS[3], v500, fine, tool0);
18. MJOINT(MM_JPS[4], v500, fine, tool0);
19. MJOINT(MM_JPS[5], v500, fine, tool0);
20. CALL: MM_Close_Socket();
아래 표는 위 프로그램에 대한 설명입니다. 명령어 이름의 링크를 클릭하면 해당 명령의 상세 설명을 확인할 수 있습니다.
| 워크플로 | 코드와 설명 | ||
|---|---|---|---|
카메라 이미지 캡처 위치로 이동하기 |
따라서 전체 명령은 로봇이 관절 이동 방식으로 촬영 지점까지 정확하게 이동함을 나타냅니다. |
||
통신 파라미터 초기화 |
로봇은 MM_Init_Socket 명령어를 통해 IPC와 통신하기 위한 소켓 번호를 설정합니다.
|
||
통신 구축 |
로봇은 MM_Open_Socket명령어를 통해 비전 시스템과 TCP 프로토콜 통신 연결을 설정합니다. |
||
Mech-Viz 메시지 분기 아웃 포트를 설정하기 |
따라서, 이 명령어는 Mech-Viz프로젝트가 번호 1인 "메시지 분기" 스텝에서 아웃 포트0을 통해 계속 실행된다는 것을 나타내며, 아래 그림과 같습니다.
|
||
Mech-Viz 프로젝트 실행을 트리거하기 |
따라서, 이 명령어는 로봇이 비전 시스템을 트리거하여 Mech-Viz 프로젝트를 실행한 후, Mech-Vision가 출력한 비전 결과를 기반으로 Mech-Viz는 로봇의 피킹 경로를 계획한다는 것을 나타냅니다. |
||
계획 경로를 획득하기 |
따라서, 이 명령어는 로봇이 Mech-Viz 프로젝트 반환한 계획 경로를 획득하는 명령어입니다.
상태 코드 MM_Status가 2100일 경우 로봇이 계획 경로를 성공적으로 획득합니다. 그렇지 않으면 비전 시스템이 오류사 발생합니다. 사용자는 구체적인 비정상 상태 코드에 따라 적절한 처리를 수행할 수 있습니다. |
||
계획 경로를 덤프하기 |
따라서, "CALL: MM_JPS[1], MM_Label[1], MM_Tool[1] := MM_GET_JPS(1);"는 첫 번째 웨이 포인트의 관절 각도, 레이블 및 말단장치 번호를 지정된 변수에 덤프하는 명령어입니다.
|
||
계획된 각 웨이 포인트로 이동 |
로봇은 관절 이동 방식으로 각 웨이 포인트까지 순차적으로 이동합니다. |
||
통신을 종료하기 |
로봇은 MM_Close_Socket 명령어를 통해 비전 시스템과 TCP 프로토콜 통신 연결을 끊깁니다. |