lucaclx Inserito: 26 luglio 2013 Segnala Share Inserito: 26 luglio 2013 Buongiorno a tutti, ho realizzato un programmino con il logo per la gestione di un paio di cilindri dotati di finecorsa; a questo punto vorrei visualizzare sul TD quanto tempo impiega il ciclo di movimentazione dei cilindri. Questo mi serve per verificare se vengono toccate le regolazioni dell'aria. Come posso fare? Grazie Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 26 luglio 2013 Segnala Share Inserita: 26 luglio 2013 (modificato) Se non hai necessità di una precisione assoluta, (non tenendo in considerazione del tempo di ciclo) puoi far partire un timer in millisecondi, con il medesimo start con cui fai partire i cilindri. Quando il cilindro è arrivato sul finecorsa, blocchi il temporizzatore. Hai cosi ottenuto il tempo che ha impiegato il cilindro a far fuoriuscire lo stelo. Alla successiva partenza con un fronte resetti il tuo temporizzatore ed il ciclo si ripete. Ciao Modificato: 26 luglio 2013 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
lucaclx Inserita: 27 luglio 2013 Autore Segnala Share Inserita: 27 luglio 2013 Avevo già provato a fare una cosa simile, ma non riesco a "bloccare" il temporizzatoresenza resettarlo, nel senso che quando levo l'impulso di start questo mi si resetta. Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 27 luglio 2013 Segnala Share Inserita: 27 luglio 2013 (modificato) Se usi un OBA7, esiste una funzione chiamata cronometro, che fa al tuo caso. Per le versioni precedenti, puoi crearla tu. Ti faccio un esempio per un generatore su base temporale (ogni due secondi). Usa un generatore di impulsi asincrono impostato con lunghezza dell'impulso ad 1 secondo e con larghezza tra impulsi ad un secondo. (il centesimo di secondo è l'unità temporale più piccola che puoi utilizzare in questo blocco). Colleghi l'uscita del generatore di impulsi ad un contatore avanti/indietro ed hai il tuo blocco di misurazione temporale. Una piccola precisazione. In questo modo hai un impulso ogni due secondi (1 secondo dura l'impulso ed un secondo dura la pausa dell'impulso). Utilizzando dei fronti di salita e discesa puoi ottenere una risoluzione di un secondo. Se imposti il generatore con lunghezza dell'impulso ad 1 secondo e con larghezza tra impulsi ad un centesimo di secondo secondo avrai un errore di un centesimo di secondo ogni secondo. Puoi utilizzare il blocco di operazioni matematiche per correggere questo errore. Ma la soluzione più semplice è quella di utilizzare i fronti di salita e discesa, e impostare la durata e la larghezza in modo uniforme. Ciao Giuseppe Modificato: 27 luglio 2013 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
lucaclx Inserita: 29 luglio 2013 Autore Segnala Share Inserita: 29 luglio 2013 Grazie mille, proverò questa soluzione. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora