Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Преобразование баз данных из собственного регистратора данных PLCnext в файлы CSV

Регистрация значений из промышленного приложения является основной характеристикой для многих клиентов, а в некоторых приложениях количество переменных может быть очень большим, поэтому требуется собственный и простой способ настройки регистрации данных.

Ниже мы углубимся в собственный компонент службы регистрации данных и посмотрим, как мы можем сгенерировать CSV-файл из этой службы.


Вы можете найти дополнительную информацию о компонентах службы регистрации данных по этим ссылкам:

После настройки сеансов регистрации данных у вас будет файл *.db, содержащий все зарегистрированные вами значения переменных. Этот файл *.db является файлом базы данных, но для этого формата требуется инструмент, такой как Sqlite3 или DB Browser, если мы хотим просмотреть значения.

Многие клиенты уже знакомы с файлами *.csv, поэтому мы увидим, как сделать экспорт этой базы данных в файл csv. Инструмент Sqlite3, присутствующий в каждом контроллере PLCnext, предоставляет все необходимые инструменты для выполнения этого экспорта.

Когда база данных создана, мы можем установить имя, которое мы хотим для базы данных, но мы не можем установить конкретное имя для таблицы, присутствующей в базе данных, содержащей значения. К счастью, инструмент Sqlite3 может нам помочь, показывая таблицы, присутствующие в базе данных, с помощью команды «Sqlite3 .tables».
Вы можете найти все конкретные команды на странице справки Sqlite3 или на этой странице:Sqlite3.

Когда мы знаем имя таблицы, мы можем выбрать все данные из этой таблицы и экспортировать эти данные в файл csv.

Чтобы немного облегчить процесс, я свяжу вам два скрипта для экспорта из базы данных.
Конечно, вы можете адаптировать скрипт под свои нужды!

К сожалению, мы не можем загружать файлы *.sh, поэтому ниже вы увидите содержимое двух файлов.

Во-первых, файл для формата временной метки 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

И второй файл для формата 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

Поскольку эти файлы будут скриптами, не забудьте добавить к файлу флаг исполняемого файла:

chmod +x ExportSQL2CSV_*.sh

Затем мы можем вызвать скрипт. Вот вызов скрипта:

./ExportSQL2CSV_ISO.sh <PathToDatabase>

Когда сценарий будет выполнен, вы найдете файл CSV с именем вашей базы данных и датой и временем первой записи базы данных, как показано ниже:

Теперь у вас есть CSV-файл со всеми данными, которые вы записали с помощью собственных сервисных компонентов DataLogger.

Вы можете пойти еще дальше, автоматизируя создание этого файла каждый час или каждый день с помощью инструмента cron. .

Если у вас есть какие-либо вопросы или замечания, не стесняйтесь обращаться к нам!


Промышленные технологии

  1. Интерфейс командной строки
  2. C Обработка файлов
  3. C — заголовочные файлы
  4. От CM к EMS к MSP:эволюция отрасли
  5. COVID-19 привлек внимание к трехмерной печати
  6. Как получить максимальную отдачу от инвестиций в генерацию лидов?
  7. 4 отрасли, которые больше всего выигрывают от машинного обучения
  8. Интеграция стандарта ISO 9001 в стратегию производителей
  9. Что такое файл Mill?
  10. Обслуживание статических файлов с помощью Go