TDM формат считывание

Работа с файлами и базами данных
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

TDM формат считывание

Сообщение JohnChaban »

Всем привет
Я записывю файл как представлено во вложении.
Записывается 2 мерный массив.
Пишится фалй размером 1Гб.
Размер массива 1500х1200
Но считваются только почему то первые 1200 строк.
Если файл 1 гб то в не может быть только 1200 строк.
Как можно получиться доступ к остальным данным файла.
Да при чтение читается не весь файл а только те столбцы которые нужны.
Еще прилагается сам файл и файл чтения.
Вложения
IntoFile.vi
Запись в файл
(29.9 КБ) 188 скачиваний
FromFile.vi
Чтение из файлы
(9 КБ) 177 скачиваний
into.rar
Сам готовый файл.
(606.09 КБ) 195 скачиваний
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: TDM формат считывание

Сообщение Viktor »

У тебя в файле 1500 одинаковых каналов близнецов :D
В чём смысл?
tdms.PNG
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: TDM формат считывание

Сообщение JohnChaban »

Смысл задачи в что чтобы например экспиримент идет 24 часа или трое суток.
Нужно записать все в файл я посчита файл получается 1 гиг.
Надо считать его но не весь а честями.
Я решил вопсользоваться этими приборами так как остальные мне не подходят
Они либо открывают файл целиком и читают весь или выдают ошиьку не хватки памяти.
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: TDM формат считывание

Сообщение Viktor »

Можно читать и по частям:
offset - начальная позиция
count - сколько элементов читать
tdms.PNG
tdms.PNG (1.96 КБ) 6181 просмотр
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: TDM формат считывание

Сообщение JohnChaban »

Ну да я так и делаю
Только почему строк 1200 получается их явно больше в двумерном массиве если файл 1 Гиг.
А получается что я вижу первые 1200 строк получается что не весь экспиремент записан?
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: TDM формат считывание

Сообщение Viktor »

Как видно из предыдущего моего скрина, длина каждого из 1500 каналов = 84000 значений
Привожу пример, как читать выборку из файла:
read_file.vi
v 8.6
(12.44 КБ) 239 скачиваний
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: TDM формат считывание

Сообщение JohnChaban »

А скажите вот я накапливаю и записываю массив.
Это понятно какчитать выборку из файла.
Важно понять.
Я записываю правильно он весь записывается?
То есть как у меня в примере на накопил массив за 2 минуты и сбросил в файл.
Так я накопил 1 гигабайт
И важно например понять в файле есть двумерный массив в нем только 1200 строк или больше?
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: TDM формат считывание

Сообщение Jakob Brontfeyn »

К слову пришлось,
я сталкиваюсь с этим почти каждый день
Последнее время, результаты многих многочасовых
и многодневных экспериментов представляют собой фаил,
слишком большой, чтобы целиком загрузить в буфер
таких распространенных у нас на фирме программ как MS ECХEL или
ORIGIN, они на каждом действии просто виснут.
Борюсь с этим следующими разными методами.

1. Разработал кучу различных критериев, методов и алгоритмов редуцирования
количества строк, записываемых в файл, не теряя при этом "важных" значений
измерений.
2. Написал специальный VI, который считывает большой файл по кусочкам и может
после просмотра записывать в отдельные файлы.
Сюда же, разные алгоритмы редуцирования "offline" уже готового файла
3. Автоматическое открытие следующего файла в процессе експеримента,
по достижению предыдущим, заданного оператором размера в Мегабайтах,
при этом время передается в следующий файл.
4. Внедрение "квазибинарных" и чисто бинарных форматов,
как здесь: http://labviewportal.org/viewtopic.php? ... 121#p24121
,что на первый взгляд,
вроде решает проблему, но ведь при дальнейшей обработке и просмотре все равно будет разворачиваться в буфере в ASKII формат и все подвешивать.

Я описал все так подробно, что скажете коллеги, будем обсуждать тему где то в
другом разделе.
Я подозреваю, что все эти дела можно улучшить, знает кто пакет, который загружает не весь
файл в свой буфер, а по кусочкам. Может это "DIADEM"? Кто меня квалифицированно
проконсультирует на основании своего опыта?
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: TDM формат считывание

Сообщение JohnChaban »

Вопрос:
Я записываю порциями массив двумерный 1500 элементов по 1200 строк.
Как считать вторые 1200 строк прибором TDMS READ если я считываю он читает первые 1200 строк.
Как можно считать 2 порцию например.
Ведь записаны не 1200 строк а 12000?
Спасибо
Lexan_83

Bronze
adviser
adviser
Сообщения: 221
Зарегистрирован: 18 май 2009, 10:50
Награды: 1
Версия LabVIEW: 8.6
Откуда: Москва

Re: TDM формат считывание

Сообщение Lexan_83 »

Viktor писал(а):Можно читать и по частям:
offset - начальная позиция
count - сколько элементов читать
tdms.PNG
Чти внимательно, укажи начальную позицию
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: TDM формат считывание

Сообщение JohnChaban »

Да нет дело все в том что столбец в двемерном массиве должен содержать не 1500 (количество) элементов а например 3,400,000 (количество)
Я вот что хочу добится.
Экспиримент не идет 3 минуты он идет сукти трое
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: TDM формат считывание

Сообщение JohnChaban »

Вообщем выяснил я почему только считываетя 1500 строк из вдумерного массива а файл 1Гб
Дело все в том что получается что пишу на одно и тоже место.
В связи с этим впрос как можно указать позицию в файле и писать с неё?
Но прибор должен быть приненим с прибором TDM Open
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: TDM формат считывание

Сообщение JohnChaban »

Вопро возник а как можно дописать в файл TDM у меня получается так что я пишу на одно и тоже место.
Нужно записать 1500 строк двумерного массива каждый элемент которого число с плавающей запятой.
Нужно записать 1500 строк затем в низ еще 1500 строк и так далее.
orinoko
beginner
beginner
Сообщения: 35
Зарегистрирован: 29 сен 2010, 14:00
Версия LabVIEW: 2013
Контактная информация:

Re: TDM формат считывание

Сообщение orinoko »

А может при таком количестве данных имеет смысл присмотреться к сохранению в какой-нибудь БД ?
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: TDM формат считывание

Сообщение Viktor »

Нужно записать 1500 строк двумерного массива каждый элемент которого число с плавающей запятой.
Нужно записать 1500 строк затем в низ еще 1500 строк и так далее.
Два варианта записи: либо строки двумерного массива - это каналы .tdms файла, а столбцы - их значения, либо наоборот.
Число каналов - фиксировано, значения - добавляются при каждом запуске.
Вложения
dec.PNG
dec.PNG (6.99 КБ) 5950 просмотров
int.PNG
int.PNG (6.92 КБ) 5950 просмотров
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»