Les transitions associées aux étapes 2, 3, 5 et 8 diffèrent selon que la commande SMOVE (pour des axes indépendants) ou XMOVE (pour des axes interpolés) est utilisée.
! (*Voie X sans défaut, grappin ouvert, commutateur Auto_man défini sur Auto, démarrage du cycle, voie Y sans défaut et mode automatique actif*)
NOT Error AND NOT Capteur_3 AND NOT Auto_man AND Cycle AND NOT Error_y AND Mode_Auto
! (*Test : axe X effectué et calé*)
Done AND Calib
Pour deux axes indépendants
! (*Mobile en position d'attente et pièce détectée sur le transporteur A*)
Capteur_1 AND Cycle AND Axe_x.Next AND Axe_y.Next
Pour deux axes interpolés
! (*Mobile en position d'attente et pièce détectée sur le transporteur A*)
Capteur_1 AND Cycle AND Next_INT
Pour deux axes indépendants
! (*Mobile en position de récupération de pièce détectée sur le transporteur A*)
Axe_x.At_point AND Axe_x.Next AND Axe_y.Next AND Axe_y.At_point
Pour deux axes interpolés
! (*Mobile en position de récupération de pièce détectée sur le transporteur A*)
interpo.At_point AND interpo.Next
! (*Pièce de type 1 et grappin fermé*)
Capteur_2 AND Capteur_3
! (*Pièce de type 2 et grappin fermé*)
NOT Capteur_2 AND Capteur_3
Pour deux axes indépendants
! (*Mobile en position sur le transporteur B*)
Axe_x.At_point AND Axe_x.Next AND Axe_y.Next AND Axe_y.At_point
Pour deux axes interpolés
! (*Mobile en position sur le transporteur B*)
interpo.At_point AND interpo.Next
Pour deux axes indépendants
! (*Mobile en position sur le transporteur C*)
Axe_x.At_point AND Axe_x.Next AND Axe_y.Next AND Axe_y.At_point
Pour deux axes interpolés
! (*Mobile en position sur le transporteur C*)
interpo.At_point AND interpo.Next
! (*Grappin ouvert*)
NOT Capteur_3 AND Cycle