Transitions drawn in the Grafcet are programmed in the following way:
! (*X channel not in error, claw open, Auto_man switch set to Auto, Y channel not in error and automatic mode activated*)
NOT Axis_ch0.Ax_flt AND NOT Capteur_3 AND NOT Auto_man AND Cycle AND NOT Axis_ch1.Ax_flt AND Mode_Auto
! (*Test: axes ready and referenced*)
Axis_ch0.Done AND Axis_ch0.Ref_OK AND Axis_ch1.Done AND Axis_ch1.Ref_OK
! (*Moving part in stand-by position and part detected on belt A*)
Capteur_1 AND Cycle AND Axis_ch0.Next AND Axis_ch1.Next
! (*Moving part in position to take part detected on belt A*)
Axis_ch0.At_point AND Axis_ch0.Next AND Axis_ch1.Next AND Axis_ch1.At_point
! (*Type 1 part and claw closed*)
Capteur_2 AND Capteur_3
! (*Type 2 part and claw closed*)
NOT Capteur_2 AND Capteur_3
! (*Moving part in position on conveyor belt B*)
Axis_ch0.At_point AND Axis_ch0.Next AND Axis_ch1.Next AND Axis_ch1.At_point
! (*Moving part in position on conveyor belt C*)
Axis_ch0.At_point AND Axis_ch0.Next AND Axis_ch1.Next AND Axis_ch1.At_point
! (*Claw open*)
NOT Capteur_3 AND Cycle