Example Program 11: MM_S11_Viz_Timer

Program Introduction

Description

The robot uses a timer to calculate the time taken from establishing the communication to completing picking and placing each time.

File path

You can navigate to the installation directory of Mech-Vision and Mech-Viz and find the file by using the Communication Component/Robot_Interface/YASKAWA/sample/MM_S11_Viz_Timer path.

Project

Mech-Vision and Mech-Viz projects

Prerequisites

This example program is provided for reference only. Before using the program, please modify the program according to the actual scenario.

Program Description

This part describes the MM_S11_Viz_Timer example program.

The only difference between the MM_S11_Viz_Timer example program and the MM_S2_Viz_Basic example program is that MM_S11_Viz_Timer can use a timer to calculate the required time (this code of this feature is bolded). As such, only the feature of using a timer to calculate the required time is described in the following section. For information about the parts of MM_S11_Viz_Timer that are consistent with those of MM_S2_Viz_Basic, see Example Program 2: MM_S2_Viz_Basic.
NOP
'--------------------------------
'FUNCTION: trigger Mech-Viz
'project and get planned path,add
'a timer to record cycle time
'Mech-Mind, 2023-12-25
'--------------------------------
'clear I50 to I69
CLEAR I050 20
'initialize p variables
SUB P071 P071
SUB P072 P072
SUB P073 P073
'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.170.22;50000;1"
*LOOP
'reset timer 0
SETTM TM000 TRESET
'start timer 0
SETTM TM000 TSTART
'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
'(1) means getting pose in JPs
CALL JOB:MM_GET_VIZDATA ARGF"1;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
'save waypoints of the planned
'path to local variables one
'by one
CALL JOB:MM_GET_JPS ARGF"1;71;61;62"
CALL JOB:MM_GET_JPS ARGF"2;72;63;64"
CALL JOB:MM_GET_JPS ARGF"3;73;65;66"
'follow the planned path to pick
'move to approach waypoint of
'picking
MOVJ P071 VJ=50.00 PL=0
'move to picking waypoint
MOVJ P072 VJ=10.00 PL=0
'add object grasping logic here,
'such as DOUT OT#(1) ON
PAUSE
'move to departure waypoint of
'picking
MOVJ P073 VJ=50.00 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
PAUSE
'move to departure waypoint of
'placing
MOVL C00005 V=166.6 PL=0
'move back to robot home position
MOVJ C00006 VJ=50.00
'stop timer 0
SETTM TM000 TSTOP
PAUSE
JUMP *LOOP
END

The workflow corresponding to the above example program code is shown in the figure below.

sample11

The table below describes the feature of using a timer to calculate the required time.

Feature Code and description

Calculate the time taken from establishing the communication to completing picking and placing each time by looping

*LOOP
...
JUMP *LOOP

The above code indicates that the program loops through the code between “*LOOP” and “JUMP *LOOP”.

'reset timer 0
SETTM TM000 TRESET

The above code resets the TM000 timer to 0.

'start timer 0
SETTM TM000 TSTART

The above code starts running the TM000 timer.

'stop timer 0
SETTM TM000 TSTOP

The above code stops the TM000 timer. You can view the value of the TM000 variable on the teach pendant, as shown in the image below. The TM000 value is 120, with the unit being 0.01 seconds.

timer

We Value Your Privacy

We use cookies to provide you with the best possible experience on our website. By continuing to use the site, you acknowledge that you agree to the use of cookies. If you decline, a single cookie will be used to ensure you're not tracked or remembered when you visit this website.