ROKAE 표준 인터페이스 명령어
명령어 호출에 관한 설명:
명령어는 ROKAE 문법 제약으로 인해 형식 파라미터와 반환값을 전달할 수 없으므로, 명령어에서 다루는 파라미터와 반환값은 모두 전역 변수로 처리됩니다.
통신 파라미터 초기화
Mech-Vision 프로젝트를 실행하기
이 명령어를 호출하면 Mech-Vision 프로젝트의 실행을 트리거하며 카메라 이미지 캡처와 비전 처리를 시작할 수 있습니다. Mech-Vision만 사용하고 Mech-Viz은 사용하지 않는 경우에 적용됩니다.
프로그램
Job = 1
Pos_Num_Need = 1
SendPos_Type = 1
MM_J = UpdateJnttarget(MM_J,0,0,0,0,0,0,0,0,0,0,0,0)
MM_Start_Vis()
이 프로그램은 Mech-Vision 프로젝트 1의 실행을 트리거합니다. Mech-Vision 프로젝트1에서 하나의 비전 포인트를 다시 보낼 것으로 예상되며 로봇은 현재 관절 각도와 플랜지 포즈를 Mech-Vision으로 전송합니다. UpdateJnttarget(MM_J,0,0,0,0,0,0,0,0,0,0,0,0)은 고정 관절 각도 값을 표시되며 SendPos_Type 파라미터 값은 3인 경우 사용됩니다.
파라미터를 입력하기
Job
Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Pos_Num_Need
Mech-Vision이 보낼 것으로 예상되는 비전 포인트 수입니다. 비전 포인트에는 비전 포즈, 해당 포인트 클라우드, 레이블, 크기 조정 정보 등이 포함됩니다.
-
0: Mech-Vision 프로젝트에서 인식 결과 중의 모든 비전 포인트를 획득합니다. -
0보다 큰 정수: Mech-Vision 프로젝트에서 인식 결과 중 일정 수량의 비전 포인트를 획득합니다.-
비전 포인트의 총수가 이 파라미터 값보다 작으면 인식 결과 중의 모든 비전 포인트를 획득합니다.
-
비전 포인트의 총수가 이 파라미터의 값보다 크거나 같으면 이 파라미터에 설정된 수량의 비전 포인트를 획득합니다.
-
| 비전 포인트를 획득하는 명령어는 102입니다. 기본적으로 102 명령어를 실행할 때마다 최대 20개의 비전 포인트를 획득할 수 있습니다. 처음으로 102 명령어를 실행한 후 반환된 파라미터 중 하나는 요청된 모든 비전 포인트가 이미 획득되었는지 여부를 나타냅니다. 그렇지 않은 경우 102 명령어를 반복해서 실행하십시오. |
SendPos_Type
로봇 포즈의 유형. 이 파라미터는 Mech-Vision으로 전송하는 실제 로봇 포즈의 유형을 지정합니다. 파라미터 범위:0~3.
| SendPos_Type | 설명 | 적용 시나리오 |
|---|---|---|
0 |
이 명령어는 Mech-Vision프로젝트로 로봇 포즈를 보낼 필요가 없습니다. Mech-Vision 프로젝트에서 "경로 계획" 스텝을 사용하는 경우 경로 계획의 시작치 위치는 경로 계획 툴에 설정된 Home 포인트 위치입니다. |
카메라는 Eye To Hand 방식으로 장착되는 경우 이 설정을 사용해야 합니다. 프로젝트는 사전에 이미지를 캡처할 필요가 없습니다. |
1 |
이 명령어는 로봇의 관절 각도와 플랜지 포즈를 Mech-Vision프로젝트로 입력해야 합니다. |
카메라는 Eye In Hand 방식으로 장착되는 경우 이 설정을 사용해야 합니다. 겐트리 로봇이 사용되는 시나리오 제외한 대부분 시나리오에서는 이 설정을 사용하는 것을 추천합니다. |
2 |
이 명령어는 로봇의 플랜지 포즈를 Mech-Vision프로젝트로 입력해야 합니다. |
이 설정은 겐트리 로봇이 사용되는 시나리오에서 추천됩니다. |
3 |
이 명령어는 사용자 정의한 관절 각도를 Mech-Vision프로젝트로 입력해야 합니다. 이 관절 각도 데이트는 Mech-Vision 프로젝트의 "경로 계획" 스텝에게 시작점으로 전송되며, 즉 로봇은 이 시작점에서 계획된 경로의 첫 번째 웨이포인트로 이동합니다. |
카메라는 Eye To Hand 방식으로 장착되는 경우 이 설정을 사용해야 합니다. 프로젝트는 사전에 이미지를 캡처할 필요가 있습니다. |
MM_J
사용자가 자체 정의한 관절 각도입니다. SendPos_Type 파라미터의 값이 3인 경우, 해당 관절 각도 데이터는 Mech-Vision 프로젝트의 "경로 계획" 스텝에서 전송되어 시작점으로 사용됩니다. 즉, 로봇은 이 시작점에서 경로 계획의 첫 번째 웨이포인트으로 이동하게 됩니다. SendPos_Type 파라미터 값이 3이 아닌 다른 값으로 설정된 경우, 해당 관절 각도 데이터는 실제로 사용되지 않지만, 반드시 설정되어야 합니다.
비전 목표점을 획득하기
이 명령어는 " Mech-Vision 프로젝트 실행하기" 후 Mech-Vision에서 출력한 비전 포인트를 얻은 다음 비전 포인트를 비전 목표점으로 자동으로 전환하는 데 사용됩니다.
비전 시스템은 자동으로 비전 포인트 정보를 대응하는 로봇 TCP로 변환합니다.
| 기본적으로 102 명령어은 한 번에 최대 20개의 TCP만 획득할 수 있습니다. 만약 획득할 TCP의 수가 20보다 크면 이 명령어를 여러 번 실행하여 필요한 모든 TCP를 획득합니다. |
프로그램
Job = 1
MM_Get_VisData()
이 프로그램은 Mech-Vision 프로젝트 1의 비전 결과를 획득하는 데 사용됩니다. 이 명령어의 출력 값은 전역 변수(Last_Data、Pose_Num、MM_Status)에 저장됩니다. 여기서 Last_Data는 아직 전송이 완료되지 않은 TCP 데이터가 남아있는지 여부를 나타내고, Pose_Num은 해당 차수에 반환된 TCP 데이터의 개수를 나타내며, MM_Status는 상태 코드입니다.
파라미터를 출력하기
Last_Data
이 파라미터는 필요한 모든 TCP를 획득했는지 여부를 나타냅니다. 값은 0 또는 1입니다.
-
0: 필요한 모든 TCP를 획득하지 못했습니다. 파라미터 값이 1이 될 때까지 102 명령어를 반복해서 실행하십시오. -
1: 필요한 모든 TCP를 이미 획득했습니다.
"Mech-Vision 프로젝트를 실행하기" 명령어에 설정된 예상 TCP 수가 20(데이터 전송 및 수신을 위한 길이의 기본값)보다 큰 경우 이 파라미터를 사용하여 전송되지 않은 TCP가 있는지 여부를 확인할 수 있습니다. 모든 데이터가 전송되지 않은 경우 모든 TCP가 수신될 때까지 102명령어를 반복적으로 호출할 수 있습니다.
| 모든 TCP를 획득하지 못한 경우, 101 명령어를 호출하여 이미지를 다시 캡처하면 획득하지 않은 TCP가 지워집니다. |
변수 유형: int
Pos_Num
이 명령어를 실행하여 획득한 TCP의 수량입니다.
-
요청한 TCP 수가 Mech-Vision에서 인식하는 비전 포인트 수보다 많거나 같으면 Mech-Vision에서 인식된 비전 포인트 수가 전송됩니다.
-
요청한 TCP 수가 Mech-Vision에서 인식하는 비전 포인트 수보다 적으면 요청한 수가 전송됩니다.
기본 범위:0~20.
변수 유형: int
MM_Status
명령어가 정상적으로 실행되면 1100 상태 코드가 반환되고, 그렇지 않으면 해당 오류 코드가 반환됩니다.
이 명령어를 호출할 때 Mech-Vision 결과가 반환되지 않으면 비전 시스템은 Mech-Vision 결과가 반환될 때까지 로봇으로 전송합니다. 기본 제한 시간은 10초입니다. 타임아웃이 발생하면 타임아웃 오류 코드가 로봇에 반환됩니다.
변수 유형: int
Mech-Viz 프로젝트를 실행하기
Mech-Vision 및 Mech-Viz를 모두 사용하는 경우에 적용됩니다. 이 명령어는 Mech-Viz 프로젝트를 실행하고 해당 Mech-Vision 프로젝트를 시작하는 데 사용됩니다. Mech-Viz는 Mech-Vision의 비전 결과에 따라 로봇의 이동 경로를 계획합니다.
리소스 패널에서 시작할 Mech-Viz 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 현재 프로젝트를 자동으로 로드하기를 선택하십시오.
Mech-Vision과 Mech-Viz 소프트웨어의 설치 디렉터리의 통신 구성 요소/tool/viz_project 폴더에 일부 대표적인 응용 프로젝트 모델이 내장되어 있으며 사용자는 이런 모델을 기반으로 수정할 수 있습니다.
프로그램
SendPos_Type = 1
MM_J = CJointT()
MM_Start_Viz()
이 프로그램은 Mech-Viz프로젝트 실행을 트리거하고 현재 로봇의 관절 각도와 플랜지 포즈를 Mech-Viz로 전송합니다.
파라미터를 입력하기
SendPos_Type
로봇의 포즈 유형. 파라미터 범위:0~2.
0: Mech-Viz 프로젝트에 로봇 포즈를 입력할 필요가 없으며 Mech-Viz소프트웨어중 시뮬레이션된 로봇은 설정된 Home 포인트부터 첫번째 웨이포인트 위치로 이동하게 됩니다.
1: 로봇 현재 관절 각도와 플랜지 포즈를 Mech-Viz로 보냅니다. Mech-Viz소프트웨어중 시뮬레이션된 로봇은 로봇 현재 관절 각도에서 시작하여 첫 번째 웨이포인트로 이동하게 됩니다.
2: 로봇의 사전 정의된 관절 각도를 Mech-Viz로 보냅니다. Mech-Viz소프트웨어중 시뮬레이션된 로봇은 현재 로봇 관절 변수 설정한 위치에서 시작하여 첫 번째 웨이포인트로 이동하게 됩니다.
MM_J
사용자가 자체 정의한 관절 각도 데이터입니다. SendPos_Type 값이 2인 경우 해당 관절 각도 데이터는 시작점으로 Mech-Viz 프로젝트에게 보내며, 즉 로봇이 시작점에서 경로 계획된 첫 번째 웨이포인트로 이동합니다. SendPos_Type이 다른 값인 경우 관절 각도 데이터는 의미가 없지만 값을 설정해야 합니다.
Mech-Viz 데이터 획득
이 명령어는 Mech-Viz 계획된 경로를 획득하는 데 사용됩니다. "Mech-Viz 프로젝트를 실행하기" 명령어 실행 후 계획 경로를 획득해야 합니다.
제한 사항: 기본적으로 이 명령어를 한 번에 실행하면 최대 20개의 웨이포인트만 획득할 수 있습니다. 따라서 모든 웨이포인트를 얻을 때까지 반복적으로 실행해야 할 수도 있습니다.
|
만약 프로젝트에서 어떤 이동 스텝의 웨이포인트를 로봇으로 보내지 않아야 하는 경우 스텝 파라미터에서 "웨이포인트를 전송하기" 옵션을 언체크하십시오. |
프로그램
Jps_Pos = 2
MM_Get_VizData()
이 프로그램은 Mech-Viz에서 반환된 로봇 이동 경로를 수신하는 데 사용되며 웨이포인트 데이터 유형은 TCP입니다. 웨이포인트 전송 완료 여부는 전역 변수 Last_Data에 저장되며, 웨이포인트의 수는 전역 변수 Pos_Num에 저장됩니다. 비전 이동 웨이포인트의 인덱스(경로 내 번호)는 전역 변수 VisPos_Num에 저장되고, 명령어 실행 상태 코드는 전역 변수 MM_Status에 저장됩니다.
파라미터를 입력하기
Jps_Pos
웨이포인트 포맷. 이 파라미터는 Mech-Viz에서 반환한 웨이포인트 포맷을 지정하는 데 사용됩니다.
-
1: 웨이포인트는 로봇 관절 각도(JPs)의 형식으로 반환됩니다. -
2: 웨이포인트는 로봇 TCP 포즈의 형식으로 반환됩니다.
파라미터를 출력하기
Last_Data
전송 완료 여부.
-
0: 모든 웨이포인트가 전송된 것은 아닙니다. 파라미터의 값이 1이 될 때까지 이 명령어를 반복해서 실행하십시오. -
1: 모든 웨이포인트가 전송되었습니다.
Pos_Num
웨이포인트의 수량. 이 파라미터는 이 명령어에 의해 반환되는 웨이포인트([포즈, 레이블, 속도])의 수를 표시하는 데 사용됩니다.
경로에 20개 이상의 웨이포인트가 포함된 경우 이 명령어를 여러 번 실행하십시오.
기본 범위:0~20.
VisPos_Num
전체 계획 경로에서 "비전 이동" 스텝의 웨이포인트의 위치입니다. "비전 이동" 스텝은 로봇이 비전 포인트(물체를 피킹하는 포인트)로 이동하는 스텝입니다.
예를 들어, 계획된 경로가 "고정점 이동_1", "고정점 이동_2", "비전 이동", "고정점 이동_3" 스텝으로 구성된 경우 "비전 이동" 스텝의 위치는 3입니다.
경로에 "비전 이동" 스텝이 없는 경우 이 파라미터의 값은 0입니다.
MM_Status
상태 코드.
명령어가 정상적으로 실행되면 2100 상태 코드가 반환되고, 그렇지 않으면 해당 오류 코드가 반환됩니다.
| 이 명령어를 호출할 때 Mech-Viz의 결과가 반환되지 않으면(아직 실행 중이면) 비전 시스템은 Mech-Viz의 결과 반환을 기다린 후 로봇으로 결과를 보낼 것입니다. 기본적으로 10초를 기다리고 제한 시간을 초과하면 해당 오류 코드가 반환됩니다. |
비전 포인트 좌표값 획득하기
비전 포인트관절 각도 획득하기(Mech-Viz로 계획할 때 유효)
Mech-Vision 레시피 전환
Mech-Vision 프로젝트 중의 파라미터 레시피를 전환합니다.
Mech-Vision 스텝에 대한 파라미터 설정은 파라미터 레시피를 전환하여 조정될 수 있습니다.
| 이 명령어는 “Mech-Vision 프로젝트를 실행하기” 명령어를 실행하기 전에 호출되어야 합니다. |
Mech-Viz 분기 선택
Mech-Viz 프로젝트에 분기 스텝이 있는 경우, 이 명령어를 통해 Mech-Viz 프로젝트 중의 분기 스텝의 아웃 포트를 선택할 수 있습니다.
이 명령어를 실행하기 전에 “Mech-Viz 프로젝트를 실행하기” 명령어를 호출해야 합니다.
Mech-Viz 프로젝트가 분기 스텝까지 실행되면 이 명령어로 지정된 아웃 포트를 기다립니다.
이동 인덱스 설정하기
이 명령어는 Mech-Viz 스텝의 현재 인덱스 파라미터값을 설정하는 데 사용됩니다. 인덱스 파라미터가 있는 스텝에는 "순서대로 이동", "배열대로 이동", "자체 정의한 파렛트 패턴" 및 "미리 설정된 파렛트 패턴" 등이 있습니다.
이 명령어를 실행하기 전에 “Mech-Viz 프로젝트를 실행하기” 명령어를 먼저 호출해야 합니다.
프로그램
Skill_Num = 2
Index_Num = 10
MM_Set_Index()
이 프로그램은 Mech-Viz 프로젝트 중 스텝 번호가 2인 스텝에 대해 “현재 인덱스” 파라미터의 값을 9로 설정합니다. 이 스텝이 실행되면 “현재 인덱스”의 값에 1을 더해 10이 됩니다.
파라미터를 입력하기
Skill_Num
스텝 번호.
이 파라미터는 인덱스 파라미터를 설정해야 하는 스텝을 지정합니다.
이 파라미터의 값(인덱스 스텝에 스텝 번호)은 양의 정수여야 합니다. 스텝 번호는 스텝 파라미터 패널에서 볼 수 있습니다.
Index_Num
다음에 이 스텝이 실행될 때 설정되어야 하는 현재 인덱스 값입니다.
이 명령어가 전송되면 Mech-Viz의 현재 인덱스 값은 이 파라미터 값에서 1을 뺀 값이 됩니다.
Mech-Viz 프로젝트가 이 명령어에 지정된 스텝으로 실행되면 Mech-Viz의 현재 인덱스 값이 1씩 증가하여 이 파라미터의 값이 됩니다.
소프트웨어 상태 획득하기
이 명령어는 소프트웨어의 실행 상태를 확인하는 데 사용됩니다.
현재 이 명령어는 Mech-Vision이 프로젝트를 실행할 준비가 되었는지만 확인할 수 있습니다.
Mech-Vision에 물체 치수를 입력하기
이 파라미터는 Mech-Vision 프로젝트에 물체의 치수를 동적으로 입력하는 데 사용됩니다. Mech-Vision 프로젝트를 시작하기 전에 물체의 치수 정보를 확인하십시오.
Mech-Vision프로젝트에 ‘물체 치수 읽기’ 스텝이 있어야 합니다. 이 스텝에서는 파라미터에서 물체 사이즈 읽기 파라미터가 체크되었습니다.
DO 신호 리스트 획득하기
계획된 DO 신호 리스트를 획득하는 데 사용됩니다. DO 신호 리스트는 여러 말단장치 또는 진공 그리퍼 파티션을 컨트롤하는 데 사용됩니다.
이 명령어를 실행하기 전 먼저 "계획 경로를 획득하기" 명령어를 실행하여 Mech-Viz 계획된 경로를 획득해야 합니다.
템플릿 프로젝트에 따라 Mech-Viz 프로젝트를 구성하고 프로젝트에 해당 진공 그리퍼 구성 파일을 설정하십시오. 템플릿 프로젝트는 Mech-Vision와Mech-Viz소프트웨어 설치 디렉터리의 통신 구성 요소/tool/viz_project/suction_zone 폴더에 있습니다.
DO 신호 리스트 설정하기
이 명령어는 Mech-Viz에서 보낸 DO 리스트를 GO 신호로 설정하는 데 사용됩니다. 최대 4개의 16비트 GO 신호 그룹을 지원합니다. 여러 GO 신호 그룹을 설정해야 하는 경우 이 명령어를 여러 번 실행하십시오.
| 이 명령어를 사용하기 전에 MM_Get_DoList 먼저 호출해야 합니다. |
캘리브레이션
이 명령은 핸드-아이 캘리브레이션(카메라 외부 파라미터 캘리브레이션)에 사용됩니다.
이 명령어는 Mech-Vision과 캘리브레이션 상태를 동기화하고 Mech-Vision에서 로봇이 도달해야 하는 다음 캘리브레이션 포인트 위치를 획득합니다.
캘리브레이션을 완료하려면 이 명령어를 여러 번 실행해야 합니다.
프로그램
Move_Type = 2
Jps_Pos = 1
Wait_Time = 2
IsAxis7 = false
MM_Calib()
이 프로그램은 로봇이 TCP 데이터를 사용하여 MoveJ 방식으로 이동하도록 설정하며, 로봇이 캘리브레이션 포인트에 도착한 후 대기 시간은 2초입니다.
Move_Type = 2
Jps_Pos = 1
Wait_Time = 2
IsAxis7 = true
Axis7 = 0
MM_Calib()
이 예시 로봇이 TCP 데이터를 사용하여 MoveJ 방식으로 이동하도록 설정하며, 로봇이 캘리브레이션 포인트에 도착한 후 대기 시간은 2초이고, 제7축 값은 0으로 설정됩니다.
파라미터를 입력하기
| Move_Type | 이동 방식. 1: MoveL. 2: MoveJ. |
|---|---|
Jps_Pos |
관절 각도 또는 TCP 데이터 사용합니다. 1는 관절 각도 데이터 사용하는게 표시되며 2는 TCP 데이터 사용하는 게 표시됩니다. |
Wait_Time |
로봇이 캘리브레이션 포인트 위치로 이동한 후 흔들림을 피하기 위해 기다리는 시간입니다. 기본값은 2(s)입니다. |
IsAxis7 |
true는 로봇이 부 축이 있음을 의미하고, false는 로봇이 없음을 의미합니다. 기본값은 false입니다. |
Axis7 |
선택적 변수, 외부 축 데이터(제7축 레일이 있을 경우 사용), 단위는 mm입니다. |
Mech-Vision 사용자 정의한 데이터를 획득하기
이 명령어는 Mech-Vision의 "출력" 스텝에서 자체 정의한 데이터(poses 및 labels 포트를 빼고 기타 포트의 데이터)를 수신하는 데 사용됩니다(“출력” 스텝의 파라미터 “포트 유형”을 “Custom”으로 설정해야 함).
이 명령어를 한 번 호출하면 획득한 모든 데이터가 로봇에 저장됩니다.
MM_Get_Dy_Data()에서 획득된 사용자 정의 데이터를 각 변수에 저장하기
이 명령어는 Custom 데이터를 지정된 인덱스에 따라 서로 다른 변수로 저장하는 데 사용되며 Mech-Vision 사용자 정의 데이터 명령어가 트리거된 후에 호출됩니다.
프로그램
Serial = 2
MM_Get_DyPose()
이 예시에서는 MM_Get_DyPose 함수가 실행된 후, 수신된 두 번째 비전 포인트의 포즈를 MM_P변수에 저장하고 해당 레이블을 MM_Label 변수에 저장하며 해당 사용자 정의 포트 출력을 MM_UserData 배열에 저장합니다.
Mech-Viz에서 웨이포인트를 획득하기
이 명령어는 Mech-Viz에서 경로 계획 결과를 획득하는 데 사용됩니다. 웨이포인트는 일반적인 웨이포인트가 될 수 있고 비전 이동의 웨이포인트가 될 수도 있습니다. 웨이포인트에 포즈, 속도, 말단장치의 관련 정보, 작업물의 관련 정도가 포함될 수 있습니다. 이 명령어를 한 번 호출하면 획득한 모든 데이터가 로봇에 저장됩니다.
이 명령어를 실행하여 얻은 웨이포인트는 다음 세 가지 중 하나가 될 수 있습니다.
-
"비전 이동"를 제외한 다른 이동 웨이포인트. 해당 정보에는 이동 유형(관절 운동 또는 직선 운동), 툴 번호, 속도가 포함됩니다.
-
비전 이동의 웨이포인트. 해당 정보에는 레이블, 피킹한 작업물의 총수, 이번에 피킹한 작업물의 수, 진공 그리퍼의 코너 ID, TCP 옵셋량, 작업물 방향, 작업물 치수가 포함됩니다.
-
사용자 정의 데이터가 포함된 비전 이동 의 웨이포인트. 이 때 Mech-Vision 프로젝트 “출력” 스텝의 포트 유형을 “Custom”으로 설정해야 합니다.
프로그램
Jps_Pos = 4
MM_Get_PlanData()
이 예에서는 Mech-Viz 프로젝트가 실행된 후 출력된 모든 데이터가 로봇 전역 배열에 저장되고 VisPos_Num 변수가 비전 이동 위치의 번호고 MM_Statu변수가 이 명령어 실행한 상태 코드입니다.
파라미터를 입력하기
Jps_Pos
int 유형 전역 변수. 예상된 반환 데이터의 형식. 값 범위: 1~4.
다음은 예상되는 네 가지 반환 데이터 형식에 대한 설명입니다.
| 예상된 반환 데이터의 형식 파라미터 값 | *예상된 반환 데이터의 형식*에 관한 설명(아래 설명 참조하십시오) |
|---|---|
1 |
포즈(JPs 포맷), 이동 유형, 툴 번호, 속도, 사용자 정의 데이터의 항목 수, 사용자 정의 데이터의 항목1..., 사용자 정의 데이터의 항목N |
2 |
포즈(TCP 포맷), 이동 유형, 툴 번호, 속도, 사용자 정의 데이터의 항목 수, 사용자 정의 데이터의 항목1..., 사용자 정의 데이터의 항목N |
3 |
포즈(JPs 포맷), 이동 유형, 툴 번호, 속도, 비전 계획 결과, 사용자 정의 데이터의 항목 수, 사용자 정의 데이터의 항목1..., 사용자 정의 데이터의 항목N |
4 |
포즈(TCP 포맷), 이동 유형, 툴 번호, 속도, 비전 계획 결과, 사용자 정의 데이터의 항목 수, 사용자 정의 데이터의 항목1..., 사용자 정의 데이터의 항목N |
포즈 (MM_Pose_Pos[128]에 저장됩니다)
웨이포인트의 포즈는 로봇 관절 각도(JPs, 단위:도) 또는 말단장치 포즈(TCP, 3D 좌표의 단위: mm. 오일러 각의 단위: 도)가 될 수 있으며 그 포맷이 전송되는 명령어 파라미터에 따라 다릅니다.
운동 유형 (MM_Pose_MoveType[128]에 저장됩니다)
-
1: 관절 운동, MOVEJ -
2: 직선 운동, MOVEL
툴 번호(MM_Pose_ToolNum[128] 변수에 저장됩니다)
웨이포인트의 툴 번호. -1는 툴 사용하는 않다는 것을 의미합니다.
속도 (MM_Pose_Speed[128]에 저장됩니다)
웨이포인트의 속도 백분율입니다. 이 값은 Mech-Viz 프로젝트 내 해당 웨이포인트에 대응하는 이동 스텝의 파라미터에 설정된 속도에 Mech-Viz에서 설정된 전역 속도를 곱한 값으로, 백분율로 표시됩니다.
비전 계획 결과 (Plan_Results[128][128]에 저장됩니다)
경로 중에 계획 결과 정보(웨이포인트 대응하는 이동 스텝은 비전 이동인 경우)입니다. 박스의 다수 피킹, 디팔레타이징 등 작업을 계획하는 데 사용되는 데이터입니다. 다음 항목이 포함됩니다.
-
레이블: 10개 양의 정수로 구성됩니다. 10개 미만의 레이블을 얻은 경우 나머지 숫자는 0으로 채워집니다.
-
이미 피킹된 작업물의 총 수입니다.
-
이번에 피킹된 작업물의 수입니다.
-
진공 그리퍼의 코너 ID: 작업물이 정렬되는 그리퍼의 코너를 지정하는 데 사용됩니다. Mech-Viz의 “프로젝트 리소스” 패널에서 해당 말단장치를 두 번 클릭한 다음 제어 로직 구성 창을 클릭하면 확인할 수 있습니다.
-
TCP 옵셋량: 작업물의 중심에 대응하는 TCP에서 실제 TCP까지의 옵셋입니다.
-
작업물 방향: TCP의 X축을 기준으로 하는 작업물 좌표계 X축의 방향입니다.
-
작업물 치수.
사용자 정의 출력 데이터 수(UserDataNum에 저장됩니다)
Mech-Vision 프로젝트에서 "출력" 스텝의 아웃 포트 유형이 "Custom"인 경우, poses 및 labels를 빼고 기타 포트의 수입니다.
사용자 정의 데이터(UserData[128][128]에 저장됩니다)
Mech-Vision 프로젝트에서 "출력" 스텝의 아웃 포트 유형이 "Custom"인 경우, poses 및 labels를 빼고 기타 포트의 데이터입니다.
사용자 정의 데이터는 포트 명칭의 알파벳 순서(A–Z)로 배열됩니다.
파라미터를 출력하기
Pos_Num
int 유형 변수. 기록은 로봇이 전역 데이터 그룹의 데이터 배열에 저장됩니다.
VisPos_Num
int 유형 변수. 첫 번째 비전 이동 스텝이 경로 계획에 있는 위치 번호를 저장합니다. 예를 들어, 계획된 경로가 "고정점 이동_1", "고정점 이동_2", "비전 이동", "고정점 이동_3" 스텝으로 구성된 경우 "비전 이동" 스텝의 위치는 3입니다. 경로에 "비전 이동" 스텝이 없는 경우 이 파라미터의 값은 0입니다.
MM_Status
int 유형 변수. 이 명령어가 반환된 상태 코드를 저장합니다.
MM_Get_PlanData()에서 획득된 데이터를 각 변수에 할당하기
이 명령어는Mech-Viz에서 웨이포인트를 획득하기후에 호출되어야 합니다. 지정된 인덱스에 따라 해당 데이터 세트를 다른 변수에 저장합니다. Jps_Pos 값에 따라 프로그램이 달라집니다.
프로그램
Serial = 2
Jps_Pos = 4
MM_Get_PlanPose()
이 예시 프로그램을 실행 후에 Mech-Viz 계획된 두번째 웨이포인트의 TCP 데이터를 MM_P 전역 변수에 저장합니다. 운동 유형, 툴 번호, 속도 각각 MM_MoveType, MM_ToolNum, MM_Speed 전역 변수에 저장합니다. 해당 웨이포인트는 비전 이동 스텝의 웨이포인트가 아닌 경우, 후속 처리가 없습니다. 만약 해당 웨이포인트는 비전 이동 스텝의 웨이포인트인 경우, 비전 계획 결과를 MM_Plan_Results 전역 배열에 저장하고 사용자 정의 출력 데이터를 MM_UserData 전역 배열에 저장합니다.
Serial = 1
Jps_Pos = 3
MM_Get_PlanJps()
이 예시 프로그램을 실행 후에 Mech-Viz 계획된 첫번째 웨이포인트의 관절 각도 데이터를 MM_J 전역 변수에 저장합니다. 운동 유형, 툴 번호, 속도 각각 MM_MoveType, MM_ToolNum, MM_Speed 전역 변수에 저장합니다. 해당 웨이포인트는 비전 이동 스텝의 웨이포인트가 아닌 경우, 후속 처리가 없습니다. 만약 해당 웨이포인트는 비전 이동 스텝의 웨이포인트인 경우, 비전 계획 결과를 MM_Plan_Results 전역 배열에 저장하고 사용자 정의 출력 데이터를 MM_UserData 전역 배열에 저장합니다.
파라미터를 입력하기
Serial
int 유형 변수. 전역 배열에서 가져올 웨이포인트 데이터 그룹의 순번을 지정합니다(데이터 순서는Mech-Viz가 출력한 웨이포인트 순서에 따라 배열됨).
Jps_Pos
int 유형 변수. MM_Get_PlanData()에서 선택한 Jps_Pos 값과 일치해야 합니다.
파라미터를 출력하기
MM_P
robtarget 유형 전역 변수. 지정된 웨이포인트와 대응하는 TCP 데이터를 저장합니다(프로그램1용).
MM_J
Jointtarget 유형 전역 변수. 지정된 웨이포인트와 대응하는 관절 각도 데이터를 저장합니다(프로그램2용).
MM_MoveType
int 유형 전역 변수. 지정된 웨이포인트와 대응하는 이동 유형을 저장합니다.
MM_ToolNum
int 유형 전역 변수. 지정된 웨이포인트와 대응하는 툴 번호를 저장합니다.
MM_Speed
int 유형 전역 변수. 지정된 웨이포인트와 대응하는 속도를 저장합니다.
MM_UserData
전역 배열 변수(사용자가 이 파라미터를 전송할 필요 없이 해당 배열을 직접 읽으면 됩니다). 지정된 웨이포인트와 대응하는 사용자 정의 데이터를 저장합니다.
MM_Plan_Results
전역 배열 변수(사용자가 이 파라미터를 전송할 필요 없이 해당 배열을 직접 읽으면 됩니다). 지정된 웨이포인트와 대응하는 비전 계획 결과를 저장합니다.
Mech-Vision “경로 계획” 스텝의 결과를 획득하기
Mech-Vision 프로젝트를 시작한 후 이 명령어를 사용하면 Mech-Vision의 "경로 계획" 스텝에서 출력한 충돌이 없는 피킹 경로를 획득하는 데 사용됩니다.
이 명령어를 사용하려면 Mech-Vision "출력" 스텝의 *포트 유형*의 파라미터는 "사전 정의(로봇 경로)"로 설정해야 합니다.
프로그램
Job = 2
Jps_Pos = 2
MM_Get_VisPath()
이 예시는 Mech-Vision 프로젝트 2에서 반환된 로봇 이동 경로를 수신하는 데 사용되며 웨이포인트 포즈의 포맷은 TCP입니다. 웨이포인트 수는 Pos_Num 전역 변수에 저장되고 비전 이동 스텝 웨이포인트가 경로에 있는 위치를 나타내는 번호는 VisPos_Num 변수에 저장되며 명령어가 실행된 후의 상태 코드는 MM_Status 변수에 저장됩니다.
파라미터를 입력하기
Job
int 유형 전역 변수입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Jps_Pos
int 유형 전역 변수. “경로 계획” 스텝에서 반환한 웨이포인트의 포즈 유형을 지정합니다.
-
1: 웨이포인트의 포즈는 로봇 관절 각도(JPs)의 포맷으로 반환됩니다. -
2: 웨이포인트의 포즈는 TCP의 포맷으로 반환됩니다.
파라미터를 출력하기
Last_Data
int 유형 전역 변수. 웨이포인트가 모두 전송되었는지 여부를 나타냅니다.
-
0: 모든 웨이포인트가 전송된 것은 아닙니다. 파라미터의 값이 1이 될 때까지 이 명령어를 반복해서 실행하십시오. -
1: 모든 웨이포인트가 전송되었습니다.
Pos_Num
int 유형 전역 변수. 이 명령어가 반환한 웨이포인트의 수를 저장합니다.
VisPos_Num
int 유형 전역 변수. 경로 계획 도구의 전체 계획 경로에서 "비전 이동" 웨이포인트의 위치를 저장합니다. 예를 들어, 계획된 경로가 "고정점 이동_1", "고정점 이동_2", "비전 이동", "고정점 이동_3" 스텝으로 구성된 경우 "비전 이동" 스텝의 위치는 3입니다. 경로에 "비전 이동" 스텝이 없는 경우 이 파라미터의 값은 0입니다.
MM_Status
int 유형 전역 변수. 이 명령어가 반환된 상태 코드를 저장합니다.