Commandes d’interface standard ROKAE
Notes pour l’appel des commandes:
Comme les commandes sont limitées par la syntaxe ROKAE, les paramètres et les valeurs de retour ne peuvent pas être passés. Par conséquent, tous les paramètres et valeurs de retour impliqués dans la commande sont des variables globales.
Initialiser la communication
Cette procédure définit l’adresse IP de l’hôte, le numéro de port et le temps d’attente pour la communication TCP/IP.
Démarrer le projet Mech-Vision
Cette fonction est utilisée pour les applications qui utilisent Mech-Vision. Elle exécute le projet correspondant pour acquérir et traiter les données. Elle s’applique aux applications qui utilisent Mech-Vision mais pas Mech-Viz.
Procédure
Job = 1
Pos_Num_Need = 1
SendPos_Type = 1
MM_J = UpdateJnttarget(MM_J,0,0,0,0,0,0,0,0,0,0,0,0)
MM_Start_Vis()
Cet exemple déclenche l’exécution du projet Mech-Vision dont l’ID est 1 ; le projet Mech-Vision doit renvoyer un point de vision ; et le robot envoie ses positions articulaires actuelles et la pose de la bride comme pose de capture d’image à Mech-Vision. UpdateJnttarget(MM_J,0,0,0,0,0,0,0,0,0,0,0,0) définit un ensemble de positions articulaires fixes, qui sera utilisé lorsque la valeur de SendPos_Type est 3.
Paramètres d’entrée
Job
ID du projet Mech-Vision, visible avant le nom du projet dans le panneau Liste des projets de Mech-Vision.
Pos_Num_Need
Le nombre de points de vision attendu que Mech-Vision doit envoyer. Le point de vision contient la pose de vision, le nuage de points correspondant, l’étiquette, l’échelle, etc.
-
0: Recevoir tous les points de vision dans le résultat de reconnaissance provenant de Mech-Vision. -
Entier supérieur à 0: Recevoir le nombre spécifié de points de vision dans le résultat de reconnaissance provenant de Mech-Vision.-
Si le nombre total de points de vision est inférieur à la valeur du paramètre, tous les points de vision du résultat de reconnaissance seront reçus.
-
Si le nombre total de points de vision est supérieur ou égal à la valeur du paramètre, le nombre spécifié de points de vision sera reçu.
-
| La commande utilisée pour obtenir les points de vision est la commande 102. La commande 102 ne peut récupérer au maximum que 20 points de vision à la fois. L’un des paramètres renvoyés par la commande 102 indique si tous les points de vision demandés ont été obtenus. Sinon, veuillez exécuter la commande 102 de manière répétée. |
SendPos_Type
Le type de pose du robot à envoyer à Mech-Vision. Plage de valeurs : 0 à 3.
| SendPos_Type | Description | Scénario applicable |
|---|---|---|
0 |
La commande n’envoie pas les données de pose du robot au projet Mech-Vision. Si l’étape Path Planning est utilisée dans le projet Mech-Vision, le point de départ du trajet planifié sera le point Home défini dans l’outil de planification de trajectoire. |
Ce paramètre doit être utilisé si la caméra est montée en mode eye to hand et que le projet ne nécessite pas de capture d’images au préalable. |
1 |
Les positions articulaires du robot et la pose de la bride doivent être envoyées au projet Mech-Vision. |
Ce paramètre doit être utilisé lorsque la caméra est montée en mode eye in hand. Ce paramètre est recommandé pour la plupart des scénarios à l’exception de ceux impliquant des robots portiques. |
2 |
La pose de la bride du robot doit être envoyée au projet Mech-Vision. |
Ce paramètre est recommandé pour les scénarios impliquant des robots portiques. |
3 |
Cette commande envoie des positions articulaires personnalisées au projet Mech-Vision. Ces positions articulaires seront envoyées à l’étape Path Planning du projet Mech-Vision comme point de départ, où le robot se déplacera de ce point de départ au premier point de passage du trajet planifié. |
Ce paramètre doit être utilisé si la caméra est montée en mode eye to hand et que le projet nécessite une capture d’images préalable. |
MM_J
Positions articulaires définies par l’utilisateur. Lorsque le paramètre SendPos_Type est défini à 3, les positions articulaires seront envoyées à l’étape Path Planning du projet Mech-Vision comme point de départ, où le robot se déplace de ce point de départ au premier point de passage du trajet planifié. Si SendPos_Type est défini à une valeur autre que 3, les positions articulaires définies ici ne prendront pas effet, mais les positions articulaires doivent être définies.
Obtenir la ou les cibles de vision
Cette procédure est appelée après Démarrer le projet Mech-Vision pour obtenir les points de vision émis par Mech-Vision et transformer automatiquement les points de vision en cibles de vision.
Le système de vision convertira automatiquement les informations du point de vision en le TCP du robot correspondant.
| Par défaut, la commande 102 ne peut récupérer au plus que 20 TCP à la fois. Par conséquent, la commande 102 peut devoir être exécutée à répétition jusqu’à ce que tous les TCP requis soient obtenus. |
Procédure
Job = 1
MM_Get_VisData()
Cet exemple obtient le résultat de vision du projet Mech-Vision dont l’ID est 1. Les valeurs de sortie de cette procédure sont stockées dans des variables globales (Last_Data, Pose_Num et MM_Status). Le fait que tous les points de vision aient été envoyés est stocké dans Last_Data, le nombre de points de vision reçus est stocké dans Pose_Num, et le code d’état est stocké dans MM_Status.
Paramètres d’entrée
Job
ID du projet Mech-Vision, visible avant le nom du projet dans le panneau Liste des projets de Mech-Vision.
Paramètres de sortie
Last_Data
Ce paramètre indique si tous les TCP demandés ont été obtenus. La valeur est 0 ou 1.
-
0: PAS tous les TCP requis ont été envoyés (d’autres sont en cours d’acheminement). Veuillez exécuter la commande 102 de manière répétée jusqu’à ce que la valeur devienne 1. -
1: Tous les TCP requis ont été envoyés.
Si le nombre prévu de TCP défini dans la procédure « Démarrer le projet Mech-Vision » est supérieur à 20 (longueur par défaut pour l’envoi et la réception des données), ce paramètre peut être utilisé pour déterminer s’il reste des TCP qui n’ont pas été envoyés. Si toutes les données n’ont pas été envoyées, vous pouvez appeler la commande 102 de manière répétée jusqu’à ce que tous les TCP aient été reçus.
| Si tous les TCP n’ont pas été reçus, et que la commande 101 est appelée pour recapturer une image à ce moment-là, les TCP non reçus seront effacés. |
Type de variable : int
Pos_Num
Le nombre de TCP reçus.
-
Si le nombre requis de TCP est supérieur ou égal au nombre de points de vision reconnus par Mech-Vision, le nombre de points de vision reconnus sera envoyé.
-
Si le nombre requis de TCP est inférieur au nombre de points de vision reconnus, le nombre requis de points de vision sera envoyé.
Plage de valeurs : 0 à 20
Type de variable : int
MM_Status
En l’absence d’erreur, le code d’état 1100 sera renvoyé. Sinon, le code d’erreur correspondant sera renvoyé.
Lorsque cette fonction est appelée, le système de vision attend le résultat de Mech-Vision puis l’envoie au robot. Le temps d’attente par défaut est de 10 secondes. En cas de dépassement de délai, un code d’erreur de timeout sera renvoyé au robot.
Type de variable : int
Démarrer le projet Mech-Viz
Cette procédure s’adresse aux applications qui utilisent à la fois Mech-Vision et Mech-Viz. Cette fonction exécute le projet Mech-Viz (ce qui déclenche l’exécution du projet Mech-Vision correspondant), et Mech-Viz planifiera une trajectoire de mouvement du robot basée sur le résultat de vision reçu de Mech-Vision.
Veuillez cliquer avec le bouton droit sur le projet Mech-Viz à démarrer dans le panneau Resources et sélectionner Charger automatiquement le projet dans le menu contextuel.
Il existe des projets d’exemple d’applications typiques stockés dans Communication Component/tool/viz_project dans le répertoire d’installation de Mech-Vision & Mech-Viz. Vous pouvez modifier les projets d’exemple selon les exigences pratiques.
Procédure
SendPos_Type = 1
MM_J = CJointT()
MM_Start_Viz()
Cette procédure déclenche l’exécution du projet Mech-Viz et envoie les positions articulaires et la pose de bride actuelles du robot à Mech-Viz.
Paramètres d’entrée
SendPos_Type
Type de pose du robot. Plage de valeurs : 0–2
0: La pose du robot n’a pas besoin d’être envoyée à Mech-Viz. Le robot simulé dans Mech-Viz se déplacera depuis la position d’origine définie jusqu’au premier point de passage.
1: Les positions articulaires et la pose de bride actuelles du robot réel doivent être envoyées à Mech-Viz. Le robot simulé dans Mech-Viz partira des positions articulaires actuelles du robot réel et se déplacera vers le premier point de passage.
2:Les positions articulaires prédéfinies du robot doivent être envoyées à Mech-Viz. Le robot simulé dans Mech-Viz démarrera depuis les positions articulaires prédéfinies et se déplacera vers le premier point de passage.
MM_J
Positions articulaires définies par l’utilisateur. Uniquement lorsque SendPos_Type est défini à 2, les positions articulaires seront envoyées au projet Mech-Viz comme point de départ, où le robot se déplace de ce point de départ au premier point de passage du trajet planifié. Lorsque SendPos_Type est défini sur une autre valeur, les positions articulaires n’ont pas d’utilité pratique mais une valeur doit être attribuée au paramètre.
Obtenir le chemin planifié depuis Mech-Viz
Cette procédure obtient le chemin planifié depuis Mech-Viz. Elle doit être utilisée après l’exécution de la procédure « Démarrer le projet Mech-Viz » pour obtenir le chemin planifié.
Par défaut, cette procédure ne peut récupérer au maximum que 20 points de passage à la fois. Par conséquent, il peut être nécessaire de l’exécuter de manière répétée jusqu’à ce que tous les points de passage soient obtenus.
|
Si le point de passage d’une étape de type mouvement ne doit pas être envoyé au robot, veuillez effacer l’option « Envoyer le point de passage » dans les paramètres de cette étape. |
Procédure
Jps_Pos = 2
MM_Get_VizData()
Cette procédure obtient les points de passage du chemin planifié depuis Mech-Viz sous forme de TCP. Le fait que tous les points de passage aient été envoyés est stocké dans la variable globale Last_Data. Le nombre de points de passage reçus est stocké dans la variable globale Pos_Num. La position du point de passage Vision Move est stockée dans la variable globale VisPos_Num. Le code d’état est stocké dans la variable globale MM_Status.
Paramètres d’entrée
Jps_Pos
Ce paramètre spécifie le type de pose des points de passage renvoyés par Mech-Viz.
-
1: Les poses des points de passage sont renvoyées sous forme de positions articulaires (JPs). -
2: Les poses des points de passage sont renvoyées sous forme de point central de l’outil (TCP).
Paramètres de sortie
Last_Data
Variable indiquant si tous les points de passage ont été envoyés.
-
0: PAS tous les points de passage ont été envoyés (d’autres sont en cours d’acheminement). Veuillez répéter l’appel de cette procédure jusqu’à ce que la valeur de ce paramètre devienne 1. -
1: Tous les points de passage ont été envoyés.
Pos_Num
Nombre de points de passage. Variable pour stocker le nombre de points de passage reçus, qui contient la pose correspondante, l’étiquette, la vitesse.
Si le chemin planifié contient plus de 20 points de passage, veuillez répéter l’exécution de cette procédure.
Plage de valeurs : 0 à 20
VisPos_Num
La position du point de passage dans l’étape « Vision Move » dans l’ensemble du chemin planifié. Le point de passage « Vision Move » est celui où le robot effectue la prise.
Par exemple, si le chemin est composé des étapes Fixed-Point Move_1, Fixed-Point Move_2, Vision Move, Fixed-Point Move_3 séquentiellement, la position de Vision Move est 3.
Si le chemin ne contient aucun point de passage Vision Move, la valeur renvoyée est 0.
MM_Status
Code d’état.
En l’absence d’erreur, le code d’état 2100 sera renvoyé. Sinon, le code d’erreur correspondant sera renvoyé.
| Lors de l’appel de cette fonction, le système de vision attend le résultat de Mech-Viz puis l’envoie au robot. Le temps d’attente par défaut est de 10 secondes. En cas de dépassement de délai, un code d’erreur de timeout sera renvoyé au robot. |
Obtenir la pose
Cette procédure stocke une pose du point de vision renvoyé par Mech-Vision ou une pose du point de passage renvoyé par Mech-Viz dans la variable de position spécifiée.
Obtenir les positions articulaires (Disponible lorsque Mech-Viz est utilisé)
Cette procédure stocke un point de vision (en positions articulaires) renvoyé par Mech-Vision ou un point de passage (en positions articulaires) renvoyé par Mech-Viz dans la variable de position spécifiée.
Changer la recette Mech-Vision
Cette procédure spécifie la recette de paramètres à utiliser dans le projet Mech-Vision.
Dans Mech-Vision, vous pouvez modifier les valeurs des paramètres des étapes en changeant la recette de paramètres utilisée.
| Cette procédure doit être appelée AVANT « Démarrer le projet Mech-Vision ». |
Sélectionner la branche Mech-Viz
Cette procédure sélectionne la branche selon laquelle le projet Mech-Viz doit avancer. Une telle bifurcation est réalisée en ajoutant des étapes « Branch by Msg » au projet Mech-Viz.
« Démarrer le projet Mech-Viz » doit être exécuté AVANT cette procédure.
Lorsque la prochaine étape à exécuter est une étape « Branch by Msg », le projet Mech-Viz attendra que cette procédure spécifie le port de sortie à emprunter.
Procédure
Branch_Num = 1
Export_Num = 3
MM_Set_Branch()
Cette procédure indique à Mech-Viz de prendre le port de sortie 3 pour l’étape « Branch by Msg » dont l’ID d’étape est 1.
Paramètres d’entrée
Branch_Num
ID de l’étape « Branch by Msg ».
Export_Num
Numéro de port de sortie en entiers.
| La valeur de ce paramètre doit être supérieure de 1 au numéro de port de sortie affiché dans l’étape. Par exemple, si le port de sortie spécifié est le deuxième port de sortie de l’étape de gauche à droite, le numéro de port de sortie est 2. |
Définir l’index de mouvement
Cette procédure définit la valeur du paramètre Current Index de l’étape Mech-Viz spécifiée. Les étapes qui possèdent ce paramètre comprennent « Move by List », « Move by Grid », « Custom Pallet Pattern » et « Predefined Pallet Pattern ».
« Démarrer le projet Mech-Viz » doit être exécuté AVANT cette procédure.
Procédure
Skill_Num = 2
Index_Num = 10
MM_Set_Index()
Cet exemple définit la valeur Current Index à 9 pour l’étape dans Mech-Viz dont l’ID d’étape est 2. Lorsque l’étape est exécutée, la valeur Current Index sera augmentée de 1 et deviendra 10.
Paramètres d’entrée
Skill_Num
ID d’étape.
L’ID de l’étape dont la valeur Current Index doit être définie.
La valeur de ce paramètre doit être un entier positif. L’ID d’étape est affiché dans les paramètres de l’étape.
Index_Num
La valeur Current Index qui doit être définie la prochaine fois que cette étape sera exécutée.
Lors de l’envoi de cette procédure, la valeur de l’index courant dans Mech-Viz deviendra la valeur du paramètre moins 1.
Lorsque le projet Mech-Viz s’exécute jusqu’à l’étape spécifiée par cette procédure, la valeur de l’index courant dans Mech-Viz sera augmentée de 1 pour devenir la valeur du paramètre.
Obtenir l’état du logiciel
Saisir les dimensions de l’objet dans Mech-Vision
Cette procédure saisit dynamiquement les dimensions de l’objet dans le projet Mech-Vision. Veuillez vérifier les dimensions réelles de l’objet avant d’exécuter le projet Mech-Vision.
Le projet Mech-Vision doit contenir l’étape « Read Object Dimensions ». Le paramètre Read Sizes from Properties de cette étape doit être sélectionné.
Procédure
Job = 1
Length = 500
Width = 300
Height = 200
MM_Set_BoxSize()
Cet exemple définit les dimensions de l’objet dans l’étape « Read Object Dimensions » du projet Mech-Vision à 500 × 300 × 200 mm.
Paramètres d’entrée
Job
ID du projet Mech-Vision, visible avant le nom du projet dans le panneau Liste des projets de Mech-Vision.
Length, Width, Height
Les dimensions de l’objet (longueur, largeur, hauteur) à saisir dans le projet Mech-Vision. Les dimensions seront lues dans l’étape « Read Object Dimensions ».
L’unité est le millimètre.
Obtenir la liste des signaux DO
Cette fonction obtient la liste planifiée des signaux DO. La liste des signaux DO est utilisée pour contrôler plusieurs préhenseurs ou plusieurs sections de ventouses.
« Obtenir le chemin planifié » doit être appelé avant cette procédure pour obtenir le chemin planifié par Mech-Viz.
Veuillez déployer le projet Mech-Viz basé sur le projet modèle et définir le fichier de configuration de ventouse correspondant. Le projet d’exemple est stocké dans Communication Component/tool/viz_project/suction_zone dans le répertoire d’installation de Mech-Vision & Mech-Viz.
Définir la liste des signaux DO
Cette procédure affecte la liste DO envoyée par Mech-Viz aux signaux GO. Elle prend en charge au maximum 4 groupes de signaux GO sur 16 bits. Si vous devez définir plusieurs groupes de signaux GO, veuillez exécuter cette procédure plusieurs fois.
| MM_Get_DoList doit être appelé AVANT cette procédure. |
Calibrage
Cette procédure est utilisée pour l’étalonnage main-œil (calibrage des paramètres extrinsèques de la caméra).
Cette procédure synchronise l’état d’étalonnage avec Mech-Vision et obtient auprès de Mech-Vision le prochain point de calibration que le robot doit atteindre.
Cette procédure doit être exécutée plusieurs fois pour compléter l’étalonnage.
Procédure
Move_Type = 2
Jps_Pos = 1
Wait_Time = 2
IsAxis7 = false
MM_Calib()
Cette procédure déplace le robot en type MoveJ, reçoit les données de pose sous forme de TCP, et définit le temps d’attente à 2 secondes pour éviter que le robot ne tremble après s’être déplacé au point de calibration. De plus, ce robot n’a pas d’axe externe installé.
Move_Type = 2
Jps_Pos = 1
Wait_Time = 2
IsAxis7 = true
Axis7 = 0
MM_Calib()
Cet exemple déplace le robot en type MoveJ, reçoit les données de pose sous forme de TCP, et définit le temps d’attente à 2 secondes pour éviter que le robot ne tremble après s’être déplacé au point de calibration. De plus, la valeur du 7e axe de ce robot est 0.
Paramètres d’entrée
| Move_Type | Le type de mouvement du robot. 1 : MoveL. 2 : MoveJ. |
|---|---|
Jps_Pos |
Pose en positions articulaires ou en TCP. 1 : Positions articulaires. 2 : TCP. |
Wait_Time |
Le temps que le robot attend pour éviter de trembler après s’être déplacé au point de calibration ; la valeur par défaut est 2 (s). |
IsAxis7 |
Indique s’il y a un 7e axe externe, true ou false. La valeur par défaut est false, c.-à-d., pas de 7e axe. |
Axis7 |
Variable facultative pour stocker les données de l’axe externe en mm. Elle est utilisée uniquement lorsqu’il y a un 7e axe. |
Obtenir le résultat de vision depuis Mech-Vision
Cette procédure obtient les données de sortie personnalisées du projet Mech-Vision correspondant. « Données de sortie personnalisées » fait référence aux données émises par des ports autres que les poses et les étiquettes de l’étape « Output ». Les ports de sortie peuvent être personnalisés si le paramètre « Port Type » de l’étape est défini sur « Custom ».
Appelez cette procédure une fois et vous pouvez obtenir et stocker toutes les données dans le robot.
Procédure
Job = 2
MM_Get_Dy_Data()
Cet exemple obtient le résultat de vision qui inclut les sorties de ports personnalisés depuis le projet Mech-Vision n° 2. Les poses obtenues et les étiquettes correspondantes sont stockées dans les tableaux globaux MM_Pose_Pos[128] et MM_Pose_Label[128], et les sorties de ports personnalisés correspondantes sont stockées dans le tableau global UserData[128][128]. Le nombre de points de vision reçus est stocké dans la variable globale Pos_Num, et le code d’état est stocké dans la variable globale MM_Status.
Enregistrer le point de vision dans des variables spécifiées
Cette procédure stocke les données d’un point de vision renvoyé par Mech-Vision dans les variables spécifiées. Cette procédure est appelée APRÈS Obtenir le résultat de vision depuis Mech-Vision.
Procédure
Serial = 2
MM_Get_DyPose()
Cet exemple stocke la pose du deuxième point de vision reçu dans MM_P, l’étiquette correspondante dans MM_Label, et les sorties de ports personnalisés correspondantes dans MM_UserData.
Paramètres d’entrée
Serial
Variable de type entier. Spécifiez l’indice du point de vision dont vous souhaitez stocker les données personnalisées. L’indice est défini par la séquence d’envoi des données par Mech-Vision.
Paramètres de sortie
MM_P
Variable de type robtarget. pour stocker la pose dans le point de vision spécifié.
MM_Label
Variable de type double. pour stocker l’étiquette dans le point de vision spécifié. Si aucun port d’étiquette n’existe dans Mech-Vision, 0 sera rempli automatiquement.
MM_UserData
Variable de type double. Utilisée pour stocker les sorties des ports personnalisés dans le point de vision spécifié.
Obtenir le point de passage depuis Mech-Viz
Cette procédure est utilisée pour obtenir le chemin planifié depuis Mech-Viz. Le point de passage peut correspondre à une étape Vision Move, ou à l’une des autres étapes de type mouvement. Un point de passage peut contenir la pose, la vitesse, des informations sur le préhenseur, des informations sur l’objet, etc. Appeler cette procédure une fois stockera toutes les données obtenues dans le robot.
Les points de passage d’un chemin planifié peuvent être divisés en les trois types suivants.
-
Tous les points de passage contiennent les données suivantes : type de mouvement (mouvement articulaire ou mouvement linéaire), ID de l’outil et vitesse.
-
Points de passage Vision Move, contenant des informations telles que l’étiquette, le nombre d’objets qui ont été prélevés, le nombre d’objets prélevés cette fois, l’ID d’arête/corner de la ventouse, le décalage du TCP, l’orientation de l’objet, et les dimensions de l’objet.
-
Points de passage Vision Move incluant des données personnalisées, où le type de port de l’étape « Output » du projet Mech-Vision doit être « custom ».
Procédure
Jps_Pos = 4
MM_Get_PlanData()
Cet exemple obtient le chemin planifié qui comprend des données de planification de dépalletisation et des sorties de ports personnalisés depuis Mech-Viz, et stocke toutes les données de sortie dans le tableau global du robot. Le numéro de séquence du point de passage Vision Move est stocké dans VisPos_Num, et le code d’état est stocké dans MM_Status.
Paramètres d’entrée
Jps_Pos
Variable globale de type entier. Format attendu des données renvoyées, de 1 à 4.
Voir le tableau suivant pour les explications.
| jpsPos value | Format des données renvoyées (expliqué ci-dessous) |
|---|---|
1 |
Pose (positions articulaires), type de mouvement, ID de l’outil, vitesse, nombre de ports personnalisés, sortie de port personnalisée, sortie de port personnalisée, … sortie de port personnalisée |
2 |
Pose (TCP), type de mouvement, ID de l’outil, vitesse, nombre de ports personnalisés, sortie de port personnalisée, sortie de port personnalisée, … sortie de port personnalisée |
3 |
Pose (positions articulaires), type de mouvement, ID de l’outil, vitesse, données de planification de dépalletisation, nombre de ports personnalisés, sortie de port personnalisée, sortie de port personnalisée, … sortie de port personnalisée |
4 |
Pose (TCP), type de mouvement, ID de l’outil, vitesse, données de planification de dépalletisation, nombre de ports personnalisés, sortie de port personnalisée, sortie de port personnalisée, … sortie de port personnalisée |
Pose (Stockée dans MM_Pose_Pos[128])
La pose du point de passage, sous forme de positions articulaires (en degrés) ou de TCP, composée de coordonnées cartésiennes (XYZ en mm) et d’angles d’Euler (ABC en degrés).
Type de mouvement (Stocké dans MM_Pose_MoveType[128])
-
1: mouvement articulaire, MOVEJ -
2: mouvement linéaire, MOVEL
ID de l’outil (Stocké dans MM_Pose_ToolNum[128])
L’ID de l’outil du point de passage. -1 indique qu’aucun outil n’est utilisé.
Vitesse (Stockée dans MM_Pose_Speed[128])
Vitesse du point de passage, égale au paramètre de vitesse dans l’étape de type mouvement correspondante multiplié par le paramètre de vitesse global dans Mech-Viz, au format pourcentage.
Données de planification de dépalletisation (Stockées dans Plan_Results[128][128])
Données utilisées pour planifier des tâches de dépalletisation à prises multiples. Ces données font partie du point de passage de l’étape « Vision Move ». Habituellement utilisées pour des scénarios de prise multiple de boîtes et de dépalletisation. Les données suivantes sont incluses :
-
Étiquette : composée de 10 entiers. Si moins de 10 étiquettes sont obtenues, le reste des chiffres est rempli avec 0.
-
Nombre d’objets de travail déjà prélevés.
-
Nombre d’objets de travail à prélever cette fois.
-
ID d’arête/corner du préhenseur à vide : utilisé pour spécifier le coin du préhenseur auquel l’objet de travail est aligné. Peut être vérifié en double-cliquant sur l’outil correspondant dans le panneau Resources de Mech-Viz puis en sélectionnant Configurer la logique de contrôle.
-
Décalage du TCP : Le décalage entre la pose de l’outil au centre des objets de travail à prélever et la pose réelle de l’outil.
-
Orientation de l’objet de travail : si l’axe X du repère de l’objet de travail est aligné avec l’axe X du repère de l’outil (valeur : 0 ou 1).
-
Dimensions des objets de travail combinés.
Nombre de ports personnalisés (Stocké dans UserDataNum)
Le nombre de ports de sortie excluant les poses et les étiquettes lorsque le paramètre « Port Type » de l’étape « Output » dans le projet Mech-Vision est défini sur « Custom ».
Sorties des ports personnalisés (Stockées dans UserData[128][128])
Les sorties qui excluent les poses et les étiquettes lorsque le paramètre « Port Type » de l’étape « Output » dans le projet Mech-Vision est défini sur « Custom ». Ces données font partie du point de passage de l’étape « Vision Move ».
Les sorties de ports personnalisés sont organisées par ordre alphabétique des noms de ports personnalisés.
Paramètres de sortie
Pos_Num
Variable de type entier. Utilisée pour stocker le nombre de points de passage reçus.
VisPos_Num
Variable de type entier. Utilisée pour stocker le numéro de séquence du premier point de passage Vision Move dans le chemin. Par exemple, si le chemin est composé de Fixed-Point Move_1, Fixed-Point Move_2, Vision Move, et Fixed-Point Move_3 séquentiellement, la position de Vision Move est 3. Si le chemin ne contient pas « Vision Move », la valeur de ce paramètre est 0.
MM_Status
Variable de type entier. pour stocker le code d’état.
Enregistrer le point de passage dans des variables spécifiées
Cette procédure doit être appelée après Obtenir le point de passage depuis Mech-Viz. Elle stocke l’ensemble de données correspondant dans différentes variables selon l’indice spécifié. Le code sera légèrement différent selon la valeur de Jps_Pos.
Procédure
Serial = 2
Jps_Pos = 4
MM_Get_PlanPose()
Cet exemple de procédure stocke le TCP dans le deuxième point de passage reçu depuis Mech-Viz dans MM_P, le type de mouvement correspondant dans MM_MoveType, l’ID de l’outil correspondant dans MM_ToolNum, la vitesse correspondante dans MM_Speed. Si le point de passage n’est pas un point de passage Vision Move, il n’y a pas d’informations supplémentaires ; s’il s’agit d’un point de passage Vision Move, les sorties de ports personnalisés correspondantes seront stockées dans MM_UserData, et les données de planification de dépalletisation correspondantes seront stockées dans MM_Plan_Results.
Serial = 1
Jps_Pos = 3
MM_Get_PlanJps()
Cet exemple de procédure stocke la position articulaire dans le premier point de passage reçu depuis Mech-Viz dans MM_J, le type de mouvement correspondant dans MM_MoveType, l’ID de l’outil correspondant dans MM_ToolNum, la vitesse correspondante dans MM_Speed. Si le point de passage n’est pas un point de passage Vision Move, il n’y a pas d’informations supplémentaires ; s’il s’agit d’un point de passage Vision Move, les sorties de ports personnalisés correspondantes seront stockées dans MM_UserData, et les données de planification de dépalletisation correspondantes seront stockées dans MM_Plan_Results.
Paramètres d’entrée
Serial
Variable de type entier. Spécifiez l’indice du point de passage à stocker. L’indice du point de passage est déterminé par l’ordre dans lequel Mech-Viz envoie les données.
Jps_Pos
Variable de type entier. La valeur du paramètre doit être identique à celle de Jps_Pos dans MM_Get_PlanData().
Paramètres de sortie
MM_P
Variable globale de type robtarget. Utilisée pour stocker le TCP dans le point de passage spécifié.
MM_J
Variable globale de type Jointtarget. Utilisée pour stocker les positions articulaires dans le point de passage spécifié.
MM_MoveType
Variable de type entier. Utilisée pour stocker le type de mouvement dans le point de passage spécifié.
MM_ToolNum
Variable de type entier. Utilisée pour stocker l’ID de l’outil dans le point de passage spécifié.
MM_Speed
Variable de type entier. Utilisée pour stocker la vitesse dans le point de passage spécifié.
MM_UserData
Variable de tableau global pouvant être lue directement sans besoin de passage de paramètres. Utilisée pour stocker les sorties de ports personnalisés dans le point de passage spécifié.
MM_Plan_Results
Variable de tableau global pouvant être lue directement sans besoin de passage de paramètres. Utilisée pour stocker les données de planification de dépalletisation correspondant au point de passage spécifié.
Obtenir le résultat de l’étape « Path Planning » dans Mech-Vision
Cette procédure obtient le chemin sans collision planifié par l’étape « Path Planning » à partir du projet Mech-Vision correspondant.
Le paramètre Port Type de l’étape « Output » dans le projet Mech-Vision doit être défini sur « Predefined (robot path) ».
Procédure
Job = 2
Jps_Pos = 2
MM_Get_VisPath()
Cet exemple obtient le chemin planifié du projet Mech-Vision n° 2 sous forme de TCP. Le nombre de points de passage reçus est stocké dans Pos_Num, le numéro de séquence du point de vision dans le chemin est stocké dans VisPos_Num, et le code d’état est stocké dans MM_Status.
Paramètres d’entrée
Job
Type de variable globale : int. ID du projet Mech-Vision, visible avant le nom du projet dans le panneau Liste des projets de Mech-Vision.
Jps_Pos
Variable globale de type entier. Le type de pose des points de passage renvoyés par l’étape « Path Planning ».
-
1: Les points de passage en positions articulaires seront renvoyés. -
2: Les points de passage en TCP seront renvoyés.
Paramètres de sortie
Last_Data
Variable globale de type entier. Cette variable indique si tous les points de passage ont été envoyés, 0 ou 1.
-
0: PAS tous les points de passage ont été envoyés (d’autres sont en cours d’acheminement). Veuillez répéter l’appel de cette procédure jusqu’à ce que la valeur de ce paramètre devienne 1. -
1: Tous les points de passage ont été envoyés.
Pos_Num
Variable globale de type entier. Utilisée pour stocker le nombre de points de passage renvoyés.
VisPos_Num
Variable globale de type entier. Utilisée pour stocker la position du point de passage « Vision Move » dans l’ensemble du chemin planifié dans l’outil Path Planning. Par exemple, si le chemin est composé de Fixed-Point Move_1, Fixed-Point Move_2, Vision Move, et Fixed-Point Move_3 séquentiellement, la position de Vision Move est 3. Si le chemin ne contient pas « Vision Move », la valeur de ce paramètre est 0.
MM_Status
Variable globale de type entier. pour stocker le code d’état.