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

Теория управления / Теория управления / LabVIEW_пособие_лаб_работа_3

.pdf
Скачиваний:
95
Добавлен:
06.06.2015
Размер:
256.97 Кб
Скачать

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

Последовательности

Цель работы

Ознакомление с понятием структуры языка последовательности, получение навыков создания последовательности и работы с её внутренними переменными.

Справочная информация

При создании VI последовательность выполнения двух независимых фрагментов программы не определена, что в некоторых случаях приводит к неоднозначному результату. Для решения этой проблемы существует специальная структура — Sequence (Последовательность). По своемупринципудействия она напоминает киноленту, когда последовательно выводятся на экран отдельные кадры. Таким образом, Sequence определяет порядок выполнения фрагментов программы.

Используйте структуры последовательности для управления порядком выполнения, когда естественная зависимость по данным отсутствует. Узел, который получает данные от другого узла, зависит от этого узла по данным и всегда выполняется после того, как этот узел завершит свое выполнение.

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

1.Создайте программу, которая будет подсчитывать время выполнения определенного цикла. В программе будем использовать последовательность с тремя кадрами.

2.Разместите на блок-диаграмме структуруStacked Sequence Structure из палитры All Functions->Programming->Structures.

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

необходимо выбрать Add Frame After (Добавить кадр после). Таким образом, создадим 3

кадра (0…2).

Переменные, которые используются для передачи данных между кадрами — Локальные Переменные Последовательности (Sequence locals).

3.В начальный (0-й) кадр поместим компонент Tick Count, который считывает текущее значение системного таймера и возвращает результат в миллисекундах. Эта подпрограмма может быть загружена из меню Functions>>Time & Dialog>>Tick Count (ms). Далее создадим упомянутую выше Локальную Переменную. Для этого нужно подвести указатель мыши к границе структуры, нажать правую кнопкумыши, и в выпадающем меню выбрать Add Sequence Local (Добавить Локальную Переменную Последовательности). Соединяем вывод Tick Count (ms) с появившимся терминалом локальной переменной. В результате, внутри него появится стрелочка, указывающая на то, что данные поступают из текущего кадра.

4.Создайте во втором кадре программупо выводуслучайных чисел в виде графика. Программа реализуется в виде цикла While-Loop, условием выхода из которого является нажатие кнопки останова. График генерации случайных чисел выводится на переднюю панель в виде графика Waveform Char.

5.На передней панели поместите график Chart. Соедините его терминал на блокдиаграмме с выходом прибора случайных чисел.

2

6.В последнем кадре вычислите разницупо времени. Для этого сравним текущее значение времени со значением, полученным в 0-м кадре. Использовать значение, полученное в первом кадре, можно соединив Локальную Переменную (стрелочкув квадратике) с соответствующим выводом. Переводим миллисекунды в секунды путем деления значения на 1000 и выводим результат на цифровой индикатор, предварительно установив его на интерфейсной панели.

3

7.Поместите внутрь неё функцию Tick Count(ms) из палитры All Functions- >Programming->Time. Добавьте в этот кадр последовательности локальную переменную, выбрав в контекстном меню на рамке последовательности пункт Add Sequence Local. Соедините выход функции Tick Count (ms) с этой локальной переменной.

8.Исследуйте работуприбора

9.Создайте прибор, реализующий последовательное зажигание лампочек – «бегущий огонёк».

10.Поместите на передней панели 4 индикатора типа Round LED.

11.Откройте диалог настроек виртуального прибора, выбрав в контекстном меню на пиктограмме ВП пункт VI Properties. Перейдите к категории Execution, и выставьте флажок Clear Indicators When Called.

12.Разместите на блок-диаграмме структуру Flat Sequence Structure. Создайте в ней 4 кадра, и разместите в каждом по одномуиндикатору Round LED, и подайте на вход каждого значение логической истины (true). Создайте промежуточные кадры, в которых бы осуществлялась задержка выполнения программы.

13.Изучите работуприбора.

Контрольные вопросы

1.Как с помощью структуры последовательности можно обеспечить порядок выполнения программы?

2.Чем отличаются структуры Flat Sequence и Stacked Sequence друг от друга?

3.В какой момент данные, помещенные в выходной туннель в первом кадре многокадровой последовательности, выйдут за пределы структуры?

4.Каким способом можно передать данные в следующий кадр в структуре Stacked Sequence?

4