Programme d’exemple 7 : MM_S7_Viz_SwitchTCP

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.

Introduction du programme

Description

Le robot démarre le projet Mech-Viz, obtient le résultat de planification de trajectoire, puis change l’outil en fonction de l’ID d’outil du point de prise pour effectuer la prise et la dépose.

Chemin de 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_S7_Viz_SwitchTCP.

Projet

Projets Mech-Vision et Mech-Viz

Prérequis

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

  • Ce programme d’exemple implique plusieurs outils. Ainsi, avant de charger ou d’exécuter le programme d’exemple, veuillez activer la fonctionnalité multi-outils sur le pupitre d’enseignement. Pour plus d’informations, consultez Vérification d’outils multiples.

Description du programme

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

La seule différence entre le programme d’exemple MM_S7_Viz_SwitchTCP et le programme d’exemple MM_S2_Viz_Basic est que MM_S7_Viz_SwitchTCP peut changer l’outil selon l’ID d’outil (le code de cette fonctionnalité est en gras). Ainsi, seule la fonctionnalité de changement d’outil selon l’ID d’outil est décrite dans la section suivante. Pour des informations sur les parties de MM_S7_Viz_SwitchTCP 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 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

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

sample7

Le tableau ci-dessous décrit le code en gras.

Fonctionnalité Code et description

Obtenir la trajectoire planifiée

'get planned path, 1st argument
'(2) means getting pose in Pose
CALL JOB:MM_GET_VIZDATA ARGF"2;51;52;53"
  • MM_GET_VIZDATA : La commande pour obtenir la trajectoire planifiée par Mech-Viz.

  • 2 : Le type de pose du point de passage obtenu est défini sur TCP.

  • 51 : La variable I qui a un ID de 51. Cette variable stocke le nombre de points de passage renvoyés par le système de vision.

  • 52 : La variable I qui a un ID de 52. Cette variable stocke le numéro de séquence du point de passage Vision Move (point de prise) dans la trajectoire.

  • 53 : La variable I qui a un ID de 53. Cette variable stocke le code d’état d’exécution de la commande.

L’ensemble de l’instruction indique que le robot obtient la trajectoire planifiée à partir du projet Mech-Viz.

La trajectoire planifiée renvoyée est enregistrée dans la mémoire du robot et ne peut pas être obtenue directement. Pour y accéder, vous devez l’enregistrer lors d’une étape ultérieure.

Enregistrer la trajectoire planifiée

'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"
  • MM_GET_POSE : La commande pour enregistrer la trajectoire planifiée.

  • 1 : Enregistrer le premier point de passage.

  • 81 : La variable P qui a un ID de 81. Cette variable stocke le TCP du premier point de passage.

  • 61 : La variable I qui a un ID de 61. Cette variable stocke l’étiquette du premier point de passage.

  • 62 : La variable I qui a un ID de 62. Cette variable stocke l’ID d’outil du premier point de passage.

La commande entière « CALL JOB:MM_GET_POSE ARGF"1;81;61;62" » enregistre le TCP, l’étiquette et l’ID d’outil du premier point de passage dans les variables spécifiées.

  • Veuillez enregistrer la trajectoire planifiée en fonction du projet Mech-Viz réel. Dans cet exemple, la trajectoire planifiée par Mech-Viz contient trois points de passage : le premier point de passage est le point d’approche de la prise (P081), le second est le point de prise (P082), et le troisième est le point de départ de la prise (P083). I064 spécifie l’ID de l’outil utilisé par le robot lorsque celui-ci se déplace vers le point de prise (P082).

  • Cet exemple changera l’ID d’outil en fonction de la valeur de I064. Ainsi, le projet Mech-Viz utilisé doit inclure une étape Change Tool et les paramètres de l’étape Change Tool doivent être correctement définis.

    • L’étape Change Tool doit être connectée au port de sortie A des résultats de l’étape Check Vision Result.

    • Le paramètre Mode de fonctionnement de l’étape Change Tool doit être défini sur Basculement automatique vers l’outil approprié.

Changer l’outil en fonction de l’ID d’outil

'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
  • I064 : L’ID de l’outil à utiliser au point de prise.

  • SETE P081 TL#(0) : Définit les données d’outil de P081 à 0.

  • SWITCH~CASE~DEFAULT~ENDSWITCH : Exécuter des opérations différentes en fonction de la valeur de I064.

    Le code ici est des commentaires, destinés à vous donner une idée de la manière d’écrire votre propre code. Vous devez écrire la logique d’exécution spécifique ici en fonction des besoins de votre projet réel.
    • Si l’ID de l’outil au point de prise est 1, les données d’outil des trois positions du trajet de prise seront définies à 0.

    • Si l’ID de l’outil au point de prise est 2, les données d’outil des trois positions du trajet de prise seront définies à 1.

    • Lorsque l’ID d’outil du point de prise est défini sur une autre valeur, le robot fera une pause.

L’instruction ci-dessus vous permet de déterminer l’outil à utiliser lorsque le robot se déplace vers la pose cible (point de prise) en fonction de la valeur de I064, c’est-à-dire de changer l’outil selon l’étiquette.

Lorsque le robot se déplace vers le point de prise, vous pouvez activer les signaux DO correspondant à l’ID d’outil, comme illustré dans le code suivant.

'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

Lorsque le robot se déplace vers le point de dépose, vous pouvez désactiver et réinitialiser les signaux DO correspondant à l’ID d’outil, comme illustré dans le code suivant.

'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

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.