FANUC MOTN-017 Limit Error : pourquoi le robot refuse de se déplacer hors du mode articulaire (repères, limites et le piège du SR-6iA)

Code d’erreur : MOTN-017  ·  Catégorie : Programmation  ·  Contrôleurs : M-410iC, R-30iB, R-30iB Plus, SR-6iA

Vous mettez en service une nouvelle cellule avec un SR-6iA sur un R-30iB Plus, vous faites passer le teach pendant des coordonnées articulaires aux coordonnées WORLD, et la barre d’alarme affiche MOTN-017 limit error (G:1, A:3). Le jog en mode articulaire fonctionne. En mode WORLD, non. Rien n’a bougé physiquement, rien n’est brisé, et l’opérateur est convaincu que le robot est en faute. Il ne l’est pas. MOTN-017 est une alarme de limites logicielles qui se déclenche chaque fois que la trajectoire calculée par le contrôleur pousserait un axe au-delà de la zone permise. Nous la voyons le plus souvent pendant les mises en service, après des changements de repères et après le chargement de programmes hors ligne sur une cellule différente.

Cet article s’adresse aux techniciens et aux intégrateurs aux prises avec MOTN-017 sur des palettiseurs M-410iC, des robots de soudage R-30iB, des cellules d’alimentation de machines R-30iB Plus et la famille SCARA SR-6iA. Le diagnostic est le même d’une armoire à l’autre, mais la logique des repères sur le SR-6iA piège plus de programmeurs débutants que tout autre modèle de notre parc en service.

Ce que signifie réellement cette erreur

MOTN-017 est l’alarme de limite logicielle de mouvement. Le manuel des codes d’erreur FANUC est explicite à la page 863 : « MOTN-017 Limit error (G:%d^2, A:%s^7) Cause : Un ou plusieurs axes enfreignent les limites logicielles de mouvement. Consulter le texte de l’alarme pour le groupe et l’axe concernés. Solution : Déplacer ou réenseigner la position enseignée. Si cette erreur s’est produite en mode automatique, ce robot pourrait ne pas être en mesure de reprendre. » C’est le contrôleur qui vous dit qu’une position cible, ou une trajectoire qui y mène, amènerait une articulation au-delà de la limite logicielle supérieure ou inférieure configurée dans $PARAM_GROUP.

L’écho PNT1-101 à la page 1025 renforce la même idée du côté des ateliers de peinture : « PNT1-101 Limit error Cause : La position enseignée se trouvait hors de l’enveloppe de travail normale du robot. L’un des axes du robot n’a pas pu atteindre la position. » Même alarme, étiquette différente, même correctif.

Mécaniquement, chaque articulation a des butées mécaniques, et à l’intérieur de ces butées le contrôleur conserve une limite logicielle supérieure et inférieure. Les limites logicielles sont volontairement plus serrées. Elles protègent les câbles, l’habillage du robot (dress pack) et l’équipement adjacent. Lorsque vous faites un jog ou exécutez un programme qui en sortirait, MOTN-017 se déclenche avant que le robot bouge.

Causes les plus fréquentes, par ordre de probabilité

Par ordre de fréquence selon nos interventions :

  1. Articulation déjà à sa limite logicielle au démarrage du programme. Un jog a laissé le robot stationné à J3 +170 degrés, le programme demande ensuite J3 +175, et MOTN-017 se déclenche avant que le mouvement commence. Fréquent pendant la mise en service et après un jog manuel.
  2. UFRAME pivoté de sorte que les cibles XYZ enseignées visent l’arrière de l’espace de travail. Un repère modifié à partir d’une simulation hors ligne peut se retrouver inversé de 180 degrés par rapport à la cellule en production. La même cible x/y se trouve maintenant derrière le robot, la solution de cinématique inverse tombe hors des limites articulaires, et vous obtenez MOTN-017 en mode WORLD mais pas en mode articulaire. Le fil DIY Robotics sur MOVE TO documente exactement ce scénario (fil de référence).
  3. Le jog WORLD ne trouve pas de solution cinématique à la pose actuelle. C’est le piège du SR-6iA qui attrape les nouveaux utilisateurs. Le mode articulaire déplace chaque axe directement. Le mode WORLD exige une solution cinématique valide à chaque pas, et un SR-6iA près d’une singularité ou d’une limite articulaire ne peut pas en fournir. Un utilisateur de Reddit a décrit exactement ce scénario sur un SR-6iA avec R-30iB Plus : le jog fonctionne en mode articulaire mais déclenche MOTN-017 (G:1, A:3) en mode WORLD (fil Reddit).
  4. Limites logicielles resserrées lors d’un Controlled Start. Quelqu’un a modifié les limites articulaires de $PARAM_GROUP pour protéger un gabarit, puis ne les a jamais rouvertes. Le fil permanent sur MOTN-017 du forum DIY Robotics oriente les opérateurs vers POSN > JNT comme premier endroit où comparer la position articulaire à la limite (référence du forum).
  5. Incompatibilité d’UTOOL sur un programme chargé. Moins fréquent, mais un décalage d’outil qui ne correspond pas au programme calculera une cible que le robot ne peut pas atteindre à l’intérieur de ses limites.

Comment diagnostiquer en moins de 10 minutes

Étape 1. Notez le groupe et l’axe indiqués par l’alarme. MOTN-017 nomme toujours G: A:. Le numéro d’axe vous indique quelle articulation examiner.

Étape 2. Sur le teach pendant, appuyez sur POSN, puis sur F2 pour JNT. Lisez la valeur articulaire actuelle de l’axe fautif et comparez-la aux limites logicielles supérieure et inférieure dans MENU > SETUP > Joint ou dans $PARAM_GROUP. Le forum DIY Robotics confirme que c’est la première chose à faire (référence du forum).

Étape 3. Si l’articulation est à sa limite logicielle ou au-delà, ramenez-la dans la plage de travail en mode articulaire. Si l’articulation est bien à l’intérieur de sa limite et que vous ne pouvez toujours pas faire de jog en mode WORLD, le problème vient du repère ou de la solution cinématique, pas de la limite elle-même.

Étape 4. Confirmez l’UFRAME et l’UTOOL actifs sur le pendant. Vérifiez que le repère dans lequel la position a été enseignée correspond au repère appelé par le programme. Un numéro de repère incompatible est l’une des causes silencieuses les plus fréquentes (fil MOVE TO).

Étape 5. Si vous êtes sur un SR-6iA ou un LR Mate et que seul le mode WORLD échoue, vérifiez si vous êtes près d’une singularité. Le jog WORLD doit maintenir l’orientation, et certaines orientations du poignet près de J5 = 0 échoueront avec MOTN-017 même si les articulations elles-mêmes sont bien à l’intérieur de leurs limites (fil Reddit).

Comment corriger le problème

Le correctif dépend de ce que le diagnostic a révélé.

Si une articulation est stationnée au-delà de sa limite logicielle : ramenez-la à l’intérieur de la limite en mode articulaire, puis reprenez le programme. N’ouvrez pas la limite pour effacer l’alarme.

Si l’UFRAME ne convient pas au programme chargé : passez au bon numéro d’UFRAME, ou modifiez le programme pour qu’il appelle le repère dans lequel il a été enseigné. Vérifiez en déplaçant le robot vers un point enseigné connu et en surveillant l’affichage de position.

Si l’alarme ne se déclenche qu’en mode WORLD : déplacez le robot vers une pose où une solution cinématique existe, puis réessayez le mode WORLD. Sur un SR-6iA, cela signifie souvent sortir J3 d’une position extrême avant que le jog WORLD fonctionne.

Si la limite logicielle est réellement plus serrée que ce dont le cycle a besoin : n’ouvrez la limite qu’après une revue d’ingénierie. Les butées existent pour une raison, et un client qui a relâché les limites de J4 sans vérifier l’habillage s’est acheté une panne future. Documentez la modification et sa raison, faites une sauvegarde avant et après, et refaites l’essai du cycle complet.

Si un UTOOL est incompatible : changez le numéro d’outil pour qu’il corresponde à celui avec lequel la position a été enseignée, ou réenseignez la position avec le numéro d’outil actuel.

Quand faire appel à un spécialiste

Appelez-nous lorsque l’alarme se déclenche à l’intérieur de l’enveloppe de travail documentée, que les repères et les outils sont corrects, que les positions articulaires sont loin de leurs limites logicielles et que MOTN-017 bloque toujours la cellule. À ce stade, il est question des limites de $PARAM_GROUP, de la précision du mastering ou de la configuration cinématique d’une variante de bras précise. Sur une cellule de production, l’ouverture des limites articulaires est le genre de modification qui exige un arrêt planifié et un plan de retour en arrière documenté.

Même chose si vous avez hérité d’une cellule dont les limites dans $PARAM_GROUP ont été réglées par quelqu’un qui n’est plus chez le client. Nous pouvons auditer et documenter les limites avant que le prochain changement de produit demande au robot d’aller là où les limites ne le permettent pas.

Contactez-nous pour un appel de service, ou mettez en place un contrat d’entretien préventif afin que les modifications de repères et de limites soient revues avant qu’elles génèrent des alarmes en production.

Erreurs connexes à vérifier

  • MOTN-018 Position not reachable : même famille. Le contrôleur ne trouve aucune solution cinématique, alors que MOTN-017 indique que la solution dépasse les limites.
  • MOTN-019 In singularity : alarme de solution cinématique. Si le jog en mode WORLD sur un SR-6iA échoue avec MOTN-017, MOTN-019 est la prochaine alarme à surveiller.
  • PNT1-101 Limit error : l’écho de MOTN-017 côté ateliers de peinture. Même cause fondamentale, même démarche de correction.

Probot Systèmes est un intégrateur FANUC établi à Lévis (Québec). Nous mettons en service des palettiseurs, des robots de soudage et des cellules d’alimentation de machines partout au Canada et aux États-Unis, et les problèmes de repères et de limites reviennent régulièrement sur notre liste de vérification de mise en service. Si votre cellule déclenche MOTN-017 après une modification de repère ou le chargement d’un programme hors ligne, c’est le moment de nous joindre.

Demander un devis

Remplissez le formulaire ci-dessous et nous vous contacterons dans les plus brefs délais.

Coordonnées
Votre projet
Afin de vous fournir le contenu demandé, nous devons stocker et traiter vos données personnelles. Si vous consentez à ce que nous stockions vos données personnelles à cette fin, veuillez cocher la case ci-dessous.

Inscrivez-vous à notre infolettre !

Recevez nos dernières nouvelles, événements et articles de blogue.