Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Transitorio Temporale


Messaggi consigliati

Inserito:

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 condensatore

V(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:

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#1000

OW (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 2

LC 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

Inserita:

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.

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