Хелпикс

Главная

Контакты

Случайная статья





Лабораторная работа № 2. ГЕНЕРАЦИЯ МАССИВОВ ДАННЫХ. Порядок выполнения



Лабораторная работа № 2

 

ГЕНЕРАЦИЯ МАССИВОВ ДАННЫХ

 

Цель:научиться использовать циклы For-Loop в теле программы, генерировать массивы данных и усвоить последовательность действий для сохранения полученных данных на диске.

 

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

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

 

Порядок выполнения

Для решения задачи генерации массива случайных чисел понадобится составить диаграмму, которая показана на рис. 2.1.

 

Рис. 2.1. Использование цикла For-Loop

Следует обратить внимание на то, что, вместо привычного цикла While-Loop, здесь используется цикл For-Loop. Условием завершения работы, или выхода из такого цикла, является равенство переменной цикла и числа, определяющего количество итераций, т. е. в LabVIEW для работы цикла типа For-Loop необходимо соединить пиктограмму N с константой, указывающей количество повторений. Вначале, результат будем выводить в виде графической зависимости случайных чисел от текущего значения числа итераций.

Для реализации поставленной задачи необходимо выполнить следующие шаги.

1. Создать новый VI: File ‑> New VI.

2. Установить на интерфейсную панель элемент Waveform Graph: Controls ‑> Graph ‑> Waveform Сhart. Изменить его внешний вид и свойства можно по своему усмотрению.

3. Перейти в окно редактирования диаграмм.

4. Перетянуть в окно редактирования вышеупомянутый цикл: Functions ‑> Structures ‑> For Loop. Изменить его размеры и местоположение (если нужно) таким образом, чтобы была возможность устанавливать дополнительные компоненты вовнутрь. Следует сказать, что "i" – это переменная цикла.

5. Щелчком правой кнопки мыши на пиктограмме цикла N выбираем создание константы (Create Constant) и вводим с клавиатуры значение, например 50.

6. Создать простейший генератор случайных чисел. Для этого перетянем в середину цикла пиктограмму, которая позволяет генерировать случайные числа в диапазоне от 0 до 1: Functions ‑> Numeric ‑> Random Number (0-1).

7. Соединим все компоненты так, как показано на рисунке, изображающем диаграмму. Запустим программу на выполнение и увидим получившийся результат (рис. 2.2).

 

Рис. 2.2. Получение распределения

 

Выполнив первый шаг, связанный с генерацией и визуализацией случайной последовательности, перейдем к основной задаче – задаче записи данных на диск. Сначала используем самый простой, но, в то же время, элегантный подход для записи последовательности. Дословно он называется "Записью в электронную таблицу" (Write to Spreadsheet File). Используя соответствующую диаграмму (VI – виртуальный инструмент), без указания дополнительных параметров, например таких, как формат записываемого числа, создадим файл текстового формата, где через пробел последовательно будет записана сгенерированная последовательность.

Для этого перетянем из функционального меню Functions пиктограмму, которая называется Write to Spreadsheet File.vi: File I/O ‑> Write to Spreadsheet File.vi, и соединим блоки таким образом, как показано на
рис. 2.3.

В связи с тем, что "ввод одномерного массива" (1D data) и другие входы (формат, путь и т.п.) нами не подсоединялись, то LabVIEW сформирует следующую последовательность действий:

1) вначале будет создан массив из 50 чисел;

2) результат будет отображен в виде графика;

3) появится стандартное диалоговое окно, в котором будет предложено выбрать папку и имя файла, для сохранения данных;

4) если файл до этого не существовал, то он будет создан и в него будет записан массив чисел, а если он уже был на диске, то будет предложено добавить данные в файл или заменить уже существующие;

5) после записи данных на диск программа сама завершит свое выполнение.

Рис. 2.3. Сохранение таблицы в текстовый файл

 

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

Вводим имя файла: random.xls. Расширение имени файла .xls было выбрано не случайно, а с целью продемонстрировать возможность того, что файл, созданный в LabVIEW можно с легкостью использовать и для работы с другими приложениями, например с Microsoft Excel. В этом нет ничего удивительного, так как данные были сохранены в обычном текстовом формате. Поэтому не составит труда построить график в Excel, аналогичный графику в LabVIEW, используя Мастер Диаграмм Microsoft Excel. В результате должен получиться следующий график (рис. 2.4).

 

Рис. 2.4. График в MS Excel

 

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

Модифицируем предыдущую программу или создаем новый файл.

Устанавливаем в окне редактирования диаграмм все необходимые блоки, как показано на рис. 2.5: Functions ‑> File I/O ‑> Open/Create/Replace File.vi, Write File, Close File.

Небольшим отличием в программе будет то, что формат записываемых данных будет изменен: Functions ‑> String ‑> Array To Spreadsheet String.

Соединяем блоки между собой. Для Close File создаем индикатор сообщения об ошибках записи. Для этого указатель мыши в виде катушки подводим к контакту Error Out, нажимаем правую кнопку мыши, выбираем Create ‑> Indiсator. При этом на интерфейсной панели появится его графический эквивалент.

 

Рис. 2.5. Сохранение данных в MS Excel

 

По аналогии создайте константы и для других блоков. Для модуля преобразования массива данных в таблицу строк, используйте константу форматирования %s (строка).

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

Задание:Используя текстовый редактор, просмотрите содержимое созданного файла и сравните его с содержимым файла, записанного в результате работы предыдущей программы (рис. 2.6).

 

Рис. 2.6. Изменение свойств графика

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.