샘플 프로그램7: MM_S7_Viz_SwitchTCP
프로그램 소개
기능 설명 |
로봇이 Mech-Viz프로젝트 실행을 트리거한 후, 경로 계획 결과를 휙득하고 피킹 웨이포인트 말단장치의 번호에 따라 적절한 말단장치를 전환하여 피킹 및 배치를 수해합니다. |
파일 경로 |
Mech-Vision 및 Mech-Viz의 설치 디렉토리로 이동하여 |
필요한 프로젝트 |
Mech-Vision와 Mech-Viz 프로젝트 |
사용 전제 조건 |
|
|
프로그램 설명
다음에는 MM_S7_Viz_SwitchTCP 샘플 프로그램의 코드와 관련 설명입니다.
MM_S2_Viz_Basic 샘플과 비하면, 이 샘플은 말단장치의 번호에 따라 적절한 말단장치를 전환할 수 있는 기능이 추가되었습니다.(이 기능의 코드가 굵게 표시됨). 따라서, 아래 부분에서는 말단장치의 번호에 따라 적절한 말단장치를 전환하는 기능만 설명됩니다. MM_S7_Viz_SwitchTCPl의 MM_S2_Viz_Basic과 일치하는 부분에 대한 정보는 MM_S2_Viz_Basic 샘플 프로그램 설명을 참조하십시오. |
NOP
'--------------------------------
'FUNCTION: trigger Mech-Viz
'project and get planned path,
'switch TCP according to the
'toolId
'Mech-Mind, 2023-12-25
'--------------------------------
'clear I50 to I69
CLEAR I050 20
'initialize p variables
SUB P081 P081
SUB P082 P082
SUB P083 P083
'move to robot home position
MOVJ C00000 VJ=50.00
'initialize communication
'parameters (initialization is
'required only once)
CALL JOB:MM_INIT_SOCKET ARGF"192.168.10.40;50000;1"
'move to image-capturing position
MOVJ C00001 VJ=50.00 PL=0
'open socket connection
CALL JOB:MM_OPEN_SOCKET
'trigger Mech-Viz project
CALL JOB:MM_START_VIZ ARGF"2;30"
'get planned path, 1st argument
'(2) means getting pose in Pose
CALL JOB:MM_GET_VIZDATA ARGF"2;51;52;53"
'check whether planned path has
'been got from Mech-Viz
'successfully
IFTHENEXP I053<>2100
'add error handling logic here
'according to different error
'codes
'e.g.: I053=2038 means no
'point cloud in ROI
PAUSE
ENDIF
'close socket connection
CALL JOB:MM_CLOSE_SOCKET
'switch TCP according to the
'toolId
'save waypoints of the planned
'path to local variables one
'by one
CALL JOB:MM_GET_POSE ARGF"1;81;61;62"
CALL JOB:MM_GET_POSE ARGF"2;82;63;64"
CALL JOB:MM_GET_POSE ARGF"3;83;65;66"
'reset tool signals according
'to received toolid
SWITCH I064 CASE 1
'reset tool signal
'SETE P081 TL#(0)
'SETE P082 TL#(0)
'SETE P083 TL#(0)
PAUSE
CASE 2
'reset tool signal
'SETE P081 TL#(1)
'SETE P082 TL#(1)
'SETE P083 TL#(1)
PAUSE
DEFAULT
'reset tool signal
PAUSE
ENDSWITCH
'follow the planned path to pick
'move to approach waypoint of
'picking
MOVL P081 V=166.6 PL=0
'move to picking waypoint
MOVL P082 V=50.0 PL=0
'add object grasping logic here,
'such as DOUT OT#(1) ON
SWITCH I064 CASE 1
'open tool signal
PAUSE
CASE 2
'open tool signal
PAUSE
DEFAULT
'open tool signal
PAUSE
ENDSWITCH
'move to departure waypoint of
'picking
MOVL P083 V=166.6 PL=0
'move to intermediate waypoint of
'placing
MOVJ C00002 VJ=50.00
'move to approach waypoint of
'placing
MOVL C00003 V=166.6 PL=0
'move to placing waypoint
MOVL C00004 V=50.0 PL=0
'add object releasing logic here,
'such as DOUT OT#(1) OFF
'reset tool signals according
'to received toolid
SWITCH I064 CASE 1
'reset tool signal
PAUSE
CASE 2
'reset tool signal
PAUSE
DEFAULT
'reset tool signal
PAUSE
ENDSWITCH
'move to departure waypoint of
'placing
MOVL C00005 V=166.6 PL=0
'move back to robot home position
MOVJ C00006 VJ=50.00
END
위 샘플 프로그램 코드에 해당하는 워크플로는 아래 그림에 표시되어 있습니다.

아래 표는 새롭게 추가된 코드의 설명입니다.
워크플로 | 코드와 설명 | ||
---|---|---|---|
계획 경로 획득하기 |
따라서, 이 명령어는 로봇이 Mech-Viz 프로젝트가 반환한 계회된 경로를 획득하는 명령어입니다.
|
||
계획 경로를 저장하기 |
따라서, “CALL JOB:MM_GET_POSE ARGF"1;81;61;62"”는 첫 번째 웨이포인트의 TCP 포즈, 레이블 및 말단장치 번호를 지정된 변수에 저장하는 명령어입니다.
|
||
말단장치의 번호에 따라 적절한 말단장치를 전환하기 |
위의 설명은 I064 값에 따라 로봇이 목표 포즈(피킹 웨이포인트)로 이동할 때 사용할 말단장치를 결정할 수 있음을 의미합니다. 즉, 말단장치 번호에 따라 말단장치를 변경하는 것입니다. 로봇이 피킹 웨이포인트로 이동할 때, 말단장치 번호에 해당하는 DO 신호를 활성화할 수 있습니다. 아래 코드를 참조하십시오.
로봇이 배치 웨이포인트로 이동할 때, 말단장치 번호에 해당하는 DO 신호를 비활성화하고 리셋할 수 있습니다. 아래 코드를 참조하십시오.
|