Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LabView - учеб. пособия / LabVIEW Руководство пользователя

.pdf
Скачиваний:
931
Добавлен:
03.03.2016
Размер:
4.63 Mб
Скачать

тированные текстовые файлы. Чтобы записать строку текста в текстовый файл, используйте ВП Write Characters To File, который автоматически открывает и закрывает файл.

Используйте ВП Write To Spreadsheet File или функцию Array To Spreadsheet String для преобразования набора чисел из осциллограммы, из диаграммы или полученных от внешних устройств в одну строку электронной таблицы. Более подробно об использовании этих ВП и функций см. в разделах Использование ВП высоко-

уровневого файлового ввода/вывода и Использование ВП и функций низкого уровня и с подпалитры Advanced File I/O в настоящей Гла-

ве.

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

Если Вы хотите записать числа и текст в электронную таблицу или в текстовый редактор, используйте функции с палитр String и Array для форматирования данных и комбинирования строк. Затем запишите данные в файл. Более подробно об использовании этих функций для форматирования и комбинирования данных см. в Гла-

ве 10 Группировка данных с использованием строк, массивов и кластеров.

Форматирование и запись данных в файлы

Используйте функцию Format Into File для форматирования строковых, числовых, путевых и булевых данных как текста и записи форматированных данных в файл. Довольно часто эти функции можно использовать вместо раздельного форматирования строки с помощью функции Format Into String и последующей записи результирующей строки с помощью ВП Write Characters To File или функции Write File.

Более подробно о форматировании строк см. в разделе Формати-

рование строк в Главе 10 Группировка данных с использованием строк, массивов и кластеров.

261

Сканирование данных из файлов

Используйте функцию Scan From File, чтобы просмотреть текст в файле на предмет распознавания записи строковых, числовых, путевых или булевых значений и затем преобразовать текст в нужный тип данных. Часто можно использовать эту функцию вместо чтения данных из файла с помощью функции Read File или с помощью ВП Read Characters From File и последующего сканирования результирующей строки с помощью функции Scan From String.

Создание двоичных файлов

Чтобы создать двоичный файл, соберите набор чисел и запишите их в файл. Используйте ВП Write To I16 и Write To SGL для сохранения в файле одно- и двумерных массивов целых чисел и чисел однократной точности с плавающей точкой. Используйте ВП Read I16 и Read SGL для чтения созданных таким образом файлов.

Чтобы записать числа других типов, такие как числа удвоенной точности с плавающей точкой или 32-битовые целые числа, используйте низкоуровневые функции или функции с палитры Advanced File Functions. При чтении файла используете функцию Read File и указывайте нужный тип данных для чисел.

Примеры записи и чтения чисел с плавающей точкой в двоичный файл можно найти в ВП Read Binary File и в ВП Write Binary File из библиотеки examples\file\smplfile.llb.

Создание файлов протоколов данных

Вы можете создать и читать файлы протоколов данных (datalog files) путем включения режима протоколирования лицевой панели или используя низкоуровневые функции или функции с палитры Advanced File Functions для сбора данных и записи их в файл. Более подробно о создании и использовании файлов протоколов данных для лицевой панели см. в разделе Регистрация данных лицевой панели в настоящей Главе.

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

262

измерения, то можно записать эти данные в файл протокола данных, указав при этом, что данные являются кластером из одного числа и двух символьных строк. Пример записи данных в файл протокола можно найти в ВП Simple Temp Datalogger из библиотеки examples\file\datalog.llb.

При чтении файла, который включает показания температуры, записанные вместе с временем и датой измерений, следует указать, что Вы хотите читать кластер из одного числа и двух символьных строк. Пример чтения из файла протокола данных можно найти в ВП Simple Temp Datalog Reader из библиотеки examples\file\datalog.llb.

Запись в файл осциллограмм

Используйте ВП Write Waveforms To File и ВП Export Waveforms to Spreadsheet File для сохранения осциллограмм в файлах.

Если Вы предполагаете использовать осциллограмму, которую Вы создаете, только внутри ВП, то сохраните ее в виде файла протокола (.log). Более подробно о протоколировании данных см. в раз-

деле Когда использовать файлы протоколов данных в настоящей Главе.

ВП на Figure 14-3 вводит несколько осциллограмм, отображает их на графике и затем записывает в файл протокола данных.

Figure 14-3. Запись нескольких осциллограмм в файл протокола данных

263

Чтение осциллограмм из файлов

Используйте ВП Read Waveform from File для чтения осциллограмм из файла. После того, как одна осциллограмма будет считана, можно добавлять или изменять компоненты данных типа waveform (осциллограмма) с помощью функции Build Waveform, или извлекать компоненты осциллограммы с помощью функции Get Waveform Attribute.

ВП на Figure 14-4 читает осциллограмму из файла, изменяет компоненту осциллограммы dt и отображает измененную осциллограмму на графике.

Figure 14-4. Чтение осциллограммы из файла

ВП Read Waveform from File может также читать из файла несколько осциллограмм. В этом случае ВП возвращает массив осциллограмм, который может отображаться в виде нескольких кривых на одном графике. Если Вы хотите получить доступ к одной осциллограмме из такого файла, то следует выбрать элемент из массива по его индексу, как это показано на Figure 14-5. Более подробно об индексации массивов см. в разделе Массивы в Главе 10 Группиров-

ка данных с использованием строк, массивов и кластеров. В дан-

ном ВП происходит доступ к файлу, содержащему несколько осциллограмм. Функция Index Array читает первую и третью осциллограмму из файла и строит их кривые на отдельных индикаторах Waveform Graph. Более подробно о графиках см. в Главе 12 Графи-

ки и диаграммы.

264

Figure 14-5. Чтение нескольких осциллограмм из файла

Потоковые параметры

Многие ВП и функции с палитры File I/O имеют потоковые пара-

метры (flow-through parameters), обычно это ссылочный номер (refnum) или путь (path), при этом на выходе возвращаются те же значения этих параметров, которые поступают на вход. Используйте эти параметры для управления порядком выполнения функций. Соединяя потоковый выход одного узла с потоковым входом узла, который должен выполняться следующим, Вы тем самым создаете искусственную зависимость по данным. Без таких потоковых параметров Вам пришлось бы использовать структуры Sequence (последовательность), чтобы гарантировать нужный порядок выполнения операций. Более подробно об искусственной зависимости по дан-

ным см. в разделе Зависимость по данным и искусственная зависимость по данным в Главе 5 Построение блок-диаграммы.

Создание конфигурационных файлов

Используйте ВП с палитры Configuration File для чтения и создания стандартных в Windows конфигурационных файлов (.ini) и для записи зависимых от платформы данных, таких как пути, в не зависимом от платформы формате, чтобы этими файлами могли воспользоваться ВП, созданные под различными платформами. ВП с палитры Configuration File не используют стандартный формат конфигурационных файлов. Хотя Вы и можете использовать ВП с палитры Configuration File на любой платформе для чтения и записи файлов, созданных с помощью ВП, но Вы не сможете использовать ВП с палитры Configuration File для создания или модификации конфигурационных файлов в формате Mac OS или UNIX.

265

Примеры использования ВП с палитры Configuration File можно найти в библиотеке examples\file\config.llb.

"Примечание. Стандартным расширением для конфигурационного файла

вWindows является .ini, однако ВП с палитры Configuration File работают с файлами с любым расширением, обеспечивая при этом правильный формат их содержимого. Более подробно о содержимом конфигурационных файлов см. в разделе Формат конфигурационного фай-

ла в Windows.

Использование установок конфигурационных файлов

Стандартные конфигурационные файлы в Windows имеют специальный формат для хранения данных в текстовом файле. Вы можете легко получить программный доступ к данным из .ini файла, поскольку они представлены в жестком формате.

Например, рассмотрим конфигурационный файл со следующим содержимым:

[Data]

Value=7.2

Вы можете использовать ВП с палитры Configuration File для чтения этих данных, как показано на Figure 14-6. Этот ВП использует ВП Red Key для чтения ключа (key) с именем Value из раздела (section) с именем Data. Этот ВП работает независимо от того, как этот файл изменялся, лишь бы он был в формате конфигурационно-

го файла Windows.

Figure 14-6. Чтение данных из .ini файла

266

Формат конфигурационного файла в Windows

Конфигурационные файлы Windows – это текстовые файлы, разбитые на поименованные разделы (section). Имя каждого раздела заключено в квадратные скобки. Имя раздела должно быть уникальным. Разделы содержат пары: ключ (key)/значение (value), разделенные знаком равенства (=). Внутри каждого раздела ключевое имя должно быть уникальным. Ключевое имя представляет некоторый конфигурационный параметр, а наименование значения представляет собой установленное значение для этого параметра. Ниже приведен пример, поясняющий устройство конфигурационного файла:

[Section 1] key1=value key2=value [Section 1] key1=value key2=value

Используйте следующие типы данных в ВП с палитры Configuration File для задания поля value каждого ключевого параметра:

String (символьная строка)

Path (путь)

Boolean (булев)

64-bit double precision floating point numeric (64-битные числа уд-

военной точности с плавающей точкой)

32-bit signed integer (32-битные целые числа со знаком)

32-bit unsigned integer (32-битные целые числа без знака)

С помощью ВП с палитры Configuration File можно записывать и считывать строку или пропускать строку данных. Эти ВП считывают и записывают строку данных побайтно без конвертирования данных в ASCII. В конвертированных или пропущенных строках конфигурационного файла LabVIEW сохраняет любые неотображаемые текстовые символы с помощью их эквивалента в виде шестнадцатеричного escape-кода, как, например, код \0D для символа возврата каретки. Кроме того, в LabVIEW символ обратного слэша

267

\ задается в конфигурационном файле с помощью двойного обратного слэша \\. Установите на входе read raw string? или на входе write raw string? ВП с палитры Configuration File значение TRUE,

если хотите задать данные в виде символьной строки, или FALSE, если хотите задать данные в виде escape-кода.

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

Путевые данные LabVIEW сохраняет в формате .ini файла UNIX в не зависимости от текущей платформы. ВП интерпретируют абсолютный путь /c/temp/data.dat, сохраненный в конфигурационном файле, следующим образом:

(Windows)

c:\temp\data.dat

(Mac OS)

c:temp:data.dat

(UNIX)

/c/temp/data.dat

ВП интерпретируют относительный путь temp/data.dat, сохраненный в конфигурационном файле, следующим образом:

(Windows) temp\data.dat

(Mac OS) :temp:data.dat

(UNIX) temp/data.dat

Регистрация данных лицевой панели

Используйте регистрацию данных лицевой панели (logging front panel data), чтобы записывать данные для использования их другими ВП и для составления отчетов. Например, Вы можете регистрировать данные от индикатора Graph в одном ВП и использовать эти данные в индикаторе Graph другого ВП.

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

268

протокола данных (datalog file), который имеет размеченный текстовый формат. Вы можете извлекать из него данные следующими способами:

Использовать тот же ВП, из которого Вы записали данные, чтобы извлечь данные интерактивно.

Использовать ВП в качестве ВПП, чтобы извлечь данные программно.

Использовать для извлечения данных ВП и функции с палитры

File I/O.

Каждый ВП устанавливает связь (binding) с файлом протокола, которая хранит место размещения файла протокола данных, в котором LabVIEW регистрирует данные с лицевой панели. Связь с файлом протокола – это ассоциация между некоторым ВП и файлом протокола, в который протоколируются данные этого ВП.

Файл протокола данных содержит записи, которые включают временную метку и данные при каждом запуске ВП. Когда Вы обращаетесь к файлу протокола данных, Вы выбираете нужную запись путем запуска ВП в режиме восстановления (retrieval mode) и используя элементы управления на лицевой панели для просмотра данных. Когда Вы запускаете ВП в режиме восстановления, числовые элементы управления появляются в верхней части лицевой панели, таким образом, можно перемещаться по записям. Пример такого числового элемента управления см. на Figure 14-7.

Автоматическая и интерактивная регистрация данных лицевой панели

Для активизации автоматической регистрации выберите из меню пункт Operate»Log at Completion (регистрация при завершении). При первой регистрации данных лицевой панели ВП LabVIEW спросит у Вас имя файла протокола данных. После этого каждый раз при запуске этого ВП LabVIEW будет добавлять новую запись в файл протокола данных. Вы не можете перезаписывать запись после того, как LabVIEW запишет ее в файл протокола данных.

Чтобы занести Ваши данные интерактивно, выберите из меню пункт Operate»Data Logging»Log. LabVIEW тут же добавит новую запись в файл протокола данных. Интерактивное сохранение данных позволяет Вам самим выбирать, когда нужно протоколировать

269

данные. При автоматической регистрации данные протоколируются при каждом запуске ВП.

"Примечание. Индикатор Waveform Chart протоколирует по одной точке данных каждый раз, когда происходит регистрация данных лицевой панели. Если Вы подсоедините к индикатору типа Chart массив, то файл протокола будет содержать подмножество массива, которое к данному моменту отображено на диаграмме индикатора Chart.

Интерактивный просмотр протокола данных лицевой панели

После того, как Вы создадите протокол данных, Вы можете просмотреть его интерактивно, выбирая из меню пункт Operate»Data Logging»Retrieve. Появится панель восстановления данных, пока-

занная на Figure 14-7.

Figure 14-7. Панель инструментов восстановления данных

Подсвеченное число указывает номер записи данных, которые Вы просматриваете. Числа в квадратных скобках указывают интервал номеров записей, которые зарегистрированы для данного ВП в файле протокола. При каждом запуске ВП в протокол заносится одна запись. При этом индицируется дата и время выбранной записи. Щелкая по маленьким стрелкам («вверх» и «вниз») можно просматривать следующую или предыдущую записи. Для этой же цели можно использовать клавиши со стрелкой вверх и стрелкой вниз на клавиатуре.

В дополнение к панели инструментов восстановления данных, на лицевой панели будут происходить изменения в соответствии с выбранной на панели инструментов записи протокола данных. Например, когда Вы щелкните по стрелке «вверх» и перейдете к следующей записи, в элементах управления и индикаторах отобразятся данные, соответствующие моменту времени, при котором осуществлялась эта запись в протокол. Для выхода из режима восстановления и возврата в ВП, чей файл протокола просматривался, щелкните кнопку OK.

270