Programme d’exemple 1: MM_S1_Vis_Basic
Présentation du programme
Description |
Le robot déclenche l’exécution du projet Mech-Vision, puis obtient le résultat de vision pour la prise et la dépose de l’objet. |
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 |
Projet |
Projet Mech-Vision |
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. |
Description du programme
Cette partie décrit le programme d’exemple MM_S1_Vis_Basic.
1: !-------------------------------- ;
2: !FUNCTION: trigger Mech-Vision ;
3: !project and get vision result ;
4: !Mech-Mind, 2023-12-25 ;
5: !-------------------------------- ;
6: ;
7: !set current uframe NO. to 0 ;
8: UFRAME_NUM=0 ;
9: !set current tool NO. to 1 ;
10: UTOOL_NUM=1 ;
11: !move to robot home position ;
12:J P[1] 100% FINE ;
13: !initialize communication ;
14: !parameters(initialization is ;
15: !required only once) ;
16: CALL MM_INIT_SKT('8','127.0.0.1',50000,5) ;
17: !move to image-capturing position ;
18:L P[2] 1000mm/sec FINE ;
19: !trigger NO.1 Mech-Vision project ;
20: CALL MM_START_VIS(1,0,2,10) ;
21: !get vision result from NO.1 ;
22: !Mech-Vision project ;
23: CALL MM_GET_VIS(1,51,53) ;
24: !check whether vision result has ;
25: !been got from Mech-Vision ;
26: !successfully ;
27: IF R[53]<>1100,JMP LBL[99] ;
28: !save first vision point data to ;
29: !local variables ;
30: CALL MM_GET_POS(1,60,70,80) ;
31: !move to intermediate waypoint ;
32: !of picking ;
33:J P[3] 50% CNT100 ;
34: !move to approach waypoint ;
35: !of picking ;
36:L PR[60] 1000mm/sec FINE Tool_Offset,PR[1] ;
37: !move to picking waypoint ;
38:L PR[60] 300mm/sec FINE ;
39: !add object grasping logic here, ;
40: !such as "DO[1]=ON" ;
41: PAUSE ;
42: !move to departure waypoint ;
43: !of picking ;
44:L PR[60] 1000mm/sec FINE Tool_Offset,PR[1] ;
45: !move to intermediate waypoint ;
46: !of placing ;
47:J P[4] 50% CNT100 ;
48: !move to approach waypoint ;
49: !of placing ;
50:L P[5] 1000mm/sec FINE Tool_Offset,PR[2] ;
51: !move to placing waypoint ;
52:L P[5] 300mm/sec FINE ;
53: !add object releasing logic here, ;
54: !such as "DO[1]=OFF" ;
55: PAUSE ;
56: !move to departure waypoint ;
57: !of placing ;
58:L P[5] 1000mm/sec FINE Tool_Offset,PR[2] ;
59: !move back to robot home position ;
60:J P[1] 100% FINE ;
61: END ;
62: ;
63: LBL[99:vision error] ;
64: !add error handling logic here ;
65: !according to different ;
66: !error codes ;
67: !e.g.: status=1003 means no ;
68: !point cloud in ROI ;
69: !e.g.: status=1002 means no ;
70: !vision results ;
71: PAUSE ;
Le flux de travail correspondant au code du programme d’exemple ci-dessus est illustré dans la figure ci-dessous.
Le tableau ci-dessous explique le programme ci-dessus. Vous pouvez cliquer sur l’hyperlien du nom de commande pour en afficher la description détaillée.
| Fonctionnalité | Code et description | ||
|---|---|---|---|
Définir le repère de référence |
Les deux instructions ci-dessus définissent les repères utilisateur et outil sélectionnés. |
||
Se déplacer vers la position d’origine |
L’instruction complète indique que le robot se déplace vers la position d’origine enseignée en utilisant un mouvement en position articulée.
|
||
Initialiser les paramètres de communication |
L’instruction complète indique que le robot établit la connexion avec le système de vision en spécifiant l’adresse IP, le numéro de port et le délai d’expiration de la cible de communication (l’IPC) via la commande MM_INIT_SKT.
|
||
Se déplacer vers la position de capture d’image |
L’ensemble de la commande indique que le robot se déplace vers la position de capture d’image en mouvement linéaire, à une vitesse de 1000 mm/sec.
|
||
Déclencher l’exécution du projet Mech-Vision |
L’instruction complète indique que le robot déclenche le système de vision pour exécuter le projet Mech-Vision avec un ID de 1 et s’attend à ce que le projet Mech-Vision renvoie tous les points de vision. |
||
Obtenir le résultat de vision |
L’instruction complète indique que le robot obtient le résultat de vision à partir du projet Mech-Vision avec un ID de 1.
L’instruction signifie que lorsque le code d’état dans R[53] est 1100, le robot a obtenu avec succès tous les résultats de vision ; sinon, une exception s’est produite dans le système de vision et le programme sautera à LBL[99] et exécutera les instructions qui s’y trouvent. Voici le code à LBL[99].
Vous pouvez effectuer l’opération correspondante en fonction du code d’erreur spécifique. Dans ce programme d’exemple, tous les codes d’erreur sont traités de la même manière, en arrêtant l’exécution du programme à l’aide de la commande PAUSE. |
||
Enregistrer le résultat de vision |
L’instruction complète enregistre le TCP, l’étiquette et l’ID d’outil du premier point de vision dans les registres spécifiés. |
||
Se déplacer vers le point intermédiaire |
L’instruction complète déplace le robot en mouvement articulé vers un point intermédiaire entre la position de capture d’image et le point d’approche de la prise.
|
||
Se déplacer vers le point d’approche de la prise |
L’instruction complète ordonne au robot de se déplacer linéairement vers une position située au-dessus du point de prise.
|
||
Se déplacer vers le point de prise |
Le robot se déplace linéairement du point d’approche de la prise vers le point de prise. |
||
Définir des commandes DO pour effectuer la prise |
Après que le robot s’est déplacé vers le point de prise, vous pouvez définir une commande DO (par exemple « DO[1]=ON ») pour contrôler le robot afin d’utiliser l’outil pour effectuer la prise. Veuillez définir les commandes DO selon la situation réelle.
|
||
Se déplacer vers le point de départ de la prise |
Le robot se déplace vers une position au-dessus du point de prise et atteint le point de départ de la prise.
|
||
Se déplacer vers le point intermédiaire |
Le robot se déplace vers un point intermédiaire entre le point de départ de la prise et le point d’approche de la dépose.
|
||
Déplacer le robot vers le point d’approche de la dépose |
|
||
Se déplacer vers le point de dépose |
Le robot se déplace du point d’approche de la dépose vers le point de dépose. |
||
Définir des commandes DO pour effectuer la dépose |
Après que le robot s’est déplacé vers le point de dépose, vous pouvez définir une commande DO (par exemple « DO[1]=OFF ») pour contrôler le robot afin d’utiliser l’outil pour effectuer la dépose. Veuillez définir les commandes DO selon la situation réelle.
|
||
Déplacer le robot vers le point de départ de la dépose |
Le robot se déplace vers une position au-dessus du point de dépose et atteint le point de départ de la dépose.
|
||
Se déplacer vers la position d’origine |
Le robot se déplace du point de départ de la dépose vers la position d’origine à nouveau. |