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

Экспорт данных PLCnext Datalogger в CSV: Пошаговое руководство

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

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


Дополнительную информацию о компонентах сервиса Datalogger можно найти по ссылкам:

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

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

Когда база данных создается, мы можем задать желаемое имя для базы данных, но мы не можем задать конкретное имя для таблицы в базе данных, содержащей значения. К счастью, инструмент Sqlite3 может помочь нам, показывая таблицы, присутствующие в базе данных, командой «Sqlite3 <NameOfDatabase> .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 временной метки:

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-файл с именем вашей базы данных и DateTime первой записи базы данных, как показано ниже:

Экспорт данных PLCnext Datalogger в CSV: Пошаговое руководство

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

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

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

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

  1. Работа с интерфейсом командной строки в SPICE
  2. Работа с файлами в C: мастерство ввода-вывода с fopen, fprintf, fread и fseek
  3. Заголовочные файлы в C: типы, подключение и лучшие практики
  4. От CM к EMS к MSP: отслеживание эволюции электронного производства
  5. COVID-19 подсвечивает критическую роль 3D-печати в здравоохранении
  6. Максимизируйте ROI от инвестиций в генерацию лидов
  7. Топ-4 отраслей, революционированных машинным обучением
  8. Интеграция ISO 9001 в стратегию производства: драйвинг качества и роста
  9. Штуцерная напильник: полное руководство по незаменимому инструменту для дерева и металла
  10. Простая раздача статических файлов на Go: Проверенный подход