Profinet 명령어 설명¶
101 명령어——Mech-Vision 프로젝트를 시작하기¶
기능 소개¶
이 명령어는 Mech-Vision 프로젝트를 시작하고 사진 캡처 및 비전 인식을 수행하는 데 사용됩니다.
프로젝트가 Eye In Hand 모드인 경우 이 명령은 로봇이 이미지를 캡처했을 때의 포즈를 프로젝트로 전송합니다.
이 명령은 Mech-Vision만 사용하는 시나리오에서 사용됩니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Vision_Proj_Num |
Mech-Vision 프로젝트 번호 |
Req_Pose_Num |
비전 포인트 수량의 목표값 |
Robot_Pose_Type |
로봇 포즈 유형 |
Robot_Pose_JPS / Robot_Pose_TCP * |
로봇 포즈 |
* Robot_Pose_TCP의 이름은 Robot_Pose_Flange로 바꾸게 될 것입니다. 이미지를 캡처할 때 로봇 포즈는 TCP의 형식으로 표시되지 못하기 때문입니다.
Mech-Vision 프로젝트 번호
Mech-Center에서 Mech-Vision 프로젝트 번호, 즉 Mech-Center에서
프로젝트 경로 왼쪽에 표시되는 번호입니다. 드래그 앤 드롭하여 조정할 수 있습니다.
비전 포인트 수량의 목표값
Mech-Vision에서 획득되길 바라는 비전 포인트의 수량입니다. 비전 포인트 정보에는 비전 포즈 및 포즈와 대응하는 포인트 클라우드, 레이블, 크기 조정 등이 포함됩니다.
0
:Mech-Vision 프로젝트의 인식 결과에서 모든 비전 포인트를 획득합니다.
0보다 큰 정수(整數)
:Mech-Vision 프로젝트의 인식 결과에서 지정된 수의 비전 포인트를 획득합니다.
총 비전 포인트 수가 이 파라미터의 값보다 작으면 인식 결과의 모든 비전 포인트를 획득합니다.
총 비전 포인트 수가 이 파라미터의 값보다 크거나 같으면 이 파라미터에 지정된 비전 포인트 수를 획득합니다.
힌트
비전 포인트를 획득하는 명령은 102 명령어입니다.
로봇 포즈 유형
이 파라미터는 실제 로봇의 포즈가 Mech-Vision에 전달되는 형식을 지정합니다. 파라미터 범위: 0~2.
0
:이 명령은 로봇 포즈를 비전 시스템에 전달할 필요가 없습니다. 프로젝트가 Eye to Hand 모드가 아닌 경우 이미지를 촬영하는 것은 로봇의 포즈와 관련이 없으며 Mech-Vision은 로봇의 포즈가 필요하지 않습니다.
1
:로봇 포즈는 JPs 관절 각도의 형식으로 전달됩니다.
2
:로봇 포즈는 플랜지 포즈로 전달됩니다.
로봇 포즈
이 파라미터는 Eye In Hand 모드에서 필요한 로봇 포즈이며 로봇 포즈는 JPs 관절 각도 또는 플랜지 포즈의 형식입니다. 포즈의 형태는 로봇 포즈 유형 에 의해 결정됩니다.
주의
JPs 및 플랜지 포즈의 부동 소수점 데이터는 10000을 곱한 다음 Robot_Pose_JPS 또는 Robot_Pose_TCP 모듈(나중에 Robot_Pose_Flange로 이름이 바뀔 여정)로 설정해야 합니다.
102 명령어——비전 목표점을 획득하기¶
101 명령어——Mech-Vision 프로젝트를 시작하기 뒤에 사용되며, 이 명령어를 사용하여 Mech-Vision의 인식 결과(비전 포인트)과 대응하는 로봇 포즈 및 레이블을 획득하며 로봇 포즈의 형식은 TCP입니다.
Mech-Center가 자동으로 비전 포인트의 정보를 해당한 로봇 TCP로 전환할 것입니다. 구체적인 과정은 아래와 같습니다.
비전 포인트 정보에 포함한 포즈를 Y축을 중심으로 180°를 회전시킵니다.
해당 로봇 모델의 기준 좌표계 정의에 로봇 베이스의 높이가 포함된지를 인식하고 수직 방향에서의 옵셋을 추가합니다.
힌트
Profinet 102 명령어를 한번 실행하면 수신되는 TCP 수의 상한의 기본값은 20입니다. 만약 획득할 TCP의 수가 20보다 크면 이 명령을 여러 번 실행하여 필요한 모든 TCP를 획득합니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
102 |
Vision_Proj_Num |
Mech-Vision 프로젝트 번호 |
Mech-Vision 프로젝트 번호
Mech-Center에서 Mech-Vision 프로젝트 번호, 즉 Mech-Center에서
프로젝트 경로 왼쪽에 표시되는 번호입니다. 드래그 앤 드롭하여 조정할 수 있습니다.
반환된 데이터 파라미터¶
파라미터 |
설명 |
Status Code |
상태 코드 |
Send_Pose_Num |
TCP 수량 |
Send_Pose_Type |
포즈 유형 |
Target_Pose |
이번에 획득한 모든 TCP |
Target_Label |
이번에 획득한 모든 레이블 |
상태 코드
명령어가 정상적으로 실행되면 1100 상태 코드를 반환하고, 그렇지 않으면 해당 오류 코드를 반환합니다.
이 명령이 호출될 때 Mech-Vision 결과가 반환되지 않은 경우 Mech-Center는 로봇에 반환하기 전에 Mech-Vision 결과가 반환될 때까지 기다립니다. 기본 제한 시간은 10초이며 제한 시간을 초과하면 타임아웃 오류 상태 코드를 반환합니다.
TCP 수량
이 명령을 실행하여 얻은 TCP의 수량입니다.
포즈 유형
Mech-Center가 Mech-Vision에서 반환된 비전 포인트에 있는 대상 물체의 포즈를 해당한 TCP로 자동으로 전환합니다.
이 파라미터의 기본값이 2이며 포즈의 유형은 TCP임을 나타냅니다.
이번에 획득한 모든 TCP
단일한 포즈에 포함된 정보는 포즈의 좌표(XYZ) 및 방향을 나타내는 오일러 각(ABC)입니다.
이번에 획득한 모든 레이블
포즈에 해당하는 정수 레이블입니다. Mech-Vision 프로젝트에서 레이블이 문자열인 경우 출력하기 전에 레이블을 매핑하기 스텝을 사용하여 레이블을 정수로 매핑합니다. 프로젝트에 레이블이 없는 경우 이 파라미터의 기본값이 0입니다.
주의
포즈의 송수신은 통신 제어 프로세스 를 참조하십시오. Data_ready、Data_Acknowledge、Command_Complete 신호를 사용하여 프로세스 제어를 합니다.
103 명령어—— Mech-Vision 레시피를 전환하기¶
Mech-Vision 프로젝트의 파라미터 레시피를 전환합니다.
Mech-Vision의 스텝에 대한 파라미터 설정은 파라미터 레시피를 전환하여 조정할 수 있습니다.
파라미터 레시피 조정과 관련된 파라미터에는 일반적으로 포인트 클라우드 매칭 모델, 이미지 매칭 모델, ROI, 믿음도 역치 등이 포함됩니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
103 |
Vision_Proj_Num |
Mech-Vision 프로젝트 번호 |
Vision_Recipe_Num |
Mech-Vision 레시피 번호 |
Mech-Vision 프로젝트 번호
Mech-Center에서 Mech-Vision 프로젝트 번호, 즉 Mech-Center에서
프로젝트 경로 왼쪽에 표시되는 번호입니다. 드래그 앤 드롭하여 조정할 수 있습니다.
Mech-Vision 레시피 번호
Mech-Vision 프로젝트의 레시피 템플릿 번호는 양의 정수(整數)입니다.
를 클릭하여 파라미터 레시피 편집기로 들어갑니다. 번호의 범위: 1~99.
201 명령어——Mech-Viz 프로젝트를 시작하기¶
Mech-Vision과 Mech-Viz를 모두 사용하는 시나리오에 사용됩니다. 이 명령은 Mech-Viz 프로젝트를 실행하고 해당 Mech-Vision 프로젝트를 시작하는 데 사용되며 Mech-Viz는 Mech-Vision의 비전 결과를 기반으로 로봇의 이동 경로를 계획합니다.
시작할 Mech-Viz 프로젝트에서 자동 로드하기 를 선택해야 합니다.
Mech-Center 설치 디렉터리(tool/viz_project) 폴더에 일부 전형적인 응용 프로그램 프로젝트 모델이 저장되어 있으며 사용자는 모델을 기반으로 수정할 수 있습니다.
표준 인터페이스용 Mech-Viz 샘플 프로젝트는 표준 인터페이스는 Mech-Viz 샘플 프로젝트 사용 에 자세히 설명되어 있습니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
201 |
Robot_Pose_Type |
포즈 유형 |
Robot_Pose_JPS |
로봇 관절 각도 |
포즈 유형
로봇의 포즈 유형. 파라미터 범위: 0~1.
0
:
Mech-Viz는 현재 실제 로봇의 포즈를 읽을 필요가 없습니다. 이 명령은 포즈를 보내지 않습니다. 즉, 만약 프로젝트가 Eye to Hand 모드인 경우 이미지 캡처는 로봇 포즈와 아무 관련이 없으며 프로젝트는 로봇의 이미지 캡처 포즈를 읽을 필요가 없습니다.
포즈 유형이 0으로 설정되면 Mech-Viz에서 가상 로봇은 초기 포즈 JPs=[0,0,0,0,0,0]에서 첫 번째 이동 목표점으로 이동합니다.
1
:
Mech-Viz에 전송된 포즈는 JPs 관절 각도 형식입니다. Mech-Viz에서 가상 로봇은 초기 포즈(즉, 이 명령에 의해 전송된 포즈)에서 계획된 경로의 첫 번째 목표점으로 이동합니다. TCP 형식으로 포즈를 전송할 수 없습니다.
포즈 유형이 1로 설정되면 Mech-Viz에서 가상 로봇은 초기 포즈 JPs=입력한 JPs에서 첫 번째 이동 목표점으로 이동합니다.
힌트
시나리오에 충돌 모델이 있고 로봇이 초기 포즈 JPs=[0,0,0,0,0,0]에서 첫 번째 이동 목표점으로 이동하는 것을 간섭할 때 포즈 유형을 1로 설정해야 합니다.
로봇 관절 각도
로봇의 현재 JPs 관절 각도입니다(파라미터“포즈 유형” 이 1인 경우).
주의
JPs의 실제 데이터는 10000을 곱하여 정수(整數)로 전환한 후 Robot_Pose_JPS 모듈에 보내야 합니다.
202 명령어——Mech-Viz 프로젝트를 정지하기¶
Mech-Viz 실행을 중지합니다. 만약 Mech-Viz 프로젝트가 무한 루프가 아니거나 정상적으로 중지될 수 있는 경우에는 이 명령어를 사용할 필요가 없습니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
202 |
203 명령어——Mech-Viz 분기를 선택하기¶
이 명령은 프로젝트가 따를 분기를 지정하는 데 사용됩니다. 분기 메커니즘은 消息分支 에 의해 설정되며, 이 명령은 이 태스크의 아웃 포트를 지정함으로써 분기를 지정합니다.
이 명령을 실행하기 전에 201 명령어——Mech-Viz 프로젝트를 시작하기 명령을 먼저 실행하십시오.
Mech-Viz 프로젝트가 消息分支 태스크까지 실행되면 이 명령으로 지정된 아웃 포트를 기다립니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
203 |
Viz_Task_ID |
분기 태스크 ID |
Viz_Task_Value |
아웃 포트 번호 |
분기 태스크 ID
아웃 포트 번호
이 파라미터는 프로젝트가 消息分支 태스크의 어느 아웃 포트를 따를지 지정하는 데 사용됩니다. Mech-Viz 프로그램은 이 아웃 포트를 따라 계속 실행될 것입니다. 파라미터는 양의 정수입니다.
힌트
아웃 포트 번호는 Mech-Viz에서 표시되는 포트 번호 + 1입니다. 만약 포트 번호가 0이면 아웃 포트 번호는 1입니다.
아웃 포트 번호는 1부터 시작하는 포트 인덱스 번호입니다. 예를 들어 지정된 아웃 포트가 왼쪽에서 오른쪽으로 두 번째 포트인 경우 아웃 포트 번호는 2입니다.
204 명령어——이동 인덱스를 설정하기¶
태스크의 인덱스 파라미터 값을 설정하는 명령어입니다. 이러한 유형의 태스크는 일반적으로 연속적이거나 개별적으로 지정된 이동 또는 기타 작업에 사용됩니다.
인덱스 파라미터가 있는 태스크에는 [순서대로 이동], [배열대로 이동], [자체 정의한 파렛트 패턴] 및 [미리 설정된 파렛트 패턴] 등이 있습니다.
이 명령을 실행하기 전에 201 명령어——Mech-Viz 프로젝트를 시작하기 명령을 실행하십시오.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
204 |
Viz_Task_ID |
태스크 ID |
Viz_Task_Value |
인덱스 값 |
태스크 ID
이 파라미터는 인덱스 파라미터를 설정해야 하는 태스크를 지정합니다.
이 파라미터의 값은 양의 정수, 즉 인덱스 대기 중인 태스크의 태스크 ID여야 합니다. 태스크 ID는 태스크 파라미터에서 조회 및 설정할 수 있습니다. 범위: 1~99.
인덱스 값
여기 인덱스 파라미터 값은 Mech-Viz에 표시된 현재 인덱스 값에 1을 더한 값입니다.
205 명령어——계획된 경로를 획득하기¶
이 명령은 Mech-Viz에서 계획한 경로를 가져오는 데 사용됩니다. 계획된 경로는 201 명령어——Mech-Viz 프로젝트를 시작하기 실행 후 가져와야 합니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
205 |
Req_Pose_Type |
목표점 유형 |
목표점 유형
이 파라미터는 Mech-Viz가 반환할 목표점의 형식을 지정하는 데 사용됩니다.
1
:목표점은 로봇 관절 각도(JPs)의 형식으로 반환됩니다.
2
:목표점은 TCP 포즈의 형식으로 반환됩니다.
반환된 데이터 파라미터¶
파라미터 |
설명 |
Status Code |
상태 코드 |
Send_Pose_Num |
목표점 수량 |
Send_Pose_Type |
포즈 유형 |
Visual_Point_Index |
"비전 이동"태스크 위치 |
Target_Pose |
이번에 전송한 모든 목표점의 포즈 |
Target_Label |
이번에 전송한 모든 목표점의 레이블 |
Target_Speed |
이번에 전송한 모든 목표점의 속도 |
상태 코드
명령이 정상적으로 실행되면 2100 상태 코드가 반환되고, 그렇지 않으면 해당 오류 코드가 반환됩니다.
힌트
이 명령이 호출될 때 Mech-Viz 결과가 반환되지 않은 경우(실행 중) Mech-Center는 로봇에 반환하기 전에 Mech-Viz 결과가 반환될 때까지 기다립니다. 기본 제한 시간은 10초입니다. 제한 시간을 초과하면 로봇에 타임아웃 오류를 반환합니다.
목표점 수량
이 파라미터는 이 명령에 의해 반환되는 경로의 이동 목표점([포즈, 레이블, 속도])의 수를 표시하는 데 사용됩니다.
경로에 20개 이상의 목표점이 포함된 경우 이 명령을 여러 번 실행하십시오.
기본적인 범위: 0~20
포즈 유형
이 명령어가 보낸 “Req_Pose_Type” 수치와 같습니다.
1
: JPs
2
: TCP
"비전 이동"태스크 위치
"비전 이동" 태스크의 목표점이 프로젝트 전체에서의 위치. "비전 이동" 태스크는 비전 포인트(물체를 피킹하는 포인트)로 이동하는 이동 태스크입니다.
예를 들어 계획된 경로가 "이동_1", "이동_2", "비전 이동","이동_3" 태스크로 구성된 경우 "비전 이동" 태스크 위치는 3입니다.
경로에 "비전 이동" 태스크가 없는 경우 이 파라미터의 값은 0입니다.
이번에 전송한 모든 목표점의 포즈
3D 좌표 및 오일러 각 또는 JPs 관절 각도. 유형은 명령어 205 중의 포즈 유형에 의해 결정됩니다.
이번에 전송한 모든 목표점의 레이블
포즈에 해당하는 정수 레이블입니다. Mech-Vision 프로젝트에서 레이블이 문자열인 경우 출력ㅎ기 전에 레이블을 매핑하기 스텝을 사용하여 레이블을 정수로 매핑합니다.
프로젝트에 레이블이 없는 경우 이 파라미터는 기본값이 0입니다.
이번에 전송한 모든 목표점의 속도
비전 이동 태스크 파라미터의 0이 아닌 속도 파라미터 백분율 값입니다.
주의
포즈의 송수신은 통신 제어 프로세스 를 참조하십시오. Data_ready、Data_Acknowledge、Command_Complete 신호를 사용하여 프로세스 제어를 합니다.
206 명령어——DO 신호 리스트를 획득하기¶
이 명령은 계획된 DO 신호 리스트를 획득하는 데 사용됩니다. DO 신호 리스트는 여러 도구 또는 빨판 파티션을 컨트롤하는 데 사용됩니다.
이 명령을 실행하기 전에 Mech-Viz 계획 경로를 얻기 위해 205 명령 을 실행해야 합니다.
템플릿 프로젝트에 따라 Mech-Viz 프로젝트를 구축하고 프로젝트에서 해당 빨판 구성 파일을 설정하십시오. 템플릿 프로젝트는 Mech-Center 설치 디렉터리(tool/viz_project) 아래의 suction_zone 프로젝트입니다.
프로젝트의 设置多个 DO 태스크 파라미터에서
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
206 |
반환된 데이터 파라미터¶
파라미터 |
설명 |
Status code |
상태 코드 |
DO List |
DO 신호 리스트 |
DO 신호 리스트
반환된 데이터의 파라미터 끝에 정수인 64개의 DO 신호 값이 있습니다.
DO 신호 값 범위: 0~999.
플레이스홀더 값: -1.
501 명령어——Mech-Vision에 물체 치수를 입력하기¶
이 파라미터는 물체 크기를 Mech-Vision 프로젝트로 동적으로 입력하는 데 사용됩니다. Mech-Vision 프로젝트를 시작하기 전에 물체 크기를 확인하십시오.
Mech-Vision 프로젝트에는 물체 사이즈 읽기 스텝이 있어야 합니다. 이 스텝 파라미터 파라미터에서 사이즈를 읽기 는 ``True``로 설정해야 합니다.
502 명령어——Mech-Viz에 TCP를 전송하기¶
이 명령어는 Mech-Viz 프로젝트에 로봇 TCP를 동적으로 입력하는 데 사용됩니다. 로봇의 TCP를 읽는 태스크는 外部移动 입니다.
템플릿 프로젝트를 기반으로 Mech-Viz 프로젝트를 구축하세요. 템플릿 프로젝트 경로는 Mech-Center 설치 디렉터리 아래의 tool/viz_project/outer_move
입니다.
外部移动 태스크를 작업 흐름의 올바른 위치에 배치합니다.
이 명령은 201 명령어——Mech-Viz 프로젝트를 시작하기 명령을 실행하기 전에 실행해야 합니다.
901 명령어——소프트웨어 상태를 획득하기¶
이 명령은 소프트웨어의 실행 상태(Mech-Vision, Mech-Viz, Mech-Center)를 확인하는 데 사용됩니다.
현재 이 명령은 Mech-Vision이 프로젝트 실행을 시작할 수 있는지 여부만 확인하는 것을 지원합니다.
전송한 명령어 파라미터¶
파라미터 |
설명 |
Command |
901 |
반환된 데이터 파라미터¶
상태 코드
시스템 자체 점검 상태. 1101 상태 코드는 “Mech-Vision 프로젝트가 준비됨”이고 다른 상태 코드는 “Mech-Vision 프로젝트가 준비되지 않음”입니다. 현재 이 명령은 Mech-Vision 프로젝트가 준비되었는지 확인하는 데만 사용할 수 있습니다.