diff --git a/StateMachine/Donati/27_ABB_DOOSAN_pallet_2bit.rul b/StateMachine/Donati/27_ABB_DOOSAN_pallet_2bit.rul new file mode 100644 index 0000000..9ff2c7c --- /dev/null +++ b/StateMachine/Donati/27_ABB_DOOSAN_pallet_2bit.rul @@ -0,0 +1,111 @@ +# +# Donati Macchine Robot ABB + DOOSAN - SOLO gestione pallet/tavola A/B +# +# partenza da DOOSAN main, con 2 livelli di modifiche: +# - si prendono "ultimi 2 bit" più alti (6-7) ovvero 64/128 che indicano tavola 1 / 2 su robot (alòtra in lavorazione) +# - si hanno 4 possibili stati che saranno convertiti (da sw MP/IO) in 4 bit esclusivi di seguito riportati +# IN | OUT | significato +# ----------------------------- +# 00 --> 0001 | END ciclo +# 01 --> 0010 | LAV TAV 1 +# 10 --> 0100 | LAV TAV 2 +# 11 --> 1000 | Errore +# - questa state machine quindi è pensata per i 4 BIT ESCLUSIVI già trasformati +# +# v1.2 sel +# +$DEFINITIONS + +$NAME : DOOSAN_pallet +$IDX : 27 +$N_STATES : 5 +$N_BITS : 4 + +#definizione bit : obbligatorio iniziare da 0 + +$BIT : 0 : B_EndCiclo +$BIT : 1 : B_LavoraTav1 +$BIT : 2 : B_LavoraTav2 +$BIT : 3 : B_Errore + +#definizione stati : obbligatorio iniziare da 0 + +$STATE : 0 : ST_End +$STATE : 1 : ST_LavTav1 +$STATE : 2 : ST_LavTav2 +$STATE : 3 : ST_Error1 +$STATE : 4 : ST_Error2 + +#definizione eventi : obbligatorio iniziare da 0 + +$EVENT : 00 : EV_00 +$EVENT : 01 : EV_01 +$EVENT : 02 : EV_02 +$EVENT : 03 : EV_03 +$EVENT : 04 : EV_04 +$EVENT : 05 : EV_05 +$EVENT : 06 : EV_06 +$EVENT : 07 : EV_07 +$EVENT : 08 : EV_08 +$EVENT : 09 : EV_09 +$EVENT : 10 : EV_10 +$EVENT : 11 : EV_11 +$EVENT : 12 : EV_12 +$EVENT : 13 : HW - init +$EVENT : 14 : HW - power off +$EVENT : 15 : HW - power on +$EVENT : 16 : HW - machining +$EVENT : 17 : HW - end machining +$EVENT : 18 : HW - error +$EVENT : 19 : Barcode - cambio operatore +$EVENT : 20 : Contapezzi +$EVENT : 21 : HW - start pallet +$EVENT : 22 : HW - end pallet +$EVENT : 23 : HW rottura nastro abrasivo +$EVENT : 24 : HW manuale +$EVENT : 25 : HW nastro scarico pieno +$EVENT : 26 : Barcode - Manca Riforn. MPD +$EVENT : 27 : Timer - timeout tempo ciclo +$EVENT : 28 : Timer - timeout TURNO by tempo ciclo +$EVENT : 29 : HW - magazzino grezzi vuoto +$EVENT : 30 : HW - emergenza +$EVENT : 31 : Barcode - Modifica Programmi +$EVENT : 32 : Barcode - Sostituzione Utensile +$EVENT : 33 : HW - Allarme Macchina +$EVENT : 34 : HW - deposito robot +$EVENT : 35 : HW - start pallet 1 +$EVENT : 36 : HW - start pallet 2 +$EVENT : 37 : HW - end pallet 1 +$EVENT : 38 : HW - end pallet 2 +$EVENT : 39 : HW - Allarme Pallet + + +$RULES + +# state : input : next state : event + + +ST_End : B_LavoraTav1 : ST_LavTav1 : HW - start pallet 1 +ST_End : B_LavoraTav2 : ST_LavTav2 : HW - start pallet 2 +ST_End : B_Errore : ST_Error1 : HW - Allarme Pallet + +ST_LavTav1 : B_EndCiclo : ST_End : HW - end pallet 1 +ST_LavTav1 : B_LavoraTav2 : ST_LavTav2 : HW - start pallet 2 +ST_LavTav1 : B_Errore : ST_Error1 : HW - Allarme Pallet + +ST_LavTav2 : B_EndCiclo : ST_End : HW - end pallet 2 +ST_LavTav2 : B_LavoraTav1 : ST_LavTav1 : HW - start pallet 1 +ST_LavTav2 : B_Errore : ST_Error2 : HW - Allarme Pallet + +ST_Error1 : B_EndCiclo : ST_End : HW - end pallet 1 +ST_Error1 : B_LavoraTav1 : ST_LavTav1 : EV_00 +ST_Error1 : B_LavoraTav2 : ST_LavTav2 : HW - start pallet 2 + +ST_Error2 : B_EndCiclo : ST_End : HW - end pallet 2 +ST_Error2 : B_LavoraTav2 : ST_LavTav2 : EV_00 +ST_Error2 : B_LavoraTav1 : ST_LavTav1 : HW - start pallet 1 + + +#-------------------------------------------------------------------------- + +$DO