Вы вошли на сайт, как Гость
Регистрация

Цикл While

Основы программирования в LabView
(Цикл While)

В LabVIEW, как и в других языках программирования, тоже есть циклы. И функции, и подпрограммы, и даже переменные. LabVIEW - это тоже язык программирования, только графический:) В этом уроке мы рассмотрим цикл While (While Loop). Это цикл, аналогичный циклам "Do Loop" и "Repeat-Until Loop" в обычных текстовых языках программирования. Чтобы было понятнее, посмотрите на картинку:

1 - Так выглядит цикл While в LabVIEW. Код, который находится внутри рамки цикла, 
будет выполняться до тех пор, пока не будет выполнено условие - Condition met примет значение true. 
2- Это блок-схема данного процесса (цикла то есть). 
3- Тот же самый цикл в обычном текстовом языке программирования. 

Чтобы создать такой цикл, нужно зайти в палитру Functions>>Execution Control и выбрать там While Loop соответственно. Затем нужно растянуть рамку по полю до нужных вам размеров, вставить что-нибудь (например, кнопку), что будет условием завершения - и все, цикл готов. - это терминал завершения цикла. Цикл будет выполняться до тех пор, пока этот терминал не получит определенное булевское значение (в данном случае - пока на терминал не поступит true). - счетчик итераций, начальное значение всегда 0 (на первом шаге цикла), в дальнейшем при каждом проходе увеличивается на 1. Вообще, есть два условия завершения цикла - Stop If True и Continue if True. Переключение между ними делается просто - щелчок правой кнопкой мыши по значку терминала, и выбрать нужное из контекстного меню. Давайте рассмотрим два примера, чтобы было понятнее:

Этот цикл будет выполняться до тех пор, пока число, которое выдает SubVI не станет больше 10, при значении регулятора Enable равном true. Тогда два true в сумме дадут тоже true, и цикл завершится (Stop if true).

А здесь ситуация обратная - цикл будет выполняться до тех пор, пока на выходе получается значение true. Как только получится False, цикл завершится (Continue if True). В общем-то, все довольно просто и логично.

Туннели

Небольшое, но важное замечание. В LabVIEW такие вот "рамочные" структуры встречаются довольно часто (есть еще цикл For, case structure и т.п.). Данные могут пересекать границу рамки по "туннелям". Посмотрите на картинку:

Синий квадратик на границе цикла - это и есть тот самый туннель. Прим этом важно понимать, что данные пойдут по туннелю только тогда, когда цикл закончится. Поэтому, в результате выполнения этой программы на индикаторе Iteration Number будет показан только номер последней итерации.

Оригинальный источник материала: www.labview.webhost.ru