Скачиваний:
57
Добавлен:
06.03.2016
Размер:
2.44 Mб
Скачать

Конец упражнения 10-1

C. Функции файлового ввода/вывода

Функции файлового ввода/вывода производят файловые операции записи и считывания данных. Функции файлового ввода/вывода расположены в палитре Functions>>File I/O и предназначены для:

      • Открытия и закрытия файла данных.

      • Считывания и записи данных из/в файл(а).

      • Считывания и записи данных из/в файл(а) в виде таблицы символов.

      • Перемещения и переименования файлов и каталогов.

      • Изменения характеристик файла.

      • Создания, изменения и считывания файлов конфигурации.

Функции файлового ввода/вывода

Палитра функций файлового ввода вывода, показанная ниже, разделена на три части: функции высокого уровня (high level File I/O), функции низкого уровня (low level File I/O) и подпалитра функций расширенных возможностей (advanced File I/O).

Функции файлового ввода/вывода высокого уровня

Функции файлового ввода/вывода высокого уровня расположены в верхней строке палитры Functions>>File I/O. Они предназначены для выполнения основных операций по вводу/выводу данных.

Использование функций файлового ввода/вывода высокого уровня позволяет сократить время и усилия программистов при записи и считывании данных в/из файл(а). Функции файлового ввода/вывода высокого уровня выполняют запись и считывание данных и операции закрытия и открытия файла. При наличии ошибок функции файлового ввода/вывода высокого уровня отображают диалоговое окно с описанием ошибок и предлагают на выбор: продолжить выполнение программы или остановить ее. Однако из-за того, что функции данного класса объединяют весь процесс работы с файлами в один ВП, переделать их под определенную задачу бывает трудно. Для специфических задач следует использовать функции файлового ввода/вывода низкого уровня.

Функции файлового ввода/вывода низкого уровня

Функции файлового ввода/вывода низкого уровня расположены в средней строке палитры Functions>>File I/O. Дополнительные функции работы с файлами (Advanced File I/O) расположены в палитре Functions>>File I/O>>Advanced File Functions и предназначены для управления отдельными операциями над файлами.

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

Основы файлового ввода/вывода

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

  1. Создание или открытие файла. Указание месторасположения существующего файла или пути для создания нового файла с помощью диалогового окна LabVIEW. После открытия файл LabVIEW создает ссылку на него. Более подробную информацию о ссылке на файл можно найти в разделе Сохранение данных в новом или уже существующем файле.

  2. Произведение операций считывания или записи данных в/из фал(а).

  3. Закрытие файла.

  4. Обработка ошибок.

Для осуществления основных операций файлового ввода/вывода используются следующие ВП и функции:

  • Open/Create/Replace Fileоткрывает, перезаписывает существующий файл, или создает новый. Еслиfile path(путь размещения файла) не указан, ВП выводит на экран диалоговое окно, в котором можно создать новый или выбрать уже существующий файл.

  • Read File– считывает данные из файла, определяемого по ссылке refnum, и выдает данные на поле выводаdata, на поле countподается значение количества считываемых данных. Считывание данных начинается с места, определяемого элементамиpos mode иpos offset, и зависит от формата файла.

  • Write File– записывает данные в файл, определяемый по ссылке refnum.Запись начинается с места, определяемого полями ввода данныхpos mode иpos offset для файла потока байтовых данных, и указателем конца файла для файла протоколированных данных.

  • Close File– закрывает указанный в ссылкеrefnumфайл.

Обработка ошибок

Подпрограммы ВП и функции низкого уровня содержат информацию об ошибках. Для их обработки используютсяподпрограммы обработки ошибок, такие какSimple Error Handler VI(ВП Простой обработчик ошибок), расположенный в палитреFunctions>>Time & Dialog. Поля вводаerror inи вывода error out информации об ошибках используются в каждом ВП для обмена информацией об ошибках между ВП.

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

Сохранение данных в новом или уже существующем файле

В файл, созданный (или открытый) с помощью функций файлового ввода/вывода, можно записать данные любого типа. При необходимости доступа к файлу со стороны других приложений или пользователей, следует записывать данные в виде строкиASCIIсимволов. Более полную информацию о записи бинарных файлов и файлов регистрации данных можно найти в учебном курсе LabVIEW Основы II.

Доступ к файлу можно осуществить программным путем или с использованием диалогового окна.Для доступа к файлу с помощью диалогового окна на поле вводаfile path подпрограммы ВПOpen/Create/Replace File VIне следует подавать данные.Программный доступ к файлу экономит время. Приведенная ниже таблица демонстрирует организацию путей к файлам.

Платформа

Путь к файлу

Windows

Состоит из имени дисковода, двоеточия, обратного слэша, разделяющего директории, и имени файла. Например,

c:\testdata\test1.dat - путь к файлу test1.datв папке testdata

UNIX

Состоит из прямого слэша, разделяющего директории, и имени файла. Например, /home/testdata/test1.dat – путь к файлу test1.datв папкеtestdata в каталогеhome. Имя фала и имя директории чувствительны к регистру символов.

MacOS

Состоит из имени диска,двоеточия, имен папок,разделенных двоеточиями, и имени файла. Например,

Hard Disk:testdata:test1.dat - путь к файлуtest1.datв папкеtestdata на дискеHard Disk

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

Подпрограмма ВП Open/Create/Replace File VI открывает файл test1.dat. ВП также создает ссылку на файл и кластер ошибок.

Совет

Ссылка (refnum) является уникальным идентификатором для таких объектов как файл, прибор и сетевое соединение.

При открытии файла, устройства или сетевого соединения LabVIEW создает ссылку на объект.Все операции с открытыми объектами выполняются с использованием ссылок.

Кластер ошибок и ссылка на файл последовательно передаются от узла к узлу. Поскольку узел не может выполниться, пока не определены все его входные поля данных, эти два параметра заставляют узлы работать в определенном порядке.Подпрограмма ВП Open/Create/Replace File VI передает ссылку на файл и кластер ошибок функцииWrite File,которая производит запись файла на диск. Функция Close File закрывает файл после получения кластера ошибок и ссылки на файл из функции Write File.

Подпрограмма ВП Simple Error Handler VI проверяет наличие ошибок и выводит информацию о них в диалоговом окне. Если в одном из узлов допущена ошибка, последующие узлы не выполняются, и кластер ошибок передается в подпрограмму ВПSimple Error Handler VI.

Упражнение 10-2 ВП Запись в файл

Соседние файлы в папке Лабораторная работа №1