2016-01-14 4 views
0

Привет, мой вопрос относительно LabVIEW VI (2013). Я пытаюсь изменить. (Я только учился использовать этот язык. Я искал сайт NI и stackoverflow для помощи без успеха, я подозреваю, что использую правильные ключевые слова).labview - данные буфера, а затем сохранить в файл excel

My VI состоит из плоской последовательности, одна из которых содержит цикл while, где целые данные собираются с устройства и отображаются на графике.

Я хочу, чтобы иметь возможность буферизовать эти данные, а затем отправить их на диск, когда было собрано заданное количество выборок. Мои попытки до сих пор приводят к сохранению только последней записи.

В частности, мне нужно знать, как сохранить данные в буфере (массиве), а затем, когда будет отображено правильное количество выборок, сохраните все на диск (сохранение при захвате замедляет процесс до значительного количества).

Надеюсь, что вопрос ясен и очень спасибо за любые предложения. Том

+1

Если вы используете NI daqmx, вы можете легко это сделать. Можете ли вы показать мне свой экранный снимок? – KKS

ответ

0

Скриншот определенно поможет. Однако некоторые вещи ясны:

Если вы имеете дело с очень большим объемом данных, очень медленными жесткими дисками или другими необычными требованиями, откройте файл перед циклом while, напишите ему каждый раз, когда вы приобретаете образец (оставляя буферизацию ОС) и затем закрываем его.

Если вы решили самостоятельно управлять буферизацией, вы можете использовать очереди. Смотрите этот пример: https://decibel.ni.com/content/docs/DOC-14804 для справки (они поток данных с диска, буферизациями в очереди, но это та же идея)

Моего В.И. состоит из плоской последовательности однопанельных которых

Заменить плоскую последовательность для конечного автомата (например, http://forums.ni.com/t5/LabVIEW/Ending-a-Flat-Sequence-Inside-a-case-structure/td-p/3170025)

2

Ниже приведен простой круговой буфер, который содержит последние 100 показаний. Каждый раз, когда буфер заполняется, его содержимое записывается в текстовый файл. Перетащите изображение на блок-схему ВП, чтобы попробовать.

enter image description here

Как вы узнаете больше о LabVIEW и в качестве исполнения и многопоточных потребности увеличиваются, считают чтение о некоторых из LabVIEW design patterns упомянутых в других ответах:

+0

Я думаю, что это лучший пример для буферизации данных на жесткий диск. – KKS

0

Я бы SuG чтобы разделить сбор данных и сохранение данных в двух разных циклах с помощью producer/consumer design pattern..

Producer/consumer example from NI website

Кроме того, если вам нужна очень высокая пропускная способность рассмотреть возможность использования формата TDMS файлов. . Посмотрите здесь, чтобы посмотреть: http://www.ni.com/white-paper/3727/en/

Смежные вопросы