Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

Convertendo os bancos de dados do PLCnext Datalogger nativo em arquivos CSV


O registro de valores de uma aplicação industrial é uma característica principal para muitos clientes, e em algumas aplicações o número de variáveis ​​pode ser muito alto, por isso é necessária uma forma nativa e fácil de configurar este registro de dados.

Abaixo, vamos mergulhar no componente de serviço de registro de dados nativo e ver como podemos gerar um arquivo CSV a partir deste serviço.


Você pode encontrar mais informações sobre os componentes do Datalogging Service nestes links:

Uma vez que você configurou as sessões de Datalogging, você terá um arquivo *.db contendo todos os seus valores registrados das variáveis. Este arquivo *.db é um arquivo de banco de dados, mas este formato precisa de uma ferramenta como Sqlite3 ou um DB Browser se quisermos navegar pelos valores.

Muitos clientes já estão familiarizados com os arquivos *.csv, então veremos como fazer uma exportação deste banco de dados para um arquivo csv. A ferramenta Sqlite3 presente em cada controlador PLCnext está fornecendo todas as ferramentas necessárias para realizar esta exportação.

Quando o banco de dados é criado podemos definir o nome que queremos para o banco de dados, mas não podemos definir um nome específico para a tabela presente no banco de dados que contém os valores. Felizmente a ferramenta Sqlite3 pode nos ajudar mostrando as tabelas presentes no banco de dados, com o comando “Sqlite3 .tables”.
Você pode encontrar todos os comandos específicos na página de ajuda do Sqlite3 ou nesta página:Sqlite3.

Quando sabemos o nome da tabela, podemos selecionar todos os dados dessa tabela e exportar esses dados para um arquivo csv.

Para facilitar um pouco o processo, vou vincular dois scripts para fazer uma exportação de um banco de dados.
Claro que você pode adaptar o script para suas necessidades!

Infelizmente não podemos fazer upload de arquivos *.sh, então abaixo você terá o conteúdo dos dois arquivos.

Primeiro, o arquivo para o formato ISO8601 Timestamp:
ExportSQL2CSV_ISO.sh
#!/bin/bash

name_of_database="${1:?Missing database}"
name_of_database_no_ext=${name_of_database::-3}

#Get the name of the table
name_of_table=$(sqlite3 $name_of_database .ta)

#Get the DateTime of the first entry to name the output file
DateTime=$(sqlite3 $name_of_database "SELECT strftime('%Y_%m_%d_%H_%M_%S',Timestamp) from $name_of_table limit 1;")

#Create the filename
output_filename=${name_of_database_no_ext}_${DateTime}.csv

#Make the export to the csv file
sqlite3 -header -csv -separator ";" $name_of_database "SELECT * from $name_of_table;"\
> $output_filename

E o segundo arquivo para o formato RAW Timestamp:
ExportSQL2CSV_RAW.sh
#!/bin/bash

name_of_database="${1:?Missing database}"
name_of_database_no_ext=${name_of_database::-3}

#Get the name of the table
name_of_table=$(sqlite3 $name_of_database .ta)

#Get the DateTime of the first entry to name the output file
DateTime=$(sqlite3 $name_of_database "SELECT strftime('%Y_%m_%d_%H_%M_%S',(Timestamp - 4611686018427387904)/10000000 - 62135596800,'unixepoch') from $name_of_table limit 1;")

#Create the filename
output_filename=${name_of_database_no_ext}_${DateTime}.csv

#Make the export to the csv file
sqlite3 -header -csv -separator ";" $name_of_database "SELECT \
strftime('%Y-%m-%d %H:%M:%f',(Timestamp - 4611686018427387904)/10000000 - 62135596800,'unixepoch') AS Time,\
* from $name_of_table;"\
> $output_filename

Como esses arquivos serão script, não esqueça de adicionar o sinalizador executável no arquivo:
chmod +x ExportSQL2CSV_*.sh

Então podemos chamar o script. Aqui está a chamada do script:
./ExportSQL2CSV_ISO.sh <PathToDatabase>

Quando o script estiver pronto, você encontrará um arquivo CSV com o nome do seu banco de dados e o DateTime da primeira entrada do banco de dados como o seguinte:

Agora você tem um arquivo CSV com todos os dados que gravou usando os componentes de serviço DataLogger nativos.

Você pode ir ainda mais longe automatizando a criação desse arquivo a cada hora ou todos os dias com a ferramenta cron .

Se você tiver alguma dúvida ou observação, sinta-se à vontade para entrar em contato conosco!

Tecnologia industrial

  1. A interface da linha de comando
  2. C Manipulação de Arquivos
  3. C - Arquivos de cabeçalho
  4. De CM para EMS para MSP:A Evolução de uma Indústria
  5. COVID-19 tem impulso de impressão 3-D para o centro das atenções
  6. Como faço para obter o máximo do meu investimento em geração de leads?
  7. Os 4 setores que mais se beneficiam do aprendizado de máquina
  8. A integração da norma ISO 9001 na estratégia dos fabricantes
  9. O que é um arquivo Mill?
  10. Servindo arquivos estáticos com Go