표준 인터페이스 명령어 설명
이 부분에서는 미쓰비시 iQ-R 시리즈 PLC와 Mech-Mind 비전 시스템 간의 EtherNet/IP 통신에서 사용되는 표준 인터페이스 명령어를 설명합니다. PLC(클라이언트)는 Mech-Mind 비전 시스템(서버)에게 명령어를 전송하고, Mech-Mind 비전 시스템은 처리된 데이터를 PLC에 반환합니다.
명령어 개요
Mech-Vision 관련 명령어 |
Mech-Viz 관련 명령어 |
주의사항
-
데이터 단위:
-
관절 각도의 단위는 도(°)입니다.
-
로봇의 플랜지 포즈 또는 말단장치 포즈는 위치와 포즈로 구성되며 위치는 XYZ 좌표로 표시되며 단위는 밀리미터(mm)입니다. 포즈는 오일러 각도로 표시되며 단위는 각도(°)입니다.
-
-
비전 포인트 또는 웨이 포인트:
-
비전 포인트: Mech-Vision에서 인식되는 물체입니다. 비전 포인트에는 물체 포즈, 레이블, 속도, 치수, 사용자 정의 데이터 등을 포함한 정보가 있습니다.
-
웨이 포인트: 로봇이 계획된 경로를 따라 이동할 때 도달하는 각 지점입니다. 웨이 포인트에는 로봇 포즈, 레이블, 이동 유형, 속도 등의 정보가 있습니다. 웨이 포인트는 다음 두 가지 유형으로 나눠집니다.
-
비전 이동 웨이 포인트: “비전 이동" 스텝에 해당하는 웨이 포인트입니다.
-
비(非) 비전 이동 웨이 포인트: “비전 이동" 스텝 이외의 다른 이동 유형 스텝에 해당하는 웨이 포인트입니다.
-
-
Mech-Vision 프로젝트 실행하기
기능 소개
이 명령어는 Mech-Vision 프로젝트 실행을 트리거하는 데 사용됩니다. Mech-Vision 프로젝트 실행 중에는 비전 시스템이 카메라 촬영을 수행하고, 이미지 데이터에 대해 일련의 비전 알고리즘 처리를 거쳐 최종적으로 여러 비전 포인트 또는 웨이 포인트를 얻습니다.
|
호출 순서
-
프로젝트의 스텝 파라미터는 Mech-Vision 프로젝트를 실행하기 전에 설정해야 하므로, Mech-Vision 파라미터 레시피 전환하기 명령어 또는 Mech-Vision 프로젝트에 대상 물체 치수 입력하기 명령어를 Mech-Vision 프로젝트 실행하기 명령어보다 먼저 호출해야 합니다.
-
Mech-Vision 프로젝트를 실행한 후에야 비전 시스템이 비전 포인트 또는 웨이 포인트를 얻으므로, Mech-Vision 프로젝트 실행하기 명령어를 비전 결과 획득하기 명령어나 Mech-Vision가 계획한 경로 획득하기 명령어보다 먼저 호출해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Req_Pose_Num
이 파라미터는 Mech-Vision 프로젝트에서 반환할 것으로 예상되는 비전 포인트 또는 웨이 포인트의 개수를 나타냅니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 0 또는 0보다 큰 정수이며, 자세한 설명은 아래와 같습니다.
| Mech-Vision 프로젝트에 "경로 계획" 스텝이 있는 경우, 이 파라미터는 예상 웨이 포인트 개수를 의미하고, 그렇지 않으면 예상 비전 포인트 개수를 의미합니다. |
-
0: Mech-Vision 프로젝트에서 모든 비전 포인트 또는 웨이 포인트를 가져옵니다.
-
0보다 큰 정수: Mech-Vision 프로젝트에서 지정된 개수의 비전 포인트 또는 웨이 포인트를 가져옵니다.
-
Mech-Vision 프로젝트가 출력한 비전 포인트 또는 웨이 포인트의 총 개수가 지정된 파라미터 값보다 적으면, 출력된 모든 비전 포인트 또는 웨이 포인트를 가져옵니다.
-
Mech-Vision 프로젝트가 출력한 비전 포인트 또는 웨이 포인트의 총 개수가 지정된 파라미터 값보다 크거나 같으면, 지정된 개수만큼의 비전 포인트 또는 웨이 포인트를 가져옵니다.
-
|
Robot_Pose_Type
이 파라미터는 실제 로봇의 포즈를 어떤 형식으로 Mech-Vision 프로젝트에 전달할지 지정합니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 0, 1, 2 또는 3이며, 자세한 설명은 아래 표와 같습니다.
Robot_Pose
이 파라미터는 로봇의 포즈를 지정합니다. 데이터 유형은 Double Word [Signed](0..1,0..5)입니다. 이 파라미터의 데이터 구조는 2차원 Array이며, Array[0]은 로봇 관절 각도, Array[1]은 로봇 플랜지 포즈입니다.
아래 표는 Robot_Pose_Type과 Robot_Pose 파라미터 값의 관계와 설명입니다.
| Robot_Pose_Type | Robot_Pose | 설명 | 적용 시나리오 |
|---|---|---|---|
0 |
[[0,0,0,0,0,0]],[0,0,0,0,0,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이고, 프로젝트에서 사전 촬영이 필요한 경우 이 설정을 사용합니다. |
| 관절 각도와 플랜지 포즈의 부동 소수점 값은 먼저 10000을 곱해 32비트 부호 있는 정수로 변환한 후, Robot_Pose에 설정해야 합니다. |
Start_Vision
이 파라미터는 Mech-Vision 프로젝트 실행을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 1102입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
비전 결과 획득하기
기능 소개
이 명령어는 Mech-Vision가 출력한 비전 결과(일련의 비전 포인트)를 가져오는 데 사용됩니다. 비전 포인트의 대상 물체 포즈(즉, "출력" 스텝의 poses 포트 데이터)는 비전 시스템이 자동으로 해당 로봇의 말단장치 포즈로 변환합니다. 구체적인 변환 과정은 다음과 같습니다.
| "출력" 스텝의 첫 번째 입력 포트가 대상 물체 중심점이면, "출력" 스텝은 대상 물체 중심점을 해당 픽 포인트로 변환합니다. 따라서 이 명령어로 얻은 포즈는 실제로 픽 포인트의 포즈이며, 대상 물체 중심점의 포즈가 아닙니다. |
-
물체 포즈의 형식을 사원수를 오일러 각으로 전환합니다.
-
X축을 중심으로 물체의 포즈를 180° 회전하여 Z축 방향을 아래쪽으로 가리키도록 합니다.
호출 순서
이 명령어는 Mech-Vision 프로젝트 실행하기 명령어 이후에 호출해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Get_VisData
이 파라미터는 비전 결과 획득을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
Data_Ready
이 파라미터는 획득한 비전 결과를 읽을 수 있는지 여부를 나타내며, 여러 비전 포인트를 수신할 때 전용으로 사용됩니다. 데이터 유형은 Bit입니다. 1은 읽을 수 있음을, 0은 읽을 수 없음을 의미합니다.
Send_Pose_Num
이 파라미터는 Mech-Vision가 반환한 비전 포인트의 개수를 나타냅니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 0 또는 0보다 큰 정수입니다.
Start_Empty
이 파라미터는 획득한 Target_Pose, Target_Label 데이터를 지우도록 트리거합니다. 설정 시 적용됩니다. 데이터 유형은 Bit입니다.
출력 파라미터
Target_Pose
이 파라미터는 획득한 비전 결과 중 각 비전 포인트의 포즈를 나타냅니다. 포즈 형식은 말단장치 포즈입니다. 데이터 유형은 Double Word [Signed](0..19,0..5)입니다.
| Target_Pose 배열의 요소를 10000으로 나누어야 올바른 말단장치 포즈 데이터가 됩니다. |
Target_Label
이 파라미터는 획득한 비전 결과 중 각 비전 포인트의 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 Double Word [Signed](0..19)입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 1100입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
|
이 명령어를 호출한 후 비전 시스템이 기본적으로 10초 이내에 처리 결과를 반환하지 않으면 타임아웃 오류 상태 코드를 반환합니다. Mech-Vision 툴 바의 에서 필요에 따라 이 기본 시간 제한을 변경할 수 있습니다.
|
FromCamera.SEND_POSE_TYPE
이 파라미터 값은 2이며, Mech-Vision가 반환한 포즈 형식이 말단장치 포즈임을 의미합니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다.
Mech-Vision 파라미터 레시피 전환하기
기능 소개
이 명령어는 Mech-Vision 프로젝트에서 사용하는 파라미터 레시피를 전환하는 데 사용됩니다. 아래 그림은 Mech-Vision 프로젝트의 파라미터 레시피를 수동으로 전환하는 예를 보여줍니다. 파라미터 레시피에 대한 자세한 내용은 파라미터 레시피를 참조하십시오.
호출 순서
이 명령어는 Mech-Vision 프로젝트 실행하기 명령어보다 먼저 호출해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Vision_Recipe_Num
이 파라미터는 Mech-Vision 프로젝트에서 파라미터 레시피의 번호를 나타냅니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 파라미터 레시피 번호를 확인하는 방법은 파라미터 레시피 번호 확인하기를 참조하십시오.
Switch_Recipe
이 파라미터는 Mech-Vision 파라미터 레시피 전환을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 1107입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Vision가 계획한 경로 획득하기
기능 소개
이 명령어는 Mech-Vision가 계획한 경로(일련의 웨이 포인트)를 가져오는 데 사용됩니다. 여기서의 경로는 "경로 계획 도구"(아래 그림의 구성 마법사에서 진입)로 계획됩니다. "경로 계획" 스텝에 대한 자세한 내용은 경로 계획을 참조하십시오.
| Mech-Vision "출력" 스텝의 포트 유형 파라미터를 "사전 정의(로봇 경로)"로 설정해야 합니다. |
호출 순서
이 명령어는 Mech-Vision 프로젝트 실행하기 명령어 이후에 호출해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Request_Pose_Type
이 파라미터는 웨이 포인트를 얻기 위한 포즈 유형을 지정하는 데 사용됩니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 유효한 값은 1 또는 2입니다.
-
1: 관절 각도.
-
2: 말단장치 포즈.
Get_VisData
이 파라미터는 Mech-Vision 계획 경로 획득을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
Data_Ready
이 파라미터는 획득한 계획 경로를 읽을 수 있는지 여부를 나타내며, 여러 웨이 포인트를 수신할 때 전용으로 사용됩니다. 데이터 유형은 Bit입니다. 1은 읽을 수 있음을, 0은 읽을 수 없음을 의미합니다.
Send_Pose_Num
이 파라미터는 Mech-Vision가 반환한 웨이 포인트의 개수를 나타냅니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 0 또는 0보다 큰 정수입니다.
Start_Empty
이 파라미터는 획득한 Target_Pose, Target_Label, Target_Tool_ID 데이터를 지우도록 트리거합니다. 설정 시 적용됩니다. 데이터 유형은 Bit입니다.
출력 파라미터
Target_Pose
이 파라미터는 획득한 계획 경로 중 각 웨이 포인트의 포즈를 나타냅니다. 포즈 형식은 말단장치 포즈 또는 관절 각도이며, 정확한 형식은 Request_Pose_Type 파라미터 값에 따라 달라집니다. 데이터 유형은 Double Word [Signed](0..19,0..5)입니다.
| Target_Pose 배열의 요소를 10000으로 나누어야 올바른 포즈 데이터가 됩니다. |
Target_Label
이 파라미터는 획득한 계획 경로 중 각 웨이 포인트의 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 Double Word [Signed](0..19)입니다.
Target_Tool_ID
이 파라미터는 획득한 계획 경로 중 각 웨이 포인트의 말단장치 번호를 나타냅니다. 이 말단장치 번호는 포즈와 일대일로 대응됩니다. 데이터 유형은 Double Word [Signed](0..19)입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 1103입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
|
이 명령어를 호출한 후 비전 시스템이 기본적으로 10초 이내에 처리 결과를 반환하지 않으면 타임아웃 오류 상태 코드를 반환합니다. Mech-Vision 툴 바의 에서 필요에 따라 이 기본 시간 제한을 변경할 수 있습니다.
|
FromCamera.SEND_POSE_TYPE
이 파라미터는 웨이 포인트의 포즈 형식을 나타내며, 값은 Request_Pose_Type 입력 파라미터 값과 같습니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 1은 관절 각도, 2는 말단장치 포즈입니다.
FromCamera.VISUAL_POINT_INDEX
이 파라미터는 전체 경로에서 경로 계획 도구의 "비전 이동" 스텝에 해당하는 웨이 포인트(비전 이동 웨이 포인트)의 위치 번호를 나타냅니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 경로에 비전 이동 웨이 포인트가 없는 경우 이 파라미터의 값은 0입니다.
예를 들어, 계획된 경로가 "이동_1", "이동_2", "비전 이동", "이동_3" 스텝으로 구성된 경우 비전 이동 웨이 포인트의 위치 번호는 3입니다.
Mech-Viz 프로젝트 실행하기
기능 소개
이 명령어는 Mech-Viz 프로젝트 실행을 트리거하는 데 사용됩니다. Mech-Viz는 Mech-Vision가 출력한 비전 결과를 기반으로 로봇의 이동 경로를 계획합니다.
| Mech-Viz 프로젝트 리소스 패널에서 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하여 자동 로드로 설정을 선택하십시오. |
기능 블록
입력 파라미터
Robot_Pose_Type
이 파라미터는 실제 로봇의 포즈를 어떤 형식으로 Mech-Viz 프로젝트에 전달할지 지정합니다. 값은 0, 1 또는 2이며, 자세한 설명은 아래 표와 같습니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다.
Robot_Pose
이 파라미터는 로봇의 포즈를 지정합니다. 데이터 유형은 Double Word [Signed](0..1,0..5)입니다. 이 파라미터의 데이터 구조는 2차원 Array이며, Array[0]은 로봇 관절 각도, Array[1]은 로봇 플랜지 포즈입니다.
아래 표는 Robot_Pose_Type과 Robot_Pose 파라미터 값의 관계와 설명입니다.
| Robot_Pose_Type | Robot_Pose | 설명 | 적용 시나리오 |
|---|---|---|---|
0 |
[[0,0,0,0,0,0],[0,0,0,0,0,0]] |
이 명령어는 Mech-Viz 프로젝트에 로봇 포즈를 전달할 필요가 없으며, Mech-Viz 프로젝트의 시뮬레이션 로봇은 설정된 Home 포인트에서 첫 번째 웨이 포인트로 이동합니다. |
카메라 설치 방식이 Eye To Hand입니다. |
1 |
로봇 현재 관절 각도와 플랜지 포즈 |
이 명령어는 로봇의 현재 관절 각도와 플랜지 포즈를 Mech-Viz 프로젝트에 전달해야 하며, Mech-Viz 프로젝트의 시뮬레이션 로봇은 전달된 관절 각도에서 첫 번째 웨이 포인트로 이동합니다. |
카메라 설치 방식이 Eye In Hand이면 이 설정을 권장합니다. |
2 |
로봇 경로 계획 시작점의 관절 각도 |
이 명령어는 로봇의 티치 포인트(현재 관절 각도가 아닌 사용자 정의 관절 각도)를 Mech-Viz 프로젝트에 전달하여, 로봇이 촬영 영역 밖에 있을 때 미리 Mech-Viz 프로젝트가 다음 주기의 경로를 계획하도록 트리거합니다(아래 그림 참조). Mech-Viz 프로젝트의 시뮬레이션 로봇은 전달된 티치 포인트에서 첫 번째 웨이 포인트로 이동합니다. |
카메라 설치 방식이 Eye To Hand이면 이 설정을 권장합니다. |
| 관절 각도와 플랜지 포즈의 부동 소수점 값은 먼저 10000을 곱해 32비트 부호 있는 정수로 변환한 후, Robot_Pose에 설정해야 합니다. |
카메라 설치 방식이 Eye To Hand인 경우 Robot_Pose_Type을 2로 설정하는 이유는?
아래 그림에서는 로봇이 배치 영역에서 작업하고 있습니다.
이러한 경우에 Robot_Pose_Type을 1로 설정하면 로봇의 현재 포즈를 Mech-Viz로 전달하며, 실제 로봇은 다른 위치로 이동한 후에야 첫 번째 웨이 포인트로 이동할 수 있습니다. 시뮬레이션 로봇은 현재 위치에서 Mech-Viz 프로젝트의 첫 번째 웨이 포인트로 곧바로 이동하며, 이 이동 과정에서 충돌이 감지되어 경고가 발생할 수 있습니다.
이러한 경우에 Robot_Pose_Type을 2로 설정하면 로봇 측에 설정된 티치 촬영 포인트를 Mech-Viz로 전달합니다. 이렇게 하면 실제 로봇이 배치 영역에서 Mech-Viz가 다음 주기의 경로를 미리 계획하도록 트리거할 수 있어 사이클 타임을 단축할 수 있습니다.
이상이 Eye To Hand 모드에서 Robot_Pose_Type을 2로 설정하는 것을 권장하는 이유입니다.
Start_Viz
이 파라미터는 Mech-Viz 프로젝트 실행을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 2103입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz 프로젝트 중지하기
호출 순서
이 명령어는 Mech-Viz 프로젝트 실행하기 명령어 이후에 호출해야 합니다.
기능 블록
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 2104입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz 메시지 분기 아웃 포트 설정하기
기능 소개
이 명령어는 "메시지 분기" 스텝의 아웃 포트를 설정하는 데 사용됩니다. Mech-Viz 프로젝트가 "메시지 분기" 스텝까지 실행되면 이 명령어가 지정하는 아웃 포트를 기다립니다.
호출 순서
이 명령어는 Mech-Viz 프로젝트 실행하기 명령어 이후에 호출해야 합니다.
기능 블록
입력 파라미터
Branch_Name
이 파라미터는 메시지 분기의 스텝 번호를 지정합니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 양의 정수여야 합니다. 스텝 번호는 스텝 파라미터에서 확인할 수 있으며, 예를 들어 위 그림에서 스텝 번호는 1입니다.
Branch_Exit_Port
이 파라미터는 "메시지 분기" 스텝의 아웃 포트 번호를 지정하는 데 사용됩니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 양의 정수여야 합니다. 이 파라미터 값을 N으로 설정하면 Mech-Viz 프로젝트는 "메시지 분기" 스텝의 N-1 아웃 포트를 따라 계속 실행됩니다.
|
여기의 Branch_Name, Branch_Exit_Port 및 기능 함수 MM_Set_Index의 Index_Name, Index_Counter는 각각 ToCamera 구조체의 동일한 VIZ_TASK_NAME 및 VIZ_TASK_VALUE 변수에 해당합니다. 따라서 Branch_Name과 Index_Name이 다른 값으로 설정되면 둘은 동시에 적용될 수 없습니다. 마찬가지로 Branch_Exit_Port와 Index_Counter가 다른 값으로 설정되면 둘은 동시에 적용될 수 없습니다. |
Set_Branch
이 파라미터는 Mech-Viz 메시지 분기 아웃 포트 설정을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 2105입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz 현재 인덱스 설정하기
기능 소개
이 명령어는 인덱스 계열 스텝의 현재 인덱스 값을 설정하는 데 사용됩니다. 인덱스 계열 스텝이란 "인덱스" 파라미터를 포함하는 스텝을 의미하며, 예를 들어 "배열대로 이동", "순서대로 이동", "사용자 정의 팔레타이징 패턴", "미리 설정된 팔레타이징 패턴" 등의 스텝이 있습니다.
호출 순서
일반적으로 인덱스 계열 스텝 앞에 "메시지 분기" 스텝이 있습니다. PLC는 먼저 Mech-Viz 프로젝트 실행하기 명령어를 호출한 다음 Mech-Viz 현재 인덱스 설정하기 명령어를 호출하고, 마지막으로 Mech-Viz 메시지 분기 아웃 포트 설정하기 명령어를 호출합니다. 이렇게 하면 Mech-Viz가 현재 인덱스 값을 설정할 충분한 시간을 확보할 수 있습니다.
기능 블록
입력 파라미터
Index_Name
이 파라미터는 인덱스 계열 스텝의 스텝 번호를 지정하는 데 사용됩니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 양의 정수여야 합니다. 스텝 번호는 스텝 파라미터에서 확인할 수 있으며, 예를 들어 위 그림에서 스텝 번호는 3입니다.
Index_Counter
이 파라미터는 인덱스 계열 스텝의 현재 인덱스 값을 지정하는 데 사용됩니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 양의 정수여야 합니다. 이 파라미터 값을 N으로 설정하면 해당 스텝의 현재 인덱스 값은 N-1이 됩니다.
|
여기의 Index_Name, Index_Counter 및 기능 함수 MM_Set_Branch의 Branch_Name, Branch_Exit_Port는 각각 ToCamera 구조체의 동일한 VIZ_TASK_NAME 및 VIZ_TASK_VALUE 변수에 해당합니다. 따라서 Index_Name과 Branch_Name이 다른 값으로 설정되면 둘은 동시에 적용될 수 없습니다. 마찬가지로 Index_Counter와 Branch_Exit_Port가 다른 값으로 설정되면 둘은 동시에 적용될 수 없습니다. |
Set_Index
이 파라미터는 Mech-Viz 현재 인덱스 설정을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 2106입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz가 계획한 경로 획득하기
기능 소개
이 명령어는 Mech-Viz 프로젝트가 계획한 이동 경로(일련의 웨이 포인트)를 가져오는 데 사용됩니다.
|
웨이 포인트는 로봇이 계획 경로를 따라 순차적으로 도달해야 하는 지점입니다. 하나의 웨이 포인트는 로봇 포즈, 레이블, 이동 유형, 속도 등의 정보를 포함합니다. 웨이 포인트는 다음 두 가지 유형으로 나뉩니다.
|
호출 순서
이 명령어는 Mech-Viz 프로젝트 실행하기 명령어 이후에 호출해야 합니다.
기능 블록
입력 파라미터
Request_Pose_Type
이 파라미터는 웨이 포인트를 얻기 위한 포즈 유형을 지정하는 데 사용됩니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 유효한 값은 1 또는 2입니다.
-
1: 관절 각도.
-
2: 말단장치 포즈.
Get_VizData
이 파라미터는 Mech-Viz 계획 경로 획득을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
Data_Ready
이 파라미터는 획득한 계획 경로를 읽을 수 있는지 여부를 나타내며, 여러 웨이 포인트를 수신할 때 전용으로 사용됩니다. 데이터 유형은 Bit입니다. 1은 읽을 수 있음을, 0은 읽을 수 없음을 의미합니다.
Send_Pose_Num
이 파라미터는 Mech-Viz가 반환한 웨이 포인트의 개수를 나타냅니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 값은 0 또는 0보다 큰 정수입니다.
Start_Empty
이 파라미터는 획득한 Target_Pose, Target_Label, Target_Tool_ID 데이터를 지우도록 트리거합니다. 설정 시 적용됩니다. 데이터 유형은 Bit입니다.
출력 파라미터
Target_Pose
이 파라미터는 획득한 계획 경로 중 각 웨이 포인트의 포즈를 나타냅니다. 포즈 형식은 말단장치 포즈 또는 관절 각도이며, 정확한 형식은 Request_Pose_Type 파라미터 값에 따라 달라집니다. 데이터 유형은 Double Word [Signed](0..19,0..5)입니다.
| Target_Pose 배열의 요소를 10000으로 나누어야 올바른 포즈 데이터가 됩니다. |
Target_Label
이 파라미터는 획득한 계획 경로 중 각 웨이 포인트의 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 Double Word [Signed](0..19)입니다.
Target_Tool_ID
이 파라미터는 획득한 계획 경로 중 각 웨이 포인트의 말단장치 번호를 나타냅니다. 이 말단장치 번호는 포즈와 일대일로 대응됩니다. 데이터 유형은 Double Word [Signed](0..19)입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 2100입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
|
이 명령어를 호출한 후 비전 시스템이 기본적으로 10초 이내에 처리 결과를 반환하지 않으면 타임아웃 오류 상태 코드를 반환합니다. Mech-Vision 툴 바의 에서 필요에 따라 이 기본 시간 제한을 변경할 수 있습니다.
|
FromCamera.SEND_POSE_TYPE
이 파라미터는 웨이 포인트의 포즈 형식을 나타내며, 값은 Request_Pose_Type 입력 파라미터 값과 같습니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 1은 관절 각도, 2는 말단장치 포즈입니다.
FromCamera.VISUAL_POINT_INDEX
이 파라미터는 전체 경로에서 Mech-Viz 프로젝트의 "비전 이동" 스텝에 해당하는 웨이 포인트(비전 이동 웨이 포인트)의 위치 번호를 나타냅니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. 경로에 비전 이동 웨이 포인트가 없는 경우 이 파라미터의 값은 0입니다.
예를 들어, 계획된 경로가 "이동_1", "이동_2", "비전 이동", "이동_3" 스텝으로 구성된 경우 비전 이동 웨이 포인트의 위치 번호는 3입니다.
진공 그리퍼의 DO 신호 가져오기
기능 소개
이 명령어는 Mech-Viz 프로젝트에서 계획한 멀티 파티션 진공 그리퍼의 제어 신호를 획득하는 데 사용됩니다. 이 명령어를 사용하기 전에 Mech-Viz에서 다음 구성을 완료해야 합니다.
-
Mech-Viz 소프트웨어의 "비전 이동" 스텝에서 피킹 방법을 상자 디팔레타이징으로 선택합니다.
-
Mech-Viz 소프트웨어에서 말단장치 이름을 더블클릭한 후 말단장치 유형을 디팔레타이징 진공 그리퍼로 설정하고 디팔레타이징 진공 그리퍼 구성을 클릭하여 필요에 따라 DO 신호를 구성하십시오.
호출 순서
이 명령어는 Mech-Viz가 계획한 경로 획득하기 명령어 호출 후에 사용해야 합니다. 즉, PLC는 먼저 계획 경로를 획득한 다음 비전 이동 웨이 포인트에 해당하는 진공 그리퍼 DO 신호를 가져옵니다.
기능 블록
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 성공적으로 Mech-Viz에서 DO 신호 목록을 획득하면 상태 코드는 2102입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
FromCamera.DO_LIST
이 파라미터는 명령어가 반환한 64개의 DO 신호를 나타냅니다. 데이터 유형은 Bit(0..63)입니다.
FromCamera.DO_LIST[0]~FromCamera.DO_LIST[63]은 각각 DO 0~DO 63에 대응합니다. FromCamera.DO_LIST[X] 값이 True이면 해당 DO X 신호가 유효함을 의미하고, 그렇지 않으면 해당 DO X 신호가 유효하지 않음을 의미합니다.
Mech-Vision 프로젝트에 대상 물체 치수 입력하기
기능 소개
이 명령어는 Mech-Vision 프로젝트에 대상 물체 치수를 입력하는 데 사용됩니다. 입력하는 대상 물체 치수는 "물체 치수 읽기" 스텝의 상자 치수 설정 파라미터 값입니다. 아래 그림을 참조하십시오.
| 이 명령어를 사용할 때 Mech-Vision 프로젝트에는 "물체 치수 읽기" 스텝이 하나만 있어야 하며, 그렇지 않으면 비전 시스템이 오류를 반환합니다. |
호출 순서
이 명령어는 Mech-Vision 프로젝트 실행하기 명령어를 호출하기 전에 사용해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 Word [Unsigned]/Bit String [16-bit]입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
External_Input_Box_Dimension
이 파라미터는 Mech-Vision 프로젝트에 입력하는 대상 물체 치수입니다. 순서대로 길이, 너비, 높이이며 단위는 밀리미터(mm)입니다. 이 값은 "물체 치수 읽기" 스텝에서 읽히며 X 방향 길이, Y 방향 길이, Z 방향 길이에 설정됩니다. 데이터 유형은 Double Word [Signed](0..9)입니다.
|
대상 물체 치수 데이터는 먼저 10000을 곱해 32비트 부호 있는 정수로 변환한 후, External_Input_Box_Dimension[0-2] 배열에 저장해야 합니다. |
Set_Box_Dimension
이 파라미터는 Mech-Vision 프로젝트에 대상 물체 치수 입력하기를 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 Bit입니다.
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 1108입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
프로젝트 상태 가져오기
기능 블록
전역 태그 FromCamera가 반환한 데이터
FromCamera.STATUS_CODE
이 파라미터는 해당 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 Double Word [Signed]입니다. 명령어가 정상적으로 수행되면 상태 코드는 1101입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
알림 스텝 메시지 가져오기
기능 소개
Mech-Vision 프로젝트 또는 Mech-Viz 프로젝트가 "알림" 스텝까지 실행되면, 비전 시스템은 "알림" 스텝에서 미리 설정한 메시지를 반환합니다.
| Mech-Vision 또는 Mech-Viz 프로젝트에서 "알림" 스텝이 실행되면, 메시지는 비전 시스템 버퍼에 3초 동안만 남아 있습니다. 따라서 이 명령어를 호출하는 시점을 적절히 제어해야 메시지를 성공적으로 가져올 수 있습니다. 또한 PLC가 메시지를 수신한 후에는 프로그램에서 ToCamera_CLEAR.NOTIFY를 트리거하여 한 번의 신호 교환 주기 펄스를 생성하고, 이를 통해 해당 레지스터 데이터를 초기화해야 합니다. |
이 명령어를 호출하기 전에 "알림" 스텝은 다음 요구 사항을 충족해야 합니다.
-
Mech-Vision 프로젝트의 "알림" 스텝
-
"알림" 스텝을 다른 스텝의 오른쪽에 연결합니다. 아래 이미지에서는 "출력" 스텝을 예로 들었습니다.
-
"출력" 스텝의 파라미터 패널에서 출력이 있을 때 제어 흐름 트리거 파라미터를 선택하십시오.
-
"알림" 스텝의 파라미터 패널에서 "서비스 이름"에 Standard Interface Notify를 입력합니다. 이 값은 입력 후 수정할 수 없습니다. "메시지"에는 필요에 따라 1001과 같은 양의 정수를 입력하십시오.
-
-
Mech-Viz 프로젝트의 "알림" 스텝
-
"알림" 스텝을 작업 흐름의 적절한 위치에 연결합니다.
-
"알림" 스텝의 파라미터 패널에서 표준 인터페이스를 선택하고, "메시지"에는 필요에 따라 1000과 같은 양의 정수를 입력하십시오.
-
호출 순서
이 명령어는 Mech-Vision 프로젝트 실행하기 명령어 또는 Mech-Viz 프로젝트 실행하기 명령어 호출 직후 즉시 사용해야 합니다.
예시
"알림" 스텝에서 설정한 메시지가 777이라고 가정할 때, PLC가 자동 모드에서 메시지를 가져오는 예는 다음과 같습니다.
이 예시에서는 자동 모드에서 Camera_User.Step_Num을 3으로 설정하고 이때 FromCamera.NOTIFY_MSG가 777이 아니면 MM_Get_Custom_Notify 기능을 활성화합니다. 변수 Camera_User.Get_Notify에 상승 에지가 발생하면 "알림" 스텝에서 미리 설정한 메시지를 가져옵니다. 메시지 수신에 성공하면 FromCamera.NOTIFY_MSG 값이 777로 변경됩니다. 그렇지 않으면 FromCamera.NOTIFY_MSG 값은 777이 아니며, PLC는 3초 후에 해당 오류 정보를 표시합니다.