Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Convertir las bases de datos del PLCnext Datalogger nativo en archivos CSV

El registro de valores de una aplicación industrial es una característica principal para muchos clientes y, en algunas aplicaciones, la cantidad de variables puede ser realmente alta, por lo que se requiere una forma nativa y fácil de configurar este registro de datos.

A continuación, nos sumergiremos en el componente del servicio de registro de datos nativo y veremos cómo podemos generar un archivo CSV desde este servicio.


Puede encontrar más información sobre los componentes del servicio de registro de datos en estos enlaces:

Una vez que haya configurado las sesiones de registro de datos, tendrá un archivo *.db que contiene todos los valores registrados de las variables. Este archivo *.db es un archivo de base de datos, pero este formato necesita una herramienta como Sqlite3 o un navegador DB si queremos explorar los valores.

Muchos clientes ya están familiarizados con los archivos *.csv, por lo que veremos cómo exportar esta base de datos a un archivo csv. La herramienta Sqlite3 presente en cada controlador PLCnext proporciona todas las herramientas necesarias para realizar esta exportación.

Cuando se crea la base de datos, podemos establecer el nombre que queremos para la base de datos, pero no podemos establecer un nombre específico para la tabla presente en la base de datos que contiene los valores. Afortunadamente la herramienta Sqlite3 nos puede ayudar mostrándonos las tablas presentes en la base de datos, con el comando “Sqlite3 .tables”.
Puede encontrar todos los comandos específicos en la página de ayuda de Sqlite3 o en esta página:Sqlite3.

Cuando sabemos el nombre de la tabla, podemos seleccionar todos los datos de esta tabla y exportar estos datos a un archivo csv.

Para facilitar un poco el proceso, te vincularé dos scripts para hacer una exportación desde una base de datos.
¡Por supuesto que puedes adaptar el guión a tus necesidades!

Lamentablemente, no podemos cargar archivos *.sh, por lo que a continuación tendrá el contenido de los dos archivos.

Primero, el archivo para el formato de marca de tiempo ISO8601:

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

Y el segundo archivo para el formato de marca de tiempo RAW:

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 estos archivos serán secuencias de comandos, no olvide agregar el indicador ejecutable en el archivo:

chmod +x ExportSQL2CSV_*.sh

Entonces podemos llamar al script. Aquí está la llamada del guión:

./ExportSQL2CSV_ISO.sh <PathToDatabase>

Cuando termine el script, encontrará un archivo CSV con el nombre de su base de datos y la fecha y hora de la primera entrada de la base de datos como la siguiente:

Ahora tiene un archivo CSV con todos los datos que registró utilizando los componentes nativos del servicio DataLogger.

Puedes ir más allá automatizando la creación de este archivo cada hora o cada día con la herramienta cron .

¡Si tiene alguna pregunta o comentario, no dude en contactarnos!


Tecnología Industrial

  1. La interfaz de línea de comandos
  2. Manejo de archivos C
  3. C - Archivos de encabezado
  4. De CM a EMS a MSP:la evolución de una industria
  5. COVID-19 ha impulsado la impresión 3D en el centro de atención
  6. ¿Cómo puedo aprovechar al máximo mi inversión en generación de oportunidades de venta?
  7. Las 4 industrias que más se benefician del aprendizaje automático
  8. La integración de la norma ISO 9001 en la estrategia de los fabricantes
  9. ¿Qué es un archivo Mill?
  10. Sirviendo archivos estáticos con Go
  11. Use la interfaz IXMLSerializable para completar una clase desde un archivo XML