Вопрос: в CODESYS элемент визуализации Тренд сохраняет историю в виде файла .sqlite.
Я выгрузил этот файл из контроллера и открыл в программе DB Browser for SQLite.
В моем проекте CODESYS к тренду привязана единственная переменная типа REAL.
В таблице TblTrendData отображаются сохраненные данные, но их значения мне непонятны.
В каком формате они сохраняются? Почему столбцов значений именно 10?
2023-08-31_11-59-27.png
Ответ:
1. Метка времени сохраняется формате Unix Timestamp в микросекундах.
https://www.epochconverter.com/
2023-08-31_12-42-41.png
2. В DB Browser for SQLite при открытии файла тренда значения перьев всегда интерпретируются как целочисленные (INTEGER).
Фактически вы сейчас видите "сырые" данные с неверной интерпретацией.
Поменяйте формат отображения на HEX и скопируйте их в любой HEX-to-FLOAT конвертер - и вы увидите корректные значения.
https://www.h-schmidt.net/FloatConverter/IEEE754.html
2023-08-31_12-44-01.png 2023-08-31_12-44-27.png 2023-08-31_12-44-51.png
К сожалению, мы не можем предоставить инструкцию или скрипт для DB Browser for SQLite для автоматической конвертации.
3. В таблице 10 столбцов, потому что в настройках тренда по умолчанию задано именно такое ограничение на максимальное число перьев.
2023-08-31_12-45-47.png
Примечание: в истории тревог (которая тоже сохраняется в виде .sqlite) метка времени хранится уже в другом формате - LDAP timestamp.
https://www.epochconverter.com/ldap
2023-08-31_13-19-17.png 2023-08-31_13-19-01.png