Подскажите Запись файла
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Подскажите Запись файла
Как можно реализовать
Значения сигнала вырабатываются 10 раз в секунду и записываются в одномерный массив.
Из одно мерных массивов формируется 2 мерный массив.
Если эксперимент идет (например час) как можно записывать массив 1 в секунду.
За весь эскперемент нужно записать массив 2 мерный в файл 36000 раз.
Покажите на блок- диаграмме а то я что-то допетрить не могу.
Спасибо.
Значения сигнала вырабатываются 10 раз в секунду и записываются в одномерный массив.
Из одно мерных массивов формируется 2 мерный массив.
Если эксперимент идет (например час) как можно записывать массив 1 в секунду.
За весь эскперемент нужно записать массив 2 мерный в файл 36000 раз.
Покажите на блок- диаграмме а то я что-то допетрить не могу.
Спасибо.
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Подскажите Запись файла
Я бы сделал примерно так : Вариант "скорый". Вам нужно будет продумать правильное завершение работы.JohnChaban писал(а):Как можно реализовать
Значения сигнала вырабатываются 10 раз в секунду и записываются в одномерный массив.
Из одно мерных массивов формируется 2 мерный массив.
Если эксперимент идет (например час) как можно записывать массив 1 в секунду.
За весь эскперемент нужно записать массив 2 мерный в файл 36000 раз.
Покажите на блок- диаграмме а то я что-то допетрить не могу.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Подскажите Запись файла
А вот вопросик если например в дувмерном массиве длина строки равна 186000 параметров.
Можно ли сделать так чтобы массив этот писался раз в минуту или 2 минуты
Просто проблема в том что напрмиер во время экспиримента произошлел сбой или отключили свет.
Просто если копить строку длингой 186000 элемнетов потом записать в двумерный массив не получается бытсрая запись.
То есть я пишиу например (если длина одномерного массива <186000 то копить одномерный массив).
Тогда получается что я пишу в файл пустой массив.
Подскажите кто занимается эжкспириментами как можно выкрутиться в этом случае?
Спасибо
Можно ли сделать так чтобы массив этот писался раз в минуту или 2 минуты
Просто проблема в том что напрмиер во время экспиримента произошлел сбой или отключили свет.
Просто если копить строку длингой 186000 элемнетов потом записать в двумерный массив не получается бытсрая запись.
То есть я пишиу например (если длина одномерного массива <186000 то копить одномерный массив).
Тогда получается что я пишу в файл пустой массив.
Подскажите кто занимается эжкспириментами как можно выкрутиться в этом случае?
Спасибо
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: Подскажите Запись файла
JohnChaban, я бы советовал попробовать организовать запись так: пишите данные по мере поступления (не собирайте их в массив), пишите в TDMS файл, для избежания потерь данных используйте очередь (как это сделанно в программе Ивана) в одном цикле опрашиваете датчики/приборы, в другом запись в файл. Тк данные собираете с частотой 10 Гц накопления очереди быть не должно.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Подскажите Запись файла
Не получается дописывать в бинарный файл.
Нужно проверить размер файла (но не в этом суть)
Дело все в том что если я пишу двумерный массив в бинарный файл 4000 раз то он пишется в одно и то же место в файле.
Я пробовал пользоваться функцией SetFilePozition yj и пробовал разные алгоритмы но результата нет.
Можно ли без перевода массива в строку дописывать в бинарный файл?
Спасибо
Нужно проверить размер файла (но не в этом суть)
Дело все в том что если я пишу двумерный массив в бинарный файл 4000 раз то он пишется в одно и то же место в файле.
Я пробовал пользоваться функцией SetFilePozition yj и пробовал разные алгоритмы но результата нет.
Можно ли без перевода массива в строку дописывать в бинарный файл?
Спасибо
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: Подскажите Запись файла
Здравствуйте, коллеги.
Задача: записывать в файл данные по мере их поступления.
Проблема: стиль. Мне не нравится как я это реализовал. Как решить данную задачу более красиво/правильно?
Небольшой пример: 3 цикла - в одном обработка событий, во втором получение данных, в третьем запись в файл.
Задача: записывать в файл данные по мере их поступления.
Проблема: стиль. Мне не нравится как я это реализовал. Как решить данную задачу более красиво/правильно?
Небольшой пример: 3 цикла - в одном обработка событий, во втором получение данных, в третьем запись в файл.
-
Oleg B.
- leader
- Сообщения: 674
- Зарегистрирован: 25 сен 2011, 11:30
- Награды: 2
- Версия LabVIEW: 5 .. 2021
- Откуда: Israel
- Контактная информация:
Re: Подскажите Запись файла
Проблема: стиль. Мне не нравится как я это реализовал. Как решить данную задачу более красиво/правильно?
- Вложения
-
- 11a.vi
- LV 2011
- (19.89 КБ) 237 скачиваний
-
- interested
- Сообщения: 9
- Зарегистрирован: 29 ноя 2012, 06:45
- Версия LabVIEW: 12
- Контактная информация:
Re: Подскажите Запись файла
Здравствуйте, подскажите какими средствами можно организовать запись 2D-массива или 2-х одномерных взаимосвязанных массивов в TDMS файлы с последующим чтением ?
Мне уже советовали работать с обычными ASKII файлами, но все же, хотелось бы разобраться.
К примеру хочу передать данные из 2-х одномерных взаимосвязанных массивов, в которых содержаться данные об экстремумах синусоидальной кривой и времени их появления в ВП из примеров под названием TDMS - Concurrent File Access - но выдает ошибку о невозможности данной операции, сижу разбираюсь - но хотелось бы услышать и Ваши профессиональные советы.
Мне уже советовали работать с обычными ASKII файлами, но все же, хотелось бы разобраться.
К примеру хочу передать данные из 2-х одномерных взаимосвязанных массивов, в которых содержаться данные об экстремумах синусоидальной кривой и времени их появления в ВП из примеров под названием TDMS - Concurrent File Access - но выдает ошибку о невозможности данной операции, сижу разбираюсь - но хотелось бы услышать и Ваши профессиональные советы.
-
Oleg B.
- leader
- Сообщения: 674
- Зарегистрирован: 25 сен 2011, 11:30
- Награды: 2
- Версия LabVIEW: 5 .. 2021
- Откуда: Israel
- Контактная информация:
Re: Подскажите Запись файла
Если остались вопросы, спрашивайте......какими средствами можно организовать запись 2D-массива или 2-х одномерных взаимосвязанных массивов в TDMS файлы с последующим чтением ?
Мне уже советовали работать с обычными ASKII файлами, но все же, хотелось бы разобраться.
veni, vidi, phallomorphi
-
- interested
- Сообщения: 9
- Зарегистрирован: 29 ноя 2012, 06:45
- Версия LabVIEW: 12
- Контактная информация:
Re: Подскажите Запись файла
Спасибо - я поразбираюсб с примерчиком. А пока такой наверно "глупый " вопрос:
Как в Case Structure сделать изменение -вместо внесения рандомного значения организовать - подгрузку в массив уже заготовленных значений (из "библотеки" данных в TDMS файлах как в примере - TDMS - Concurrent File Access, с возможностью выбора- что имеено загружать) для их последующей обработки и вывода на XY-Graf ?
Вопрос снимается разобрался - вроде бы должно быть так
Как в Case Structure сделать изменение -вместо внесения рандомного значения организовать - подгрузку в массив уже заготовленных значений (из "библотеки" данных в TDMS файлах как в примере - TDMS - Concurrent File Access, с возможностью выбора- что имеено загружать) для их последующей обработки и вывода на XY-Graf ?
Вопрос снимается разобрался - вроде бы должно быть так
-
- interested
- Сообщения: 9
- Зарегистрирован: 29 ноя 2012, 06:45
- Версия LabVIEW: 12
- Контактная информация:
Re: Подскажите Запись файла
а вот еще вопрос возник - смотрю примеры с пид-регуляторами и наткунлся на пример
и еще - немного не понял про plant simulator -это стандартное подвп которое можно использовать везде и всегда или есть ограничение на то что он исп-ся только для симуляции и не пригоден для работы с реальными объектами? а то он во всех примерах используется
подскажите как лучше сделать для интеграции ВП - указанного в предыдущем посте и этого ВП ? а конкретно хотелось бы понять как организовать для этого потоки данных и посмотреть динамику изменения на одном графике уже имеющейся синусоиды и отрегулированной синусоидальной кривой с контрольными точками (экстремумами синусоидальной кривой по оси У и по времени с оси Х) с выхода пид-регулятора те вместо указанной переменнной SP - на ее место завести каждую точку экстремума в отдельности но при этом не потерять целостность общего графика? достаточно ли будет нам одного уже имеющегося цкла while loop или для регулирования каждой точки экстремума надо что то еще ?и еще - немного не понял про plant simulator -это стандартное подвп которое можно использовать везде и всегда или есть ограничение на то что он исп-ся только для симуляции и не пригоден для работы с реальными объектами? а то он во всех примерах используется
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: Подскажите Запись файла
Показ картинок генераторов сет-поинтов реальных лабораторных установок
для ПИД-регуляторов или просто для аналогового управления уже в теме:
http://www.labviewportal.org/viewtopic. ... 304#p44669
а здесь добавлю, пожалуй, еще одну.
для ПИД-регуляторов или просто для аналогового управления уже в теме:
http://www.labviewportal.org/viewtopic. ... 304#p44669
а здесь добавлю, пожалуй, еще одну.
-
- interested
- Сообщения: 9
- Зарегистрирован: 29 ноя 2012, 06:45
- Версия LabVIEW: 12
- Контактная информация:
Re: Подскажите Запись файла
спс - я уже видел эту тему. только там примеров для того чтоб разобраться нету только кто то кому то деньги предлогает заработать.
может есть еще у кого-нибдь советы?!
может есть еще у кого-нибдь советы?!
- kiparym
- advanced
- Сообщения: 178
- Зарегистрирован: 06 сен 2011, 08:52
- Версия LabVIEW: 8.2 & 2011
- Откуда: г. Саров
- Поблагодарили: 1 раз
- Контактная информация:
Re: Подскажите Запись файла
Добрый день Форумчане!
Построил самописец для осциллограмм на основе конструкции из трех циклов по предложению Oleg B. Очень удобное решение! Но в моём случае требуется провести много записей (сотни миллионов). Применил схему с автоматическим разбиением на поддиректории: Конструкция работает, но через 5-6 часов происходит переполнение оперативной памяти. Возможно, требуется проводить закрытие функции Greate Folder, но как это сделать я не знаю. Помогите!
Построил самописец для осциллограмм на основе конструкции из трех циклов по предложению Oleg B. Очень удобное решение! Но в моём случае требуется провести много записей (сотни миллионов). Применил схему с автоматическим разбиением на поддиректории: Конструкция работает, но через 5-6 часов происходит переполнение оперативной памяти. Возможно, требуется проводить закрытие функции Greate Folder, но как это сделать я не знаю. Помогите!
-
Oleg B.
- leader
- Сообщения: 674
- Зарегистрирован: 25 сен 2011, 11:30
- Награды: 2
- Версия LabVIEW: 5 .. 2021
- Откуда: Israel
- Контактная информация:
Re: Подскажите Запись файла
1.Как часто Вы вызываете данный суб ?kiparym писал(а): Применил схему с автоматическим разбиением на поддиректории:
2. Какое количество данных(байт) Вы записываете в каждый файл?
Функция Greate Folder не требует и не имеет процедуры закрытия.Возможно, требуется проводить закрытие функции Greate Folder, но как это сделать я не знаю.
Как я понял, за основу своей программы Вы взяли мой 11а.vi.
Проверьте, как изменяется размер очереди в цикле записи.
Если он постоянно растет, то операционная система(а в конечном итоге BIOS) не успевает записать все файлы.
P.S. Попробуйте создать все директории заранее.
Я сделал проверку - единичную директорию система создает за 12 мс, а 1000 директорий - за 646 мс.
veni, vidi, phallomorphi
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 20 Ответы
- 668 Просмотры
-
Последнее сообщение Zloydj
-
- 12 Ответы
- 592 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 2 Ответы
- 470 Просмотры
-
Последнее сообщение IvanLis
-
- 10 Ответы
- 2371 Просмотры
-
Последнее сообщение PAG
-
- 2 Ответы
- 673 Просмотры
-
Последнее сообщение seromax