KUKA표준 인터페이스 명령어

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

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

이 부분에서는 KUKA로봇과 Mech-Mind 온라인 측정 시스템 간의 TCP 통신에서 사용되는 표준 인터페이스 명령어를 설명합니다. 여기서 로봇(클라이언트)은 Mech-Mind온라인 측정 시스템(서버)으로 명령어를 전송하고, Mech-Mind온라인 측정 시스템은 처리된 데이터를 로봇으로 반환합니다.

명령어 개요

명령어 이름 필수 호출 여부 설명

통신 초기화하기

로봇과 통신하는 IPC의 IP 주소, 포트 번호 및 통신 시간 초과 대기 시간을 설정합니다.

프로젝트 전환하기

아니오

로봇이 Mech-Metrics에 프로젝트 전환 시작을 알립니다.

측정 시작하기

로봇이 Mech-Metrics에 새 대상 물체 측정 시작을 알리고, 대상 물체 이름, 대상 물체 SN 및 기타 대상 물체 정보를 Mech-Metrics에 전송합니다.

특징 측정 실행하기

해당 측정 특징의 Mech-MSR프로젝트 실행을 트리거합니다. 여러 번 측정해야 하는 경우, 이 명령어를 여러 번 호출할 수 있습니다.

측정 작업 종료하기

로봇이Mech-Metrics에 측정 종료를 알리고, 대상 물체 측정 결과를 조회합니다.

측정 중 대상 물체 SN 전달하기

아니오

일부 시나리오에서는 측정 시작 시 대상 물체 SN을 가져올 수 없습니다. 예를 들어 측정 중 스캔하여 가져와야 하는 경우가 있습니다. 이 명령어는 대상 물체 측정 중 대상 물체 SN을 전달하는 데 사용됩니다.

대상 물체 이력 데이터 조회하기

아니오

대상 물체 SN을 전달하여 Mech-Metrics 소프트웨어 기본 화면을 해당 대상 물체의 데이터 보기로 전환합니다.

캘리브레이션

예 (자동 캘리브레이션 프로그램)

로봇의 핸드-아이 캘리브레이션(외부 파라미터 캘리브레이션)에 사용됩니다

주의사항

시작하기 전에 다음 주의사항을 확인하시기 바랍니다:

  • KUKA로봇 명령어 호출에 관한 설명:

    • 명령어의 형식 파라미터 리스트 중의 각 파라미터 사이를 쉼표로 구분합니다.

    • 각 형식 파라미터 변수는 명령어에서만 유효한 지역 변수로 정의됩니다.

    • 명령어의 형식 파라미터 리스트입력 파라미터출력 파라미터의 정의를 지원합니다.

    • KUKA 로봇의 경우, 통신 초기화를 제외한 기타 명령어에는 TCP 프로토콜 통신 연결을 설정하고 끊는 로직이 내부에 포함되어 있어, 실행 전후에 연결을 자동으로 설정하고 끊습니다.

  • 데이터 단위:

    • 관절 각도의 단위는 도(°)입니다.

    • 로봇의 플랜지 포즈 또는 말단장치 포즈는 위치와 포즈로 구성되며 위치는 XYZ 좌표로 표시되며 단위는 밀리미터(mm)입니다. 포즈는 오일러 각도로 표시되며 단위는 각도(°)입니다.

통신 초기화

이 명령어는 로봇과 온라인 측정 시스템 간의 TCP 프로토콜 통신 연결을 설정할 수 있습니다.

명령어 포맷

MM_Init_Socket(XML_Name,Alive_Flag,Recv_Flag,Time_Out)

파라미터를 입력하기

XML_Name

파라미터는 네트워크 구성 파일로서 문자열로 표시되며 대소문자를 구분합니다. 이 곳의 네트워크 구성 파일은 XML_Kuka_MSR.xml을 의미합니다. 이 파일은 이미 통신 구성 시 로봇에 복제한 것으로 파일의 구체적 내용은 다음과 같습니다.

<ETHERNETKRL>
  <CONFIGURATION>
    <EXTERNAL>
      <IP>192.168.174.1</IP>
      <PORT>4000</PORT>
    </EXTERNAL>
    <INTERNAL>
      <ALIVE Set_Flag="20"/>
      <BUFFERING Mode="FIFO" Limit="256"/>
      <BUFFSIZE Limit="65534"/>
      <TIMEOUT Connect="2000" Receive="5000"/>
      <MESSAGES Display="enable" Logging="warning"/>
    </INTERNAL>

  </CONFIGURATION>
  <RECEIVE>
    <RAW>
      <ELEMENT Tag="Buffer" Type="STREAM" Set_Flag="30" EOS="13,10|13|10"/>
    </RAW>
  </RECEIVE>
</ETHERNETKRL>

이 파일에서 사용자는 <IP>의 값이 IPC의 IP 주소이고, <PORT>의 값이 Mech-MSR 소프트웨어 툴 바의 로봇 통신 설정에서 설정한 호스트 포트 번호인지 확인해야 합니다.

Alive_Flag

이 파라미터는 XML_Kuka_MSR.xml 파일 중 <ALIVE> 탭의 Set_Flag 값입니다. 위 파일을 예로 들면 해당 파라미터의 값은 20로 설정해야 합니다. 이 매개 변수 값 은 ON 신호 에 대응 하 여 온라인 측정 시스템 이 명 과 성공 적 으로 통신 했 음 을 나타냅니다 .

Recv_Flag

이 파라미터 는 XML _ Kuka _ MSR . xml 파일중 <RECEIVE>중 Set _ Flag 값 을 나타냅니다 . 위 파일을 예로 들면 해당 파라미터의 값은 30로 설정해야 합니다. 이 매개 변수 값 은 ON 신호 에 대응 하 며 , 명 이 온라인 측정 시스템 에서 전송 과 데이터 를 수신 했 음 을 나타냅니다 .

Time_Out

이 매개 변수 는 통신 시간 초과 대기 시간 (초) 을 나타냅니다 .

예제

MM_Init_Socket("XML_Kuka_MSR",20,30,60)

위 의 예 는 XML _ Kuka _ MSR . xml 파일 중 구성 정보 에 따라 온라인 측정 시스템 과 명 간 의 TCP 프로토콜 통신 연결 을 설정 하 는 것 을 나타냅니다 .

프로젝트 전환

로봇이 Mech-Metrics에 프로젝트 전환 시작을 알립니다.

호출 시점

프로젝트 전환 시작 전.

명령어 형식

MSR_SW_PROJ(Robot_Id:IN,Job:IN,MSR_Status:OUT)

파라미터를 입력

Robot_Id

이 파라미터는 대상 물체 번호를 나타냅니다. 대상 물체 번호는 1~99 사이의 정수입니다. 지정한 대상 물체 번호는 대상 물체 번호 구성화면에서 이미 구성되어 있어야 합니다.. 데이터 유형은 num입니다.

Job

이 파라미터는 프로젝트 번호를 의미합니다. 지정한 프로젝트 번호는 프로젝트 전환 규칙을 통해 이미 구성되어 있어야 합니다. 데이터 유형은 num입니다.

파라미터를 출력

MSR_Status

이 파라미터는 명령어 상태 코드를 저장하는 데 사용됩니다.

8105: 명령어 실행 성공을 나타냅니다.

-99: 로봇 통신 오류를 나타냅니다.

예시

MSR_SW_PROJ(1,1,MSR_Status)

위 예시는 대상 물체 번호가 1이고 프로젝트 번호가 1인 프로젝트로 전환하며, 명령어 상태 코드를 MSR_Status에 저장함을 나타냅니다.

측정 시작하기

로봇이 Mech-Metrics에 새 대상 물체 측정 시작을 알리고, 대상 물체 이름, 대상 물체 SN 및 기타 대상 물체 정보를 Mech-Metrics에 전송합니다.

호출 시점

새 대상 물체 측정 시작 시.

명령어 형식

MSR_Start_Measure(RobotID:IN,Piece_Name:IN,Piece_SN:IN,Qc_Mode:IN,Custom_int1:IN,Custom_int2:IN,Custom_int3:IN,Custom_int4:IN,Custom_int5:IN,Custom_int6:IN,Custom_int7:IN,Custom_int8:IN,MSR_Continuous_Mode:OUT,MSR_Status:OUT)

입력 파라미터

RobotID

이 파라미터는 대상 물체 번호를 나타냅니다. 대상 물체 번호는 1~99 사이의 정수입니다. 지정한 대상 물체 번호는 대상 물체 번호 구성 화면에서 이미 구성되어 있어야 합니다. 데이터 유형은 num입니다.

Piece_Name

이 파라미터는 측정할 대상 물체의 이름을 나타냅니다. 대상 물체 이름은 문자와 숫자를 포함할 수 있으며, 길이는 20자를 초과할 수 없습니다. 데이터 유형은 string입니다.

Piece_SN

이 파라미터는 대상 물체 SN을 나타냅니다. 대상 물체 SN은 대상 물체 시리얼 넘버라고도 하며, 해당 대상 물체의 고유 식별자입니다. 대상 물체 SN은 문자와 숫자를 포함할 수 있으며, 길이는 30자를 초과할 수 없습니다. 데이터 유형은 string입니다.

Qc_Mode

이 파라미터는 대상 물체의 품질 검사 모드를 나타냅니다. 데이터 유형은 num입니다. 각 파라미터 값의 의미는 다음과 같습니다:

  • 1: 전수 검사입니다.

  • 2: 부분 검사입니다.

  • 기타: 기존 설정을 사용합니다.

Custom_int1-Custom_int8

이 파라미터는 선택 파라미터이며, 대상 물체의 사용자 정의 정보를 제공하는 데 사용됩니다. 데이터 유형은 num입니다. 사용자 정의 파라미터는 Mech-Metrics에 더 많은 대상 물체 정보를 제공해야 할 때만 사용합니다. 이 명령어는 최대 8개의 사용자 정의 파라미터를 지원하며, 각 사용자 정의 파라미터의 값은 1~8 사이의 정수입니다.

사용자 정의 파라미터를 사용해야 하는 경우:

  1. Mech-Metrics 소프트웨어 구성 화면 상단의 기능 영역에서 통신  통신 명령어 구성을 선택하고, 지정한 사용자 정의 파라미터(예: 사용자 정의 파라미터 1)에 대해 해당 파라미터 값(1~8)의 의미를 구성합니다.

  2. 이 명령어에서 지정한 사용자 정의 파라미터를 설정합니다.

출력 파라미터

MSR_Continuous_Mode

이 파라미터는 이번 실행이 연속 실행인지 단일 실행인지를 나타냅니다. 데이터 유형은 num입니다.

0: 단일 실행입니다.

1: 연속 실행입니다.

단일 실행으로 지정한 경우, 로봇 측에서는 다음 명령어를 한 번씩 실행합니다: 측정 시작하기특징 측정 실행측정 작업 종료. 여러 특징을 측정해야 하는 경우, 특징 측정 명령어를 여러 번 실행하십시오. 예를 들어 사용자가 두 개의 특징을 측정해야 하는 경우, 단일 실행 시 로봇 측에서 다음 명령어를 한 번씩 실행해야 합니다. 프로그램 시작 측정 시작하기특징 측정 실행특징 측정 실행측정 작업 종료 프로그램 종료.

연속 실행으로 지정한 경우, 로봇 측에서 한 라운드의 명령어를 실행한 후 측정 시작하기 위치로 돌아가 반복 실행합니다. 특정 라운드의 측정 시작하기에서 단일 실행이 반환되면, 로봇 프로그램은 해당 라운드의 명령어 실행을 완료한 후 중지됩니다.

  • 기본적으로 Mech-Metrics는 로봇에 0을 반환하여 이번 실행이 단일 실행임을 알립니다.

  • 반동적 반복정밀도 테스트에서는 Mech-Metrics가 로봇에 1을 반환하여 이번 실행이 연속 실행임을 알립니다. 반동적 반복정밀도 테스트 중에는 로봇을 수동으로 이동하거나 대상 물체를 수동으로 장착할 필요가 없으므로, 로봇은 여러 명령어를 연속으로 실행할 수 있습니다.

MSR_Status

이 파라미터는 명령어 상태 코드를 저장하는 데 사용됩니다.

8100: 명령어 실행 성공을 나타냅니다.

-99: 로봇 통신 오류를 나타냅니다.

예시

MSR_Start_Measure(1,"zcl","ABC",2,10,20,30,40,50,60,70,80,MSR_Continuous_Mode,MSR_Status)

위 예시는 대상 물체 번호가 1, 이름이 zc1, SN이 ABC인 대상 물체에 대한 측정을 시작하고, 8개의 사용자 정의 파라미터를 지정함을 나타냅니다.

특징 측정 실행

해당 측정 특징의 Mech-MSR프로젝트 실행을 트리거합니다.

호출 시점

로봇이 측정 특징 촬영 위치에 도달했습니다.

명령어 형식

MSR_Measure_Feature("RobotID:IN","Index_Num:IN","MSR_Status:OUT")

파라미터를 입력

RobotID

이 파라미터는 대상 물체 번호를 나타냅니다. 대상 물체 번호는 1~99 사이의 정수입니다. 지정한 대상 물체 번호는 대상 물체 번호 구성화면에서 이미 구성되어 있어야 합니다.. 데이터 유형은 num입니다.

Index_Num

이 파라미터는 측정할 특징의 측정 번호를 나타냅니다. 데이터 유형은 num입니다. 측정 번호는 해당 특징의 고유 식별자입니다. 측정 특징 번호는 1~999 사이의 정수입니다.

파라미터를 출력

MSR_Status

이 파라미터는 명령어 상태 코드를 저장하는 데 사용됩니다.

8101: 명령어 실행 성공을 나타냅니다.

-99: 로봇 통신 오류를 나타냅니다.

예시

MSR_Measure_Feature(1,1,MSR_Status)

위 예시는 로봇 측에서 대상 물체 번호가 1이고 측정 특징의 측정 번호가 1인 Mech-MSR 프로젝트 실행을 트리거하고, 명령어 상태 코드를 MSR_Status에 저장함을 나타냅니다.

측정 작업 종료

로봇이Mech-Metrics에 측정 종료를 알리고, 대상 물체 측정 결과를 조회합니다.

호출 시점

마지막 측정 특징의 촬영이 완료되어 대상 물체 측정이 완료되었습니다.

명령어 형식

MSR_End_Measure(Robot_ID:IN,Judge:OUT,Failed_Count[]:OUT,MSR_Status:OUT)

파라미터를 입력

Robot_ID

이 파라미터는 대상 물체 번호를 나타냅니다. 대상 물체 번호는 1~99 사이의 정수입니다. 지정한 대상 물체 번호는 대상 물체 번호 구성화면에서 이미 구성되어 있어야 합니다.. 데이터 유형은 num입니다.

파라미터를 출력

Judge

이 파라미터는 대상 물체 판정 결과를 저장합니다. 1은 정상, 0은 불량을 의미합니다. 데이터 유형은 num입니다.

Failed_Count[]

이 파라미터는 숫자 레지스터 번호를 나타내며, 대상 물체의 측정 항목 수를 저장하는 데 사용됩니다. 데이터 유형은 num입니다. 구체적인 내용은 다음과 같습니다:

  • Failed_Count[1]은 대상 물체가 1급 공차대를 초과한 측정 항목 수를 저장합니다.

  • Failed_Count[2]는 대상 물체가 2급 공차대를 초과한 측정 항목 수를 저장합니다.

  • Failed_Count[3]은 대상 물체가 3급 공차대를 초과한 측정 항목 수를 저장합니다.

MSR_Status

이 파라미터는 명령어 상태 코드를 저장하는 데 사용됩니다.

8102: 명령어 실행 성공을 나타냅니다.

-99: 로봇 통신 오류를 나타냅니다.

예시

MSR_End_Measure(1,MSR_Judge,Failed_Count[],MSR_Status)

위 예시는 로봇이 Mech-Metrics에 측정 종료(대상 물체 번호 1)를 알리고, 동시에 대상 물체 판정 결과를 Measure_Result에 저장하며, 측정 항목 수를 Failed_Count[]에 저장하고, 명령어 상태 코드를 MSR_Status에 저장함을 나타냅니다.

측정 중 대상 물체 SN 전달

일부 시나리오에서는 측정 시작 시 대상 물체 SN을 가져올 수 없습니다. 예를 들어 측정 중 스캔하여 가져와야 하는 경우가 있습니다. 이 명령어는 대상 물체 측정 중 대상 물체 SN을 전달하는 데 사용됩니다.

호출 시점

대상 물체 측정 과정 중 임의의 시점.

명령어 형식

MSR_Set_Piece_Info(Robot_Id:IN,Piece_Sn:IN,MSR_Status:OUT)

파라미터를 입력

Robot_Id

이 파라미터는 대상 물체 번호를 나타냅니다. 대상 물체 번호는 1~99 사이의 정수입니다. 지정한 대상 물체 번호는 대상 물체 번호 구성화면에서 이미 구성되어 있어야 합니다.. 데이터 유형은 num입니다.

Piece_Sn

이 파라미터는 대상 물체 SN를 나타냅니다. 대상 물체 SN은 대상 물체 시리얼 넘버라고도 하며, 해당 대상 물체의 고유 식별자입니다. 대상 물체 SN은 문자와 숫자를 포함할 수 있으며, 길이는 30자를 초과할 수 없습니다. 데이터 유형은 string입니다.

파라미터를 출력

MSR_Status

이 파라미터는 명령어 상태 코드를 저장하는 데 사용됩니다.

8103: 명령어 실행 성공을 나타냅니다.

-99: 로봇 통신 오류를 나타냅니다.

예시

MSR_Set_Piece_Info(1,"ert",MSR_Status)

이 예시는 로봇이 Mech-Metrics에 SN이 Jert인 대상 물체(대상 물체 번호 1)를 전달함을 나타냅니다.

대상 물체 이력 데이터 조회하기

외부에서 대상 물체 SN을 전달하여 Mech-Metrics 소프트웨어 기본 화면을 전달된 번호의 대상 물체로 전환합니다.

호출 시점

비측정 중의 임의의 시점.

명령어 형식

MSR_View_Piece_Data(Robot_Id,Piece_Sn:IN,MSR_Status:OUT)

파라미터를 입력

Robot_Id

이 파라미터는 대상 물체 번호를 나타냅니다. 대상 물체 번호는 1~99 사이의 정수입니다. 데이터 유형은 num입니다.

Piece_Sn

이 파라미터는 대상 물체 SN를 나타냅니다. 대상 물체 SN은 대상 물체 시리얼 넘버라고도 하며, 해당 대상 물체의 고유 식별자입니다. 대상 물체 SN은 문자와 숫자를 포함할 수 있으며, 길이는 30자를 초과할 수 없습니다. 데이터 유형은 string입니다.

파라미터를 출력

MSR_Status

이 파라미터는 명령어 상태 코드를 저장하는 데 사용됩니다.

8104: 명령어 실행 성공을 나타냅니다.

-99: 로봇 통신 오류를 나타냅니다.

예시

MSR_View_Piece_Data(1,"ert",MSR_Status)

위 예시는 로봇이 대상 물체 SN을 Mech-Metrics에 전달하고(대상 물체 번호 1), Mech-Metrics 소프트웨어 기본 화면을 해당 대상 물체의 데이터 보기로 전환하며, 명령어 상태 코드를 MSR_Status에 저장함을 나타냅니다.

캘리브레이션

이 명령어는 로봇 핸드-아이 캘리브레이션(카메라 외부 파라미터 캘리브레이션)에 사용됩니다. 이 명령어는 Mech-MSR카메라 메뉴 바에 있는 3D 카메라 캘리브레이션도구와 함께 사용해야 합니다.

호출 순서

정식 측정 전에 이 명령어를 호출하여 로봇 핸드-아이 캘리브레이션을 수행해야 합니다.

명령어 형식

MM_Calib(Move_Type,PosJps,WaitTime,E1)

파라미터를 입력

{Move_Type}

이 파라미터는 로봇의 이동 유형이며, 유효한 값은 1 또는 2입니다.

  • 1: 직선 운동.

  • 2: 관절 운동.

{Pos_Jps}

이 파라미터는 캘리브레이션 포인트의 포즈 유형을 지정하며, 유효한 값은 1 또는 2입니다.

  • 1: 말단장치 포즈.

  • 2: 관절 각도.

{Wait_time}

이 파라미터는 로봇이 캘리브레이션 포인트 위치로 이동한 후 흔들림을 피하기 위해 기다리는 시간입니다. 기본값은 2(s)입니다. 단위는 초입니다. 데이터 유형은 num입니다.

{Ext}

이 파라미터는 외부 축 데이터를 지정합니다. 단위는 밀리미터입니다. 7번째 축이 존재하고 현장에서 로봇이 이를 제어하는 경우, 이 파라미터는 특정 외부 축 데이터로 설정해야 합니다. 그렇지 않으면, 이 파라미터는 0으로 설정해야 합니다.

파라미터를 출력

TOP_Status

명령어 상태 코드를 저장하는 데 사용됩니다.

예시

MM_Calib(2,1,2,0)

위의 예시에서, 캘리브레이션 포인트의 포즈 형식은 말단장치 포즈로 표현됩니다. 로봇은 관절 각도 유형을 기반으로 캘리브레이션 포인트로 이동한 후 2초 동안 대기합니다.

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

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

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

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