Home › Forum › Discussioni su problematiche generali › Automazione macchina per spalmare punti colla su buste
- Questo topic ha 1 risposta, 2 partecipanti ed รจ stato aggiornato l'ultima volta 14 anni, 8 mesi fa da
Sergio Bertana.
-
AutorePost
-
Gennaio 19, 2012 alle 10:09 am #35152
Pierluigi
PartecipanteHo realizzato una macchina che applica dei punti colla su buste utilizzando il Vs sistema SlimLine. Però mi trovo con un problema di precisione sulla attivazione dell’uscita che comanda lo spruzzo della colla. Lo spruzzo colla deve essere gestito attivando/disattivando una elettrovalvola con tempi precisi e ridotti dell’ordine di 30 mSec. Spiego come viene eseguito il ciclo di lavoro della macchina.
Il ciclo parte su attivazione ingresso ChainOn, dopo tempo PauseStart viene eseguito lo spruzzo della colla (Impulsi con tempo GluePulseOn). Terminato il tempo di spruzzo GlueOn, lo spruzzo della colla termina e dopo tempo PauseStop si attiva l’uscita ChainOff ed il ciclo termina.
Avete suggerimenti su come posso migliorare la precisione della gestione della uscita di comando colla ?
Gennaio 19, 2012 alle 10:20 am #37109Sergio Bertana
Amministratore del forumLa task Slow è eseguita tipicamente ogni 10 mSec (E’ possibile impostare un tempo di esecuzione diverso vedi funzione SysSetTaskLpTime). Eseguendo il programma inserito nella task ogni 10 mS tutte le temporizzazioni avranno degli errori che possono arrivare ad eguagliare nel caso peggiore il tempo di esecuzione della task (10 mS).
Nel tuo caso dovendo gestire tempi di 30 mS è evidente che l’errore che ti devi aspettare è relativamente grande rispetto a quanto il tuo programma necessita e quindi l’effetto sulla gestione dell’uscita colla sarà evidente. Per risolvere il problema occorre che tutta la logica di gestione programma sia eseguita molto velocemente, almeno 10 volte più veloce dei tempi che tu devi gestire).
Per ottenere questo puoi semplicemente eseguire il programma nella task fast del sistema, questa task è eseguita di default ogni 1 mS, ma volendo usare tempi minore puoi definire il tempo di esecuzione con la funzione SysSetTaskLpTime.
Attenzione! Per avere la gestione immediata degli I/O durante l’esecuzione di un programma nella task fast, occorre acquisire gli input con la funzione SysGetPhrDI e gestire le uscite con la funzione SysSetPhrDO. Se sono sufficienti 2 I/O è preferibile utilizzare gli I/O del modulo CPU con il blocco funzione CPUModuleIO.
Allego un programma LogicLab che gestisce nella task fast il ciclo colla così come me lo hai descritto (Stampa e Download programma).
-
AutorePost
- Devi essere connesso per rispondere a questo topic.