rossiroberto Inserito: 13 novembre 2015 Segnala Inserito: 13 novembre 2015 Buongiorno a tutti!Su una cpu 317 2DP devo realizzare uno storico di variabili DINT a 32bit.Su questo storico devo realizzare uno scorrimento delle variabili , il classico FIFO.Le funzioni della libreria standard ,fifo e a FC84 att, vanno benissimo per il mio scopo ma permettono di fare scorrere dati in formato word (16 bit).Ho fatto una prova convertendo in ingresso e in uscita la variabile (32BIT->16BIT e poi 16BIT->32BIT) ma cosi la precisione lascia a desiderare.Volevo sapere se qualcuno mi sa indicare una libreria che gestisca un fifo con variabili a 32 bit o qualcosa da cui partire e studiare per poi modificarla per le mie esigenze. Grazie!!
ken Inserita: 13 novembre 2015 Segnala Inserita: 13 novembre 2015 potresti costruirla tu la funzione. potresti usare ad esempio sfc20 block move. o usare i puntatori.per sfc20 copi l'area di memoria tranne l'ultima dw. la incolli in un'area di appoggio di identiche dimensioni. la rimuovi sull'area di origine scrivendola dalla dword +n1.sulla prima dword scrivi il nuovo data e così via.
rossiroberto Inserita: 13 novembre 2015 Autore Segnala Inserita: 13 novembre 2015 Grazie per la risposta!Quello che proponi va bene per le variabili in ingresso (fc84) ma in uscita l'fc85 mi estrae non l'ultima dw ma l'ultima con valore maggiore di zero. (per quando la db non e' ancora "piena").Quindi dovrei fare una serie di confronti (>0) partendo dal fondo fino a trovare il primo valore ed estrarre quello...
pigroplc Inserita: 15 novembre 2015 Segnala Inserita: 15 novembre 2015 secondo me basterebbe aggiungere un puntatore che viene incrementato una volta quando si fa lo shift con la SFC20.Se il valore del puntatore è inferiore alla capacità del buffer basta andare a puntare il tag del (valore del puntatore -1) * 4.Ovviamente dopo aver copiato il valore in uscita ricordarsi di decrementare il puntatore, NON serve azzerarne il valore!
walterword Inserita: 16 novembre 2015 Segnala Inserita: 16 novembre 2015 devi usare puntatori a bit e formattare la cosa come ti interessa
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