PROGRAMME ROBOT INDUSTRIEL
Station RJ-2SD — Tri de boites par couleur
Filière Mécatronique Variante V1
Examen Fin de Formation Session Juin 2025
Langage Melfa Basic V Robot Mitsubishi RJ-2SD
CAHIER DES CHARGES
• Initialement : pince à P1 (position initiale), pince ouverte.
• Appui sur START + présence boite en P2 → déclenchement du cycle.
• Le robot prend la boite et la ramène en position de vérification de couleur (P3/P4).
• Si boite ROUGE : allumer lampe_Q1 → déposer sur Palette 1 (Zigzag) → éteindre lampe_Q1.
• Si boite GRISE : allumer lampe_Q2 → déposer dans Magasin 1 (P5) → éteindre lampe_Q2.
• Cycle recommence jusqu'au remplissage de la Palette 1 (6 boites).
• Palette pleine : clignotement lampe_Q3 (période 0.5s) jusqu'à appui sur STOPP.
• Vitesse d'approche réduite : 30 mm/s. | Palette 1 déclarée en mode Zigzag.
TABLEAU DES POSITIONS
N° Description X Y Z A/P B/R C
P1 Position initiale 267.140 9.240 272.680 178.990 0.190 -104.450
P2 Position de prise 225.100 27.950 47.510 175.020 -1.280 -123.610
P3 Détection du gris 211.790 212.250 68.480 179.730 2.720 -91.660
P4 Détection du rouge 213.760 216.580 59.840 175.020 -1.280 -123.610
P5 Magasin 1 64.040 169.960 221.370 -179.690 2.230 -123.570
P6 Magasin 2 -72.990 164.090 220.590 -179.690 2.230 -123.570
P7 Palette 1 pos1 407.560 -179.140 114.460 -179.140 1.520 -91.630
P8 Palette 1 pos2 307.300 -181.300 117.090 -179.140 1.520 -91.630
P9 Palette 1 pos3 207.560 -181.300 119.120 179.730 2.720 -91.660
P10 Palette 1 pos4 209.110 -261.150 118.650 179.730 2.720 -91.660
P11 Palette 1 pos5 309.080 -260.720 115.850 179.730 2.720 -91.660
P12 Palette 1 pos6 408.790 -260.410 114.050 179.730 2.720 -91.660
PROGRAMME MELFA BASIC V
DÉCLARATIONS E/S
' ============================================
' DECLARATIONS ENTREES / SORTIES
' ============================================
DEF IO start = BIT, 2
DEF IO stopp = BIT, 3
DEF IO cap_p = BIT, 4
' cap_p : Capteur présence boite en P2
DEF IO cap_m = BIT, 5
' cap_m : Capteur matériaux unique (détection P3 et P4)
DEF IO lampe_Q1 = BIT, 8
' lampe_Q1 : Indicateur boite rouge
DEF IO lampe_Q2 = BIT, 9
' lampe_Q2 : Indicateur boite grise
DEF IO lampe_Q3 = BIT, 10
' lampe_Q3 : Fin palette (clignotement)
DÉCLARATIONS VARIABLES & PALETTE
' ============================================
' VARIABLES ET PALETTE
' ============================================
DEF INTE compteur
' compteur : Nombre de boites sur palette 1
DEF INTE M1
' M1 : Index position dans palette 1
' Palette 1 Zigzag : P7(c1l1) P8(c2l1) P12(c3l2) P11(c2l2) — 3 col x 2 lig
DEF PLT 1, P7, P8, P12, P11, 3, 2, 1
INITIALISATION
' ============================================
' INITIALISATION
' ============================================
compteur = 0
M1 = 1
JOVRD 40
' Vitesse articulaire globale : 40%
MOV P1
' Aller en position initiale
HOPEN 1
' Ouvrir la pince
ATTENTE DÉMARRAGE
' ============================================
' ATTENTE START + PRÉSENCE BOITE
' ============================================
WAIT start = 1
' Attendre appui sur bouton START
WAIT cap_p = 1
' Attendre détection boite en P2
BOUCLE PRINCIPALE
' ============================================
' BOUCLE PRINCIPALE
' ============================================
*depart
' --- PRISE DE LA BOITE EN P2 ---
JOVRD 70
MOV P2, -50
' Approche au-dessus de P2 (offset -50mm Z)
SPD 30
' Vitesse linéaire réduite : 30 mm/s
MVS P2
' Descente lente sur la position de prise
DLY 0.5
HCLOSE 1
' Fermer la pince (saisir la boite)
DLY 0.5
MVS P2, -50
' Remonter après prise
MOV P1
' Position intermédiaire sécurisée
VÉRIFICATION COULEUR (Capteur Matériaux)
' ============================================
' VERIFICATION COULEUR — 1 seul capteur : cap_m
' P3 : détection gris (cap_m=1 → grise)
' P4 : détection rouge (cap_m=1 → rouge)
' ============================================
MOV P3
' Position 1 : test couleur grise
DLY 1.0
' Attendre lecture capteur matériaux
IF cap_m = 1 THEN GOTO *BOITE_GRISE ELSE MVS P4
' cap_m=1 en P3 → grise | sinon aller en P4
DLY 1.0
IF cap_m = 1 THEN GOTO *BOITE_ROUGE
' cap_m=1 en P4 → rouge
CAS : BOITE ROUGE → PALETTE 1
' ============================================
' BOITE ROUGE → PALETTE 1 (ZIGZAG)
' ============================================
*BOITE_ROUGE
lampe_Q1 = 1
' Allumer lampe Q1
' Calcul position Zigzag selon M1
PLACE = PLT 1, M1
MOV PLACE, -50
' Approche au-dessus de la position palette
SPD 30
MVS PLACE
' Descente à la position de pose
HOPEN 1
' Lâcher la boite
DLY 0.5
MVS PLACE, -50
' Remonter
lampe_Q1 = 0
' Éteindre lampe Q1
M1 = M1 + 1
compteur = compteur + 1
MOV P1
' Retour position initiale
IF compteur >= 6 THEN GOTO *PALETTE_PLEINE
WAIT cap_p = 1
' Attendre prochaine boite
GOTO *depart
CAS : BOITE GRISE → MAGASIN 1
' ============================================
' BOITE GRISE → MAGASIN 1 (P5)
' ============================================
*BOITE_GRISE
lampe_Q2 = 1
' Allumer lampe Q2
MOV P5, -50
' Approche au-dessus du Magasin 1
SPD 30
MVS P5
' Descente dans le magasin
HOPEN 1
' Lâcher la boite
DLY 0.5
MVS P5, -50
' Remonter
lampe_Q2 = 0
' Éteindre lampe Q2
MOV P1
WAIT cap_p = 1
GOTO *depart
FIN : PALETTE PLEINE
' ============================================
' PALETTE 1 PLEINE → CLIGNOTEMENT Q3 (0.5s)
' ============================================
*PALETTE_PLEINE
MOV P1
' Retour position initiale
' Clignotement lampe_Q3 jusqu'à appui STOPP
WHILE stopp = 0
lampe_Q3 = 1
DLY 0.25
lampe_Q3 = 0
DLY 0.25
WEND
lampe_Q3 = 0
END
RÉSUMÉ DE LA LOGIQUE
Étape Action Instruction clé
1 - Init P1 + pince ouverte MOV P1 / HOPEN 1
2 - Attente START + présence boite WAIT start=1 / WAIT cap_p=1
3 - Prise Descente 30mm/s en P2 SPD 30 / MVS P2 / HCLOSE 1
4 - Couleur grise P3 → cap_m=1 → Magasin 1 (P5) IF cap_m=1 THEN GOTO *BOITE_GRISE ELSE MVS P4
5 - Couleur rouge P4 → cap_m=1 → Palette 1 Zigzag IF cap_m=1 THEN GOTO *BOITE_ROUGE
6 - Palette pleine Clignotement Q3 (0.5s) WHILE stopp=0 / DLY 0.25
Filière Mécatronique — Fin de Formation — Session Juin 2025 | Robot RJ-2SD | Langage Melfa Basic V