tode72 Inserito: 5 luglio 2006 Segnala Inserito: 5 luglio 2006 Buongiorno a tutti,ho un piccolo problema che mi sto scervellando a risolvere e sono sicuro che alla fine la soluzione è più semplice di quel che sto pensando. Sto utilizzando una 317 2DP e devo realizzare un transitorio temporale tipo scarica di un condensatoreV(t)=Vo * e^-(t/tau)Il tutto mi serve per far rallentare un motore con una rampa esponenziale che possa essere decisa dal cliente di volta in volta. Non posso utilizzare le rampe dell'inverter perché ho la necessità, in alcuni casi, che il sistema risponda il più prontamente possibile.Di tutta la formula mi manca il t, cioè il tempo che sta trascorrendo, che parte da 0 dall'istante in cui si vuole iniziare il rallentamento. La durata massima del rallentamento deve essere 10 s. Qualcuso sa dirmi se devo utilizzare il tempo macchina della CPU o posso utilizzare un semplice timer? Posso prendere il valore di tempo di un timer, anche se i timer contano alla roverscia, cioè da 10 s a 0 s, per utilizzarlo in qualche modo?Grazie mille in anticipo
emanuele.croci Inserita: 5 luglio 2006 Segnala Inserita: 5 luglio 2006 Con i timer è abbastanza semplice....Prova una cosa del tipo:L MW0 (il tempo rampa richiesto in base tempi 0.1 secondi, ad es. se vuoi 10 secondi varrà 100)ITB (lo converto in BDC, è richiesto dalla notazione timer Siemens) L W#16#1000OW (gli aggiungo un 1 davanti => base dei tempi 0.1 secondi) U M ARRESTO MOTORE (quando questo Merker va a 1, avvia il timer)SE T 2LC T 2 (carica il valore attuale del timer)BTI (lo trasforma da BDC a intero)T MW2 (MW2 parte da 100 -mw0- quando inizi a contare e termina a 0)a questo punto puoi usare il valore di conteggio attuale MW2 oppure MW0-MW2, come preferisci, per calcolare la tua funzione.E' possibile usare anche la risoluzione del 0.01 sec, ma in questo caso con i timer Siemens arrivi al max a 9.99 secondi (che è meno di 10.00, va beh..., se vuoi far così togli le istruzioni L W#16#1000 e OW)Oppure, alternativa, usi OB35 (OB richiamato a tempo), lo richiami ad es. ogni 10ms ed incrementi un contatore ad ogni chiamata di OB35.Ciao, Emanuele
tode72 Inserita: 5 luglio 2006 Autore Segnala Inserita: 5 luglio 2006 Grazie mille Emanuele. Sei stato utilissimo. Proverò il tutto appena andiamo in fase di collaudo e comunque credo che utilizzerò la stada di caricare il valore del timer.Grazie mille ancora.
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