Vai al contenuto
PLC Forum


Lettura Rotazione Encoder Senza Usare Interrupts


Messaggi consigliati

Inserito:

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.


Inserita:

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 impulsi

La scheda va configurata e vai a leggere le informazioni quando ti servono.

La scheda e' un High Speed Counter.

Inserita:

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 :)

Inserita:

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 impulsi

Massimo tempo di ciclo 6ms

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

Inserita:

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

Inserita:

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

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