temporaneamente Inserito: 19 aprile 2009 Segnala Inserito: 19 aprile 2009 Ciao a tutti, cos'è esattamente il registro di scorrimento in LOGO! e per cosa può essere utilizzato??
NoNickName Inserita: 19 aprile 2009 Segnala Inserita: 19 aprile 2009 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 cialda2) estrusione del gelato3) spruzzo del cioccolato4) posa della granella di nocciole5) imballaggioSe 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.
temporaneamente Inserita: 19 aprile 2009 Autore Segnala Inserita: 19 aprile 2009 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
NoNickName Inserita: 21 aprile 2009 Segnala Inserita: 21 aprile 2009 (modificato) Esatto. Copio incolloDescrizione del funzionamentoCon 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: 21 aprile 2009 da NoNickName
bele Inserita: 21 aprile 2009 Segnala Inserita: 21 aprile 2009 (modificato) cos'è esattamente il registro di scorrimento in LOGO! e per cosa può essere utilizzato??Oltre a quello che ti ha spiegato NoNickNamepuoi 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: 21 aprile 2009 da bele
NoNickName Inserita: 21 aprile 2009 Segnala Inserita: 21 aprile 2009 Giusta anche la soluzione proposta da bele, anche se io quello specifico problema l'ho risolto con un contatore avanti indietro.
bele Inserita: 21 aprile 2009 Segnala Inserita: 21 aprile 2009 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
NoNickName Inserita: 22 aprile 2009 Segnala Inserita: 22 aprile 2009 Faccio prima a postarti questa sera il mio schema di rotazione a tempo e ad allarme di 2/3 pompe.
andrea968 Inserita: 26 aprile 2009 Segnala Inserita: 26 aprile 2009 Ciao, puoi inviarla anche a me?Grazie
NoNickName Inserita: 26 aprile 2009 Segnala Inserita: 26 aprile 2009 No. E' roba mia. Se volete la vendo.
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