ROKAE 표준 인터페이스 명령어

현재 최신 버전 (2.2.0)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

명령어 호출에 관한 설명:

명령어는 ROKAE 문법 제약으로 인해 형식 파라미터와 반환값을 전달할 수 없으므로, 명령어에서 다루는 파라미터와 반환값은 모두 전역 변수로 처리됩니다.

통신 파라미터 초기화

TCP/IP 통신을 위한 호스트 IP 주소, 포트 번호 및 통신 제한 시간을 설정하는 프로그램입니다.

프로그램

IP_Address = "192.168.1.20"
Server_Port = 50000
MM_Timeout = 60
MM_Init_Socket()

이 프로그램을 연결할 호스트의 IP 주소를 192.168.1.20으로, 포트 번호를 50000으로, 제한 시간을 60초로 설정해야 합니다.

파라미터를 입력하기

IP_Address 호스트의 IP 주소

Server_Port

TCP/IP 통신 포트 번호, 기본 포트 번호는 50000입니다

MM_Timeout

제한된 시간, 단위는 초(s)입니다

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는 상태 코드입니다.

파라미터를 입력하기

Job

Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.

파라미터를 출력하기

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-Vision 소프트웨어에서 반환된 비전 결과 혹은Mech-Viz 소프트웨어에서 반환된 이동 경로에 특정 포즈 데이터가 포즈 변수에다 덤프하는 데 사용합니다.

프로그램

Serial = 1
MM_Get_Pose()

이 프로그램은 처은 수신한 포즈를 전역 변수 MM_P에 저장하고 해당 레이블을 전역 변수 MM_Label에 저장하며 해당 속도를 전역 변수 MM_Speed에 저장합니다.

파라미터를 입력하기

Serial: 이 파라미터는 덤프할 포즈의 순번을 지정하는 데 사용됩니다.

파라미터를 출력하기

MM_P 지정된 포즈 데이터를 저장하는 데 사용되는 포즈 변수입니다.

MM_Label

지정된 포즈 데이터에 해당하는 레이블 데이터를 저장하는 데 사용되는 double 유형 변수입니다.

MM_Speed

지정된 포즈 데이터에 해당하는 이동 속도를 저장하는 데 사용되는 double 유형 변수입니다.

비전 포인트관절 각도 획득하기(Mech-Viz로 계획할 때 유효)

Mech-Vision 소프트웨어에서 반환된 비전 결과 혹은Mech-Viz 소프트웨어에서 반환된 이동 경로에 특정 JPs 관절 각도 데이터가 포즈 변수에다 덤프하는 데 사용합니다.

프로그램

Serial = 1
MM_Get_Jps()

이 프로그램은 처은 수신한 포즈를 전역 변수 MM_J에 저장하고 해당 레이블을 전역 변수 MM_Label에 저장하며 해당 속도를 전역 변수 MM_Speed에 저장합니다.

파라미터를 입력하기

Serial: 이 파라미터는 덤프할 포즈의 순번을 지정하는 데 사용됩니다.

파라미터를 출력하기

MM_J 지정된 JPs 데이터를 저장하는 데 사용되는 JPs 변수입니다.

MM_Label

지정된 포즈 데이터에 해당하는 레이블 데이터를 저장하는 데 사용되는 double 유형 변수입니다.

MM_Speed

지정된 포즈 데이터에 해당하는 이동 속도를 저장하는 데 사용되는 double 유형 변수입니다.

Mech-Vision 레시피 전환

Mech-Vision 프로젝트 중의 파라미터 레시피를 전환합니다.

Mech-Vision 스텝에 대한 파라미터 설정은 파라미터 레시피를 전환하여 조정될 수 있습니다.

이 명령어는 “Mech-Vision 프로젝트를 실행하기” 명령어를 실행하기 전에 호출되어야 합니다.

프로그램

Job = 1
Model_Number = 1
MM_Switch_Model()

이 프로그램은 Mech-Vision 프로젝트 1의 레시피를 레시피 1로 전환합니다.

파라미터를 입력하기

Job

Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.

Model_Number

Mech-Vision 프로젝트 중의 레시피 템플릿 번호이며 양의 정수여야 합니다. 프로젝트 도우미  파라미터의 레시피를 클릭하여 파라미터 레시피 편집기를 엽니다. 번호 범위: 1~99.

Mech-Viz 분기 선택

Mech-Viz 프로젝트에 분기 스텝이 있는 경우, 이 명령어를 통해 Mech-Viz 프로젝트 중의 분기 스텝의 아웃 포트를 선택할 수 있습니다.

이 명령어를 실행하기 전에 “Mech-Viz 프로젝트를 실행하기” 명령어를 호출해야 합니다.

Mech-Viz 프로젝트가 분기 스텝까지 실행되면 이 명령어로 지정된 아웃 포트를 기다립니다.

프로그램

Branch_Num = 1
Export_Num = 3
MM_Set_Branch()

이 프로그램은 Mech-Viz 프로젝트 실행중 스텝 번호 1인 스텝에 도달했을 때, 세 번째 출구(왼쪽부터 셈)로 진행하도록 지정합니다.

파라미터를 입력하기

Branch_Num

분기 스텝의 번호는 양의 정수여야 하며 스텝 파라미터에서 읽어낼 수 있습니다.

Export_Num

분기 스텝의 아웃 포트 번호는 양의 정수여야 합니다.

아웃 포트 번호는 1부터 시작한 포트 인덱스입니다. 예를 들어 지정된 아웃 포트가 왼쪽에서 오른쪽으로 스텝의 두 번째 아웃 포트인 경우 아웃 포트 번호는 2입니다.

이동 인덱스 설정하기

이 명령어는 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이 프로젝트를 실행할 준비가 되었는지만 확인할 수 있습니다.

프로그램

MM_Get_Status()

이 예시는 시스템 상태를 확인하는 상태 코드를 MM_Status 전역 변수에 저장할 것입니다.

파라미터를 출력하기

MM_Status

상태 코드를 저장하는 변수입니다. 1101 상태 코드는 “Mech-Vision이 프로젝트를 실행할 준비가 되었음”을 나타내며 다른 상태 코드는 “Mech-Vision이 준비되지 않았음”을 나타냅니다. 현재 이 명령어는Mech-Vision 프로젝트를 실행할 준비가 되어 있는지만 확인할 수 있습니다.

Mech-Vision에 물체 치수를 입력하기

이 파라미터는 Mech-Vision 프로젝트에 물체의 치수를 동적으로 입력하는 데 사용됩니다. Mech-Vision 프로젝트를 시작하기 전에 물체의 치수 정보를 확인하십시오.

Mech-Vision프로젝트에 ‘물체 치수 읽기’ 스텝이 있어야 합니다. 이 스텝에서는 파라미터에서 물체 사이즈 읽기 파라미터가 체크되었습니다.

프로그램

Job = 1
Length = 500
Width = 300
Height = 200
MM_Set_BoxSize()

이 프로그램은 Mech-Vision 프로젝트 “물체 사이즈 읽기” 스텝에서 읽어낸 물체 치수는 500 × 300 × 200 mm로 설정됩니다.

파라미터를 입력하기

Job

Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.

Length, Width, Height

Mech-Vision 프로젝트에 전송하는 물체의 치수(길이, 너비, 높이). 전송된 치수 값은 “물체 사이즈 읽기” 스텝에서 읽어냅니다.

단위: 밀리미터(mm)

DO 신호 리스트 획득하기

계획된 DO 신호 리스트를 획득하는 데 사용됩니다. DO 신호 리스트는 여러 말단장치 또는 진공 그리퍼 파티션을 컨트롤하는 데 사용됩니다.

이 명령어를 실행하기 전 먼저 "계획 경로를 획득하기" 명령어를 실행하여 Mech-Viz 계획된 경로를 획득해야 합니다.

템플릿 프로젝트에 따라 Mech-Viz 프로젝트를 구성하고 프로젝트에 해당 진공 그리퍼 구성 파일을 설정하십시오. 템플릿 프로젝트는 Mech-Vision와Mech-Viz소프트웨어 설치 디렉터리의 통신 구성 요소/tool/viz_project/suction_zone 폴더에 있습니다.

프로그램

MM_Get_DoList()

이 프로그램을 실행한 후 DO 신호 획득의 성공 여부를 나타내는 상태 코드가 MM_Status에 저장됩니다.

파라미터를 출력하기

MM_Status

상태 코드. status_codes_and_troubleshooting 내용을 참조하십시오.

DO 신호 리스트 설정하기

이 명령어는 Mech-Viz에서 보낸 DO 리스트를 GO 신호로 설정하는 데 사용됩니다. 최대 4개의 16비트 GO 신호 그룹을 지원합니다. 여러 GO 신호 그룹을 설정해야 하는 경우 이 명령어를 여러 번 실행하십시오.

이 명령어를 사용하기 전에 MM_Get_DoList 먼저 호출해야 합니다.

프로그램

Serial = 1
MM_Set_DoList()

이 프로그램을 실행하면 Mech-Viz에서 계산된 DO 리스트 0-15가 mm_go16 신호에 기록됩니다.

Serial = 2
MM_Set_DoList()

이 프로그램을 실행하면 Mech-Viz에서 계산된 DO 리스트 16-32가 mm_go32 신호에 기록됩니다.

파라미터를 입력하기

Serial

신호 그룹의 인덱스 번호(1~4).

파라미터를 출력하기

mm_go16

설정할 DO 신호 값을 저장하는 데 사용되는 신호 그룹의 이름입니다.

mm_go32

설정할 DO 신호 값을 저장하는 데 사용되는 신호 그룹의 이름입니다.

캘리브레이션

이 명령은 핸드-아이 캘리브레이션(카메라 외부 파라미터 캘리브레이션)에 사용됩니다.

이 명령어는 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”으로 설정해야 함).

이 명령어를 한 번 호출하면 획득한 모든 데이터가 로봇에 저장됩니다.

프로그램

Job = 2
MM_Get_Dy_Data()

이 예시는 Mech-Vision 프로젝트 2 실행 후에는 모든 비전 포인트의 물체 포즈 데이터와 대응하는 레이블 데이터를 로봇이 전역 배열 MM_Pose_Pos[128]、MM_Pose_Label[128] 에 저장됩니다. 해당 사용자 정의 데이터는 전역 배열 UserData[128][128] 에 저장되며 비전 포인트 개수를 Pos_Num 전역 변수에 저장됩니다. 이 명령어를 실행한 후의 상태 코드는 MM_Status 전역 변수에 저장됩니다.

파라미터를 입력하기

Job

int 유형 변수입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.

파라미터를 출력하기

Pos_Num

int 유형 변수. 반환된 비전 포인트의 수를 저장합니다.

MM_Status

int 유형 변수. 이 명령어가 반환된 상태 코드를 저장합니다.

MM_Get_Dy_Data()에서 획득된 사용자 정의 데이터를 각 변수에 저장하기

이 명령어는 Custom 데이터를 지정된 인덱스에 따라 서로 다른 변수로 저장하는 데 사용되며 Mech-Vision 사용자 정의 데이터 명령어가 트리거된 후에 호출됩니다.

프로그램

Serial = 2
MM_Get_DyPose()

이 예시에서는 MM_Get_DyPose 함수가 실행된 후, 수신된 두 번째 비전 포인트의 포즈를 MM_P변수에 저장하고 해당 레이블을 MM_Label 변수에 저장하며 해당 사용자 정의 포트 출력을 MM_UserData 배열에 저장합니다.

파라미터를 입력하기

Serial

int 유형 변수. 사용자 정의 데이터를 획득하려는 비전 포인트의 인덱스를 지정합니다. 인덱스는 Mech-Vision이 데이터를 보내는 순서에 따라 정의됩니다.

파라미터를 출력하기

MM_P

robtarget 유형 변수. 지정한 비전 포인트의 포즈 데이터를 저장합니다.

MM_Label

double 유형 변수. 지정된 비전 포인트의 레이블 데이터를 저장합니다(Mech-Vision에 “label 포트”가 없으면 자동으로 0이 채워집니다).

MM_UserData

double 유형 변수. 지정한 비전 포인트의 사용자 정의 데이터를 저장합니다.

Mech-Viz에서 웨이포인트를 획득하기

이 명령어는 Mech-Viz에서 경로 계획 결과를 획득하는 데 사용됩니다. 웨이포인트는 일반적인 웨이포인트가 될 수 있고 비전 이동의 웨이포인트가 될 수도 있습니다. 웨이포인트에 포즈, 속도, 말단장치의 관련 정보, 작업물의 관련 정도가 포함될 수 있습니다. 이 명령어를 한 번 호출하면 획득한 모든 데이터가 로봇에 저장됩니다.

이 명령어를 실행하여 얻은 웨이포인트는 다음 세 가지 중 하나가 될 수 있습니다.

  1. "비전 이동"를 제외한 다른 이동 웨이포인트. 해당 정보에는 이동 유형(관절 운동 또는 직선 운동), 툴 번호, 속도가 포함됩니다.

  2. 비전 이동의 웨이포인트. 해당 정보에는 레이블, 피킹한 작업물의 총수, 이번에 피킹한 작업물의 수, 진공 그리퍼의 코너 ID, TCP 옵셋량, 작업물 방향, 작업물 치수가 포함됩니다.

  3. 사용자 정의 데이터가 포함된 비전 이동 의 웨이포인트. 이 때 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 유형 전역 변수. 이 명령어가 반환된 상태 코드를 저장합니다.

이 페이지가 도움이 되었습니까?

다음 방법을 통해 피드백을 보내주실 수 있습니다:

저희는 귀하의 개인정보를 소중히 다룹니다.

당사 웹사이트는 최상의 사용자 경험을 제공하기 위해 쿠키를 사용하고 있습니다. "모두 수락"을 클릭하시면 쿠키 사용에 동의하시는 것이며, "모두 거부"를 클릭하시면 이 웹사이트 방문 시 귀하의 정보가 추적되거나 기억되지 않도록 단일 쿠키만 사용됩니다.