Запись данных в файл tdms

Простейшие вопросы в области инженерной разработки
Ответить
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Запись данных в файл tdms

Сообщение Boxa »

Добрый вечер, не могу понять как правильно сохранить файл tdms и потом его открыть. По хорошему нужно писать то что идет на экран. Если ставлю в цикл то он создает фаил каждый раз как выполняет цикл for, если поставить добавлять в фаил, то на выводе получает муть, а в эксель видно что там не единый фаил. Если ставлю за цикл то пишется только последнее и индесацию сделать не дает на туннеле.
1.png
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1127
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 8 раз
Поблагодарили: 14 раз
Контактная информация:

Re: Запись данных в файл tdms

Сообщение Kosist »

Нужно еще выбрать "One Header only", тогда данные будут записываться до одной группы. Если выбрать только добавление в файл, то новые данные будут сохраняться в новую группу.
Cfg File.png
Мы делили апельсин - много наших полегло...
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Re: Запись данных в файл tdms

Сообщение Boxa »

Kosist писал(а): 30 янв 2021, 19:16 Нужно еще выбрать "One Header only", тогда данные будут записываться до одной группы. Если выбрать только добавление в файл, то новые данные будут сохраняться в новую группу.
Спасибо, именно этой галочки и не хватало, я её по другому понимал:)
Единсвенное на выводе графика время сдвинуто 0,02 секунды и если открыть в эксел то есть для каждого канала со "звездочкой" шкала времени с нуля и одна общая как раз начинается с 0,02 (число округлил)
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Re: Запись данных в файл tdms

Сообщение Boxa »

Осциллограмма обрезана по времени. Всего было 60 секунд. Первый график записанное на выходе, второй через DAQ ассистента на входе.
2.png
Какой максимальный размер файла или точек можно записать таким образом?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2008
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 11 раз
Поблагодарили: 7 раз

Re: Запись данных в файл tdms

Сообщение Borjomy_1 »

Для tdms ограничений нет. А вот у excel количество строк не более 65536.
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Re: Запись данных в файл tdms

Сообщение Boxa »

Здравствуйте, снова какие-то проблемы с tdms. При чтении странная развертка времени: первая точка совпадает со значением внутри файла а потом labview фантазирует каким-то образом растягивая во времени сигнал. Приложил картинку как открывает labview и что в файле tdms (преобразовал его в эксель).
Есть соображение откуда идет масштабирование по времени?
Вложения
1.png
Book1.xlsx
(21.53 КБ) 10 скачиваний
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5135
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 16 раз
Поблагодарили: 27 раз

Re: Запись данных в файл tdms

Сообщение IvanLis »

Boxa писал(а): 17 фев 2021, 21:07 Есть соображение откуда идет масштабирование по времени?
Вы какой контрол используете для отображения XYGraph или WaveForm Graph ?
У вас к стати разброс в dt большой, там значения изменяются между 0,125654220581055 и 0,058053493499756, хотя среднее 0,06573376140079.
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Re: Запись данных в файл tdms

Сообщение Boxa »

IvanLis писал(а): 17 фев 2021, 21:22 Вы какой контрол используете для отображения XYGraph или WaveForm Graph ?
У вас к стати разброс в dt большой, там значения изменяются между 0,125654220581055 и 0,058053493499756, хотя среднее 0,06573376140079.
При записи использую Waveform Chart и его же для отображения записанных осциллограм. Хотел для вывода использовать Graph так как в нем есть курсоры, но граф берет отсечки времени совершенно другие, которые указаны в колонках времени со звездочкой, а если в нем убрать "галку" игнорировать таимстэмп то время становится как и в chart.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5135
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 16 раз
Поблагодарили: 27 раз

Re: Запись данных в файл tdms

Сообщение IvanLis »

Вам либо писать нужно с более стабильными таймингами, т.е. интервал между отсчетами должен быть постоянным.
Либо для каждого отсчета писать Время и Значение, а отображать на XYGraph.
Чудес не бывает :dntknw:
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Re: Запись данных в файл tdms

Сообщение Boxa »

IvanLis писал(а): 17 фев 2021, 22:25 Вам либо писать нужно с более стабильными таймингами, т.е. интервал между отсчетами должен быть постоянным.
Либо для каждого отсчета писать Время и Значение, а отображать на XYGraph.
Чудес не бывает :dntknw:
А почему выводится не по времени указанному в файле? Вы думаете проблема в записи файла, а не в его чтении?
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Re: Запись данных в файл tdms

Сообщение Boxa »

Реально оказалось что проблема в записи файла. При записи tdms создает свою шкалу времени, в моём примере в ней оказался dt=1. И при выводе графика первое значение берется из Time, а следующие значения с dt=1 которое он берет в графе Untitled_Time* строятся на графике и получается если у меня 10 отсчетов в файле tdms и начинается он например с 5 сек-ы и заканчивается на 6 сек-е, при выводе первое значение будет на 5-й секунде а последнее не на 6-й как в реальности, а на 5+9 отсчетов и итоговое получается 14-я секунда. Так и формировалась моя ошибка времени при выводе.
Получается, что только при равенстве dt в обоих графах будет корректное отображение как с учетом таимстэмпа так и без него.
Я посчитал примерно средний dt у себя в графе Time и с его использованием записал осциллограмму (build waveform), при небольших длинах ошибка принудительного сэмпла допустима.
Но возник вопрос, а как в эту графу Time файла tdms писать время с нужным dt?
Artem.spb

Activity Автор
doctor
doctor
Сообщения: 2487
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 14 раз
Поблагодарили: 68 раз
Контактная информация:

Re: Запись данных в файл tdms

Сообщение Artem.spb »

Boxa писал(а): 18 фев 2021, 15:08 Но возник вопрос, а как в эту графу Time файла tdms писать время с нужным dt?
Встречный вопрос: а как вы пишете файл?
Тут два варианта - писать туда waveform, тогда время запишется как dt и будет постоянным.
Если же время гуляет, я пишу доп канал, в котором хранится смещение точи относительно начала записи.
Boxa
beginner
beginner
Сообщения: 12
Зарегистрирован: 10 янв 2021, 17:41
Версия LabVIEW: 2019
Благодарил (а): 3 раза

Re: Запись данных в файл tdms

Сообщение Boxa »

Artem.spb писал(а): 18 фев 2021, 17:21 Встречный вопрос: а как вы пишете файл?
Тут два варианта - писать туда waveform, тогда время запишется как dt и будет постоянным.
Если же время гуляет, я пишу доп канал, в котором хранится смещение точи относительно начала записи.
Как то так. В настройках записи указал писать Time в одной колонке, но как оказалось это время чисто для меня и при построении не учитывается. Сейчас принудительно ставлю ДТ 0,063 чтобы примерно совпадало.
Вложения
1.png
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5135
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 16 раз
Поблагодарили: 27 раз

Re: Запись данных в файл tdms

Сообщение IvanLis »

Boxa писал(а): 19 фев 2021, 11:57 Как то так.
Вы понимаете, что каждую задачу можно решить несколькими способами и тем меньше Вы информации даете, тем самым затягивая время и подавляя желание оказать помощь.

Как Вы считываете данные?
Если это скалярные значения, то один вариант.
Если как DDT, судя по скрину, то нужно знать что внутри.
Если там WaveForm, то необходимо делать так...
Снимок экрана от 2021-02-19 20-36-50.png
Но по Вашему скрину (то что на нем видно) создается впечатление, что вы несколько каналов считываете в скаляре, а потом объединяете в массив и пишите как WaveForm. Что по определению не правильно.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»