Programme d’exemple HYUNDAI
Ce sujet présente les programmes d’exemple fournis avec Mech-Mind Software Suite et les opérations nécessaires pour effectuer une tâche réelle de reconnaissance et de préhension.
| Avant de continuer, veuillez vous assurer que Configurer la communication d’interface standard avec NACHI a été effectuée. |
Obtenir le résultat de vision depuis Mech-Vision
Sur le boîtier d’enseignement, sélectionnez Programme et entrez le numéro de programme 9700 pour ouvrir le programme d’exemple.
Program File Format Version : 1.6 MechType: 739(HH4-01) TotalAxis: 6 AuxAxis: 0
REM VIS sample
'_
V500$="192.168.1.10"
V500%=8000
V501%=1
CALL 9821_MMH_OPEN
PRINT #0,"UDP OPEN OK !"
DELAY 1.0
'_
V503%=1
V504%=1
V505%=2
V506%=1
V507%=10
P500=P*
'_
CALL 9803_MMH_ChangVIS
IF (V504$ <> "1107") THEN
REM ERROR OCCURED
STOP
ENDIF
'_
CALL 9801_MMH_VIStrig
IF (V504$ <> "1102") THEN
REM ERROR OCCURED
STOP
ENDIF
'_
CALL 9802_MMH_VISresult
IF (V504$ <> "1100") THEN
REM ERROR OCCURED
STOP
ENDIF
'_
CALL 9822_MMH_CLOSE
'_
IF V505% = 2 THEN
FOR LV1%=1 TO VAL(V506$)
LV3%=LV1%-1
LV2%=V507%+LV3%
P[LV2%]=(0,0,0,0,0,0,&H0001)R
P[LV2%].X=V![500+LV3%*14]
P[LV2%].Y=V![501+LV3%*14]
P[LV2%].Z=V![502+LV3%*14]
P[LV2%].RX=V![503+LV3%*14]
P[LV2%].RY=V![504+LV3%*14]
P[LV2%].RZ=V![505+LV3%*14]
NEXT
'_
ELSE
FOR LV1%=1 TO VAL(V506$)
LV2%=V507%+LV1%-1
P[LV2%]=(0,0,0,0,0,0)A
P[LV2%].J1=V![508+LV3%*14]
P[LV2%].J2=V![509+LV3%*14]
P[LV2%].J3=V![510+LV3%*14]
P[LV2%].J4=V![511+LV3%*14]
P[LV2%].J5=V![512+LV3%*14]
P[LV2%].J6=V![513+LV3%*14]
NEXT
ENDIF
'_
'_
END
Logique du programme
-
Ligne 4–9 : Le robot établit une connexion UDP avec le système de vision. V500$ spécifie l’adresse IP de l’IPC. V500% spécifie le numéro de port configuré dans Mech-Vision.
-
Ligne 11 : V503% spécifie l’ID de projet Mech-Vision.
-
Ligne 12 : V504% spécifie le nombre de points de vision à obtenir, avec une plage de 0 à 4, et 0 signifie que tous les points de vision sont obtenus.
-
Ligne 13 : V505% spécifie le type de pose, où 1 représente les JPs et 2 représente le TCP.
-
Ligne 14 : V506% spécifie l’ID de recette du projet Mech-Vision.
-
Ligne 15 : V507% spécifie la valeur d’index initiale de la variable P. Par exemple, si V507% = 10, cela signifie que le premier point de vision provenant de Mech-Vision sera attribué à P[10].
-
Ligne 18–22 : Définir la recette du projet Mech-Vision. Vérifiez si le code d’état retourné indique une erreur. Si un code d’erreur est retourné, le programme est arrêté.
-
Ligne 24–28 : Déclencher l’exécution du projet Mech-Vision. Vérifiez si le code d’état retourné indique une erreur. Si un code d’erreur est retourné, le programme est arrêté.
-
Ligne 30–34 : Obtenir le point de vision depuis le projet Mech-Vision. Vérifiez si le code d’état retourné indique une erreur. Si un code d’erreur est retourné, le programme est arrêté.
-
Ligne 36 : Le robot est déconnecté du système de vision.
-
Ligne 38–49 : Si le type de pose du point de vision est TCP, attribuez la valeur TCP à P[LV2%].
-
Ligne 52–61 : Si le type de pose du point de vision est JPs, attribuez les valeurs JPs à P[LV2%].
Obtenir la trajectoire planifiée depuis Mech-Viz
Sur le boîtier d’enseignement, sélectionnez Programme et entrez le numéro de programme 9701 pour ouvrir le programme d’exemple.
Program File Format Version : 1.6 MechType: 739(HH4-01) TotalAxis: 6 AuxAxis: 0
REM VIZ-path sample
'_
V500$="192.168.1.10"
V500%=8000
V501% =1
CALL 9821_MMH_OPEN
PRINT #0,"UDP OPEN OK !"
DELAY 1.0
'_
V505%=1
P500=P*
'_
CALL 9804_MMH_StartVIZ
IF (V504$ <> "2103") THEN
REM ERROR OCCURED
STOP
ENDIF
'_
V507%=970
V505%=2
'_
CALL 9808_MMH_VIZpath
IF (V504$ <> "2100") THEN
REM ERROR OCCURED
STOP
ENDIF
'_
CALL 9805_MMH_StopVIZ
IF (V504$ <> "2104") THEN
REM ERROR OCCURED
STOP
ENDIF
'_
CALL 9822_MMH_CLOSE
'_
IF V505% = 2 THEN
'_
FOR LV1%=1 TO VAL(V506$)
LV3%=LV1%-1
LV2%=V507%+LV3%
P[LV2%]=(0,0,0,0,0,0,&H0001)R
P[LV2%].X=V![500+LV3%*14]
P[LV2%].Y=V![501+LV3%*14]
P[LV2%].Z=V![502+LV3%*14]
P[LV2%].RX=V![503+LV3%*14]
P[LV2%].RY=V![504+LV3%*14]
P[LV2%].RZ=V![505+LV3%*14]
NEXT
'_
ELSE
FOR LV1%=1 TO VAL(V506$)
LV2%=V507%+LV1%-1
P[LV2%]=(0,0,0,0,0,0)A
P[LV2%].J1=V![508+LV3%*14]
P[LV2%].J2=V![509+LV3%*14]
P[LV2%].J3=V![510+LV3%*14]
P[LV2%].J4=V![511+LV3%*14]
P[LV2%].J5=V![512+LV3%*14]
P[LV2%].J6=V![513+LV3%*14]
NEXT
ENDIF
'_
END
Logique du programme
-
Ligne 4–9 : Le robot établit une connexion UDP avec le système de vision. V500$ spécifie l’adresse IP de l’IPC. V500% spécifie le numéro de port configuré dans Mech-Vision.
-
Ligne 11 : V505% spécifie le type de pose, où 1 représente les JPs et 2 représente le TCP.
-
Ligne 14–18 : Déclencher l’exécution du projet Mech-Viz. Vérifiez si le code d’état retourné indique une erreur. Si un code d’erreur est retourné, le programme est arrêté.
-
Ligne 20 : V507% spécifie la valeur d’index initiale de la variable P. Par exemple, si V507% = 10, cela signifie que le premier point de vision provenant de Mech-Viz sera attribué à P[10].
-
Ligne 23–27 : Obtenir la trajectoire planifiée depuis Mech-Viz. Vérifiez si le code d’état retourné indique une erreur. Si un code d’erreur est retourné, le programme est arrêté.
-
Ligne 29–33 : Arrêter l’exécution du projet Mech-Viz. Vérifiez si le code d’état retourné indique une erreur. Si un code d’erreur est retourné, le programme est arrêté.
-
Ligne 35 : Le robot est déconnecté du système de vision.
-
Ligne 39–49 : Si le type de pose du point de passage est TCP, attribuez la valeur TCP à P[LV2%].
-
Ligne 52–61 : Si le type de pose du point de passage est JPs, attribuez la valeur JPs à P[LV2%].
Exécuter le programme d’exemple
Veuillez vous référer aux instructions dans Tester la communication d’interface standard.