Livio Orsini Inserita: 8 dicembre 2009 Segnala Share Inserita: 8 dicembre 2009 (modificato) ...era solo che il manuale parlava della risoluzione 1ms,Un conto è la risoluzione, un altro è il minimo tempo di temporizzazione ripetibile con sufficiente precisione.Se tu fai un timer a 10 ms e vai a misurare il tempo con un buon oscilloscopio digitale (anche un Tecktronix economico è sufficiente ) noti che la misura oscillerà tra circa 9.95 ms e 10.05 ms; una parte di questo jitter è imputabile al timer ed un'altra agli erori di misura.Ora ripeti con un tempo pari a 11 ms; propabilmente avrai il medesimo errore assoluto 10.95ms - 11.05ms.Questo con CPU che non fa niente altro. Carica nella cpu dei programmi che ogni volta che son richiamati ripetono un certo numero di istruzioni, tanto per impegnare la CPU. Ripeti le misure e le tolleranze saranno sempre più o meno le stesse, anche se il tempo di ciclo del PéLC varia di molto.Ripeti l'esperimento con timer ad 1 ms e....auguri.Comunque, tanto per tornare al tuo problema. Ammesso e non concesso che tu possa fare un timer precisissimo e costante ad 1 ms non servirebbe a risolvere il tuo problema. Se devi misurare un tempo che può essere >= 37 ms con sufficiente precisione necessiti di un timer con risoluzione di 100us, o meglio di un contatore che conti un clock di 100us di periodo. un periodo di 100us significa frequenza di 10 kHz, frequenza che il contatore del 200 conta tranquillamente.Ora ti do la soluzione facile e semplice al tuo problema, visto che sino adesso si è scritto solo di quello che non serve. Non avrà la precisione di un multanova, però ci va vicino Ti procuri un oscillatore quarzato da qaulche Mhz, poi lo dividi fino ad ottenere i tuoi 10 kHz con ampiezza di 24V, se non sai come fare apri una discussione sul forum verde, sezione elettronica; vedrai che io o ASMO e qualcun altro qualche drittsa te la daremo. Metti questo segnale in un ingresso di conteggio. Poi usi un sensore per abilitare il conteggio e l'altro per stopparlo. Così di sei fatto il tuo multanova.Attenzione a come usi i due segnali: devono entrare anch'essi negli ingressi veloci. Modificato: 8 dicembre 2009 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
elettrodino Inserita: 8 dicembre 2009 Segnala Share Inserita: 8 dicembre 2009 Livio, io mi riferivo al richiamo di un'interrupt di sistema specifico parametrabile.Dal manuale di Microwin:I byte di merker speciale 34 e 35 controllano l'intervallo degli interrupt 0 e 1. Il valore dell'intervallo può essere specificato (in incrementi di 1 ms) tra 1 ms e 255 ms** e viene assunto dalla CPU quando il relativo evento di interrupt viene assegnato ad una routine di interrupt. Per modificare l'intervallo si deve riassegnare l'evento alla stessa routine o ad una routine diversa. Per concludere l'evento di interrupt lo si deve separare dalla routine. Nomesimbolico nell'S7-200 Indirizzo SM Intervallo degli interrupt a tempo in millisecondi Intrvl_interrupt _0 SMB34 Interrupt a tempo 0: valore dell'interrupt a tempo (in incrementi di 1 ms, da 1 a 255 ms**). Intrvl_interrupt_1 SMB35 Interrupt a tempo 1: valore dell'interrupt a tempo (in incrementi di 1 ms, da 1 a 255 ms**). **Per la serie 21x, l'intervallo di tempo (in incrementi di 1 ms) è compreso fra 5 ms e 255 ms.Concordo che utilizzando timer normali il risultato è quello che hai prospettato. Link al commento Condividi su altri siti More sharing options...
Cagnulein Inserita: 8 dicembre 2009 Segnala Share Inserita: 8 dicembre 2009 [riflessione offtopic] non trovate anche voi, che, con plc "commerciali", ci si complichi un po' troppo la vita anche per automazioni "banali"? Ora, io non voglio tirare acqua al mulino di piccole ditte italiane, pero', questa e' una lampante dimostrazione di come noi italiani siamo piu' bravi, ma di come riusciamo comunque ad autoignorarci [/riflessione offtopic] Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 dicembre 2009 Segnala Share Inserita: 9 dicembre 2009 (modificato) Concordo che utilizzando timer normali il risultato è quello che hai prospettatoForse non mi son spiegato chiaramente, anche se a me sembrava dia verlo fatto.Anche con l'uso di interrupt, quando sis cende al di sotto dei 5 ms la precisione diventa un fatto....molto opinabile, come ho descritto. Io le prove le ho effettuate con un S7-226XM, qualche anno fa, perchè avevo un problema molto ... stringente. E' pur vero che l'ultima serie di CPU è un poco più veloce, ma non credo che le cose cambino sostanzialmente.Poi vorrei vedere cosa gira in un porogramma di PLC che ogni 1ms è interrotto, e l'interruzione dovrà pur fare un minimo di elaborazione. Diciamo che tra ingresso e uscita dalla sub di interrupt passano, siamo ottimisti, 300us, rimangono 0.7ms per elaborare un normale programma (a spizzichi e bocconi). Auguri! E non per le feste di fine anno Modificato: 9 dicembre 2009 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
roberto8303 Inserita: 9 dicembre 2009 Autore Segnala Share Inserita: 9 dicembre 2009 Auguri! E non per le feste di fine anno 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