Vai al contenuto
PLC Forum


Registro Di Scorrimento - ?


temporaneamente

Messaggi consigliati


Registro di scorrimento è una traduzione del piffero di "bit shift", una locuzione inglese che sta a definire una tecnica di gestione di numeri e stati digitali molto efficiente a bassissimo livello.

Da un punto di vista matematico Fare un bit shift di un numero in rappresentazione binaria ad 8 bit (unsigned short integer) , n bit verso sinistra equivale a moltiplicare tale numero per 2^n, mentre shiftarlo verso destra equivale a dividerlo per 2^n.

Questa tecnica può essere usata per fare delle operazioni su 8 uscite digitali (8 bit) in maniera molto rapida.

Oppure puoi registrare lo stato di un evento ponendo un bit a 1 o 0 e poi al ciclo successivo shiftarlo, così da avere la memoria eventi di 8 cicli di programma. Un esempio che ho trovato su internet è una macchina per fare i coni gelato. Un ciclo si compone di

1) posa della cialda

2) estrusione del gelato

3) spruzzo del cioccolato

4) posa della granella di nocciole

5) imballaggio

Se il sensore del passo 1 rivela che la cialda è rotta, è inutile provvedere a estrudere il gelato sprecandolo e sporcando la macchina, quindi quel ciclo avrà il bit = 0, e di conseguenza shiftandolo non avrò l'estrusione del gelato, shiftandolo nuovamente non avrò lo spruzzo del cioccolato, ecc.... cioè fintanto che il bit = 0, l'evento corrispondente a quella posizione del pattern non sarà eseguito.

Link al commento
Condividi su altri siti

temporaneamente

questo significa quindi che nel LOGO! il registro di scorrimento non memorizza alcun dato di sistema (ciclo iniziale; errore matematico ecc), ma rappresenta un byte a completa disposizione dell'utente?

Grazie

Link al commento
Condividi su altri siti

Esatto. Copio incollo

Descrizione del funzionamento

Con un fronte di salita (passaggio da 0 a 1) nell'ingresso Trg (trigger) la funzione legge il valore dell'ingresso In.

A seconda della direzione di scorrimento questo valore viene acquisito nel bit del registro di scorrimento S1 o S8:

Scorrimento verso l'alto: S1 assume il valore dell'ingresso In; il valore precedente di S1 viene fatto scorrere verso S2; il valore precedente di S2 viene fatto scorrere verso S3 ecc.

Scorrimento verso il basso: S8 assume il valore dell'ingresso In; il valore precedente di S8 viene fatto scorrere verso S7; il valore precedente di S7 viene fatto scorrere verso S6 ecc.

Sull'uscita Q viene emesso il valore del bit del registro di scorrimento parametrizzato, [ndr ad es. posso emettere sull'uscita Q il valore del bit S5].

Se la ritenzione non è attiva, in seguito a una caduta della rete elettrica la funzione di scorrimento ricomincia da S1 o S8.

Nell'esempio sopra riportato, il sensore della cialda sarà collegato a In e una serie di relay set-reset all'uscita Q, corrispondenti rispettivamente all'estrusione del gelato, spruzzo del cioccolato, ecc.... Purtroppo il logo dispone di 1 solo registro di scorrimento e quindi il blocco può essere inserito una sola volta in ogni programma. E' per questo che devono essere usati dei relè set-reset come memoria flip flop in luogo dei bit del registro.

Per rilevare un errore matematico, esiste un altro blocco a partire dalla versio 0BA6, che si chiama "Rilevazione errore matematica analogica" che cambia lo stato di una uscita nei casi di overflow o divisione per zero.

Modificato: da NoNickName
Link al commento
Condividi su altri siti

cos'è esattamente il registro di scorrimento in LOGO! e per cosa può essere utilizzato??

Oltre a quello che ti ha spiegato NoNickName

puoi utilizzare lo shift register per costruirti un bel relè ciclico fino a 8 posizioni, io l'ho utilizzato per comandare ciclicamente 3 pompe sommerse, naturalmente mi sono creato un relè ciclico a 3 posizioni, con il logo non sono riuscito a trovare altre soluzioni.

Ciao

Modificato: da bele
Link al commento
Condividi su altri siti

anche se io quello specifico problema l'ho risolto con un contatore avanti indietro.

azz..... sai che non ci sono riuscito con il contatore, devo dire che non uso molto spesso il Logo!, ma è possibile fare una comparazione sul valore attuale del contatore ?

Ciao

Link al commento
Condividi su altri siti

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