Vai al contenuto
PLC Forum


Operazioni di scorrimento e rotazione


mauriziomarr

Messaggi consigliati

Salve vorrei sapere qualcosa in più sui comandi spostamento/rotazione tipo:

- SHR_I

- SHR_DI

- ecc.ec.

la mia domanda è:

sono segnali (di ingresso) che arrivato da encoder rotativi?

sono segnali (di ingresso) che arrivano da sensori di spostamento?

 

sinceramente non ho capito di cosa si tratta, se qualcuno gentilmente potrebbe aiutarmi magari con qualche esempio concreto

Grazie

Link al commento
Condividi su altri siti


Forse ti riferisci a Istruzioni SHR e SHL, sono operazioni di scorrimento sui registri SHR a destra e SHL a sinistra.

Dal manuale:

 

"Utilizzare le istruzioni di scorrimento (SHL e SHR) per scorrere il
pattern di bit del parametro IN. Il risultato viene assegnato al
parametro OUT. Il parametro N specifica il numero di posizioni di
bit fatte scorrere:
 SHR: fa scorrere un pattern di bit verso destra
 SHL: fa scorrere un pattern di bit verso sinistra"

 

Ciao

Link al commento
Condividi su altri siti

E' vero avete ragione mi sono espresso male

 

io mi riferivo a tutte le operazioni di scorrimento/rotazione, letto le spiegazioni sulla guida in linea, ma onestamente mi dice ben (forse è causa mia)........... ma mi servirebbe un esempio pratico

 

Link al commento
Condividi su altri siti

Ti faccio un esempio semplicissimo.

Immagina di voler dividere per 4 una variabile intera, ti basta eseguire 2 volle SHR_I e nella variabile assegnata ad OUT ti ritrovi il valore diviso per 4.

 

Questa è una delle tante applicazioni possiibli.

 

 

Link al commento
Condividi su altri siti

Se devi fare divisioni, moltiplicazioni per multipli di 2 gli shift sx o dx sono il metodo più veloce come tempo di CPU.

Servono anche per altri scopi, però.

 

Domanda fondamentale: quali sono le tue conoscenze di programmazione?

Link al commento
Condividi su altri siti

Buon Girono.

Io voglio memorizzare dei valori della produzione, tipo ultimi 100 dosaggi fatti da visualizzare e in più sommarli tutti per fare il totale.

Avevo pensato di usare un array da 100 tipo dati DINT. Ma in KOP non ce un blocco be adatto per fare lo shift di questo array.

Avete un suggerimento..

 

Link al commento
Condividi su altri siti

Il suggerimento è quello di aprire una discussione specifica per il tuo problema.

Accodarsi non è consentito dal regolamento perchè si crea confusione nelle rispsote.

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...