TDMS
-
- developer
- Сообщения: 289
- Зарегистрирован: 26 фев 2016, 06:31
- Версия LabVIEW: 18-20
- Благодарил (а): 6 раз
- Поблагодарили: 7 раз
- Контактная информация:
TDMS
Добрый вечер!
Задумался, как писать логи программы - обычный одномерный массив и изображение (или 2-мерный массив).
Обычно отдельно в файл писал массив, отдельно картинку.
Наткнулся на TDMS в примерах.
Стоит ли для этих целей использовать?
Есть вариант еще hdf5...
Посоветуйте по опыту...
Задумался, как писать логи программы - обычный одномерный массив и изображение (или 2-мерный массив).
Обычно отдельно в файл писал массив, отдельно картинку.
Наткнулся на TDMS в примерах.
Стоит ли для этих целей использовать?
Есть вариант еще hdf5...
Посоветуйте по опыту...
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: TDMS
TDMS нормально структурируется и работает. С hdf5 не работал.rushonda писал(а): ↑20 апр 2021, 20:01 Добрый вечер!
Задумался, как писать логи программы - обычный одномерный массив и изображение (или 2-мерный массив).
Обычно отдельно в файл писал массив, отдельно картинку.
Наткнулся на TDMS в примерах.
Стоит ли для этих целей использовать?
Есть вариант еще hdf5...
Посоветуйте по опыту...
Но больше зависит от того, для чего этот лог создается и как Вы будите потом эти данные использовать.
Например поиск и выборку там делать не очень эффективно, я в таких случаях SQLite пишу, но это больше подходит для медленных процессов.
Хотя некоторые и данные с FPGA пишут со скоростью почти 300 т. строк в секунду (Increase SQLite Write Speed)
Если нужно сохранить быстрые данные для их просмотра или пост обработки, то лучше наверное Binary TDMS использовать.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: TDMS
По опыту советую: нужно использовать то, что больше подходит для данной задачи. А ваша задача раскрыта не полностью.
Из вопроса совершенно непонятно, что за картинка и для чего, да и вообще, что вы в будущем планируете делать с этими файлами, и даже сколько их планируется?
-
- developer
- Сообщения: 289
- Зарегистрирован: 26 фев 2016, 06:31
- Версия LabVIEW: 18-20
- Благодарил (а): 6 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: TDMS
Картинки с камеры, размер около 2000на 1000 пикселей. Частота записи 10 к/с. Остальные данные около 200-500 к/с. Все для постпросмотра и постобработки.
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: TDMS
Получается, что картинка не одна? А надо стримить данные?
Если файл "один", то TDMS вполне пойдёт, хотя картинки туда впихивать ещё не пробовал.
Плюс, кто будет просматривать? Если только вы, то вообще без разницы как писать. А если кто-то другой, то нужно ещё учитывать его способности прочитать ваше творение.
Если файлов много и обработка, в том числе, заключается в сравнении многих файлов, то как сказал Иван, БД могут быть удобнее.
это очень растяжимое понятие.для постпросмотра и постобработки.
Если файл "один", то TDMS вполне пойдёт, хотя картинки туда впихивать ещё не пробовал.
Плюс, кто будет просматривать? Если только вы, то вообще без разницы как писать. А если кто-то другой, то нужно ещё учитывать его способности прочитать ваше творение.
Если файлов много и обработка, в том числе, заключается в сравнении многих файлов, то как сказал Иван, БД могут быть удобнее.
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: TDMS
2мп х 3 байта это 6Мб. 60Мб/с или 216Гб/ч. Не слишком ли жирно?
Imaq dx есть инструмент записи и чтения avi файлов покадрово со сжатием кодеками, установленными в системе. Индекс кадра можно писать в тдмс.
Imaq dx есть инструмент записи и чтения avi файлов покадрово со сжатием кодеками, установленными в системе. Индекс кадра можно писать в тдмс.
-
- developer
- Сообщения: 289
- Зарегистрирован: 26 фев 2016, 06:31
- Версия LabVIEW: 18-20
- Благодарил (а): 6 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: TDMS
Artem.spb, книга >1400 страниц, спасибо, но пожалуй откажусь))
Borjomy_1 , 2мп х 3 байта это 6Мб. 60Мб/с или 216Гб/ч. Не слишком ли жирно?
Imaq dx есть инструмент записи и чтения avi файлов покадрово со сжатием кодеками, установленными в системе. Индекс кадра можно писать в тдмс.
Жирновато, но по времени не много нужно, и потом удалить соответственно.
1) Нашел в примерах, что можно писать avi с атрибутами
2) Для tdms не нашел, как писать например кластеры, кроме библиотеки VariantDataToTDMS.llb - видимо самопальная.
Вопрос просто, если параметры разносортные, то как записывать, вначале в string например перевести?
Borjomy_1 , 2мп х 3 байта это 6Мб. 60Мб/с или 216Гб/ч. Не слишком ли жирно?
Imaq dx есть инструмент записи и чтения avi файлов покадрово со сжатием кодеками, установленными в системе. Индекс кадра можно писать в тдмс.
Жирновато, но по времени не много нужно, и потом удалить соответственно.
1) Нашел в примерах, что можно писать avi с атрибутами
2) Для tdms не нашел, как писать например кластеры, кроме библиотеки VariantDataToTDMS.llb - видимо самопальная.
Вопрос просто, если параметры разносортные, то как записывать, вначале в string например перевести?
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: TDMS
tdms поддерживает конкртеные (и не все) типы данных, они в справке написаны. Кластеры само собой на составляющие разбивать.
сомнительное решение. Строки не должны содержать нулевой символ. А если что попало в строки переводить, то хватануть 0 запросто можноВопрос просто, если параметры разносортные, то как записывать, вначале в string например перевести?
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: TDMS
Если писать изображение именно в TDMS решите, то можно преобразовать в массив байт U8.
Если допустимо использовать сжатие с потерями качества, то можно в TDMS писать путь к файлу, а файл сохранять в отдельную папку с уникальным именем.
Я иногда делаю сохранение изображений в БД, но писать в чистом виде (массив U8 или String->BLOB) можно если изображений не много и они не большие. Обычно я сохраняю изображение в png или jpeg и пишу в BLOB уже сам файл. А когда нужно достать, то сохраняю данные во временный файл и открываю его как картинку png или jpeg.
Но тут нужно конкретно понимать обстоятельства, цели и задачу. Так что лучше Вас в этом ник-то не понимает, по этому и решать Вам .
Если допустимо использовать сжатие с потерями качества, то можно в TDMS писать путь к файлу, а файл сохранять в отдельную папку с уникальным именем.
Я иногда делаю сохранение изображений в БД, но писать в чистом виде (массив U8 или String->BLOB) можно если изображений не много и они не большие. Обычно я сохраняю изображение в png или jpeg и пишу в BLOB уже сам файл. А когда нужно достать, то сохраняю данные во временный файл и открываю его как картинку png или jpeg.
Но тут нужно конкретно понимать обстоятельства, цели и задачу. Так что лучше Вас в этом ник-то не понимает, по этому и решать Вам .
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: TDMS
TDMS более логично использовать для записи данных измерений, т.к. потом такие данные можно обрабатывать в Diadem например.
В Вашем случае записывать видео в TMDS особой выгоды не принесет, т.к. логично использовать TDMS структуру не получится (каналы, группы, и т.д.). Потом уже лучше писать в "чистый" бинарный файл, или же датабазу.
В Вашем случае записывать видео в TMDS особой выгоды не принесет, т.к. логично использовать TDMS структуру не получится (каналы, группы, и т.д.). Потом уже лучше писать в "чистый" бинарный файл, или же датабазу.
Мы делили апельсин - много наших полегло...
-
- developer
- Сообщения: 289
- Зарегистрирован: 26 фев 2016, 06:31
- Версия LabVIEW: 18-20
- Благодарил (а): 6 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: TDMS
Диадем платная только есть, как я понял...
Задача простая: писать массив данных с частотой 100-200Гц - одномерный массив из 20-30 значений (разносортных) + изображение с частотой 10 например Гц.
Чтобы была потом возможность посмотреть картинки с данными.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение