urci56 Inserito: 25 giugno 2011 Segnala Share Inserito: 25 giugno 2011 Buongiorno a tutti;Mi chiamo Stefano e sono un consulente che si occupa di progettazione e software; la mia zona base operativa è il Lazio.Il mio questito è: Con una configurazione micrologix 1400 e una espansione ingrssi analogici IF4, come si può velocizzare al massimo la lettura del valore della variabile.Considerando che un solo ingresso del modulo è utilizzato (il primo) e che già ho impostato i filtri di lettura a 130 ms (il minimo), noto nella mia applicazione ancora un considerevole ritardo di lettura.In ingresso al modulo è connesso un trasduttore lineare (0-10v) per la lettura della corsa di un azionamento lineare che va veramente molto piano (tipo 1 mm /sec ), naturalmente i ritardi di lettura provocano degli errori di posizionamento.Avete qualche consiglio da darmi?GrazieSaluto Link al commento Condividi su altri siti More sharing options...
del_user_27683 Inserita: 27 giugno 2011 Segnala Share Inserita: 27 giugno 2011 Come espediente software si può servire richiamare la routine che fa il posizionamento il più spesso possibile, prima di valutare la posizione si può mettere l'istruzione di immedate IIM e appena dopo aver dato l'uscita di arresto l'analoga IOM. In ogni caso conviene anticipare il movimento.Esiste anche un scheda analogica combo ma non so se è più reattiva.ciao Link al commento Condividi su altri siti More sharing options...
urci56 Inserita: 27 giugno 2011 Autore Segnala Share Inserita: 27 giugno 2011 Grazie:appena posso provo e vi faccio sapere.Saluti Link al commento Condividi su altri siti More sharing options...
urci56 Inserita: 30 giugno 2011 Autore Segnala Share Inserita: 30 giugno 2011 Ho provato con l'istruzione IIM, purtroppo non funziona sulle espansioni del 1400. Come da . on line.Se avete qualche altra idea......Ciao Link al commento Condividi su altri siti More sharing options...
stefano79 Inserita: 30 giugno 2011 Segnala Share Inserita: 30 giugno 2011 La lettura della variabile non puoi velocizzarla più di così, il filtro minimo come hai scritto è do 130ms, quindi alla velocità di 1mm/s hai una tolleranza di circa 0.13mm.Avendo più caratteristiche della tua applicazione si potrebbe capire meglio come si può fare, comunque io farei un interrupt a tempo di 10ms con all' interno la lettura del trasduttore lineare e scrittura delle variabili per il riferimento e i calcoli per il PID, sul tutorial di Livio Orsini su i controlli di regolazione è ben spiegato.Per diminuire la tolleranza l'unico modo è ridurre la velocità in fase di avvicinamento con una rampa fino alla velocità che ti permette la risoluzione desiderata e poi tronchi il riferimento quando hai raggiunto la quota impostata.Spero di essere stato utile.Ciao! Link al commento Condividi su altri siti More sharing options...
k6233 Inserita: 7 ottobre 2011 Segnala Share Inserita: 7 ottobre 2011 (modificato) Ti sparo un idea ma non so dirti se è corretta oppure è una cavolata...Dal momento che con il filtro a 0 il tempo di conversione è esagerato, mi viene da pensare che la scheda utilizzi un solo A/D che viene multiplexato tra i 4 ingressi.Se così fosse, la conversione avviene in un canale alla volta quindi una ogni 32mS circa, potresti provare a collegare tutti e quattro i canali in parallelo e prendere come valore utile l'ultimo in cui vedi un cambiamento.Lo so, è una mezza porcheria, ma magari potrebbe funzionare. Modificato: 7 ottobre 2011 da k6233 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