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

230101_grafprogrammir_lab_MU

.pdf
Скачиваний:
22
Добавлен:
05.06.2015
Размер:
613.12 Кб
Скачать

b.Поместите элемент Waveform Chart (Controls - Graph). Настройте значения его шкал.

c.Поместите три элемента Push Button (Controls - Boolean)

d.Поместите элемент Stop Button (Controls - Boolean)

3.На блок-диаграмме ВП (рис.3.2)

a.Поместите цикл While и соедините его терминал условия завершения с кнопкой stop.

b.Поместите элемент задержки Wait Until Next ms Multiple и соедините его терминал с терминалом элемента управления для задания длительности задержки.

c.На рамке цикла создайте сдиговый регистр с тремя входными терминалами.

d.Поместите генератор случайных чисел и соедините его с выходным терминалом сдвигового регистра.

e.При помощи арифметических операций рассчитайте среднеарифме-

n

si

n

si2

 

1

 

 

1

 

 

тическое N

 

 

N

 

значения регистра, ис-

 

и среднеквадратичное

 

пользуя три его последних значения, как показано на рис. 3.2.

f.Объедините рассчитанные значения в кластер при помощи блока

Bundle (Functions - Clusters).

g.Соедините объединённые значения с терминалом графика.

h.Поместите три структуры Case и соедините терминал выбора каждой из них с соответствующими терминалами трёх кнопок.

i.Создайте шесть узлов свойств (Property Node) для графика, используя его контекстное меню (Create – Property Node), и поместите каждый узел свойств в блоки True и False структур Case.

j.Выберите у узлов свойств два свойства: ActivePlot и Plot – Visible. Переведите их в режим записи.

k.Создайте по константе для каждого из свойств, установите в них необходимые значения и запишите их в свойства. Для выбора необходимой кривой на графике используйте индексацию 0, 1, 2, …, для установки видимости используйте булевы значения.

4.Запустите ВП на выполнение и проверьте правильность его работы.

11

Рис. 3.1. Лицевая панель ВП.

Рис. 3.2. Блок-схема ВП

12

ЛАБОРАТОРНАЯ РАБОТА№ 4

ЦЕЛЬ: Научиться работать с массивами.

ЗАДАНИЕ: Создать виртуальный прибор, который создавал бы двумерный массив (три строки и сто столбцов) случайных чисел и записывал транспонированные данные в файл таблицы символов. Файл должен содержать заголовки для каждого столбца. Затем отобразить три результирующих вектора на одном графике.

ПОРЯДОК ВЫПОЛНЕНИЯ:

1.Создайте новый ВП.

2.На лицевой части ВП (рис. 4.1).

a.Поместите элемент управления File Path Control (Controls – String & Path).

b.Поместите график Waveform Graph (Controls - Graph).

c.Поместите кнопку.

3.На блок-диаграмме ВП.

a.Создайте бесконечный цикл по условию.

b.Внутри цикла создайте структуру Case и соедините терминал кнопки с терминалом условия структуры.

c.Внутри структуры Case создайте структуру Sequence с тремя кадрами.

4.В первом кадре структуры Sequence (рис. 4.2)

a.Поместите элементы Write Characters To File (Functions – File I/O), Concatenate Strings (Functions - String), создайте строку заголовков пу-

тём склеивания подстрок и строковых констант символа табуляции и конца строки.

b.Запишите результирующую строку в файл, задав в качестве имени файла значение, выбранное пользователем в элементе управления

Path.

c.Создайте локальную переменную внутри кадра (из контекстного меню по щелчку правой кнопкой мыши на рамке структуры) и запишите в неё значение имени файла.

5.Во втором кадре структуры Sequence (рис. 4.3).

a. Создайте два вложенных цикла For Loop и сгенерируйте с их пом о- щью двумерный массив, сотоящий из трёх строк по сто столбцов.

b.Запишите результирующий двумерный массив в файл табличного формата Write To Spreadseet File (Functions – File I/O), установите свойство transpose в true и свойство append to file в true.

13

c.Создайте другую локальную переменную на рамке структуры Sequence и запишите в неё результирующий двумерный массив.

6.В третьем кадре структуры Sequence (рис. 4.4) на рисунке показана сортировка каждого одномерного массива и отображение результата на графике.

Рис. 4.1 Лицевая панель ВП

Рис. 4.2. Первый кадр структуры последовательности

14

Рис. 4.3. Второй кадр структуры последовательности

Рис. 4.4. Третий кадр структуры последовательности

ЛАБОРАТОРНАЯ РАБОТА№ 5

ЦЕЛЬ: Использование графиков и осциллограмм для анализа данных.

ЗАДАНИЕ: Создайте виртуальный прибор, который измеряет температуру приблизительно через каждые 0,25 с в течение 10 с. Во время получения данных ВП демонстрирует результаты измерений в реальном времени на раз-

15

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

ПОРЯДОК ВЫПОЛНЕНИЯ:

1.Откройте новую лицевую панель и создайте виртуальный прибор, как показано на рис. 5.1.

2.Измените масштаб графика для получения диапазона от 70,0 до 90,0. Убедитесь, что режим автоматической настройки шкал включен для обеих осей графика.

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

4.Развертка Температура отображает температуру по мере получения данных. После завершения сбора информации о температуре ВП вычерчивает данные на Графике температуры. Цифровые элементы отображения Среднее, Max и Min покажут соответственно среднее, максимальное и минимальное значение температуры.

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

!!!Если у вас сохранился виртуальный подприбор Thermometer, который вы создавали на первой лабораторной работе, используйте его для этой работы. В ином случае создайте этот прибор заново.

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

7.После завершения цикла массив переходит к различным узлам данных. Функция Массив Maxi&rMin возвращает максимальное и минимальное значения температуры, функция Mean.vi – среднее значение.

8.Вернитесь к лицевой панели и запустите виртуальный прибор.

9.С помощью панели редактирования шкалы (сделайте ее видимой (рис. 5.3), используя опцию Видимые элементы => Панель редактирования

16

шкалы из контекстного меню графика) измените точность значений шкалы Y так, чтобы график отображал числа с тремя знаками после запятой.

10.Используя палитру элементов управления графиком, увеличьте его, щелкнув по кнопке Увеличение (Zoom) и выбрав какой-либо режим.

11.Вызовите контекстное меню графика и отметьте опцию Видимые элементы => Панель редактирования курсора. Вначале курсор будет серого цвета; щелкните по кнопке Вкдючить курсор в верхней строке, чтобы активизировать первый курсор.

Используйте инструмент управления для перемещения курсора по графику; обратите внимание на то, как изменяются значения X и Y на дисплее курсора. Эти значения помогут вам определить координаты любой точки на графике. А теперь с помощью кнопок управления курсором подвигайте курсор в разных направлениях.

Рис. 5.2. Блок схема ВП

Рис. 5.1 Лицевая панель ВП

Рис. 5.3. Лицевая панель со шкалой графика и панелью курсора

17

ЛАБОРАТОРНАЯ РАБОТА№ 6

ЦЕЛЬ: Научиться работать с глобальными и локальными переменными, научиться использовать структуру «Последовательность» (Sequence) и сдвиговые регистры.

ЗАДАНИЕ: Создать два виртуальных прибора (ВП) и с помощью глобальных переменных организовать связь между ними. Первый ВП должен позволять вводить целые числа и передавать их по одному из трех каналов во второй ВП. Номер выбранного для передачи канала должен отображаться на цифровом индикаторе. Второй ВП должен принимать числа, вести историю транзакций и рассчитывать статистику по принятым числам (задание по вариантам).

ПОРЯДОК ВЫПОЛНЕНИЯ

1.Создайте первый ВП. Назовите его transmitter.

2.На блок-схеме ВП (рис. 6.1):

a.Поместите структуру Sequence (Functions – Structures – Sequence

Structure) и растяните ее на весь экран.

b.Создайте еще один фрейм (контекстное меню – Add Frame After).

c.Перейдите на фрейм 0.

d.Поместите логическую константу False (Functions – Boolean – False

Constant) и числовую константу (Functions – Numeric – Numeric

Constant) в нулевой фрейм структуры Sequence.

3.На интерфейсной части ВП (рис. 6.2):

a.Поместите элемент Digital Control (Controls – Numeric – Digital Control). Назовите его Transferring Number.

b.Поместите элемент Digital Indicator (Controls – Numeric – Digital Indicator). Назовите его Selected Channel.

c.Поместите три элемента Push Button (Controls – Boolean – Push Button). Назовите их Channel 1, Channel 2, Channel 3 соответственно.

4.На блок-схеме ВП (рис. 6.1):

a.Проследите, чтобы пиктограммы всех элементов управления были вне рамки структуры Sequence. При необходимости переместите их.

b.В нулевом фрейме структуры Sequence создайте пять локальных пе-

ременных (Functions – Structures – Local Variable). Убедитесь в контекстном меню (Change To Read / Change To Write), что они находятся в режиме записи (обычно стоит по умолчанию).

c.Ассоциируйте их с помещенными в предыдущем пункте элементами управления (контекстное меню – Select Item - …).

18

d.Соедините элементы Push Button с константой False, а Digital Indicator

и Digital Control с числовой константой.

5.На блок схеме ВП (рис. 6.3):

a.Перейдите на первый фрейм внешней структуры Sequence.

b.Внутри первого фрейма создайте бесконечный цикл, использовав структуру While и константу True.

c.Внутри цикла поместите структуру Case.

d.Закладку False оставьте пустой. На закладке True структуры Case поместите структуру Sequence. Добавьте в ней еще один фрейм.

e.Перейдите на фрейм 0 внутренней структуры Sequence и аналогично п. 4 обнулите состояния элементов Channel1, Channel 2, Channel 3, ис-

пользовав константу False и три локальные переменные.

6.На блок-схеме ВП (рис. 6.4);

a.Перейдите на первый фрейм внутренней структуры Sequence.

b.Поместите в первый фрейм внутренней структуры пиктограмму элемента Transferring Number (до этого все пиктограммы должны были находиться вне рамок использованных структур, теперь мы будем постепенно помещать их в нужные фреймы).

c.Поместите глобальную переменную (Functions – Structures – Global Variable).

d.Щелкните на пиктограмме глобальной переменной два раза. В отдельном окне откроется интерфейсная часть предопределенного глобального ВП. Блок-схемы у этого ВП нет.

7.На интерфейсной части глобальной переменной (рис 6.5):

a.Поместите два элемента Digital Indicator и один элемент Push Button.

b.Назовите их TransNumberStore, ChanNumberStore и HaveNumber соот-

ветственно. Эти элементы будут использоваться для передачи данных между первым и вторым ВП.

c.Сохраните переменную под именем global.vi

8.На блок схеме первого ВП (рис. 6.4):

a.На первом фрейме внутренней структуры Sequence ассоциируйте помещенную ранее глобальную переменную с ее составным элементом

TransNumberStore.

b.Соедините эту переменную с элементом Transferring Number.

c.Сюда же поместите еще одну глобальную переменную (на этот раз воспользуйтесь меню Select VI и выберите global.vi) и константу True. В дальнейшем при вводе новых глобальных переменных следует использовать global.vi

d.Аналогично п. 8.a ассоциируйте переменную с составным элементом

HaveNumber.

19

e.Соедините константу True с этой переменной.

f.Добавьте на первый фрейм внутренней структуры Sequence структуру

Case.

g.В структуру Case добавьте числовую константу, локальную и глобальную переменную.

h.Ассоциируйте локальную переменную с элементом Selected Channel.

i.Ассоциируйте глобальную переменную с составным элементом

ChanNumberStore.

j.Присвойте числовой константе значение 1.

k.Соедините числовую константу с обеими введенными переменными.

l.Аналогично п.п. 8.f – 8.k добавьте еще две структуры Case. Измените значение числовой константы на 2 и 3 соответственно.

m.Перенесите пиктограммы элементов Channel 1, Channel 2, Channel 3

и Selected Channel внутрь цикла (рис. 6.4).

n.Используя элементы Or (Functions – Boolean - Or), False Constant (Functions – Boolean – False Constant), Not Equal (Functions – Comparation – Not Equal), организуйте проверку нажатия одной из клавиш Channel 1, Channel 2, Channel 3 и передачу номера канала в

глобальную переменную (рис. 6.4).

9. Создайте второй ВП. Назовите его receiver.

10.На интерфейсной части ВП (рис. 6.6):

a.Поместите три элемента Digital Indicator и один элемент String

Indicator.

b.Назовите их Received Number, Selected Channel, TotalSumOfNumbers, ChannelsHistory соответственно.

11.На блок схеме ВП (рис. 6.7):

a.Поместите структуру Sequence.

b.Добавьте еще один фрейм.

c.На нулевой фрейм поместите числовую константу, строковую константу и четыре локальных переменных.

d.Аналогично п.п. 4.a – 4.c обнулите значения элементов индикации перед началом работы программы.

12.На блок-схеме ВП (рис. 6.8):

a.Перейдите на первый фрейм структуры Sequence.

b.Аналогично п. 5.b создайте внутри первого фрейма бесконечный цикл.

c.Используя контекстное меню (вызывать сбоку на рамке цикла), добавьте к структуре While Loop два сдвиговых регистра (Add Shift Register). Регистры позволяют передавать значение, полученное на те-

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]