Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Konvertieren der Datenbanken aus dem nativen PLCnext Datalogger in CSV-Dateien

Das Protokollieren von Werten aus einer industriellen Anwendung ist für viele Kunden ein Hauptmerkmal, und in einigen Anwendungen kann die Anzahl der Variablen sehr hoch sein, sodass eine native und einfache Möglichkeit zum Konfigurieren dieser Datenprotokollierung erforderlich ist.

Im Folgenden werden wir uns mit der nativen Datalogging-Dienstkomponente befassen und sehen, wie wir aus diesem Dienst eine CSV-Datei generieren können.


Weitere Informationen zu den Datalogging Service-Komponenten finden Sie unter diesen Links :

Sobald Sie die Datenprotokollierungssitzungen konfiguriert haben, verfügen Sie über eine *.db-Datei, die alle Ihre protokollierten Werte der Variablen enthält. Diese *.db-Datei ist eine Datenbankdatei, aber dieses Format benötigt ein Tool wie Sqlite3 oder einen DB-Browser, wenn wir die Werte durchsuchen möchten.

Viele Kunden sind bereits mit den *.csv-Dateien vertraut, daher werden wir sehen, wie diese Datenbank in eine csv-Datei exportiert wird. Das Sqlite3-Tool, das in jeder PLCnext-Steuerung vorhanden ist, stellt alle erforderlichen Tools für diesen Export bereit.

Wenn die Datenbank erstellt wird, können wir den gewünschten Namen für die Datenbank festlegen, aber wir können keinen bestimmten Namen für die Tabelle festlegen, die in der Datenbank vorhanden ist und die Werte enthält. Glücklicherweise kann uns das Sqlite3-Tool helfen, indem es die in der Datenbank vorhandenen Tabellen mit dem Befehl „Sqlite3 .tables“ anzeigt.
Sie finden alle spezifischen Befehle auf der Hilfeseite von Sqlite3 oder auf dieser Seite:Sqlite3.

Wenn wir den Namen der Tabelle kennen, können wir alle Daten aus dieser Tabelle auswählen und diese Daten in eine CSV-Datei exportieren.

Um den Vorgang ein wenig zu vereinfachen, verlinke ich Ihnen zwei Skripte, um einen Export aus einer Datenbank durchzuführen.
Natürlich können Sie das Skript an Ihre Bedürfnisse anpassen !

Leider können wir keine *.sh-Dateien hochladen, daher sehen Sie unten den Inhalt der beiden Dateien.

Zuerst die Datei für das ISO8601 Timestamp-Format :

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

Und die zweite Datei für das RAW Timestamp-Format:

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

Da es sich bei diesen Dateien um Skripte handelt, vergessen Sie nicht, das Executable-Flag in der Datei hinzuzufügen:

chmod +x ExportSQL2CSV_*.sh

Dann können wir das Skript aufrufen. Hier ist der Aufruf des Skripts:

./ExportSQL2CSV_ISO.sh <PathToDatabase>

Wenn das Skript fertig ist, finden Sie eine CSV-Datei mit dem Namen Ihrer Datenbank und der DateTime des ersten Eintrags der Datenbank wie folgt:

Sie haben jetzt eine CSV-Datei mit allen Daten, die Sie mit den nativen DataLogger-Dienstkomponenten aufgezeichnet haben.

Sie können sogar noch weiter gehen, indem Sie die stündliche oder tägliche Erstellung dieser Datei mit dem Tool cron automatisieren .

Wenn Sie Fragen oder Anmerkungen haben, können Sie sich gerne an uns wenden !


Industrietechnik

  1. Die Befehlszeilenschnittstelle
  2. C Dateiverwaltung
  3. C - Header-Dateien
  4. Von CM über EMS zu MSP:Die Evolution einer Branche
  5. COVID-19 hat 3D-Druck ins Rampenlicht gerückt
  6. Wie kann ich das Beste aus meiner Investition in die Lead-Generierung herausholen?
  7. Die 4 Branchen, die am meisten vom maschinellen Lernen profitieren
  8. Die Integration des ISO 9001-Standards in die Strategie der Hersteller
  9. Was ist eine Mill-Datei?
  10. Bereitstellen statischer Dateien mit Go