Transition Programming
(Original Document)
At a Glance
The transitions associated with steps 2, 3, 5 and 8 are different depending on whether the SMOVE (for independent axes) or XMOVE (for interpolated axes) command is used.
Step 0 -> 1
! (*Channel X not faulty, open grab, Auto_man switch set to Auto, start cycle, channel Y not faulty and automatic mode active*)
NOT Error AND NOT Capteur_3 AND NOT Auto_man AND Cycle AND NOT Error_y AND Mode_Auto
Step 1 -> 2
! (*Test: X axis done and calibrated*)
Done AND Calib
Step 2 -> 3
For 2 independent axes
! (*Moving part in waiting position and part detected on conveyor A*)
Capteur_1 AND Cycle AND Axe_x.Next AND Axe_y.Next
For 2 interpolated axes
! (*Moving part in waiting position and part detected on conveyor A*)
Capteur_1 AND Cycle AND Next_INT
Step 3 -> 4
For 2 independent axes
! (*Moving part in detected part retrieval position on conveyor A*)
Axe_x.At_point AND Axe_x.Next AND Axe_y.Next AND Axe_y.At_point
For 2 interpolated axes
! (*Moving part in detected part retrieval position on conveyor A*)
interpo.At_point AND interpo.Next
Step 4 -> 5
! (*Type 1 part and closed grab*)
Capteur_2 AND Capteur_3
Step 4 -> 8
! (*Type 2 part and closed grab*)
NOT Capteur_2 AND Capteur_3
Step 5 -> 6
For 2 independent axes
! (*Moving part in position on conveyor B*)
Axe_x.At_point AND Axe_x.Next AND Axe_y.Next AND Axe_y.At_point
For 2 interpolated axes
! (*Moving part in position on conveyor B*)
interpo.At_point AND interpo.Next
Step 8 -> 6
For 2 independent axes
! (*Moving part in position on conveyor C*)
Axe_x.At_point AND Axe_x.Next AND Axe_y.Next AND Axe_y.At_point
For 2 interpolated axes
! (*Moving part in position on conveyor C*)
interpo.At_point AND interpo.Next
Step 6 -> 2
! (*Grabber open*)
NOT Capteur_3 AND Cycle