Хелпикс

Главная

Контакты

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





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



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

РАБОТА СО СТРУКТУРАМИ ТИПА «ПОСЛЕДОВАТЕЛЬНОСТЬ»

 

 Цель:научиться использовать в своих программах структуры типа «последовательность».

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

 

Рис. 6.1. Меню последовательность

 

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

 

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

• первичная инициализация системного времени;

• фрагмент программы, время выполнения которого и подсчитывается;
• получение значения системного времени;

• подсчет времени работы программы;

• перевод значения из миллисекунд в секунды.

Будем реализовывать программу шаг за шагом. Первый шаг – создание нового приложения File ‑> New VI.Далее следует переключиться в окно редактирования диаграмм (рис. 6.1).

 

 

Следующим шагом будет выбор структуры типа “последовательность” из функциональной палитры: Functions ‑> Structures ‑> Sequenceи перетягивание ее в область редактирования диаграмм.

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

Далее создадим упомянутую выше Локальную Переменную. Для этого нужно подвести указатель мыши к границе структуры, нажать правую кнопку мыши и в выпадающем меню выбрать Add Sequence Local(Добавить Локальную Переменную Последовательности).

Соединяем вывод Tick Count (ms)с появившимся терминалом локальной переменной. В результате внутри него появится стрелочка, указывающая на  то, что данные поступают из текущего кадра (рис 6.4).

Рис. 6.3. Системный таймер

 

"Наполним" содержанием следующий (1-й) кадр. В нем реализуем фрагмент программы, для значение, полученное в первом кадре, можно которого подсчитывается время работы. Это будет, как и в предыдущих лабораторных работах, генератор случайных чисел.

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

Рис. 6.4. Локальная переменная последовательности

 

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

Остается проверить программу на работоспособность. Запускаем ее на выполнение. Для останова нажимаем кнопку "STOP". В результате увидим значение времени в секундах, которое было затрачено на выполнение программы (рис. 6.5).

 

 

 

Рис. 6.5. Работа программы

 

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

 

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

 

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

 



  

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