luca1979 Inserito: 15 febbraio 2006 Segnala Share Inserito: 15 febbraio 2006 ciao a tutti ho il seguente problema..ho 4 finecorsa di 4 utenze diverse. all'arrivo di uno qualsiasi devo far aprire una certa elettrovalvola e un compressore per la sua pulizia...il problema è che mentre sto usando il compressore per la pulizia di una elettrovalvola non posso gestire un altro arrivo di un finecorsa quindi devo ritenenere il suo arrivo e gestirlo non appena il compressore ha finito il lavoro...però potrei anche avere 3 finecorsa assieme in attesa della lavorazione...il problema è che deve gestire l'arrivo dei finecorsa in modo da andare a servire per primo il primo che è arrivato e cosi via.....qualche suggerimento?? mi sono venute in mente solo idee molto complicate...grazie Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 15 febbraio 2006 Segnala Share Inserita: 15 febbraio 2006 (modificato) Potresti fare cosìUtilizza du e variabiliInIn1Prima di ogni lettura ingressi faiIn1 = InIn = nuova lettura ingressiA questo punto applichi la logicaFrontUp = (In1 xor In) and In(prima lo xor poi and)in FrontUp hai i bit a 1 di tutti gli ingressi cambiati ( valore 0-->1) tra le due letture.A questo punto puoi ordinare gli arrivi. Se Tra due letture cmbaino due ingressi stabilisci una priorità interna (es. dal bit meno significativo al più significativo).Se ti serve il fornte di discesa fai FrontDn (In1 xor In) and In1 hai i bit a 1 di tutti gli ingressi cambiati 1-->0 tra le due letture Modificato: 15 febbraio 2006 da accacca Link al commento Condividi su altri siti More sharing options...
Piero Azzoni Inserita: 15 febbraio 2006 Segnala Share Inserita: 15 febbraio 2006 quanto e' critica la discriminazione temporale in rapporto allo scan time ? Link al commento Condividi su altri siti More sharing options...
prog_jlaw Inserita: 16 febbraio 2006 Segnala Share Inserita: 16 febbraio 2006 personalmente userei il blocco FIFO con lunghezza 4 visto che hai 4 diverse chiamate ....il blocco gestisce in automatico le chiamate che arrivano e restituisce( in base alla tua programm. la sequenza delle chiamate nell'ordine in cui sono arrivate)... Link al commento Condividi su altri siti More sharing options...
irpick Inserita: 16 febbraio 2006 Segnala Share Inserita: 16 febbraio 2006 però potrei anche avere 3 finecorsa assieme in attesa della lavorazione...il problema è che deve gestire l'arrivo dei finecorsa in modo da andare a servire per primo il primo che è arrivato e cosi via.....qualche suggerimento?? mi sono venute in mente solo idee molto complicate...grazieQuanto è grande il buffer eventi da gestire? Potresti crearti un array di dati (interi) circolare a cui assegnare 1-2-3-4-in funzione del Fn attivato.. Link al commento Condividi su altri siti More sharing options...
luca1979 Inserita: 17 febbraio 2006 Autore Segnala Share Inserita: 17 febbraio 2006 ragazzi la soluzione che ho adottato è la seguente...ogni volta che mi arriva un certo finecorsa mi fa partire il relativo timer e pooi con un confronto sui tempi decido chi è il primo ad essere arrivato e poi gestisco le varie partenze.....grazie comunque per i consigli Link al commento Condividi su altri siti More sharing options...
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