Programme d’exemple 18: MM_S18_Viz_GetUserData
Présentation du programme
Description |
Lorsque le robot obtient la trajectoire de prélèvement, le robot obtient également les données de sortie personnalisées du projet Mech-Vision. |
File path |
Vous pouvez accéder au répertoire d’installation de Mech-Vision et Mech-Viz et trouver le fichier en utilisant le chemin |
Project |
Projet Mech-Vision (un ou plusieurs ports personnalisés doivent être ajoutés à l’ Sortie Étape) et projet Mech-Viz (l’outil est une pince à vide de dépalletisation) |
Prerequisites |
|
| Ce programme d’exemple est fourni à titre de référence uniquement. Avant d’utiliser le programme, veuillez le modifier en fonction du scénario réel. |
Description du programme
Cette section décrit le programme d’exemple MM_S18_Viz_GetUserData.
| Par rapport au programme d’exemple MM_S15_Viz_GetDoList, ce programme d’exemple ne contient que la modification suivante (le code de cette modification est en gras). Par conséquent, seule la modification est décrite dans la section suivante. Pour des informations sur les parties de MM_S18_Viz_GetUserData qui sont cohérentes avec celles de MM_S15_Viz_GetDoList, voir Programme d’exemple 15: MM_S15_Viz_GetDoList. |
1: !-------------------------------- ;
2: !FUNCTION: trigger Mech-Viz ;
3: !project, then get planned path ;
4: !and get custom data from ;
5: !Mech-Vision using command 210 ;
6: !Mech-Mind, 2023-12-25 ;
7: !-------------------------------- ;
8: ;
9: !set current uframe NO. to 0 ;
10: UFRAME_NUM=0 ;
11: !set current tool NO. to 1 ;
12: UTOOL_NUM=1 ;
13: !move to robot home position ;
14:J P[1] 100% FINE ;
15: !initialize communication ;
16: !parameters(initialization is ;
17: !required only once) ;
18: CALL MM_INIT_SKT('8','127.0.0.1',50000,5) ;
19: !move to image-capturing position ;
20:L P[2] 1000mm/sec FINE ;
21: !trigger Mech-Viz project ;
22: CALL MM_START_VIZ(2,10) ;
23: !get planned path ;
24: CALL MM_GET_PLNDT(0,3,51,52,53) ;
25: !check whether planned path has ;
26: !been got from Mech-Viz ;
27: !successfully ;
28: IF R[53]<>2100,JMP LBL[99] ;
29: !get gripper control signal list ;
30: CALL MM_GET_DL(0,0) ;
31: !save waypoints of the planned ;
32: !path to local variables one ;
33: !by one ;
34: CALL MM_GET_PLJOP(1,3,60,61,62,63,64,70) ;
35: CALL MM_GET_PLJOP(2,3,61,91,92,93,94,100) ;
36: CALL MM_GET_PLJOP(3,3,62,121,122,123,124,130) ;
37: !save received custom data of ;
38: !2nd point ;
39: R[10]=R[94] ;
40: R[11]=R[95] ;
41: R[12]=R[96] ;
42: !follow the planned path to pick ;
43: !move to approach waypoint ;
44: !of picking ;
45:J PR[60] 50% FINE ;
46: !move to picking waypoint ;
47:J PR[61] 10% FINE ;
48: !add object grasping logic here ;
49: PAUSE ;
50: !set gripper control signal ;
51: CALL MM_SET_DL(0) ;
52: !move to departure waypoint ;
53: !of picking ;
54:J PR[62] 50% FINE ;
55: !move to intermediate waypoint ;
56: !of placing ;
57:J P[3] 50% CNT100 ;
58: !move to approach waypoint ;
59: !of placing ;
60:L P[4] 1000mm/sec FINE Tool_Offset,PR[2] ;
61: !move to placing waypoint ;
62:L P[4] 300mm/sec FINE ;
63: !add object releasing logic here, ;
64: !such as "DO[1]=OFF" ;
65: PAUSE ;
66: !move to departure waypoint ;
67: !of placing ;
68:L P[4] 1000mm/sec FINE Tool_Offset,PR[2] ;
69: !move back to robot home position ;
70:J P[1] 100% FINE ;
71: END ;
72: ;
73: LBL[99:vision error] ;
74: !add error handling logic here ;
75: !according to different ;
76: !error codes ;
77: !e.g.: status=2038 means no ;
78: !point cloud in ROI ;
79: 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 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.
| Feature | Code and description | ||||
|---|---|---|---|---|---|
Stocker les données personnalisées des points de passage |
Le robot obtient le Vision Move et les données personnalisées des points de passage en exécutant la commande MM_GET_PLNDT, puis enregistre le Vision Move et les données personnalisées des points de passage qui sont stockés dans la mémoire du robot dans des registres spécifiés en exécutant la commande MM_GET_PLJOP. Dans l’exemple, les données personnalisées pour le point de prélèvement (PR[61]) sont stockées dans des registres à partir de R[94]. Le code ci-dessus affecte trois éléments de données personnalisées du point de passage Vision Move (point de prélèvement) situés dans R[94], R[95] et R[96] à R[10], R[11] et R[12], respectivement.
|