Vai al contenuto

Utilizzo FIFOFile e durata scheda SDCard

Home Forum Programmazione IEC 61131 (LogicLab) Utilizzo FIFOFile e durata scheda SDCard

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #53074
    Guido
    Partecipante

    Ho la necessità di salvare un flusso dati campionati ogni 1,1mSec (Fast ADC 12bit) sia nella scheda SD che inviarli in tempo reale ad un server esterno (con il protocollo più adatto, in ordine di preferenza: REST, TCP, UDP, MODBUS). Il flusso non è continuo, ma attivato a richiesta con la generazione di un blocco di circa 2000 campionamenti della dimensione di ~16byte (se binario) oppure di ~64byte se ASCII (ordini di grandezza) contenenti un timestamp, forza, spazio e stato, generati al massimo ogni 1,1mSec (i record vengono salvati solo se Forza, Spazio o stato superano dei valori di trigger impostabili).

    Per preservare un backup delle prove effettuate ma anche per prevenire la durata della memoria SD, pensavo di utilizzare un file differente per ciascuna prova. Nella documentazione ho trovato descritto il blocco funzione FIFOFile, che gestisce un registro FIFO su file.

    E’ possibile utilizzarlo per il mio scopo, con FIFOSize e RLimit molto alti in modo che i dati non vengano mai sovrascritti e con esso alimentare la trasmissione dei dati al server remoto?

    Al cambiamento del parametro FIFOFile cosa succede (il file precedente rimane o viene cancellato)?

    Lo scopo è quello di cambiare il nome del file conservando il precedente con la possibilità di rileggere il file in un secondo momento (per questo serve conoscere il suo formato, oppure se è possibile forzare i parametri del blocco funzione FIFOFile per rileggerne il contenuto).

    Con le tempistiche sopra descritte ritiene possibile utilizzare il blocco funzione RESTClient, anche utilizzando la sua FIFO per salvare i dati nella scheda SD come sopra descritto?

    Dove posso trovare la documentazione del protocollo REST implementato in RESTClient?

    #53078
    Sergio Bertana
    Amministratore del forum

    La durata delle schede SDCard è un tema a cui molti non prestano attenzione, le memorie FLASH utilizzate nelle schede SDCard come quelle utilizzate nell’hard disk SSD del Vs PC hanno una durata, sopportano un numero definito (Molto grande) di cicli di scrittura. Le SDCard che noi utilizziamo gestiscono il Wear leveling quindi spalmano la scrittura su tutta l’area di memoria.

    Utilizzando nomi di files diversi per ogni file creato aggiungi un ulteriore livello di spalmatura dei dati nella memoria.

    Non trovo adatto il FB FIFOFile per la tua necessità, intanto perchè il file è creato in  un formato binario proprietario ed il FB è realizzato per poter gestire l’inserimento e la lettura dei dati dal registro FIFO e non per preservarne il contenuto nel tempo.

    Quindi ti consiglio di scrivere i dati in un file ascii formato CSV se vuoi un file intellegibile facilmente (Vedi topic), oppure un file binario a record di lunghezza fissa se vuoi un file ottimizzato in lunghezza.

    Una volta creato i vari files di log (Puoi usare come none data/ora di creazione) puoi eseguirne la lettura con  un client FTP oppure inviarli automaticamente su di un server FTP remoto (Vedi topic).

    Per quanto riguarda il formato dei dati inviati dal FB RESTClient ti rimando alla sua documentazione.

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.