
- •Занятие 4. Построение виртуального прибора, реализующего периодический сигнал с шумом
- •4.1. Создание VI – генератора синусоидального сигнала
- •4.2. Исследование биения частот
- •4.3. Исследование влияния шума на периодический сигнал
- •4.4. Запись данных в файл
- •Занятие 5. Ввод и вывод данных
- •5.1. Работа со строковыми переменными
- •5.2. Запись числовых данных
- •5.3. Считывание числовых данных
- •Занятие 6. Реализация прибора свертки функций
- •6.1. Свертка функций
- •6.2. Моделирование виртуального прибора
- •6.3. Исследование работы свертки
- •Занятие 7. Формулы, массивы, циклы. Функция гаусса
- •7.1. Структуры в LabView
- •7.2. Цикл For
- •Шаблон массива
- •Тип элементов
- •Массива не задан
- •7.3. Представление массивов данных
- •7.4. Считывание значений с графика. Узел Property Node
- •Занятие 8. Дифференцирование и интегрирование в labview
- •8.1. Численное дифференцирование
- •8.2. Численное интегрирование
- •Занятие 9. Интерполяция данных
- •9.1. Задание исходного массива
- •9.2. Использование структуры Sequence
- •9.3. Интерполяция полиномом
- •9.4. Интерполяция дробно-рациональной функцией
- •9.5. Сплайн-интерполяция
- •Занятие 10. Быстрое преобразование фурье. Фильтрация шумящих данных
- •10.1. Алгоритм быстрого преобразования Фурье
- •10.2. Фурье-образ шумящего периодического сигнала
- •10.3. Аподизация верхних частот Фурье-разложения
- •10.4. Фильтрация шумящей функции Гаусса
- •Занятие 11. Расчет фракталов. Экранная лупа
- •11.1. Построение фрактальной кривой
- •11.2. Самоподобие фрактала. Экранная лупа
- •Занятие 12. Примеры фильтрации шумящих экспериментальных данных
- •Занятие 13. Обращение свертки. Вычитание аппаратной функции
- •13.1. Свертка функций
- •13.2. Реализация обращения свертки
- •Занятие 14. Моделирование двухстробового интегратора
- •14.1. Принцип двухстробового интегратора
- •14.2. Генерация массива данных нестационарной емкостной спектроскопии
- •14.3. Построение VI, реализующего двухстробовый метод dlts
- •Занятие 15. Встраиваемые платы сбора и обработки информации. Цифровая плата pc-dio-96
- •15.1. Устройства связи с объектом
- •15.2. Конфигурирование платы сбора и обработки информации
- •15.3. Определение области адресов памяти, занимаемой daq-платой
- •15.4. Функциональная схема платы цифрового ввода-вывода pc-dio-96
- •Занятие 16. Пример построения информационно-измерительной системы с использованием технологии виртуальных приборов
- •16.1. Блок-схема установки c-V-измерений
- •16.2. Двоично-десятичная система счисления
- •16.3. Тестирование информационно-измерительной системы
5.2. Запись числовых данных
Откройте новый виртуальный прибор.
Создайте VI – генератор синусоидального сигнала. Представьте данные в виде графика на дисплее (Waveform Graph). Физический аналог этого элемента – экран однолучевого осциллографа. На выходе sin-генератора образуется одномерный массив чисел с плавающей запятой двойной точности (double precision). Чтобы убедиться в этом, включите экран помощи и подведите инструмент Cоединение к нужному проводнику (рис. 5.2). Каждое число в массиве имеет свой номер (индекс).
П
ростой вариант записи числовых данных на диск – использование Write To Spreadsheet File.vi (Запись в файл электронной таблицы), рассмотренный в 4.4. Spreadsheet String – формат, который используется, например, в электронных таблицах MS Excel. Используя этот способ, сохраните массив чисел с выхода sin-генератора в D:\Temp.
Обычно, кроме числовых данных, экспериментатор пишет в файл описание условий эксперимента (дата, время, температура и др.). Для записи такой информации применяется VI более общего вида – Write to Text File.vi, – рассмотренный в 5.1, который может записывать любую последовательность ASCII-символов, трактуемую в LabVIEW как character string. Введите в блок-диаграмму этот узел.
Для согласования форматов данных (number string) поместите перед Write to Text File.vi функцию Array To Spreadsheet String (Преобразование массива в строку таблицы) из палитры Programming >> String. Эта функция преобразует одномерный массив с выхода генератора в строку чисел, разделенных символом табуляции. Подсоедините к терминалу format string узла Array To Spreadsheet String строковую константу. Введите в нее %f, что обозначает вещественное число с плавающей запятой.
На лицевой панели создайте несколько строковых регуляторов (String Control), в которые запишите свою фамилию, дату эксперимента, другую информацию по желанию.
П
ереключитесь на блок-диаграмму. Используя узел Concatenate Strings, объедините текстовую информацию об эксперименте и смоделированные данные, подобно рис. 5.3. Там, где нужно, добавляются символы перевода строки, табуляции или другие элементы форматирования текста. Выведите объединенную строку в string indicator, а также запишите результат в новый файл, применив Write to Text File.vi.
Внимание! Чтобы найти на блок-диаграмме терминал, соответствующий элементу лицевой панели, подведите курсор к этому элементу, нажмите правую кнопку мыши и выберите пункт Find Terminal (Показать терминал) или просто дважды щелкните мышью. Найденный терминал на блок-диаграмме окажется обведенным в “шатер”.
Запустите любой текстовый редактор или табличный процессор, например Notepad, Microsoft Word или Microsoft Excel. Теперь вы можете загрузить в них сохраненные файлы и просмотреть собранные данные.
Сохраните виртуальный прибор.
5.3. Считывание числовых данных
Откройте третий виртуальный прибор.
Загрузите с диска первый файл, полученный в 5.2, п. 3 и cодержащий только числовые данные. Для этого поместите на блок-диаграмму Read From Spreadsheet File.vi, укажите путь к файлу.
Выведите содержимое файла на дисплей. Запустите программу. Посмотрите результат.
С помощью виртуального прибора Read from Text File.vi (Считывание символов из файла) и File Path Control считайте второй (комплексный) файл. Введите на лицевую панель строковый индикатор и выведите в него содержимое этого файла. Убедитесь, что описание и элементы форматирования не потеряны. Обратите внимание на то, что все содержимое файла в LabVIEW интерпретируется как одна длинная строка (string).
Ч
тобы использовать в дальнейших расчетах данные из файла, содержащего в том числе текст, например построить на дисплее, необходимо в принципе осуществить последовательность операций, обратную к выполненной в пп. 4–7 из 5.2. Вырезать текстовую информацию можно с помощью уже известной функции Search/Split String (Расщепить строку), которую использовали в 5.1. Еще удобнее воспользоваться Match Pattern (Совпадение с шаблоном) из палитры String, как это показано на рис. 5.4.
После того как удалось вырезать всю нечисловую составляющую файла, преобразуйте оставшуюся строку к виду нумерованного числового массива (array) с помощью узла Spreadsheet String To Array (Преобразование строки электронной таблицы в массив), рис. 5.5. Задайте формат преобразования (см. рис. 5.3) и выведите содержимое файла на второй дисплей.
Использованный в 5.3, п. 2 полиморфный (т.е. адаптируемый под тип считываемых данных) виртуальный прибор Read From Spreadsheet File.vi базируется на Read Lines from File.vi и уже содержит в себе преобразование Spreadsheet String To Array. Откройте этот VI и убедитесь в этом.
З
апустите VI. Сохраните прибор.
Составьте отчет по трем частям работы.