표준 인터페이스 명령어 설명
이 부분에서는 백호프 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 프로젝트 번호입니다. 데이터 유형은 USINT입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Req_Pose_Num
이 파라미터는 Mech-Vision 프로젝트에서 획득할 비전 포인트 또는 웨이 포인트 수량의 목표값을 나타냅니다. 데이터 유형은 USINT입니다. 값은 0 또는 0보다 큰 정수입니다. 구체적인 설명은 다음과 같습니다.
| Mech-Vision 프로젝트에 "경로 계획" 스텝이 있으면 이 파라미터는 "예상 웨이 포인트 수"를 나타내고, "경로 계획" 스텝이 없으면 "예상 비전 포인트 수"를 나타냅니다. |
-
0: Mech-Vision 프로젝트를 통해 모든 비전 포인트 또는 웨이 포인트를 획득합니다.
-
0보다 큰 정수: Mech-Vision 프로젝트를 통해 지정한 수량의 비전 포인트 또는 웨이 포인트를 획득합니다.
-
Mech-Vision 프로젝트에서 출력되는 비전 포인트 또는 웨이 포인트의 총량이 이 파라미터 값보다 작으면, 출력되는 모든 비전 포인트 또는 웨이 포인트를 획득합니다.
-
Mech-Vision 프로젝트에서 출력되는 비전 포인트 또는 웨이 포인트의 총량이 이 파라미터 값과 같거나 크면, 지정된 수량의 비전 포인트 또는 웨이 포인트를 획득합니다.
-
|
Robot_Pose_Type
이 파라미터는 실제 로봇의 포즈가 Mech-Vision 프로젝트에 입력되는 형식을 지정합니다. 데이터 유형은 USINT입니다. 값은 0, 1, 2 또는 3입니다. 구체적인 설명은 다음과 같습니다.
Robot_Pose
이 파라미터는 로봇의 포즈를 지정합니다. 데이터 유형은 ARRAY[0..1, 0..5] OF DINT입니다. 이 파라미터의 데이터 구조는 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 프로젝트 실행을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Vision_Proj_Num_O
이 파라미터는 Mech-Vision 프로젝트 번호를 의미합니다. 데이터 유형은 USINT입니다.
Req_Pose_Num_O
이 파라미터는 Mech-Vision 프로젝트에서 획득할 비전 포인트 또는 웨이 포인트 수량의 목표값을 의미합니다. 데이터 유형은 USINT입니다. 0은 Mech-Vision 프로젝트에서 모든 비전 포인트 또는 웨이 포인트를 획득함을 의미합니다.
Robot_Pose_Type_O
이 파라미터는 실제 로봇의 포즈가 Mech-Vision 프로젝트에 입력되는 형식을 의미합니다. 데이터 유형은 USINT입니다. 값은 0, 1, 2 또는 3입니다.
Robot_Pose_JPS
이 파라미터는 로봇의 관절 각도를 나타냅니다. 데이터 유형은 ARRAY[0..5] OF DINT입니다.
Robot_Pose_TCP
이 파라미터는 로봇의 플랜지 포즈를 나타냅니다. 데이터 유형은 ARRAY[0..5] OF DINT입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 1102입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
비전 결과 획득하기
기능 소개
이 명령어는 Mech-Vision에서 출력한 비전 결과, 즉 일련의 비전 포인트를 획득하는 데 사용됩니다. 비전 포인트의 물체 포즈, 즉 "출력" 스텝의 "poses" 포트에서 출력되는 데이터는 비전 시스템에 의해 로봇의 말단장치 포즈로 변환됩니다. 과정은 다음과 같습니다.
| "출력" 스텝의 첫 번째 입력 포트가 대상 물체 중심점이면, "출력" 스텝은 대상 물체 중심점을 해당 픽 포인트로 변환합니다. 따라서 이 명령어를 실행하여 얻은 대상 물체 포즈는 실제로 대상 물체 중심점의 포즈가 아니라 픽 포인트의 포즈입니다. |
-
물체 포즈의 형식을 사원수를 오일러 각으로 전환합니다.
-
X축을 중심으로 물체의 포즈를 180° 회전하여 Z축 방향을 아래쪽으로 가리키도록 합니다.
호출 순서
Mech-Vision 프로젝트 실행하기 명령어를 먼저 호출한 후 사용해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 USINT입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Get_VisData
이 파라미터는 비전 결과 획득을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Data_Ready
이 파라미터는 획득한 비전 결과가 읽기 가능한지 여부를 나타내며, 여러 비전 포인트를 수신할 때 사용됩니다. 데이터 유형은 BOOL입니다. 1은 읽기 가능을 의미하고, 0은 읽기 불가를 의미합니다.
Send_Pose_Num
이 파라미터는 Mech-Vision가 반환한 비전 포인트 수를 나타냅니다. 데이터 유형은 USINT입니다. 값은 0 또는 0보다 큰 정수입니다.
Target_Pose
이 파라미터는 획득한 비전 결과에서 단일 비전 포인트의 포즈를 나타냅니다. 포즈 형식은 TCP 포즈입니다. 데이터 유형은 ARRAY[0..5] OF DINT입니다.
Target_Label
이 파라미터는 획득한 비전 결과에서 비전 포인트의 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 DINT입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Vision_Proj_Num_O
이 파라미터는 Mech-Vision 프로젝트 번호를 의미합니다. 데이터 유형은 USINT입니다.
Target_Pose_O
이 파라미터는 획득한 비전 결과의 각 비전 포인트 포즈를 나타냅니다. 포즈 형식은 TCP 포즈입니다. 데이터 유형은 ARRAY[0..29,0..5] OF DINT입니다.
| 올바른 TCP 포즈 데이터를 얻으려면 Target_Pose_O 배열의 요소를 10000으로 나누어야 합니다. |
Target_Label_O
이 파라미터는 획득한 비전 결과의 각 비전 포인트 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 ARRAY[0..29] OF DINT입니다.
DataAck
이 파라미터는 Mech-Vision가 반환한 데이터가 읽혀지고 캐시되었는지 여부를 확인하는 데 사용됩니다. 데이터 유형은 BOOL입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 1100입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
|
이 명령어를 호출한 후 비전 시스템이 기본적으로 10초 이내에 처리 결과를 반환하지 않으면 타임아웃 오류 상태 코드를 반환합니다. Mech-Vision 툴 바의 에서 필요에 따라 이 기본 시간 제한을 변경할 수 있습니다.
|
MM.FromCamera.SEND_POSE_TYPE
이 파라미터 값이 2이면 Mech-Vision가 반환한 포즈 형식이 TCP 포즈임을 의미합니다. 데이터 유형은 USINT입니다.
Mech-Vision 파라미터 레시피 전환하기
기능 소개
이 명령어는 Mech-Vision 프로젝트에서 사용하는 파라미터 레시피를 전환하는 데 사용됩니다. 아래 이미지는 Mech-Vision 프로젝트에서 파라미터 레시피를 수동으로 전환하는 방법을 보여줍니다. 파라미터 레시피와 관련된 정보는 파라미터 레시피 내용을 참조하십시오.
호출 순서
이 명령어는 Mech-Vision 프로젝트 실행하기 명령어를 호출하기 전에 사용해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 USINT입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Vision_Recipe_Num
이 파라미터는 Mech-Vision 프로젝트의 파라미터 레시피 번호를 나타냅니다. 데이터 유형은 USINT입니다. 파라미터 레시피 번호를 확인하는 방법에 대한 자세한 내용은 "파라미터 레시피 번호 보기"를 참조하십시오.
Switch_Recipe
이 파라미터는 Mech-Vision 파라미터 레시피 전환을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Vision_Proj_Num_O
이 파라미터는 Mech-Vision 프로젝트 번호를 의미합니다. 데이터 유형은 USINT입니다.
Vision_Recipe_Num_O
이 파라미터는 Mech-Vision 프로젝트의 파라미터 레시피 번호를 나타냅니다. 데이터 유형은 USINT입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 1107입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Vision가 계획한 경로 획득하기
기능 소개
이 명령어는 Mech-Vision에서 계획한 경로, 즉 일련의 웨이 포인트를 획득하는 데 사용됩니다. 경로는 "경로 계획 도구"를 통해 생성되며, 아래 그림과 같이 구성 마법사 버튼을 클릭하면 "경로 계획 도구"를 사용할 수 있습니다. "경로 계획" 스텝에 관한 자세한 설명은 "경로 계획"을 참조하십시오.
| Mech-Vision "출력" 스텝의 포트 유형 파라미터는 "사전 정의(로봇 경로)"로 설정해야 합니다. |
호출 순서
Mech-Vision 프로젝트 실행하기 명령어를 먼저 호출한 후 사용해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 USINT입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
Request_Pose_Type
이 파라미터는 웨이 포인트를 얻기 위한 포즈 유형을 지정하는 데 사용됩니다. 데이터 유형은 USINT입니다. 유효한 값은 1 또는 2입니다.
-
1: 관절 각도.
-
2: 말단장치 포즈.
Get_VisData
이 파라미터는 Mech-Vision 계획 경로 획득을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Data_Ready
이 파라미터는 획득한 계획 경로가 읽기 가능한지 여부를 나타내며, 여러 웨이 포인트를 수신할 때 사용됩니다. 데이터 유형은 BOOL입니다. 1은 읽기 가능을 의미하고, 0은 읽기 불가를 의미합니다.
Send_Pose_Num
이 파라미터는 Mech-Vision가 반환한 웨이 포인트 수를 나타냅니다. 데이터 유형은 USINT입니다. 값은 0 또는 0보다 큰 정수입니다.
Target_Pose
이 파라미터는 획득한 계획 경로에서 단일 웨이 포인트의 포즈를 나타냅니다. 데이터 유형은 ARRAY[0..5] OF DINT입니다.
Target_Label
이 파라미터는 획득한 계획 경로에서 단일 웨이 포인트의 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 DINT입니다.
Target_Tool_ID
이 파라미터는 획득한 계획 경로에서 단일 웨이 포인트의 말단장치 번호를 나타냅니다. 이 말단장치 번호는 포즈와 일대일로 대응됩니다. 데이터 유형은 DINT입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Vision_Proj_Num_O
이 파라미터는 Mech-Vision 프로젝트 번호를 의미합니다. 데이터 유형은 USINT입니다.
Request_Pose_Type_O
이 파라미터는 웨이 포인트의 포즈 유형을 나타냅니다. 데이터 유형은 USINT입니다. 1은 관절 각도를 의미하고, 2는 TCP 포즈를 의미합니다.
Target_Pose_O
이 파라미터는 획득한 계획 경로의 각 웨이 포인트 포즈를 나타냅니다. 포즈 형식은 TCP 포즈 또는 관절 각도이며, 정확한 형식은 Request_Pose_Type 파라미터 값에 따라 달라집니다. 데이터 유형은 ARRAY[0..29,0..5] OF DINT입니다.
| 올바른 포즈 데이터를 얻으려면 Target_Pose_O 배열의 요소를 10000으로 나누어야 합니다. |
Target_Label_O
이 파라미터는 획득한 계획 경로의 각 웨이 포인트 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 ARRAY[0..29] OF DINT입니다.
Target_Tool_ID_O
이 파라미터는 획득한 계획 경로의 각 웨이 포인트 말단장치 번호를 나타냅니다. 이 말단장치 번호는 포즈와 일대일로 대응됩니다. 데이터 유형은 ARRAY[0..29] OF DINT입니다.
DataAck
이 파라미터는 Mech-Vision가 반환한 데이터가 읽혀지고 캐시되었는지 여부를 확인하는 데 사용됩니다. 데이터 유형은 BOOL입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 1103입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
|
이 명령어를 호출한 후 비전 시스템이 기본적으로 10초 이내에 처리 결과를 반환하지 않으면 타임아웃 오류 상태 코드를 반환합니다. Mech-Vision 툴 바의 에서 필요에 따라 이 기본 시간 제한을 변경할 수 있습니다.
|
MM.FromCamera.SEND_POSE_TYPE
이 파라미터는 웨이 포인트의 포즈 형식을 의미하며 값은 Request_Pose_Type의 입력 값과 같습니다. 데이터 유형은 USINT입니다. 1은 관절 각도를 의미하고, 2는 TCP 포즈를 의미합니다.
MM.FromCamera.VISUAL_POINT_INDEX
이 파라미터는 전체 경로에서 경로 계획 도구의 "비전 이동" 스텝에 해당하는 웨이 포인트(비전 이동 웨이 포인트)의 위치 번호를 나타냅니다. 데이터 유형은 USINT입니다. 경로에 비전 이동 웨이 포인트가 없는 경우 이 파라미터의 값은 0입니다.
예를 들어, 계획된 경로가 "이동_1", "이동_2", "비전 이동", "이동_3" 스텝으로 구성된 경우 비전 이동 웨이 포인트의 위치 번호는 3입니다.
Mech-Viz 프로젝트 실행하기
기능 소개
이 명령어는 Mech-Viz 프로젝트 실행을 트리거하는 데 사용됩니다. Mech-Viz는 Mech-Vision에서 출력한 비전 결과를 기반으로 로봇의 이동 경로를 계획합니다.
| Mech-Viz 프로젝트 리소스 화면에서 프로젝트 명칭을 마우스 오른쪽 버튼으로 클릭하여 해당 프로젝트를 자동으로 로드하기를 선택합니다. |
기능 블록
입력 파라미터
Robot_Pose_Type
이 파라미터는 실제 로봇 포즈가 Mech-Viz 프로젝트에 전달되는 방식을 지정합니다. 값의 범위는 0, 1, 2입니다. 아래 표는 자세한 내용을 설명합니다. 데이터 유형은 USINT입니다.
Robot_Pose
이 파라미터는 로봇의 포즈를 지정합니다. 데이터 유형은 ARRAY[0..1, 0..5] OF DINT입니다. 이 파라미터의 데이터 구조는 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 프로젝트 실행을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Robot_Pose_Type_O
이 파라미터는 실제 로봇의 포즈가 Mech-Viz 프로젝트에 입력되는 형식을 의미합니다. 데이터 유형은 USINT입니다. 값은 0, 1 또는 2입니다.
Robot_Pose_JPS
이 파라미터는 로봇의 관절 각도를 나타냅니다. 데이터 유형은 ARRAY[0..5] OF DINT입니다.
Robot_Pose_TCP
이 파라미터는 로봇의 플랜지 포즈를 나타냅니다. 데이터 유형은 ARRAY[0..5] OF DINT입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 2103입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz 프로젝트 중지하기
호출 순서
Mech-Viz 프로젝트 실행하기 명령어를 먼저 호출한 후 사용해야 합니다.
기능 블록
입력 파라미터
Stop_Viz
이 파라미터는 실행 중인 Mech-Viz 프로젝트 중지를 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 2104입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz 메시지 분기 아웃 포트 설정하기
기능 소개
이 명령어는 "메시지 분기" 스텝의 아웃 포트를 설정하는 데 사용됩니다. Mech-Viz 프로젝트가 "메시지 분기" 스텝까지 실행되면, 이 명령어로 지정한 아웃 포트를 기다립니다.
호출 순서
Mech-Viz 프로젝트 실행하기 명령어를 먼저 호출한 후 사용해야 합니다.
기능 블록
입력 파라미터
Branch_Name
이 파라미터는 메시지 분기 스텝 번호를 지정합니다. 데이터 유형은 USINT입니다. 값은 양의 정수여야 합니다. 스텝 번호는 스텝 파라미터 패널에 표시됩니다. 예를 들어 위 이미지에서 스텝 번호는 1입니다.
Branch_Exit_Port
이 파라미터는 "메시지 분기" 스텝의 아웃 포트 번호를 지정하는 데 사용됩니다. 데이터 유형은 USINT입니다. 값은 양의 정수여야 합니다. 파라미터 값을 N으로 설정하면 Mech-Viz 프로젝트는 "메시지 분기" 스텝의 N-1 아웃 포트를 따라 계속 실행됩니다.
Set_Branch
이 파라미터는 Mech-Viz 메시지 분기 아웃 포트 설정을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Branch_Name_O
이 파라미터는 메시지 분기 스텝 번호를 나타냅니다. 데이터 유형은 USINT입니다.
Branch_Exit_Port_O
이 파라미터는 "메시지 분기" 스텝의 아웃 포트 번호를 나타냅니다. 데이터 유형은 USINT입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 2105입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz의 현재 인덱스 설정하기
기능 소개
이 명령어는 인덱스를 갖춘 스텝의 "현재 인덱스" 값을 설정하는 데 사용됩니다. "인덱스" 파라미터가 있는 스텝에는 "배열대로 이동", "순서대로 이동", "자체 정의 파렛트 패턴", "미리 설정한 파렛트 패턴" 등이 포함됩니다.
호출 순서
일반적으로 인덱스를 갖춘 스텝 앞에는 "메시지 분기" 스텝이 있습니다. PLC는 먼저 Mech-Viz 프로젝트 실행하기 명령어를 호출하고, 그다음 Mech-Viz의 현재 인덱스 설정하기 명령어를 호출하며, 마지막으로 Mech-Viz 메시지 분기 아웃 포트 설정하기 명령어를 호출합니다. 이는 Mech-Viz가 현재 인덱스 값을 설정할 충분한 시간을 확보하기 위한 것입니다.
기능 블록
입력 파라미터
Index_Name
이 파라미터는 인덱스 유형 스텝의 스텝 번호를 지정하는 데 사용됩니다. 데이터 유형은 USINT입니다. 값은 양의 정수여야 합니다. 스텝 번호는 스텝 파라미터 패널에 표시됩니다. 예를 들어 위 이미지에서 스텝 번호는 3입니다.
Index_Counter
이 파라미터는 인덱스를 갖춘 스텝의 "현재 인덱스" 값을 지정하는 데 사용됩니다. 데이터 유형은 USINT입니다. 값은 양의 정수여야 합니다. 이 파라미터 값을 "N"으로 설정하면 해당 스텝의 "현재 인덱스" 값은 "N-1"이 됩니다.
Set_Index
이 파라미터는 Mech-Viz의 현재 인덱스 설정을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 피드백합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Index_Name_O
이 파라미터는 인덱스 유형 스텝의 스텝 번호를 나타냅니다. 데이터 유형은 USINT입니다.
Index_Counter_O
이 파라미터는 인덱스를 갖춘 스텝의 "현재 인덱스" 값을 나타냅니다. 데이터 유형은 USINT입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령어 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 2106입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
Mech-Viz가 계획한 경로 획득하기
기능 소개
이 명령어는 Mech-Viz 프로젝트에서 계획한 경로, 즉 일련의 웨이 포인트를 획득하는 데 사용됩니다.
|
웨이 포인트는 로봇이 계획 경로를 따라 이동하면서 순차적으로 도달해야 하는 점입니다. 웨이 포인트에는 로봇 포즈, 레이블, 이동 유형, 속도 등의 정보가 포함됩니다. 웨이 포인트는 다음 두 가지 유형으로 나뉩니다.
|
호출 순서
이 명령어는 Mech-Viz 프로젝트 실행하기 명령어를 호출한 후 사용해야 합니다.
기능 블록
입력 파라미터
Request_Pose_Type
이 파라미터는 웨이 포인트를 얻기 위한 포즈 유형을 지정하는 데 사용됩니다. 데이터 유형은 USINT입니다. 유효한 값은 1 또는 2입니다.
-
1: 관절 각도.
-
2: 말단장치 포즈.
Get_VizData
이 파라미터는 Mech-Viz 계획 경로 획득을 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Data_Ready
이 파라미터는 획득한 계획 경로를 읽을 수 있는지 여부를 나타내며, 여러 웨이 포인트를 수신할 때 전용으로 사용됩니다. 데이터 유형은 BOOL입니다. 1은 읽을 수 있음을 의미하고, 0은 읽을 수 없음을 의미합니다.
Send_Pose_Num
이 파라미터는 Mech-Viz가 반환한 웨이 포인트의 개수를 나타냅니다. 데이터 유형은 USINT입니다. 값은 0 또는 0보다 큰 정수입니다.
Target_Pose
이 파라미터는 획득한 계획 경로에서 단일 웨이 포인트의 포즈를 나타냅니다. 데이터 유형은 ARRAY[0..5] OF DINT입니다.
Target_Label
이 파라미터는 획득한 계획 경로에서 단일 웨이 포인트의 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 DINT입니다.
Target_Tool_ID
이 파라미터는 획득한 계획 경로에서 단일 웨이 포인트의 말단장치 번호를 나타냅니다. 이 말단장치 번호는 포즈와 일대일로 대응됩니다. 데이터 유형은 DINT입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 반환합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Request_Pose_Type_O
이 파라미터는 웨이 포인트의 포즈 유형을 나타냅니다. 데이터 유형은 USINT입니다. 1은 관절 각도이고, 2는 TCP 포즈입니다.
Target_Pose_O
이 파라미터는 획득한 계획 경로에 있는 각 웨이 포인트의 포즈를 나타냅니다. 포즈 형식은 TCP 포즈 또는 관절 각도이며, 정확한 형식은 Request_Pose_Type 파라미터 값에 따라 달라집니다. 데이터 유형은 ARRAY[0..29,0..5] OF DINT입니다.
| 올바른 포즈 데이터를 얻으려면 Target_Pose_O 배열 요소를 10000으로 나누어야 합니다. |
Target_Label_O
이 파라미터는 획득한 계획 경로에 있는 각 웨이 포인트의 레이블을 나타냅니다. 이 레이블은 포즈와 일대일로 대응됩니다. 데이터 유형은 ARRAY[0..29] OF DINT입니다.
Target_Tool_ID_O
이 파라미터는 획득한 계획 경로에 있는 각 웨이 포인트의 말단장치 번호를 나타냅니다. 이 말단장치 번호는 포즈와 일대일로 대응됩니다. 데이터 유형은 ARRAY[0..29] OF DINT입니다.
DataAck
이 파라미터는 Mech-Viz가 반환한 데이터가 읽혀 캐시되었는지 여부를 확인하는 데 사용됩니다. 데이터 유형은 BOOL입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 2100입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
|
이 명령어를 호출한 후 비전 시스템이 기본적으로 10초 이내에 처리 결과를 반환하지 않으면 타임아웃 오류 상태 코드를 반환합니다. Mech-Vision 툴 바의 에서 필요에 따라 이 기본 시간 제한을 변경할 수 있습니다.
|
MM.FromCamera.SEND_POSE_TYPE
이 파라미터는 웨이 포인트의 포즈 형식을 의미하며 값은 Request_Pose_Type의 입력 값과 같습니다. 데이터 유형은 USINT입니다. 1은 관절 각도이고, 2는 TCP 포즈입니다.
MM.FromCamera.VISUAL_POINT_INDEX
이 파라미터는 전체 경로에서 Mech-Viz 프로젝트의 "비전 이동" 스텝에 해당하는 웨이 포인트(비전 이동 웨이 포인트)의 위치 번호를 나타냅니다. 데이터 유형은 USINT입니다. 경로에 비전 이동 웨이 포인트가 없는 경우 이 파라미터의 값은 0입니다.
예를 들어, 계획된 경로가 "이동_1", "이동_2", "비전 이동", "이동_3" 스텝으로 구성된 경우 비전 이동 웨이 포인트의 위치 번호는 3입니다.
진공 그리퍼의 DO 신호 가져오기
기능 소개
이 명령어는 Mech-Viz 프로젝트에서 계획한 멀티 파티션 진공 그리퍼의 제어 신호를 획득하는 데 사용됩니다. 이 명령어를 사용하기 전에 Mech-Viz에서 다음 구성을 완료해야 합니다.
-
Mech-Viz 소프트웨어의 "비전 이동" 스텝에서 피킹 방법을 상자 디팔레타이징으로 선택합니다.
-
Mech-Viz 소프트웨어에서 말단장치 이름을 더블클릭한 후 말단장치 유형을 디팔레타이징 진공 그리퍼로 설정하고 디팔레타이징 진공 그리퍼 구성을 클릭하여 필요에 따라 DO 신호를 구성하십시오.
호출 순서
이 명령어는 Mech-Viz가 계획한 경로 획득하기 명령어 호출 후에 사용해야 합니다. 즉, PLC는 먼저 계획 경로를 획득한 다음 비전 이동 웨이 포인트에 해당하는 진공 그리퍼 DO 신호를 가져옵니다.
기능 블록
입력 파라미터
Get_DoList
이 파라미터는 진공 그리퍼의 DO 신호 가져오기를 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 반환합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 성공적으로 Mech-Viz에서 DO 신호 목록을 획득하면 상태 코드는 2102입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
MM.FromCamera.DO_LIST
이 파라미터는 명령어가 반환한 64개의 DO 신호를 나타냅니다. 데이터 유형은 ARRAY[0..7] OF BYTE입니다. 각 BYTE는 8비트를 차지하며, 각 비트는 0 또는 1의 DO 신호를 나타냅니다. 따라서 8개의 BYTE를 사용하면 64개의 DO 신호를 나타낼 수 있습니다.
Mech-Vision 프로젝트에 대상 물체 치수 입력하기
기능 소개
이 명령어는 Mech-Vision 프로젝트에 대상 물체 치수를 입력하는 데 사용됩니다. 입력하는 대상 물체 치수는 "물체 치수 읽기" 스텝의 상자 치수 설정 파라미터 값입니다. 아래 그림을 참조하십시오.
| 이 명령어를 사용할 때 Mech-Vision 프로젝트에는 "물체 치수 읽기" 스텝이 하나만 있어야 하며, 그렇지 않으면 비전 시스템이 오류를 반환합니다. |
호출 순서
이 명령어는 Mech-Vision 프로젝트 실행하기 명령어를 호출하기 전에 사용해야 합니다.
기능 블록
입력 파라미터
Vision_Proj_Num
이 파라미터는 Mech-Vision 프로젝트 번호입니다. 데이터 유형은 USINT입니다. Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
External_Input_Box_Dimension
이 파라미터는 Mech-Vision 프로젝트에 입력하는 대상 물체 치수입니다. 순서대로 길이, 너비, 높이이며 단위는 밀리미터(mm)입니다. 이 값은 "물체 치수 읽기" 스텝에서 읽히며 X 방향 길이, Y 방향 길이, Z 방향 길이에 설정됩니다. 데이터 유형은 ARRAY[0..9] OF DINT입니다.
| 사용자는 대상 물체 크기 데이터를 먼저 10000배 한 뒤 32비트 부호 있는 정수로 변환하고, 이를 External_Input_Box_Dimension[0-2] 배열에 저장해야 합니다. |
Set_Box_Dimension
이 파라미터는 Mech-Vision 프로젝트에 대상 물체 치수 입력하기를 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 반환합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Vision_Proj_Num_O
이 파라미터는 Mech-Vision 프로젝트 번호를 의미합니다. 데이터 유형은 USINT입니다.
External_Input_Box_Dimension_O
이 파라미터는 Mech-Vision 프로젝트에 입력한 대상 물체 치수를 나타냅니다. 데이터 유형은 ARRAY[0..9] OF DINT입니다.
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 1108입니다. 명령어 실행이 비정상일 경우 상태 코드는 해당 오류 코드입니다. 자세한 내용은 "표준 인터페이스 상태 코드 및 오류 분석"을 참조하십시오.
프로젝트 상태 가져오기
기능 블록
입력 파라미터
Get_Status
이 파라미터는 Mech-Vision 프로젝트가 준비되었는지 확인합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 반환합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
출력 파라미터
Command
이 파라미터는 명령 코드를 나타내며 기능 블록을 통해 자동으로 할당됩니다. 데이터 유형은 DINT입니다.
Command_Trigger
이 파라미터는 명령 스위치를 의미하며 기능 블록을 통해 자동으로 트리거됩니다. 데이터 유형은 BOOL입니다.
전역 변수 MM.FromCamera의 반환 데이터
MM.FromCamera.STATUS_CODE
이 파라미터는 명령어 실행 상태 코드를 저장하는 데 사용됩니다. 데이터 유형은 DINT입니다. 명령어가 정상적으로 수행되면 상태 코드는 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 프로젝트 실행하기 명령어 호출 직후 즉시 사용해야 합니다.
기능 블록
입력 파라미터
Get_Notify
이 파라미터는 알림 스텝 메시지 가져오기를 트리거합니다. 상승 에지에서 유효합니다. 데이터 유형은 BOOL입니다.
Trigger_Acknowledge
이 파라미터는 Command_Trigger 신호가 비전 시스템을 성공적으로 트리거했는지 여부를 반환합니다. 데이터 유형은 BOOL입니다. 1은 트리거 성공을 의미하고, 0은 Command_Trigger 신호를 수신하지 못했음을 의미합니다.
예시
"알림" 스텝에서 설정한 메시지가 777이라고 가정할 때, PLC가 자동 모드에서 메시지를 가져오는 예는 다음과 같습니다.
자동 모드에서 MM.Camera_User.Step_Num을 7로 설정하고 이때 mm.FromCamera.NOTIFY_MSG가 777이 아니면 MM_Get_Custom_Notify 기능을 활성화합니다. 변수 MM.Camera_User.Get_Notify에 상승 에지가 발생하면 "알림" 스텝에서 미리 설정한 메시지를 가져옵니다. 메시지 수신에 성공하면 mm.FromCamera.NOTIFY_MSG 값이 777로 변경됩니다. 그렇지 않으면 값은 변경되지 않고 PLC는 3초 후에 해당 오류 정보를 표시합니다.