Mode priorité-précision - Acquisition du délai de suivi

Lors de l'utilisation du mode priorité-précision de saisie de suivi de convoyeur, vous pouvez acquérir et compenser les délais de suivi du robot pour suivre précisément une pièce.

L'opération suivante d'acquisition du délai de suivi doit être effectuée à l'avance pour acquérir les délais de suivi. Si la valeur de décalage n'est pas définie à l'avance, cela peut affecter négativement la précision et le temps écoulé.

Acquisition du délai de suivi

Lors de l'acquisition du délai de suivi, le robot passe du point de départ de mouvement vers la limite aval comme indiqué sur le schéma ci-dessous. Cela permet d'acquérir la valeur de décalage [mm] dans le sens de déplacement du convoyeur.

Ce mouvement peut être effectué en exécutant l'exemple de programme suivant.

Configurez au préalable les réglages suivants.

  • Effectuez la calibration du convoyeur
  • Réglez Accélération, Vitesse, Outil et les autres paramètres sur les mêmes réglages que ceux utilisés pour le fonctionnement réel
  • Enseignez au robot la position de démarrage pour le mouvement de suivi de convoyeur comme P0
  • Enseignez au robot les deux points suivants requis pour effectuer le mouvement
    • Point 1: Le point de départ du mouvement du robot
    • Point 2 : Le point suivi sur le convoyeur
  • Déplacez le convoyeur à la même vitesse que celle utilisée pour le fonctionnement réel

POINTS CLÉS


  • Le délai de suivi est acquis en fonction de la largeur-sens du convoyeur et des coordonnées de hauteur sur la position de suivi enseignée au robot. Configurez les réglages pour qu'ils correspondent étroitement au fonctionnement réel.
  • La valeur de décalage change en fonction de la vitesse du convoyeur, de l'accélération du robot, de la vitesse et de l'orientation. Par conséquent, le délai de suivi doit être acquis de nouveau lorsque l'un de ces réglages est modifié.
  • Remarques sur ce programme
    • Du fait que ce programme est exécuté dans une file d'attente virtuelle, aucune pièce réelle n'est nécessaire.
    • En cas d'utilisation d'un déclencheur logiciel, assurez-vous qu'il n'y a pas d'entrée de déclencheur matériel.
Fonction Cnv_Adjust_measure

  'Déplacer vers le point de départ du mouvement du robot
  Motor On
  Go P0

  Power High
  Speed 100
  Accel 100, 100
  Cnv_Accel 1, 2000

  'Vérifier le fonctionnement du convoyeur
  If Cnv_Speed(1) < 0.1 Then
    Print "Le convoyeur ne fonctionne pas"
    Exit Function
  EndIf

  'Enregistrer la pièce virtuelle dans la file d'attente
  Cnv_QueRemove 1, All                   'Effacer la file d'attente
  Cnv_Trigger 1                        'Déverrouiller l'impulsion du convoyeur
  Cnv_QueAdd 1, XY(0, CY(P1@Cnv(1)), CZ(P1@Cnv(1)), CU(P1@Cnv(1)), 0, 0) /CNV(1)
   'Enregistrer la pièce virtuelle dans la file d'attente sur P1

  Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
  ' Attendre jusqu'à ce que la file d'attente entre dans la zone de saisie
  Cnv_Adjust 1, On                       'Active le drapeau d'acquisition de décalage

  'Effectue un mouvement
  Go CnvQueGet(1,0)                     'Pour les robots SCARA
  'Go CnvQueget(1,0):U(90):V(0):W(180)  ' Pour les robots 6 axes

  Do
  Wait 0.02
  Loop Until (CX(RealPos@CNV(1)) >= Cnv_Downstream(1))
  ' Attendre jusqu'à ce que la limite aval soit atteinte

  Go here                                'Arrêter le robot
  Cnv_QueRemove 1, All                   'Réinitialiser la file d'attente
  Cnv_Adjust 1, Off                      'Désactiver le drapeau d'acquisition de décalage
  motor off

  'Affiche les résultats de la valeur de décalage acquise
  If Cnv_AdjustGet(1, 0) = 1 then
    'Acquis, résultats affichés
    Print "Offset amount =", Cnv_AdjustGet(1, 1)
  Else
    Print "Unable to correctly acquire offset value"
    Print "Operation results(0:Not performed/2:Failed to acquire)=", Cnv_AdjustGet(1, 0)
  EndIf
Fend

POINTS CLÉS


  • La valeur de décalage est réinitialisée lors de la désactivation du contrôleur. Utilisez Cnv_AdjustSet pour définir la valeur de décalage acquise dans le programme utilisé. Pour enregistrer la valeur de décalage acquise, ajoutez le programme suivant pour enregistrer le fichier dans le dossier Projet.

    Integer fileNum; String filename$
    fileNum = FreeFile
    filename$ = "File name"
    AOpen filename$ As #fileNum
    Print #fileNum,Cnv_AdjustGet(1,1)
    Close #fileNum
    
  • Si les résultats du fonctionnement Cnv_AdjustGet(1,0) ne sont pas "1" (valeur de décalage acquise), il se peut que le robot n'ait pas pu atteindre la pièce dans la zone de saisie et que l'acquisition de la valeur de décalage ait dépassé 100 secondes. Vérifiez les réglages d'accélération et de vitesse, les réglages des limites amont et aval, le point de départ du mouvement et la vitesse du convoyeur.