Programme d’exemple 15: MM_S15_Viz_GetDoList

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

Après avoir obtenu le trajet de prise et les signaux DO, le robot peut effectuer la prise et la dépose en se déplaçant vers le point de passage de prise et en définissant les signaux DO en boucle. Ce programme d’exemple est utilisé dans des scénarios de dépalettisation, et l’outil utilisé par le robot est un préenseur à vide multisections.

Chemin du fichier

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

Projet

Projet Mech-Vision et projet Mech-Viz (l’outil est un préenseur à vide de dépalettisation)

Prérequis

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

Description du programme

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

Par rapport au programme d’exemple MM_S2_Viz_Basic, ce programme d’exemple ne contient que la modification suivante (le code de cette modification est en gras). En conséquence, seule la modification est décrite dans la section suivante. Pour des informations sur les parties de MM_S15_Viz_GetDoList qui sont cohérentes avec celles de MM_S2_Viz_Basic, voir Programme d’exemple 2: MM_S2_Viz_Basic.
NOP
'--------------------------------
'FUNCTION: trigger Mech-Viz
'project, then get planned path
'and gripper control signal using
'command 210
'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"
'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
CALL JOB:MM_GET_PLANDATA ARGF"0;3;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
'get gripper control signal list
CALL JOB:MM_GET_DOLIST ARGF"0;0"
'close socket connection
CALL JOB:MM_CLOSE_SOCKET
'save waypoints of the planned
'path to local variables one
'by one
CALL JOB:MM_GET_PLANPOSE ARGF"1;71;61;31"
CALL JOB:MM_GET_PLANPOSE ARGF"2;72;71;31"
CALL JOB:MM_GET_PLANPOSE ARGF"3;73;81;31"
'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
'set gripper control signal when
'current waypoint is picking
'waypoint
CALL JOB:MM_SET_DOLIST ARGF"0"
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
END

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

sample15

Le tableau ci-dessous décrit le code en gras. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour en voir la description détaillée.

Fonctionnalité Code et description

Obtenir le trajet planifié

'get planned path
CALL JOB:MM_GET_PLANDATA ARGF"0;3;51;52;53"
  • MM_GET_PLANDATA: La commande permettant d’obtenir le trajet planifié. Les points de passage Vision Move obtenus par cette commande contiennent, en plus des poses, des données Vision Move et des données personnalisées (le cas échéant), tandis que les points de passage Vision Move obtenus par la commande MM_GET_VIZDATA ne contiennent pas de données Vision Move ni de données personnalisées.

  • 0: Obtenir le trajet planifié depuis Mech-Viz.

  • 3: Le format des données attendues en retour, à savoir pose (en positions articulaires), type de mouvement, ID d’outil, vitesse, données Vision Move de Mech-Viz, élément 1 dans les données de sortie personnalisées, ..., élément N dans les données de sortie personnalisées.

  • 51: La variable I dont l’ID est 51. Cette variable stocke le nombre de points de passage renvoyés par le système de vision.

  • 52: La variable I dont l’ID est 52. Cette variable stocke le numéro de séquence du point de passage Vision Move (point de passage de prise) dans le trajet.

  • 53: La variable I dont l’ID est 53. Cette variable stocke le code d’état d’exécution de la commande.

Obtenir la liste DO du préenseur

'get gripper control signal list
CALL JOB:MM_GET_DOLIST ARGF"0;0"
  • MM_GET_DOLIST: La commande pour obtenir la liste DO du préenseur.

  • Premier 0: Spécifier la source des signaux DO, c’est-à-dire obtenir les signaux DO du préenseur multisections depuis Mech-Viz.

  • Deuxième 0: Obtenir tous les signaux DO du préenseur planifiés.

Stocker le trajet planifié

'save waypoints of the planned
'path to local variables one
'by one
CALL JOB:MM_GET_PLANPOSE ARGF"1;71;61;31"
CALL JOB:MM_GET_PLANPOSE ARGF"2;72;71;31"
CALL JOB:MM_GET_PLANPOSE ARGF"3;73;81;31"
  • MM_GET_PLANPOSE: La commande pour stocker les données Vision Move ou les données personnalisées.

  • 1: Stocker le premier point de passage.

  • 71: La variable P dont l’ID est 71. Cette variable stocke la pose du premier point de passage.

  • 61: La variable B dont l’ID est 61. Les variables B à partir de B061 seront utilisées pour stocker successivement le type de mouvement, l’ID d’outil et la vitesse du premier point de passage dans B061, B062 et B063, respectivement.

  • 31: La variable R dont l’ID est 31. Les variables R de R031 à R051 seront utilisées pour stocker successivement les données Vision Move du premier point de passage. Les variables R à partir de R052 seront utilisées pour stocker successivement les données personnalisées du premier point de passage.

L’instruction entière “CALL JOB:MM_GET_PLANPOSE ARGF\"1;71;61;31\"” indique que la pose, le type de mouvement, l’ID d’outil, la vitesse, les données Vision Move et les données personnalisées du premier point de passage sont stockés dans les variables spécifiées.

  • Dans cet exemple, le trajet planifié par Mech-Viz se compose de trois points de passage : le premier point de passage est le point de passage d’approche de la prise (P071), le deuxième point de passage est le point de passage de prise (P072, qui est aussi le point de passage Vision Move), et le troisième point de passage est le point de passage de départ de la prise (P073). Veuillez stocker le trajet planifié en fonction du projet Mech-Viz réel.

  • Les premier et troisième points de passage ne sont pas des points de passage Vision Move. Par conséquent, ces points ne comportent pas de données Vision Move ni de données personnalisées. Après l’appel du programme “CALL JOB:MM_GET_PLANPOSE ARGF\"1;71;61;31\"”, les variables à partir de R031 ne contiendront pas de données. Après l’appel du programme “CALL JOB:MM_GET_PLANPOSE ARGF\"2;72;71;31\"”, les variables à partir de R031 commenceront à stocker des données Vision Move.

Se déplacer vers le point de passage de prise pour effectuer la prise

'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
'set gripper control signal when
'current waypoint is picking
'waypoint
CALL JOB:MM_SET_DOLIST ARGF"0"
  • MM_SET_DOLIST: La commande pour définir la liste DO du préenseur.

  • 0: Définir tous les signaux DO du préenseur planifiés.

L’instruction ci-dessus indique que le robot se déplace vers le point de passage de prise (P072), puis exécute la commande MM_SET_DOLIST pour régler les signaux DO du préenseur et effectuer la prise.

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.