Labview запись в файл

Labview запись в файл

Основы программирования в LabView
(Работа с файлами)

Файловые функции находятся в палитре Functions>>All Functions>>File I/O. С помощью этих функций и подпрограмм можно делать все необходимые при работе с файлами операции:

Функции для работы с файлами в LabVIEW можно разделить на четыре группы: функции высокого уровня, функции низкого уровня, "продвинутые" (advanced) и экспресс-функции.

Функции высокого уровня

Эти функции очень удобны в использовании, так как можно с помощью одной функции сразу сделать все операции с файлом — открыть, записать, закрыть. Естественно, они менее эффективны чем функции низкого уровня. Но, если производительность не критична (например, нужно записать в файл собранные данные в конце работы программы), то лучше и проще использовать как раз эти функции. Находятся эти функции, как уже говорилось, в палитре File I/O, в верхней строке. Write to Spreadsheet File — Преобразует одномерный или двумерный массив чисел в строку и записывает эту строку в файл. Файл создается и открывается автоматически, или дописывается в уже существующий. Есть возможность выбрать разделитель. В итоге, получается файл — текстовая таблица с числами, разделенными табуляцией, например. Очень удобно, можно открыть во многих приложениях (тот же Origin к примеру). Read From Spreadsheet File — То же что и предыдущая функция, только наоборот — читает из файла. Write Characters to File — записывает строку в новый или уже существующий файл. Создание, открытие, запись, закрытие производятся автоматически. Read Characters From File — чтение строки из файла. Открывает файл, читает из него, закрывает файл. Read Lines From File — читает строки из текстового или бинарного файла. Binary File VIs — несколько функций для работы с бинарными файлами чтение, запись и т.п. Данные могут быть целыми, или с плавающей точкой.

Читайте также:  Как перевернуть экран на компьютере леново

Функции низкого уровня

Используйте следующие функции для выполнения основных операций с файлами:

Open/Create/Replace File — открывает существующий файл, создает новый или заменяет уже существующий. Если путь не задан, будет выдано диалоговое окно, в котором можно будет выбрать нужный путь.

Read File — чтение данных из файла.

Write File — запись данных в файл.

Close File — закрывает файл. Более подробно — в справке LabVIEW. Использование этих функций оправдано, когда нужна высокая скорость работы (например, в приложениях реального времени). Чтобы было более понятно, посмотрите пример:

Здесь происходит запись данных в цикле. Такое часто встречается, например при сборе данных — в течение какого-то времени считываются показания приборов, и данные записываются в файл. Естественно, что выгоднее один раз открыть файл (перед началом записи), потом все записать, и в конце закрыть, чем повторять эти операции каждый раз в течение каждого шага.

Есть источник динамических данных. Необходимо полученные данные записать в текстовый файл на диск. Запускаем « LabVIEW 8.5», открываем пустой виртуальный прибор и для начала создадим источник данных для того чтобы их записать в файл на диск. Для этого переходим на блоковую панель и перетаскиваем из панели функций цикл. Его можно найти в разделе « Programming – Structures – For loop ». Переменной « N » чикла присваиваем некое значение.

Далее, в тело цикла помещаем генератор случайных чисел. Он находится в разделе « Programming – Mathematics – Numeric » и называется « Random Number (0-1)». Выглядит он как пара костей для казино и генерирует случайным образом вещественные числа в диапазоне от 0 до 1.

Для визуализации генерации чисел на фронтальной/передней панели можно разместить индикатор вида « Chart ». Перетаскиваем его из раздела « Express – Graph Indicators » .

Читайте также:  Почему не включается телефон самсунг дуос

Рис. 1. Фронтальная панель нашего ВП

А для записи данных необходимо разместить на панели блоков виртуальный прибор « Write To SpreadSheet File », который находится в разделе « Programming – File I / O ».

Рис . 2. Виртуальный прибор «Write To SpreadSheet File»

Потом все грамотно соединяем на блоковой диаграмме, устанавливаем параметры для ВП « Write To SpreadSheet File » так, чтобы файл все время переписывался заново при запуске нашего виртуального прибора (параметр « append to file »), а то можно раздуть файл до невозможности. Также, в виртуальном приборе « Write To SpreadSheet File » есть входной параметр « transpose », который влияет на форму записи данных, а именно в виде одного столбца или таблицей. Также есть параметр « file path », для указания имени файла и папки куда писать файл.

Рис. 3. Расположение элементов и их соединения на блоковой диаграмме

В результате работы данного виртуального прибора на диске будет сохранен текстовый файл «1. txt » в папке, которую мы указали и с данными, которые случайным образом сгенерировались источником сигнала.

В ранее рассмотренных упражнениях вы научились с помощью LabVIEW преобразовывать данные в формат таблицы символов и после завершения процесса сбора данных сохранять их в файле ASCII. Другим и, возможно, более эффективным подходом является сохранение небольших объемов информации на жестком диске непосредственно во время процесса сбора данных. Этот тип операции записи/ чтения файла называется потоковой передачей дачных. Преимуществом потоковой передачи данных в файл является ее быстрота. Следовательно, вы можете непрерывно собирать информацию и всегда иметь сохраненную копию всех полученных данных. Еще одно достоинство потоковой записи в файл — быстрое заполнение памяти регистрации данных с большой скоростью.

Читайте также:  Logo quiz by bubble ответы

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

При непрерывной работе ВП решающим фактором становится скорость, с которой LabVIEW считывает данные из буфера, а затем переносит их на диск. У вас должна быть возможность считывать и переносить данные достаточно быстро, чтобы не происходило переполнения кольцевого буфера. Для увеличения эффективности считывания данных во время процесса сбора необходимо избегать выполнения других функций, таких как анализ данных. С этой же целью вместо вывода данных из виртуального прибора DAQmx Read в аналоговом виде применяют вывод данных в двоичном виде (с помощью пункта селектора вариантов More » Raw »). Увеличивается скорость передачи данных и считывания. Когда вы настраиваете виртуальный прибор DAQmx Read для создания только бинарных данных, он возвращает их быстрее, чем в режиме аналоговой осциллограммы или напряжения. Недостатком считывания и потоковой передачи двоичных данных являются трудности при последующем использовании файла из других приложений.

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

Ссылка на основную публикацию
Adblock detector