Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-3_занятия_LV8_red+.doc
Скачиваний:
9
Добавлен:
13.11.2019
Размер:
559.1 Кб
Скачать

1.5. Поточное программирование

Функциональные пиктограммы и структуры, например цикл For (For Loop), часто рассматриваются как узлы (nodes). Каждый узел начинает действовать только тогда, когда данные доступны на всех его входах. Когда узел закончит работу, данные появятся на его выходах. Такой управляемый данными метод выполнения программ называется поточным (data flow).

Поточное программирование освобождает нас от линейной архитектуры текстовых языков. Так как порядок выполнения программы в LabVIEW устанавливается течением данных между узлами, а не последовательностью строк текста, можно создавать диаграммы, которые имеют несколько параллельных потоков прохождения данных и одновременных операций. LabVIEW обеспечивает прохождение нескольких потоков данных и выполнение независимых блоков одновременно.

1.6. Структуры программирования

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

Н апример, структура цикла For выполняет пиктограммы, заключенные в рамку, установленное количество раз, соответствующее значению, которое подается на терминал счета (count terminal). Терминал итераций (iteration terminal) показывает текущую итерацию. Он получает значения от 0 до N –1.

В этом примере структура цикла For выполняет свою поддиаграмму столько раз, сколько задается органом управления Number of Steps на лицевой панели. Во время каждой итерации узел Formula Node (Узел Формула) в цикле For вычисляет увеличенную частоту, и генератор функций Stimulate UUT выдает тестовый сигнал заданной амплитуды и увеличенной частоты. Затем вольтметр измеряет ответ тестируемого устройства.

По завершении последней итерации VI преобразует массив данных коэффициентов усиления ТУ в децибелы, вычисляя величину 20 log(y) для каждого значения коэффициента y. Затем VI группирует два выходных массива (частота и соответствующий коэффициент усиления) и посылает результат на терминал дисплея.

С труктура Sequence (Последовательность) выполняет несколько вложенных в ее границы поддиаграмм в соответствии с присвоенными им номерами. В обычном языке программирования последовательность строк диктует порядок выполнения программы. В LabVIEW объекты (узлы) могут выполняться параллельно, если между ними нет соединений. Структура Sequence используется для упорядочения последовательности выполнения узлов, которые должны выполняться друг за другом, но не имеют общих проводников данных.

Дважды щелкните по узлу Stimulate UUT, чтобы открыть генератор функций, и перейдите на его блок-диаграмму. Нажимайте на стрелку с любой стороны от числа в верхней части структуры Sequence для показа различных поддиаграмм. В этом примере последовательно выполняются пять кадров структуры Sequence.

1.7. Модульность и иерархия

LabVIEW по своей структуре является модульной средой, т. е. любой VI может использоваться в блок-диаграмме другого виртуального прибора как subVI. Разбив свою программную систему на subVI, можно разработать независимо и интерактивно протестировать эти subVI и тут же использовать их как узлы для построения более сложного уровня VI. Использование модульной иерархии позволяет эффективно разрабатывать, модифицировать, заменять и комбинировать виртуальные приборы для удовлетворения изменяющихся требований конкретного приложения.

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