Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabVIEW Basics 1.pdf
Скачиваний:
548
Добавлен:
05.06.2015
Размер:
6.38 Mб
Скачать

Урок10 Стандартные методы и образцы проектирования

Урок 11 Стандартные методы и образцы проектирования

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

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

Для LabVIEW существует множество образцов проектирования. В большинстве приложений используется как минимум один из них. В этом курсе будет рассмотрен образец проектирования «Конечный автомат» (state machine). Изучение образцов проектирования будет продолжено в курсе LabVIEW Основы II.

Темы

A.Последовательное программирование

B.Программирование состояний

C.Конечные автоматы

D.Параллелизм

©National Instruments Corporation

11-1

Учебный курс LabVIEW Основы I

Урок10 Стандартные методы и образцы проектирования

A.Последовательное программирование

В уроке 1, Решение задач, вы разработали блок-схему для программы метеостанции. Эта программа состоит из ряда последовательных шагов:

1.Считать температуру.

2.Сравнить температуру с предельными значениями и при необходимости вывести предупреждение.

3.Показать и сохранить ход температуры.

В конце этой последовательности событий проверяется, нажата ли кнопка останова, и если нет, последовательность повторяется.

Многие ВП, которые создаются в LabVIEW, должны выполнять последовательности задач. Способы программирования этих последовательностей могут быть очень разными. Рассмотрим блокдиаграмму на рис. 11-1. Сначала здесь считывается напряжение, затем выводится диалог с просьбой включить питание, после чего сигнал вводится еще раз и пользователю предлагается выключить питание. Однако на блок-диаграмме нет ничего, что задавало бы именно такую последовательность событий. Любое из событий может произойти первым.

Рис. 11-1. Последовательность задач не определена.

Чтобы задать порядок выполнения, можно поместить каждую задачу в отдельный подВП и соединить подВП в цепочку при помощи кластера ошибок. Но в данном примере кластеры ошибок используются только в двух экспресс-ВП DAQ Assistant, поэтому таким способом можно задать последовательность ввода данных, но не отображения диалогов (рис. 11-2).

©National Instruments Corporation

11-2

Учебный курс LabVIEW Основы I

Урок10 Стандартные методы и образцы проектирования

Рис. 11-2. Последовательность задач задана частично.

Чтобы жестко задать последовательность выполнения любых объектов блок-диаграмммы, применяется структура Sequence (Последовательность). Она представляет собой серию «кадров», которые выполняются строго по порядку. Второй кадр не может начаться, пока в первом что-то остается невыполненным. На рис. 11-3 показан предыдущий пример, в котором порядок выполнения задан при помощи структуры Sequence.

Рис. 11-3. Последовательность задач задана структурой Sequence.

Чтобы пользоваться преимуществами встроенного параллелизма LabVIEW, применяйте структуры Sequence осмотрительно. Эти структуры гарантируют последовательность выполнения и запрещают параллельные операции. Другим их недостатком является то, что выполнение нельзя остановить внутри последовательности. На рис. 11-4 показано, как следует правильно использовать структуры Sequence в рассмотренном примере.

©National Instruments Corporation

11-3

Учебный курс LabVIEW Основы I

Урок10 Стандартные методы и образцы проектирования

Рис. 11-4. Задачи упорядочены при помощи структур Sequence и кластера ошибок.

Однако наилучший способ написать данный ВП — это поместить диалоги в структуры Case и соединить кластер ошибок с селекторами вариантов.

Рис. 11-5. Задачи упорядочены при помощи структур Case и кластера ошибок.

©National Instruments Corporation

11-4

Учебный курс LabVIEW Основы I

Урок10 Стандартные методы и образцы проектирования

B.Программирование состояний

Несмотря на то, что структура Sequence и последовательное соединение подВП решают проблему упорядочения задач, в ряде случаев возникают дополнительные вопросы.

Как изменить порядок выполнения внутри последовательности?

Как повторять один из элементов последовательности чаще, чем другие?

Как быть, если некоторые элементы последовательности выполняются только по условию?

Как остановить программу, не дожидаясь конца последовательности?

Даже если в вашей программе таких проблем не возникает, всегда есть вероятность, что в будущем программу придется менять. По этой причине архитектура конечного автомата будет хорошим выбором и в том случае, когда достаточно последовательной структуры.

©National Instruments Corporation

11-5

Учебный курс LabVIEW Основы I

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