Início > Fórum > Programação IEC 61131 (LogicLab) > Uso de arquivos FIFO e vida útil do cartão SDCard
- Este tópico tem 1 resposta, 1 participante e foi atualizado pela última vez 4 anos, 1 meses atrás da Sergio Bertana.
-
autorPublique
-
Fevereiro 10, 2020 em 7: 16 am #53074Guidoparticipante
Preciso salvar um fluxo de dados amostrado a cada 1,1mSec (Fast ADC 12bit) no cartão SD e enviá-los em tempo real para um servidor externo (com o protocolo mais adequado, na ordem de preferência: REST, TCP, UDP, MODBUS ). O fluxo não é contínuo, mas ativado a pedido com a geração de um bloco de cerca de 2000 amostras do tamanho de ~ 16 bytes (se binário) ou ~ 64 bytes se ASCII (ordens de grandeza) contendo um registro de data e hora, força, espaço e estado, gerado no máximo a cada 1,1mSec (os registros são salvos apenas se Força, Espaço ou estado excederem os valores de gatilho configuráveis).
Para preservar um backup dos testes realizados, mas também para impedir a duração da memória SD, pensei em usar um arquivo diferente para cada teste. Na documentação, encontrei o bloco de função FIFOFile descrito, que gerencia um registro FIFO em arquivo.
É possível usá-lo para o meu propósito, com FIFOSize e RLimit muito altos para que os dados nunca sejam sobrescritos e com isso alimentem a transmissão de dados para o servidor remoto?
O que acontece se o parâmetro FIFOFile for alterado (o arquivo anterior permanece ou é excluído)?
O objetivo é alterar o nome do arquivo, mantendo o anterior com a possibilidade de relê-lo posteriormente (para isso, é necessário conhecer seu formato ou se você pode forçar os parâmetros do bloco de função FIFOFile a reler seu conteúdo).
Com os tempos descritos acima, você acha que é possível usar o bloco de funções RESTClient, mesmo usando seu FIFO para salvar dados no cartão SD, como descrito acima?
Onde posso encontrar a documentação do protocolo REST implementado no RESTClient?
Fevereiro 10, 2020 em 7: 31 am #53078Sergio BertanaAdministrador do fórumA duração dos cartões SDCard é um tópico ao qual muitos não prestam atenção, as memórias FLASH usadas nos cartões SDCard, como as usadas no disco rígido SSD do seu PC, têm uma duração, suportam um número definido (Muito grande) de ciclos de escrita. Os SDCards que usamos gerenciam o nivelamento de desgaste, portanto, espalham a escrita por toda a área da memória.
Usando nomes de arquivos diferentes para cada arquivo criado, adicione uma camada adicional de dados que se espalha na memória.
Não acho o FIFOFile FB adequado às suas necessidades, em primeiro lugar porque o arquivo é criado em um formato binário proprietário e o FB é projetado para gerenciar a inserção e leitura de dados do registro FIFO e não para preservar seu conteúdo ao longo do tempo.
Portanto, recomendo que você escreva os dados em um arquivo no formato ASCI CSV, se desejar um arquivo facilmente inteligível (Ver tópico) ou um arquivo binário com um registro de tamanho fixo, se você desejar um arquivo otimizado em tamanho.
Depois de criar os vários arquivos de log (você pode usar a data / hora de criação como nenhum), você pode lê-los com um cliente FTP ou enviá-los automaticamente para um servidor FTP remoto (Ver tópico).
Quanto ao formato dos dados enviados pelo FB RESTClient, remeto para o documentação.
-
autorPublique
- Você deve estar logado para responder a este tópico.