
- •1. LabView – особенности, назначение и сферы применения.
- •2. Терминал данных, узел данных, поток данных, проводник данных
- •3. Структура For Loop.
- •4. Виртуальный прибор, его состав.
- •5. Палитры Controls, functions, tools.
- •6. Структура While Loop
- •7. Как создать виртуальный прибор, отразит последовательность действий.
- •8. Основные элементы управления, их размещение в палитрах.
- •9. Структура сдвиговый регистр.
- •10. Язык g, характерные особенности.
- •11. Данные, их передача в приборе различие по типам.
- •12. Структура варианта.
- •13. Фронтальная панель, блок-диаграмма, иконка и соединительная панель.
- •14. Как запустить и остановить работу VI, особенности вариантов запуска и остановки.
- •15. Структура формула.
- •16. Поток данных, терминалы, проводники. Определение и смысл.
- •17. Элементы отображения результатов работы VI, их типы и размещение в палитрах.
- •18. Структура последовательность.
- •19. Модульное программирование. Иерархия в VI.
- •20. Как разместить объекты управления на лицевой панели VI, маркировать и редактировать их свойства.
- •21. Массивы, их создание и назначение.
- •22. Виртуальный прибор, виртуальный подприбор, лицевая панель, блок-диаграмма, и их эквиваленты.
- •23. Основные структуры и их назначения.
- •24. Кластеры, их создание и назначение.
- •25. Иконка и соединительная панель.
- •26. Создание блок-диаграммы
- •27. Создание осциллограмм.
- •28. Сбор данных, каналы общего пользования, интерфейсы ввода/вывода.
- •29. Создание икон и соединительной панели.
- •30. Инициализация сдвиговых регистров. Необходимость в инициализации.
- •31. Виртуальный прибор, его состав.
- •32. Палитры Controls, functions, tools.
- •33. Структура While Loop.
- •34. Как создать виртуальный прибор, отразит последовательность действий.
- •35. Основные элементы управления, их размещение в палитрах.
- •36. Структура сдвиговый регистр
33. Структура While Loop.
Цикл по условию (While Loop) выполняет код внутри его границ до тех пор, пока логическое значение (Boolean value), подключенное к терминалу условия выхода из цикла (conditional terminal) не перейдет в состояние ЛОЖЬ (False). Lab VIEW проверяет терминал условия выхода по окончании каждой итерации. Если значение соответствует ИСТИНА (True), то выполняется следующая итерация. По умолчанию терминал условия выхода находится в состоянии ЛОЖЬ. Если вы оставите его неподключенным, цикл выполняться не будет (хотя в предыдущих версиях LabVIEW цикл выполнялся бы только один раз).
Терминал счетчика итераций (iteration terminal) цикла по условию ведет себя точно так же, как и в случае с циклом с фиксированным числом итераций.
Цикл по условию эквивалентен следующему псевдокоду:
Do
Execute subdiagram
While condition is TRUE
Вы можете изменить состояние, которое проверяет терминал условия выхода из цикла. Если раньше цикл выполнялся, пока на вход терминала поступало значение ИСТИНА (while true), теперь цикл остановится, если на вход поступит значение ИСТИНА (unless it's true). Чтобы этого добиться, щелкните правой кнопкой мыши по терминалу условия и выберите опцию Остановить, если Истина (Stop if True). Цикл по условию будет выглядеть, как показано на рис. 6.3.
Здесь цикл эквивалентен следующему псевдокоду:
Do
Execute subdiagram
While condition is NOT TRUE
Терминалы внутри циклов
Данные поступают в цикл и выходят из него через маленькое окно на границе цикла, называемое точкой входа/выхода в структуру (tunnel). Выходные точки цикла выводят данные лишь после завершения всех итерации.
Также в соответствии с принципом потока данных, для того чтобы терминал обновлял свои значения на каждой итерации цикла, вы должны поместить его внутрь цикла. Например, цикл по условию, показанный на рис. 6.5а, проверяет состояние логического элемента управления на каждой итерации. Если с элемента считывается значение ЛОЖЬ, то цикл завершает работу.
Если вы поместите терминал логического элемента управления за пределами цикла по условию, как это показано на рис. 6.56, то вы создадите цикл либо с бесконечным числом итераций, либо с однократным выполнением - в зависимости от начального значения логического элемента. В соответствии с принципом потока данных LabVIEW считывает логическое значение прежде, чем оно поступает в цикл, а не в процессе выполнения цикла или после его завершения.
Точно так же числовой индикатор (Digital Indicator) в цикле на рис. 6.6 будет обновляться во время каждой итерации. Числовой индикатор на рис. 6.7 обновится только один раз после завершения цикла. Он будет содержать случайное число, появившееся при последней итерации.
Если вы хотите удалить цикл, не удаляя его содержимого, щелкните правой кнопкой мыши по его границе и выберите опцию Удалить цикл по условию (Remove While Loop) или Удалить цикл с фиксированным числом итераций (Remove For Loop) соответственно. Если вы просто выделите цикл инструментом перемепдения и удалите его, то все объекты внутри будут также удалены.
Вы можете создать массивы данных, используя цикл, и сохранить их на его границах с помогцью функции LabVIEW автоматическая индексация (auto-indexing). Мы поговорим о массивах данных и индексировании в следуюшей главе.