ridetek Inserito: 16 ottobre 2006 Segnala Inserito: 16 ottobre 2006 Salve,secondo voi e' possibile leggere il senso di rotazione di un encoder incrementale (A, B, Z) a basso numero di impulsi/giro semplicemente mediante l'uso di una scheda di ingressi veloci tipo la 1746-ITB16 di un SLC500 e senza usare intterrupts. Se si, come?Grazie.
Ron the bon Inserita: 16 ottobre 2006 Segnala Inserita: 16 ottobre 2006 Se non ricordo male per SLC500 c'e' una scheda che legge gli impulsi (non mi ricordo piu' il nome esatto).La scheda ha diverse funzioni:- Contatore di impulsi- Direzione di un encoder- Calcolo di una frequenza a partire dal numero di impulsiLa scheda va configurata e vai a leggere le informazioni quando ti servono.La scheda e' un High Speed Counter.
ifachsoftware Inserita: 16 ottobre 2006 Segnala Inserita: 16 ottobre 2006 Puoi farlo usando interrupts oppure con un PLC dedicato a fare solo quello ....In ogni caso mi sembra una gran cavolata visto che praticamente tutti i PLC anche i piu' piccoli sono dotati quasi sempre di serie della gestione di almeno un ingresso encoder con fasi A/B/Z ; e nel caso malaugurato non fosse il tuo caso , ti consiglio caldamente di spostarti su un PLC con tali caratteristiche.Ciao
Livio Orsini Inserita: 16 ottobre 2006 Segnala Inserita: 16 ottobre 2006 Se sia possibile o meno dipende da alcuni fattori: la massima frequenza degli impulsi, la risoluzione di lettura necessaria e il più lungo tempo di ciclo del PLC.Provo a chiarire con un esempio.Massima frequenza encoder: 1kHz (periodo = 1ms)Minima risoluzione di lettura: 10 impulsiMassimo tempo di ciclo 6msIn questo caso è possibile perchè, con un tempo di ciclo di <=6ms, 10 impulsi di risoluzione con periodo minimo pari a 1ms equivalgono ad un tempo minimo di 10ms ==> 10ms > 6ms.
ridetek Inserita: 16 ottobre 2006 Autore Segnala Inserita: 16 ottobre 2006 ringrazio tutti della risposta.mi e' impossibile comprare una scheda di conteggio veloce tipo la 1746-HSCE2 anche perche' il rack e' pieno. Non volevo mettere interrupts per non modificare i tempi di esecuzione del restante programma. Ma facendo due rapidi calcoli con i rapporti di riduzione, l'encoder mi fornisce alla fin fine 329 impulsi al secondo. Il periodo degli impulsi del canale A e B e' di circa 3 ms. Il tempo di ciclo del PLC e' approssimativamente di 20 ms. A questo punto capisco che senza interrupts non e' possibile. In caso provassi a metterne, e' preferibile usare quelli a tempo o a fronte di salita?Grazie
beppeconti Inserita: 16 ottobre 2006 Segnala Inserita: 16 ottobre 2006 Se ti basta leggere un solo canale l'interrupt deve avere un tempo di scansione minore della metà del periodo del tuo canale, se devi leggere entrambi i canali l'interrupt deve avere un tempo di scansione minore di 1/4 del periodo.Premesso che conosco il PLC SLC500, se la gestione degli Input e Output è fatta come nei PLC Siemens fai attenzione a come leggi gli ingressi, devi andare a leggere direttamente lo stato degli ingressi sulla periferica e non l'immagine degli ingressi interna al PLC.CIAo
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