Данные сохраняются при завершении программы

Работа с файлами и базами данных
Ответить
Meteor
user
user
Сообщения: 74
Зарегистрирован: 25 окт 2013, 17:37
Версия LabVIEW: 2012

Данные сохраняются при завершении программы

Сообщение Meteor »

Здравствуйте!
Поздравляю всех с наступившим 2017 годом, прошедшими праздниками и грядущими трудовыми буднями! :drink:
Преамбула.
Есть источник данных, которые поступают с интервалом в 2,5 секунды.
Создан примитивный пример приема данных и передачи их посредством очереди в цикл для записи в бинарный файл.
Сам файл создается при запуске программы с уникальным именем.
Есть одно непонятное место:
во время работы, наблюдаю заполнение строкового индикатора, но при этом созданный файл не увеличивается в "размере".
После нажатия кнопки "стоп", файл записывается в полном объеме.
Собственно хочется понять, как заставить (если это возможно) файл пополняться по мере его заполнения, включение ВИшек открытия и закрытия файла в цикл результата не принесло.
Вложения
Кусок программки отвечающей за запись двоичных данных.
Кусок программки отвечающей за запись двоичных данных.
Аватара пользователя
IvanLis

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

Re: Данные сохраняются при завершении программы

Сообщение IvanLis »

Meteor писал(а):Собственно хочется понять, как заставить (если это возможно) файл пополняться по мере его заполнения, включение ВИшек открытия и закрытия файла в цикл результата не принесло.
И Вас с наступившими!
Flush File (http://zone.ni.com/reference/en-XX/help ... lush_file/) вам в помощь.
Обсуждалось в этой теме: http://labviewportal.org/viewtopic.php? ... 17&p=66406
Meteor
user
user
Сообщения: 74
Зарегистрирован: 25 окт 2013, 17:37
Версия LabVIEW: 2012

Re: Данные сохраняются при завершении программы

Сообщение Meteor »

Спасибо, помог Ваш пример.
Borjomy_1

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

Re: Данные сохраняются при завершении программы

Сообщение Borjomy_1 »

Вообще-то странно, что у вас файл не увеличивался. При подобной схеме работы файл должен увеличиваться в размере, особенно если его открывают и закрывают после записи.
Meteor
user
user
Сообщения: 74
Зарегистрирован: 25 окт 2013, 17:37
Версия LabVIEW: 2012

Re: Данные сохраняются при завершении программы

Сообщение Meteor »

Возможно что наблюдавшаяся картина была неверно интерпретирована: смотрел в тотал командере - так в нем даже с флашем файл изменял размер после завершения работы либо после выхода из папки. Если же наблюдать в проводнике винды - файл (с флашем) увеличивался по мере заполнения.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Данные сохраняются при завершении программы

Сообщение dadreamer »

Meteor, дело в том, что :labview: сам по себе не использует программную буферизацию, поэтому операция записи выполняется сразу же, даже при записи одного байта. Это уже было проверено ранее в той теме по ссылке IvanLis (см. также мой пример LOG.vi). Хотя проверено сугубо на Винде с NTFS. Ну, то есть, Flush File в этом случае не требуется. Помимо прочего, он вносит дополнительную задержку в цикл (+ дёргает лишний раз винт). У вас может быть другая ОС или файловая система. Либо на самом деле
Meteor писал(а):наблюдавшаяся картина была неверно интерпретирована
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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