Programme d’exemple 11 : MM_S11_Viz_Timer

Vous consultez actuellement la documentation pour la dernière version (2.1.2). Pour accéder à une autre version, cliquez sur le bouton "Changer de version" situé dans le coin supérieur droit de la page.

■ Si vous n’êtes pas sûr de la version du produit que vous utilisez, veuillez contacter le support technique Mech-Mind pour obtenir de l’aide.

Présentation du programme

Description

Le robot utilise un temporisateur pour calculer, à chaque fois, le temps écoulé entre l’établissement de la communication et l’achèvement du prélèvement et de la dépose.

Chemin du fichier

Vous pouvez accéder au répertoire d’installation de Mech-Vision et Mech-Viz et trouver le fichier en utilisant le chemin Communication Component/Robot_Interface/YASKAWA/sample/MM_S11_Viz_Timer.

Projet

Projets Mech-Vision et Mech-Viz

Prérequis

Ce programme d’exemple est fourni à titre de référence uniquement. Avant d’utiliser le programme, veuillez modifier le programme en fonction du scénario réel.

Description du programme

Cette partie décrit le programme d’exemple MM_S11_Viz_Timer.

La seule différence entre le programme d’exemple MM_S11_Viz_Timer et le programme d’exemple MM_S2_Viz_Basic est que MM_S11_Viz_Timer peut utiliser un temporisateur pour calculer le temps requis (le code de cette fonctionnalité est en gras). Par conséquent, seule la fonctionnalité d’utilisation d’un temporisateur pour calculer le temps requis est décrite dans la section suivante. Pour les parties de MM_S11_Viz_Timer qui sont identiques à celles de MM_S2_Viz_Basic, voir Programme d’exemple 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

Le flux de travail correspondant au code du programme d’exemple ci-dessus est illustré dans la figure ci-dessous.

sample11

Le tableau ci-dessous décrit la fonctionnalité d’utilisation d’un temporisateur pour calculer le temps requis.

Fonctionnalité Code et description

Calculer, à chaque itération, le temps écoulé depuis l’établissement de la communication jusqu’à l’achèvement du prélèvement et de la dépose

*LOOP
...
JUMP *LOOP

Le code ci-dessus indique que le programme boucle sur le code situé entre « *LOOP » et « JUMP *LOOP ».

'reset timer 0
SETTM TM000 TRESET

Le code ci-dessus réinitialise le temporisateur TM000 à 0.

'start timer 0
SETTM TM000 TSTART

Le code ci-dessus démarre le temporisateur TM000.

'stop timer 0
SETTM TM000 TSTOP

Le code ci-dessus arrête le temporisateur TM000. Vous pouvez consulter la valeur de la variable TM000 sur le boîtier de commande, comme montré dans l’image ci-dessous. La valeur de TM000 est de 120, l’unité étant 0.01 seconde.

timer

Cette page est-elle utile ?

Veuillez nous indiquer comment améliorer :

Nous accordons de l’importance à votre vie privée

Nous utilisons des cookies pour vous offrir la meilleure expérience possible sur notre site web. En continuant à utiliser le site, vous reconnaissez accepter l’utilisation des cookies. Si vous refusez, un cookie unique sera utilisé pour garantir que vous ne soyez pas suivi ou reconnu lors de votre visite sur ce site.