Vai al contenuto
PLC Forum


Macchina a Stati..Voi come fate?


Messaggi consigliati

Inserito:

Buonasera e buon sabato a tutti. 

 

Quando ho iniziato a programmare Plc, ho fatto uno degli errori più frequenti: buttarmi a capofitto nella scrittura del codice(o qualcosa che somigliasse ad un codice..), senza analizzare in maniera approfondita quello che la macchina doveva eseguire. 

Ovviamente avevo bene a mente quello che doveva avvenire,ma senza un procedimento logico e definito in testa: insomma la fretta di buttare giù idee come al solito mi fregava. 

Con il tempo e tanti, tanti, tanti errori commessi (e tante tante tante ore gettate al vento..)ho imparato che la scrittura del codice è solo la parte finale della giostra: a monte ci deve essere una attenta analisi del ciclo macchina e delle conseguenze di ogni singolo avvenimento intercorso in qualsiasi stato la macchina si trovi. Ovviamente per il tipo di macchina che costruisco io(packaging) uso (o tento di usare) diagrammi di flusso per definire gli stati macchina ma, essendo autodidatta con basilari competenze informatiche, mi sono sempre chiesto se il metodo che uso sia idoneo ed è per questo che chiedo i vostri preziosi pareri.

 

Prendiamo come esempio la classica confezionatrice circolare composta da qualche asse di piccola taglia brushless e qualche ev pneumatica, con un modulo di sicurezza classico tipo Pilz o Preventa che chiude i contatti di sicurezza dei Servo e Apre la Valvola generale dell'aria compressa quando abilitato.

Abilitato significa pressione di un pulsante di reset collegato al modulo stesso con Emergenze non premute e porte chiuse. 

 

Il mio sistema  prevede di partire col ragionamento dall'accensione della macchina(nel senso fisico, cioè quando l'operatore ruota il sezionatore generale). A questo punto pongo la macchina immediatamente nello 'STATO 0':  Stato 0 per me significa modulo di sicurezza non armato e aria non presente. In questo stato l'unica cosa che si può fare è premere il pulsante e armare il modulo, cosa che l'operatore è invitato a fare con un messaggio sul pannello opportunamente richiamato. 

Una volta che il modulo è armato e pongo la macchina nello 'STATO 1'.    In questo stato verifico che lo spegnimento precedente sia avvenuto in maniera corretta (per me significa spegnimento durante ciclo automatico in corso ,tipicamente per black out). Se la verifica da esito negativo richiamo una pagina dove l'operatore può mettere in coppia manualmente i servomotori ed eseguire il jog degli stessi, per portarli eventualmente fuori da situazioni pericolose. Per uscire da questa pagina occorre dare un consenso tramite pressione di un pulsante sulla pagina stessa. Tale pulsante pone la macchina nello 'STATO 2'. In questo stato l'operatore può mettere in coppia tutti gli assi contemporaneamente tramite pulsante: una volta che tutti gli assi sono in coppia pongo la macchina nello 'STATO 3' . In questo stato l'Operatore può eseguire l'Homing se previsto ed è abilitato il Ciclo Manuale(Jog assi, manuali ev ecc). Una volta che l'operatore preme per eseguire lo Zero e questo è terminato, pongo la macchina nello 'STATO 4'. In questo stato è abilitato anche il ciclo Automatico, salvo verifica di altre condizioni prima dello start( ricetta selezionata , tutti i finecorsa di riposo ON ecc).

Ecco , a questo punto è semplice arrivarci perchè le transizioni sono chiare. 

Quello che vorrei chiedere a Voi è come ragionate quando le transizioni sono al contrario e cioè: prendendo come esempio quello riportato sopra, immaginiamo di avere appena passato la prima transizione e quindi trovarci nello stato 1: visto che la transizione era il modulo armato, l'unica situazione da monitorare in questo stato è proprio la perdita di questo evento, che farebbe tornare la macchina allo stato 0...giusto? 

Andando avanti quindi con lo Stato 3 dovrei monitorare:

-la perdita di coppia di un asse qualsiasi(visto che la transizione era appunto Tutti gli assi in coppia) che farebbe tornare la macchina allo stato 2;

-la perdita delle emergenze che la porrebbe nello stato 0; 

Con lo stato 4 dovrei monitorare: 

-la perdita di homing di un qualsiasi asse, visto che la transizione era appunto 'assi referenziati' ..ponendo la macchina nello stato 3;

-la perdita di coppia di un asse qualsiasi(visto che la transizione era appunto Tutti gli assi in coppia) che farebbe tornare la macchina allo stato 2;

-la perdita delle emergenze che la porrebbe nello stato 0; 

 

Senza focalizzarci troppo sui dettagli, vorrei capire se il mio ragionamento è giusto, se lo è in parte oppure se è totalmente sbagliato. 

Innanzitutto vorrei avere un parere da Voi se gli stati in cui ho suddiviso la macchina possono andare oppure se ne ho considerati troppi/troppo pochi; non so se il mio sistema di passare da uno stato all'altro resettando lo stato precedente è una buona idea oppure no. 

 

Forse starete pensando che paragonata ai vostri impianti la mia macchinetta è una stupidaggine da gestire e che forse non c'era nemmeno bisogno di scomodare la macchina a stati..ma a me è sempre piaciuto pensare 'in grande' e mi piace pensare che fra qualche anno potrei trovarmi ad avere a che fare con macchine molto più complesse e vorrei farmi trovare preparato. 

 

Ringrazio anticipatamente chiunque voglia portarmi il Suo contributo ed auguro ancora buon weekend a tutti. 


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...