Vai al contenuto

m.foschi2

Risposte nei forum create

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • in risposta a: Acquisizione encoder #58385
    m.foschi2
    Partecipante

    La mia applicazione può essere schematizzata in questo modo:da quando ricevo l’ingresso DI01 della CPU, verifico il conteggio encoder sulla DI00. Ho 2 quote obiettivo. Al raggiungimento della prima, devo alzare immediatamente una uscita DO00, e al raggiungimento della seconda, devo alzare una seconda uscita (per quest’ultima posso permettermi piccoli ritardi) DO01.

    Dovendo ridurre al minimo i vari ritardi, lavoro su una task fast da 0.3-0.4ms, uso l’ingresso veloce CPU per il conteggio (al limite del vincolo hardware dei suoi 10kHz di capacità di lettura, demandata alla SysGetCounter), e uso le due uscite integrate della CPU, risparmiando anche quei 300us di comunicazione tra CPU e moduli di espansione.

    Vedi qualche controindicazione in questa configurazione?

    La CPU più performante al momento che potrebbe fare al caso nostro è la Cortex M7 (la ARM9 Linux-PLC ha 2 in e 2out, ma, dal datasheet, non ha ingressi veloci). Vi sono imminenti rilasci di nuovi modelli?

    in risposta a: Acquisizione encoder #58303
    m.foschi2
    Partecipante

    Grazie per la risposta.

    La necessità di utilizzare gli ingressi della CPU è legata al fatto di avere il minor tempo ciclo sulla task fast, al fine di poterla eseguire anche a tempi di loop pari a 300-400 us, condizione che blocca la comunicazione con i moduli di espansione (in quanto <0.5ms)

    L’utilizzo che dovrei fare dell’encoder è solamente un tracking di prodotti su un nastro quando questo è in movimento. A nastro fermo non ho prodotti in attesa, quindi il problema che giustamente riporti tu, almeno per questa applicazione, non è presente.

    In quali CPU della serie SlimLine è implementata la quadratura encoder ?

    in risposta a: Acquisizione encoder #58277
    m.foschi2
    Partecipante

    La quadratura dell’encoder è stata abilitata sul modulo CPU CortexM7 (ho letto che era un work in progress) ?

    In alternativa, senza usare il modulo di espansione, posso solamente usare un ingresso veloce come semplice counter, quindi monidirezionale?

    in risposta a: Modificare il tempo di loop di una task #58266
    m.foschi2
    Partecipante

    Ho visto che, con il controller Cortex M7 (MPS54) posso impostare tempi di loop della task FAST fino a 100us, al di sotto di questo la funzione SysSetTaskLpTime restituisce un errore.

    La domanda è: cosa succede se il tempo di esecuzione della task (ExecutionTimeFastTask) diventa superiore al tempo di loop impostato al boot?

    Viene generato un errore? La task si interrompe con effetti non prevedibili, al fine ri rispettare il tempo di loop, oppure prosegue ugualmente? C’è modo di sapere se questo evento è successo?

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)