Vai al contenuto
PLC Forum


Editor sequenza fasi


Fabio96

Messaggi consigliati

Buongiorno.

Siamo abituati, penso tutti noi, a programmare le automazioni secondo delle sequenze di fasi prestabilite, la macchina a stati finiti insomma.

Ma se dovessimo lasciare la possibilità all’utilizzatore, tramite HMI, di creare la giusta sequenza fasi, come potremmo implementare questa soluzione nel nostro software PLC?

Attenzione, le procedure a cui mi riferisco non sono i singoli passi del programma ma delle macro fasi che possono essere inglobate in FB.

Se quindi ad esempio ho 4 blocchi funzione A, B, C, D e devo permettere di comporre qualsiasi tipo di sequenza per questi, con la sola condizione di passaggio che la fase precedente sia terminata, come posso fare?

Ulteriore problematica sarà dare la possibilità a pannello operatore di cambiare questa sequenza.

Spero di essere stato chiaro nell’esporre il concetto.

Grazie in anticipo per le possibili idee e pareri che potete dare.

Link al commento
Condividi su altri siti


Costruisci dei blocchi in cui a parte i valori di interfaccia che servono per l'operazione a cui il blocco deve fare riferimento in input o output, hai dei campi che definiscono quando iniziare il processo del blocco e quando il blocco ha terminato il suo compito.

Nell'hmi l'operatore assembla graficamente la sequenza dei blocchi e viene di conseguenza generato un vettore che contiene la sequenza numerica dei campi che passerai ai blocchi suddetti. Questo vettore viene dato in pasto ad un sequenziatore che sovraintende al main del ciclo.

Tieni anche presenti magari la necessità di fare sequenze del tipo B,C,A,B,D,C,B cioè duplicate e non sequenziali, con magari possibilità di pause o interventi operatore, ecc...

 

E' un processo che richiede una stesura logica delle varie parti e che va affrontata prima ancora di mettersi a scrivere il codice per non rischiare poi di impantanarsi...

Cosa che comunque va sempre fatta per questo tipo di professione.

Modificato: da drn5
Link al commento
Condividi su altri siti

Livio Orsini
11 ore fa, drn5 ha scritto:

E' un processo che richiede una stesura logica delle varie parti e che va affrontata prima ancora di mettersi a scrivere il codice

 

Questo è il modo corretto di affrontare non solo la programmazione, ma anche qualsiasi attività progettuale. Buttarsi a scrivere cosice, in caso di programmazione onformatica, senza un'analisi precedente, è come voler costruire un'edificio partendo dal tetto. Purtroppomolto spesso si inizia da subito a codificare, così si creano programmi sconclusionati, inutilmente intricati che rendono impossibile una corretta manutenzione, oltre ad assere quasi inmpossibili da collaudare efficacemente.

Link al commento
Condividi su altri siti

Qualcosa di simile lo feci per un miscelatore, dove la sequenza delle operazioni non era predeterminabile.

Feci così: assegnai ad ogni "passo" (il tuo A, B...) un numero. Le operazioni nel passo erano definite (per esempio, carico materiale per tot kg, miscelazione a velocità x per y tempo, ecc)

La sequenza generale era ovviamente una sequenza di passi, con un numero speciale che definiva la fine.

L'operatore a display selezionava il passo (numero) da inserire nella sequenza, e gli apparivano a display i parametri del passo.

Il trucco stava nel passaggio dati, che era un array (un elemento per sequenza passi) di strutture, ciascuna contenente il numero descrittivo e i dati necessari. Non veramente ottimizzato agli ingombri (magari ogni struttura aveva 5 parametri, ma in alcuni casi ne sarebbero serviti meno), ma posso dirti che ha funzionato bene. Un po' di lavoro anche sul HMI per la visualizzazione corretta, ma con il Weintek era facile.

PS: ovviamente col cavolo che ho usato PLC Siemens...

Link al commento
Condividi su altri siti

7 ore fa, Ctec ha scritto:

PS: ovviamente col cavolo che ho usato PLC Siemens...

Sarebbe stato altrettanto facile, se non di più.

Link al commento
Condividi su altri siti

8 ore fa, Ctec ha scritto:

PS: ovviamente col cavolo che ho usato PLC Siemens...

per curiosita... con cosa lo hai fatto?

Link al commento
Condividi su altri siti

Sophiealexandra

Ciao! Puoi implementare una lista dinamica che permette all'operatore di selezionare e ordinare i blocchi funzione tramite l'HMI. La sequenza verrà poi eseguita nel PLC seguendo l'ordine scelto, con il controllo che avanza solo quando la fase precedente è completata.

Link al commento
Condividi su altri siti

13 ore fa, drn5 ha scritto:

per curiosita... con cosa lo hai fatto?

PLC LS Electric, ma anche un'altra volta con un Mitsubishi FX5U (con quelli più vecchi è un casino)

Ovviamente è solo un esempio di realizzazione. Però devo dire che ha funzionato bene e l'operatore ha capito subito il sistema.

Modificato: da Ctec
Link al commento
Condividi su altri siti

15 ore fa, acquaman ha scritto:

Sarebbe stato altrettanto facile, se non di più.

 

Siamo in ferie (si fa per dire) e poi cominciano le schermaglie !

 

Il concetto è il medesimo (strutture dati predeterminate con dati di interscambio uniformati, coordinate con una visualizzazione non troppo complicata). Poi dal dire al fare c'è di mezzo come tradurre questo concetto nei vari ambienti e a questo punto potremmo non finire nel discutere.

 

L'unico appunto che mi viene è che più si imparano queste cose in forma astratta e generica (qualsiasi sia il livello della formazione che si affronta) e più si è liberi e flessibili nel mondo "reale". 

 

Se può essere utile a @Fabio96 che B&R ha una funzione che permette di gestire direttamente all'operatore a pannello tutto questo discorso, creando una sorta di programmazione ladder dedicata (ovviamente cosa può fare questa programmazione lo decide poi chi realizza il software) con un ambiente grafico già pronto.

 

Poi però torniamo alla mia battuta, sulla programmazione brandizzata.

 

Buona giornata Ennio

 

Link al commento
Condividi su altri siti

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...