Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОЕКТИРОВАНИЕ ВИРТУАЛЬНЫХ ИЗМЕРИТЕЛЬНЫХ ПРИБОРОВ В СРЕДЕ LabVIEW.pdf
Скачиваний:
265
Добавлен:
26.03.2015
Размер:
2.01 Mб
Скачать

ту, содержащую буквы. Поэтому каждый элемент, располагаемый на диаграмме или панели (за исключением декоративных элементов), обладает определенным типом данных. Многие из них похожи на типы данных языка C. Тип данных элементов можно сменить в некоторых случаях, например, для элемента Digital Indicator можно задать различные целочисленные или вещественные типы данных.

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

Требования по установке. LabVIEW работает на платформах

Windows, Macintosh, UNIX.

Для платформы Windows требуется операционная среда Windows 95/98/NT, 32 МВ оперативной памяти и процессор, начиная от Pentium. Для минимальной установки необходимо 60 МВ дискового пространства, для полной – 200 МВ.

Начало работы. Для начала работы с LabVIEW необходимо запустить на выполнение программу LabVIEW 5.1, находящуюся на рабочем столе или в меню «Пуск» Windows.

После загрузки программы на экране появляется главное меню LabVIEW. Оно содержит следующие пункты:

New VI – создание нового виртуального инструмента (новой программы).

Open VI – открытие виртуального инструмента, созданного ранее.

Solution Wizard – мастер законченных решений.

Search Example – поиск примеров.

LabVIEW Tutorial – электронный учебник по LabVIEW (в формате portable document format pdf).

РАБОТА 1. СТРЕЛОЧНЫЙ ВОЛЬТМЕТР

Цель работы – создать виртуальный инструмент – простейший генератор случайных чисел со стрелочным индикатором, выключателем и индикатором включения.

10

Органы управления:

Meter – стрелочный индикатор.

Square Button – квадратная кнопка.

Square LED – квадратный светодиод.

Функции:

While Loop – цикл с заранее неизвестным числом итераций.

Random Number (0-1) – случайное вещественное число с равномерным распределением от 0 до 1.

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

1.Для создания нового ВИ выберите кнопку New VI (Новый виртуальный прибор, ВИ) в диалоговом меню LabVIEW.

2.После появления новой лицевой панели ВИ нажмите правую кнопку мыши и в появившемся меню выберите стрелочный прибор из вкладки Numeric/Meter (Цифровые приборы/Измеритель), как показано на рис 1.1.

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

Рис. 1.1. Вкладка

Рис. 1.2. Вид стрелочного индикатора, установлен-

Numeric меню Control

ного на лицевую панель виртуального инструмента

4. Измените размер индикатора, для чего выберите на панели инструментов Tools (инструменты) инструмент Position/Size/Select , выделите стрелочный индикатор (вокруг него появится бегущая пунктирная линия), «схватите» за любой из углов и «тащите» в сторону увеличения или уменьшения. Если панели Tools нет на экране компьютера, то откройте ее

11

с помощью пункта меню Windows/Show Tools Palette (Показать палитру

Tools).

5.Измените заголовок индикатора (например, с «Meter» на «Вольтметр»), для чего выберите на панели инструментов Tools инструмент Edit Text , подведите появившийся текстовый курсор к тексту и выделите его. После этого через пункт главного меню Edit (Редактирование) становятся доступны операции редактирования текста (вставка, удаление, копирование). Введите новое название стрелочного индикатора (рис. 1.3).

6.Для изменения шрифта нужно выделить

фрагмент текста и зайти в окно Text Settings (Параметры текста) на главной панели инструментов (по умолчанию там стоит 13pt Application Font), где Вы имеете возможность выбрать один из шрифтов, его размер (Size), стиль (Style), цвет (Color), выравнивание шрифта (Justify).

Рис. 1.3. Изменение названия стрелочного индикатора

7.Если Вам необходимо просто удалить заголовок, то выделите его и нажмите на клавиатуре клавишу Delete. Для перехода на шрифты кириллицы необходимо нажать комбинацию клавиш, установленных для этой операции в Windows (на разных компьютерах эта комбинация может различаться, как правило, используют комбинации Alt-Shift или Ctrl-Shift).

8.Переключитесь в окно диаграмм, для чего выберите в меню Windows/Show Diagram (Показать диаграмму) или просто щелкните мышью по любому элементу этого окна. Заметьте, что в окне диаграмм уже есть два элемента (рис. 1.4). Это элемент, соответствующий установленному на лицевой панели стрелочному индикатору (DBL), и его заголовок (если Вы

Рис. 1.4. Вид диаграммы виртуального инструмента с установленным стрелочным индикатором

12

Рис. 1.5. Функции работы с числами

его не удалили). Эти элементы были установлены автоматически после ввода стрелочного индикатора на лицевой панели.

9. Установите на диаграмме генератор случайного числа. Для этого, нажав правую кнопку мыши, в появившемся меню функций выберите Nu-

meric/Random Number (0-1) (Случайное число с равномерным распределением от 0 до 1), как показано на рис. 1.5, и поместите новый элемент где-нибудь левее установленных ранее. Этот элемент будет генерировать случайное число в пределах от 0 до 1 для имитации входных данных вольтметра.

10.Если Вы поставили не тот элемент или Вам просто необходимо удалить какой-либо элемент, то выделите его (предварительно переключившись в панели инструментов Tools на инст-

румент Position/Size/Select ) и нажмите на клавиатуре клавишу Delete. Будьте внимательны: если Вы устанавливали элемент на диаграмме, то он и удаляется на диаграмме, если Вы устанавливали элемент на лицевой панели, то и удалять его надо там же.

11.Для соединения установленных элементов выберите на панели инст-

рументов Tools инструмент для соединения Connect Wire , отметьте левой кнопкой генератор случайного числа, переместите указатель мыши к стрелочному индикатору и снова отметьте его для завершения соединения. По окончании соединений выберите на панели инструментов Tools

инструмент Position/Size/Select .

12.Если соединение сделано корректно, то проводник будет нарисован сплошной линией (рис. 1.6, а), если нет – пунктирной (рис. 1.6, б). В этом случае удалите такое соединение с помощью команды меню Edit/Remove Bad Wire (удалить «плохой» провод). Затем повторите соединение снова. Если соединение сделано корректно и проводник нарисован сплошной линией, но Вам надо его удалить, тогда выделите его (предварительно переключившись в панели инструментов Tools на инструмент Position/Size/Select ) и нажмите на клавиатуре клавишу Delete.

а) б)

Рис. 1.6. Правильное и неправильное соединения двух элементов на диаграмме

13

13.Если требуется провести «ломаное» соединение, состоящее из нескольких отрезков, то при его создании отмечайте точки излома нажатием левой кнопки мыши. Будьте внимательны: соединение начинается и заканчивается только на элементах диаграммы, а не в произвольном месте. Пример «ломаного» соединения двух элементов приведен на рис. 1.7.

14.Для запуска ВИ на выполнение необходимо вернуться в окно лице-

вой панели ВИ и нажать кнопку Run на главной панели инструментов. Все действия в схеме (или программе, написанной на графическом языке G) сейчас сводятся к выработке одного случайного числа и отображения его на стрелочном индикаторе. Поэтому выполнение происходит практически мгновенно, и на индикаторе стрелка покажет это значение (в пределах от 0 до 1). На рис. 1.8 приведен возможный результат работы, созданного ВИ. Запустите ВИ на выполнение еще раз. Генератор случайного числа выработает другое значение, и оно будет отображено на индикаторе.

15.Если во время выполнения программы обнаружится ошибка, то появится окно Error List (Перечень ошибок), показанное на рис. 1.9, в котором будут выведены все ошибки, обнаруженные в программе. Выделение текста ошибки приводит к появлению ее описания в нижнем окне. Нажатие кнопки Find (Найти) или двойной щелчок левой кнопки мыши на тексте ошибки приводит к переходу в соответствующее окно и выделению некорректных элементов.

Рис. 1.7. Пример «ломаного» соединения двух элементов

Рис. 1.8. Возможный результат ра-

 

боты созданного виртуального ин-

Рис. 1.9. Окно ошибок в программе Error List

струмента

 

16.Для того чтобы изменить диапазон измеряемых величин на стрелочном индикаторе, необходимо выбрать на панели инструментов Tools инструмент Edit Text , подвести появившийся текстовый курсор к максимальному значению шкалы (10, 0), щелкнуть мышью где-нибудь внутри

14

Рис. 1.10. Результат изменения масштаба шкалы на (0, 1)
Рис. 1.11. Структуры и циклы
Рис. 1.12. Полученный цикл

него, ввести новое значение и нажать клавишу Enter. Результат изменения масштаба шкалы на (0, 1) приведен на рис. 1.10.

17.Чтобы за время выполнения программы получать не одно значение напряжения, а сколь угодно много, необходимо организовать цикл. Заключите все установленные элементы в цикл, для чего вернитесь в окно диаграмм и нажмите правую кнопку мыши. В появившемся меню функций выберите Structures/While Loop (Структуры / Цикл «While»), как показано на рис. 1.11. Далее следует «обвести» установленные элементы (для этого установите указатель мыши где-нибудь левее и выше установленных элементов, нажмите левую кнопку мыши и, не отпуская ее, тащите указатель мыши вправо вниз). В результате у Вас должен получиться цикл, представленный на рис. 1.12.

18.Если Вы ошиблись и не все элементы попали в контур, то нажмите правую кнопку мыши, находясь на границе контура, и выберите в появившемся меню команду удаления цикла Remove While Loop (Удалить цикл While). После этого повторите установку

цикла.

19.В цикле будут выполняться те действия, которые находятся внутри его контура. В данном случае это будет генерация случайного значения напряжения и его отображение на стрелочном индикаторе. Действия внутри цикла будут выполняться до тех пор, пока значение переменной условия завершения цикла равно TRUE. Как только оно примет значение FALSE, цикл завершится. Переменная условия завершения цикла изображается в правом нижнем углу контура цикла в виде небольшого квадрата . В дальнейшем (в других программах) при необходимости Вы можете использовать и переменную цикла i, находящуюся в левом нижнем углу контура цикла .

20.Вернитесь на лицевую панель ВИ и установите выключатель, для чего нажмите правую кнопку мыши, в появившемся меню выберите Boolean и один из выключателей вкладки Boolean, приведенной на рис. 1.13 (например, Square Button – Квадратная кнопка), и установите его рядом с индикатором (рис. 1.14). Заголовок Boolean можно сразу удалить.

21.Для подсоединения выключателя к другим элементам перейдите в окно диаграмм. Об-

15

Рис. 1.14. Вид индикатора с установленным выключателем

Рис. 1.15. Вид цикла с выключателем

Рис. 1.13. Элементы управления, принимающие двоичные значения

ратите внимание на то, что выключатель в виде прямоугольника уже находится на диаграмме. Выделите его с помощью мыши и «перетащите» поближе к условию выхода из цикла (в правом нижнем углу контура цикла) и соедините их, как показано на рис. 1.15.

22.Перед запуском программы на выполнение выберите на панели инструментов Tools инструмент Operate Value . Это необходимо для того, чтобы можно было нажимать на установленную кнопку-выключатель.

23.Пока программа не оформлена в виде законченного исполняемого модуля, запускать ее на выполнение приходится с помощью кнопки Run

на главной панели инструментов. Если запустить ее на выполнение сразу, то, как и ранее, будет сгенерировано одно случайное число, отображено на индикаторе, и программа завершит работу. Поэтому надо сначала нажать на кнопку-выключатель, а затем – на кнопку Run. Стрелка на индикаторе начнет «бегать» между 0 и 1, имитируя измерение напряжения. Примерный вид окна запущенного ВИ представлен на рис. 1.16. Чтобы завершить процесс измерения, достаточно отжать кнопкувыключатель. Выполнение программы завершится.

24.Можно установить рядом с выключателем световой индикатор, например лампу или светодиод. Для этого вернитесь на лицевую панель ВИ, нажмите правую кнопку мыши, в появившемся меню выберите Boolean (см. рис. 1.13) и один из световых индикаторов (например, Square LED

Рис. 1.16. Вид запущенного виртуального инструмента

с индикатором и выключателем

– квадратный светодиод), установите его рядом с выключателем (рис. 1.17). Заголовок Boolean также можно сразу удалить.

16

Рис. 1.17. Вид передней панели со стрелочным индикатором, выключателем и световым индикатором
Рис. 1.18. Подключение светового индикатора на диаграмме
Рис. 1.19. Вид запущенного виртуального инструмента со стрелочным индикатором, выключателем и световым индикатором
Рис. 1.20. Вид диаграммы с установленной временной задержкой

25.Для того чтобы световой индикатор загорался при включении ВИ, необходимо соединить его с выключателем. Делается это аналогично подключению выключателя, как показано на рис. 1.18. После установки светового индикатора снова запустите программу на выполнение. Теперь при включении Вашего прибора загорается светодиод (рис. 1.19).

26.Вы можете установить временную задержку, чтобы входные данные менялись более медленно. Этим Вы моделируете изменение частоты обновления информации на входе Вашего ВИ. Находясь в окне диаграмм, выберите в меню функций элемент Time &

Dialog / Wait Until Next ms Multiple

(Время и диалог / Ждать до следующего, в миллисекундах) и поместите его внутри Ва-

шего цикла While Loop.

27.Удерживая мышь на левом краю только что поставленного элемента, нажмите правую кнопку и выберите во всплывающем меню пункт Create Constant (Создать константу) для того, чтобы ввести время задержки (как следует из названия функции, время будет в миллисекундах). Введите значение (например, 500) и нажмите на клавиатуре клавишу Enter. Если Вы сделали все правильно, то на диаграмме появится новый цифровой элемент со значением 500 внутри, и он будет автоматически соединен с элементом задержки. Если Вы ошиблись, то придется новый элемент соединить вручную. Теперь задержка времени между двумя последова-

тельными появлениями новых данных будет равна 500 мс, а диаграмма должна выглядеть примерно так, как показано на рис. 1.20.

28.Запустите программу на выполнение.

29.Нанесите надписи на лицевую панель Вашего прибора. Для этого необходимо перейти на лицевую панель и выбрать на панели инструментов Tools инструмент Edit Text . После этого отметьте мышью то место на лицевой панели, где Вы желаете поместить надпись. В появившемся

17

окне с помощью клавиатуры введите любой текст. Нажатие клавиши Enter. при этом приводит не к завершению ввода, а к переходу на другую строку. Чтобы завершить ввод текста, выберите на панели инструментов Tools какой-либо другой инструмент.

30.Чтобы осуществить форматирование текста, необходимо выделить его (при активном инструменте Edit Text ) и зайти в окно Text Settings на главной панели инструментов (по умолчанию там стоит 13pt Application Font), где Вы имеете возможность выбрать размер, стиль, цвет, выравнивание шрифта и т.д. Изменяя формат текста, постарайтесь сделать Ваш прибор красивым и привлекательным.

31.Если Вам необходимо удалить текст, то выделите его и нажмите на клавиатуре клавишу Delete.

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

33.Можно установить этот элемент прямо на выключатель (так, что тот перестанет быть видимым), а затем, выделив декоративный элемент, на-

жать на главной панели инструментов кнопку Reorder (Переупорядочить), после чего выбрать в нем команду Move To Back (переместить на задний план). После этого декоративный элемент переместится на задний план, а выключатель снова станет видимым (теперь на фоне декоративного элемента).

34.По завершении работы для сохранения результатов необходимо воспользоваться пунктом главного меню File/Save. Запись производится на диск в папку, указанную преподавателем, проводящим занятия. При вводе имени файла не забудьте добавить расширение имени файла «.vi».

Задание

1.Создать стрелочный вольтметр с диапазоном измерения от 0 до X

вольт.

2.Подать на него напряжение, равное Y вольт.

3.Добавить выключатель питания и организовать цикл While с временной задержкой T мс.

4.Рядом с выключателем разместить световой индикатор питания.

5.Подать на вольтметр изменяющееся напряжение, равное Y+z вольт, где z равномерно распределено от –Z до +Z.

6.Сделать надписи на приборе и установить несколько (не менее 3) декоративных элементов.

18

Варианты заданий

 

Диа-

Напря-

 

 

 

 

Вре-

Изме-

 

 

 

 

Ва-

пазон

 

Выклю-

 

нение

 

Индика-

 

жение

 

 

менная

 

Надписи

ри-

изме-

 

 

чатель

 

напря-

 

 

тор

посто-

 

 

 

задерж-

 

 

на приборе

ант

рения,

янное, Y

 

питания

 

ка, T

жения,

 

питания

 

 

X

 

 

 

 

 

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

5

4

 

 

Верти-

 

100

0,5

 

Свето-

A, B

2

10

7

 

 

 

200

1

 

диод

A, C

 

кальный

 

 

3

25

12

 

 

 

 

 

 

 

 

 

тумблер

 

300

2

 

 

 

A, D

4

50

27

 

 

400

2

 

Лампа

A, E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

круглая

A, F

5

100

36

 

 

 

 

500

3

 

6

250

127

 

Горизон-

 

1000

5

 

красная

A, G

7

500

380

 

тальный

 

500

10

 

 

 

A, B, C

8

5

3

 

тумблер

 

 

 

 

 

 

 

 

 

400

1

 

 

 

A, C, D

9

10

8

 

 

 

 

300

0,5

 

Лампа

A, D, F

 

 

 

 

 

 

 

 

 

 

 

круглая

A, E, G

10

25

18

 

 

 

 

200

1

 

11

50

36

 

 

 

 

100

1

 

зеленая

A, F, G

12

100

36

 

 

Кнопка

 

200

2

 

 

 

A, B, D

13

250

220

 

 

 

 

 

 

 

 

 

 

 

 

 

 

300

10

 

Лампа

A, C, E

14

500

220

 

 

 

 

400

20

 

A, D, F

 

 

 

 

 

квадрат-

 

 

 

 

 

 

 

 

 

 

 

 

15

5

2

 

 

Верти-

 

500

1

 

A, E, F

 

 

 

 

ная зеле-

16

10

6

 

кальный

 

1000

2

 

A, B, E

 

 

 

 

ная

17

25

22

 

тумблер

 

500

3

 

 

A, C, F

 

 

 

 

 

18

50

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

250

4

 

Свето-

A, B, C, D

 

 

 

 

 

 

 

 

 

 

 

диод

A, C, D, F

19

100

80

 

 

Кнопка

 

250

5

 

20

250

200

 

 

 

500

25

 

 

 

A, D, F, G

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Расшифровка надписей на приборе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

Вольтметр

 

 

 

 

 

 

B

 

 

<Полное название вуза>

 

 

 

 

 

 

C

 

<Сокращенное название вуза>

 

 

 

 

 

D

 

 

 

<Факультет>

 

 

 

 

 

 

E

 

 

 

<Кафедра>

 

 

 

 

 

 

F

 

 

 

<Номер группы>

 

 

 

 

 

 

G

 

 

<Инициалы студента>

 

 

 

19

РАБОТА 2. ОСЦИЛЛОГРАФ С ВНУТРЕННИМ ГЕНЕРАТОРОМ

СИГНАЛА

Цель работы – создать виртуальный инструмент – простейший осциллограф с внутренним генератором сигнала, изучить органы управления и индикаторы для цифрового и графического ввода/вывода информации, а также функции для программирования циклических процессов

Органы управления:

Digital Control – цифровой орган управления.

Digital Indicator – цифровой индикатор.

Waveform Graph – графический индикатор формы сигнала.

Функции:

Multiply – умножение.

Divide – деление.

Numeric Constant – числовая константа.

PI – число π.

Trigonometric Functions – тригонометрические функции.

For Loop – цикл с заданным числом итераций.

Для осуществления функций измерения и управления в среде LabVIEW предусмотрена возможность ввода/вывода информации в диалоговом режиме. Информация может быть представлена в цифровом, текстовом или графическом виде. Для визуализации ввода/вывода служит «лицевая панель прибора». Ее формируют исходя из требований к виду входных/выходных данных и ориентируясь на эргономические представления пользователя.

Визуализация предлагаемых в среде LabVIEW органов управления представлена библиотеками элементов управления, доступных из меню Controls на лицевой панели. Доступ к меню Controls осуществляется либо по нажатию правой кнопки мыши в окне Front Panel (передняя панель), либо по команде меню Windows/Show Controls Palette. Органы управления в системе LabVIEW функционально аналогичны переменным в обычных языках программирования. У каждого органа управления есть предопределенные свойства, доступные из контекстного меню данного органа управления в окне лицевой панели (для вызова этого меню нужно навести курсор мыши на требуемый объект и щелкнуть правой кнопкой). Изменяя свойства используемых органов управления, можно настроить поведение и внешний вид создаваемого виртуального инструмента (ВИ).

Для программирования цикличных процессов в LabVIEW имеются две функции: For Loop (цикл с заданным числом итераций) и While Loop (цикл

20

Рис. 2.2. Графические индикаторы

с постусловием). Эти функции доступны из

 

вкладки Structures меню Functions, вызы-

 

ваемого правой клавишей мыши из окна

 

диаграмм. Пример выбора цикла While

 

Loop представлен на рис. 2.1. Функция For

 

Loop функционально аналогична циклу for

 

в текстовых языках программирования и

 

применяется в случае, когда число итера-

 

ций цикла заранее известно. Функциональ-

 

ный аналог структуры While Loop – цикл

 

repeat…until языка Паскаль. В общем случае

 

этот цикл предназначен для программирова-

 

ниябесконечных циклических процессов.

 

Создание лицевой панели.

Рис. 2.1. Выбор цикла While Loop

1. Создайте новый ВИ – команда New VI

(новый ВИ) в начальном диалоге LabVIEW.

 

2. В окне лицевой панели разместите

 

орган управления Waveform Chart. Этот

 

объект доступен на вкладке Graph из меню

 

Controls (рис. 2.2). В этом объекте будет

 

отображаться анализируемый осциллогра-

 

фом сигнал – изменение определенной ве-

 

личины во времени, представленное в гра-

 

фической форме. Измените заголовок

 

объекта на более подходящий, например

 

«Анализируемый сигнал» (с помощью ин-

 

струмента Edit Text из панели Tools).

3. Измените цвет и толщину линии процесса на графике. Для изменения визуальных свойств объекта доста-

точно навести курсор на окно в правом верхнем углу объекта (Plot 0) и вызвать контекстное меню, нажав правую кнопку мыши. Возможные цвета линии графика доступны в подменю Color. Для изменения толщины линии нужно открыть подменю Line Width и выбрать подходящую толщину линии.

4.Во время выполнения работы, возможно, потребуется стереть изображение в индикаторе – для этого воспользуйтесь командой контекстно-

го меню Data operations/Clear Chart.

5.Устанавливать граничные значения диапазонов графического индикатора по оси X и Y можно с помощью инструмента Edit Text.

6.Разместите на лицевой панели простой цифровой индикатор для отображения промежуточных данных внутреннего генератора. Для этого в меню Controls откройте вкладку Numeric и выберите объект Digital Indica-

21

tor, как показано на рис. 2.3. Определите заголовок для этого индикатора, например «Текущее значение сигнала» (с помощью инструмента Edit Text из панели Tools).

7.Расположите на панели цифровой орган управления. Значение в этом органе управления будет использоваться для установки числа отсчетов сигнала внутреннего генератора. Подходящий объект – Digital Control доступен из вкладки Numeric меню Controls (см. рис. 2.3). Задайте подходящий заголовок для этого объекта, например «Число отсчетов сигнала». В окне диаграммы этот объект будет использоваться для установки числа итераций цикла генерации, являющегося, очевидно, целым числом. Однако только что созданный объект содержит внутри себя число 0.00, являющееся с точки зрения программирования вещественным, иными словами, тип данных по умолчанию для объекта Digital Control является вещественным. Поэтому нужно установить целочисленный тип данных этого элемента управления.

8.Для того чтобы установить целочисленный тип данных для объекта, необходимо открыть его контекстное меню (щелчок правой кнопки мыши)

ив подменю Representation выбрать один из следующих типов целого числа без знака (рис. 2.4):

Unsigned Long U32 (целое без знака размером 4 байта);

Unsigned Word U16 (целое без знака размером 2 байта). После этого показание прибора меняется на 0.

9. Установите в элементе управления «Число отсчетов сигнала» тре-

буемое значение согласно варианту задания.

Рис. 2.3. Выбор элемента Digital

Рис 2.4. Типы данных индикаторов

и органов управления

Indicator

 

22

10.Разместите на лицевой панели подходящие декоративные элементы, а также элементы с указанием варианта, фамилии разработчика и группы. Примерный вид передней панели показан на рис. 2.5.

Рис. 2.5. Примерный вид передней панели разрабатываемого виртуального инструмента

11.Переключитесь в окно диаграммы – команда Windows/Show Diagram.

Создание диаграммы.

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

2.Для создания итеративного процесса в диаграмме необходимо разместить функцию цикла. Для этого в меню Function, доступном через контекстное меню диаграммы, или по команде меню Windows/Show Functions Palette нужно выбрать вкладку Structures и выделить элемент For Loop (см. рис. 2.1). После этого курсор мыши будет выглядеть в виде прямоугольника, который можно растянуть до требуемых размеров следующим образом. Нажмите левую кнопку в том месте диаграммы, где будет располагаться левый верхний угол элемента, и, удерживая кнопку в нажатом состоянии, растяните прямоугольник, ограничивающий элемент, до требуемых размеров, после чего отпустите кнопку. В дальнейшем можно изменять размеры этого объекта при помощи инструмента Position/Size/Select из панели инструментов Tools. Для изменения размеров выберите этот инструмент и наведите курсор мыши на один из углов элемента, при этом изображение курсора изменится и будет выглядеть в виде уголка. Нажмите левую кнопку и, удерживая ее в нажатом состоянии, измените границы объекта, после чего отпустите кнопку.

23

3. После размещения цикла в диаграмме перенесите цифровой индикатор «Текущее значение сигнала» в границы цикла. На диаграмме этот

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

4.Объект, представляющий цикл For, имеет два терминала. Первый из них, обозначенный буквой N (значение на этом входе определяет число итераций цикла), необходимо подключить к органу управления «Число отсчетов сигнала». Второй терминал, обозначенный буквой i, отображает номер текущей итерации цикла и будет использоваться для формирования развертки сигнала.

5.В соответствии с вариантом задания разместите тригонометриче-

скую функцию из вкладки Numeric/Trigonometric меню Functions (рис. 2.6). На входе тригонометрической функции должно появиться вещественное число. Для его формирования необходимо воспользоваться арифметическими функциями умножения и деления из вкладки Numeric меню Functions. Аргументом тригонометрической функции является число в радианах. Для его получения воспользуемся формулой

X = i 180π .

Для вычисления аргумента тригонометрической функции по этой формуле необходимы две числовые константы: значение числа π и число 180, а также значение переменной цикла – номер итерации. Константа, равная числу

π, может быть получена из вкладки Additional Numeric Constant меню Numeric

(рис. 2.7), а числовая константа Numeric

 

 

Рис. 2.7. Числовые физические и ма-

Рис 2.6. Тригонометрические функции

24

тематические константы

 

Constant – из вкладки Numeric меню Functions. Значение текущей итерации цикла можно получить из терминала i цикла For Loop.

6. Выход тригонометрической функции соедините с входом графика,

воспользовавшись инструментом Connect Wire . На входе графика должен появиться массив, а выходом тригонометрической функции является вещественное число, однако после соединения видно, что никакого конфликта не произошло (проводник выглядит, как непрерывная линия, а не как пунктирная). Это объясняется тем, что используемый цикличный процесс будет выполняться указанное число итераций, соответственно на выходе цикла сформируется массив, который и поступает на вход графического индикатора.

7.Организуйте временную задержку между итерациями цикла. Для этого внутри цикла разместите функцию Wait Until Next ms Multiply

(вкладка Time&Dialog меню Functions). К входу millisecond multiply (за-

держка в мс) подключите целочисленную константу, значение которой установите в промежутке от 100 до 200.

8.Выполните соединения остальных объектов согласно рис. 2.8, ис-

пользуя инструмент Connect Wire . Установка значения числовой константы на входе функции деления осуществляется с помощью инструмента Edit Text . Для изменения значения выберите этот инструмент на панели инструментов и щелкните левой кнопкой в редактируемом элементе. После этого введите требуемое значение с клавиатуры.

9. Сохраните ВИ в файле на диске (команда File/Save As…). Не забудьте явно указать расширение имени файла «*.vi». Файл с разработанным ВИ сохраните в личном каталоге, который был создан заранее.

10.Запустите разработанную программу на выполнение с помощью команды Run.

Рис. 2.8. Примерный вид диаграммы разрабатываемого виртуального инструмента

25

Варианты заданий

Вариант

Функция гене-

Число от-

Тип целого числа для органа

Надпись на

 

рации

счетов

управления

приборе

1

Cos

360

U32

A, B, D

2

Sin

720

U16

A, G, B

3

Cos

1080

U32

A, E, G

4

Sin

520

U16

A, G, D

5

Cos

450

U16

A, C, D, E

6

Sin

810

U32

A, B, G, E

7

Cos

380

U32

A, C, F

8

Sin

540

U16

A, F, G

9

Cos

400

U32

A, E, F, G

10

Sin

1500

U16

A, E, G

11

Cos

1800

U16

A, G, F

12

Sin

2100

U32

A, D, F

13

Cos

520

U32

A, C, E

14

Sin

360

U16

A, D, F

15

Cos

420

U32

A, E, F

16

Sin

540

U16

A, B, E

17

Cos

1080

U16

A, C, F

18

Sin

1200

U32

A, B, C, D

19

Cos

1420

U32

A, C, D, F

20

Sin

1240

U16

A, D, F, G

Расшифровка надписей на приборе

A

Осциллограф

B

<Полное название вуза>

C

<Сокращенное название вуза>

D

<Факультет>

E

<Кафедра>

F

<Номер группы>

G

<Инициалы студента>

РАБОТА 3. ЦИФРОВОЙ ВОЛЬТМЕТР С ФУНКЦИЕЙ

СОХРАНЕНИЯ ПРОМЕЖУТОЧНЫХ РЕЗУЛЬТАТОВ ИЗМЕРЕНИЙ

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

LabVIEW.

Органы управления:

String Control – строковый орган управления.

File Path Control – орган управления для установки пути к файлу).

Функции:

Format Into String – преобразовать число в строку.

26

Format Date/Time String – преобразовать дату и время в строку.

Concatenate Strings – объединить строки.

End Of Line – символ конца строки.

Greater? – больше.

Boolean Constant – булева константа.

Write Characters To File – записать символы в файл.

Требуется создать вольтметр, имеющий следующие органы управления

ииндикации:

цифровой индикатор для отображения величины уровня сигнала;

тумблер «Вкл/Выкл» прибора и соответствующий ему цветовой индикатор;

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

цифровой индикатор текущего времени измерения;

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

Создание лицевой панели.

1.Создайте новый ВИ – команда New VI в начальном диалоге.

2.Для возможности просмотра результата измерения разместите на передней панели цифровой индикатор Digital Indicator из вкладки Numeric меню Controls. При помощи инструмента Edit Text задайте заголовок для этого индикатора, например «Вольтметр». Воспользуйтесь диалогом Data range…, доступным из контекстного меню индикатора, и установите диапазон значений индикатора от 0 до 1. Задайте размер шрифта для отображения больше, чем установленный по умолчанию. Для этого воспользуйтесь подменю Size (размер) меню Text settings (установки для текста) на панели инструментов.

3.Из вкладки Boolean меню Controls выберите и установите тумблер или кнопку, а также какой-либо световой индикатор.

4.При помощи инструмента Edit Text палитры инструментов Tools дайте название установленным в п.3 элементам «Вкл/Выкл». Для светового индикатора название лучше удалить.

5.Из вкладки Numeric меню Controls установите на передней панели два цифровых регулятора Digital Control . При помощи инструмента Edit Text задайте установленным элементам названия: «Время измерения, мс» и «Частота измерения, Гц».

27

6.Установите цифровой индикатор текущего времени измерения Digital Indicator из вкладки Numeric меню Controls. При помощи инструмента Edit Text задайте название индикатору «Времени прошло, мс».

7.Установите целочисленный тип данных для объектов «Времени прошло, мс» и «Время измерения, мс». Для этого откройте контекстное меню объекта и выберите в подменю Representation (представление) один из целочисленных типов:

Unsigned Long U32 (целое без знака 4 байта);

Unsigned Word U16 (целое без знака 2 байта).

8.Установите на лицевой панели элемент редактирования строки

String Control , расположенный во вкладке String & Table меню Controls, приведенной на рис. 3.1. При помощи Edit Text задайте название «Единицы измерения».

9.Установите элемент File path control из вкладки Path & Refnum меню Controls (рис. 3.2) и при помощи инструмента Edit Text задайте название «Имя файла».

Рис. 3.1. Элементы управления строками и таблицами

Рис. 3.2. Выбор элемента управления пути файла

При помощи инструмента Position/Size/Select увеличьте размер источника пути файла «Имя файла».

10.Разместите на лицевой панели подходящие декоративные элементы, а также элементы с указанием варианта, фамилии разработчика и группы. Примерный вид передней панели приведен на рис. 3.3.

11.Переключитесь в окно диаграмм с помощью команды Windows/Show Diagram.

Создание диаграммы.

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

1. После переключения в окно диаграммы на ней уже должны находиться восемь элементов: два цифровых индикатора, два цифровых источника данных, органы управления и индикации включения/выключения прибора, два строковых органа управления.

28

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

Loop из вкладки Structures меню Functions. После размещения объекта этого цикла следует увеличить его размеры, так как внутри будет находиться довольно много вспомогательных функций.

Рис. 3.3. Примерный вид лицевой панели разрабатываемого виртуального инструмента

3.После размещения управляющей структуры цикла внесите внутрь его два цифровых индикатора («Вольтметр», «Времени прошло, мс»), строковый орган управления («Единицы измерения»), два булевых элемента. Два цифровых источника данных («Время измерений, мс», «Частота измерений, Гц») и строковый элемент («Имя файла») должны располагаться вне цикла. Для перемещения элементов воспользуйтесь инструментом Position/Size/Select .

4.Создайте логическую цепочку внутри цикла для возможности выключения прибора при помощи соответствующего булевого элемента. Для этого необходимо установить на диаграмме внутри цикла два элемента. Из

вкладки Boolean меню Functions установите элемент Not и из вкладки

Application Control – элемент Stop .

5. При помощи инструмента Connect Wire соедините элемент тумблера, элемент светового индикатора и вход x элемента Not. Выход элемента Not соедините с элементом Stop. Таким образом, элемент Not не-

29

обходим для изменения начального значения булевого элемента выключателя.

6. Выберите элемент Divide из вкладки Numeric меню Functions и установите его вне цикла рядом с цифровым источником данных «Частота измерения, Гц». Также вне цикла разместите числовую константу – Numeric Constant из вкладки Numeric меню Functions. При помощи инст-

румента Edit Text установите значение этой константы равное 1000. Те-

перь при помощи инструмента Connect Wire палитры инструментов Tools соедините имеющуюся числовую константу с входом х элемента Divide. На вход у элемента Divide подайте значение с цифрового источника данных «Частота измерения, Гц».

7. Для того чтобы установить привязку измерений по времени исходя из заданных значений органов управления, установите в цикле период измерений в виде временной задержки (функция Wait Until Next ms Multiply

из вкладки Time&Dialog меню Functions).

8.На вход millisecond multiply этой функции подключите значение с выхода элемента Divide. Это время (в миллисекундах), отражающее продолжительность выполнения цикла.

9.На вход цифрового индикатора «Времени прошло, мс» надо подключить результат умножения текущего отсчета и значения на входе функции задержки. Для этого установите внутри цикла элемент Multiply

из вкладки Numeric меню Functions. Один из его входов соедините с выходом элемента Divide, а другой вход с элементом цикла . Выход элемента Multiply соедините с элементом «Времени прошло, мс».

10.Для определения числа измерений нужно перемножить значения органов управления «Время измерения, мс» и «Частота измерений, Гц».

Для этого воспользуйтесь функцией Multiply из вкладки Numeric меню Functions. Этот элемент расположите вне цикла. После соединения его входов выполните соединение выхода элемента Multiply и терминала числа повторений цикла, обозначенного .

11.Разместите объект Random Number (0-1) из вкладки Numeric меню Functions внутри цикла и подсоедините его выход к цифровому индикатору «Вольтметр». Теперь измеряемый сигнал должен быть записан в файл регистрации, но LabVIEW позволяет записывать в файл только элементы в виде строки (строковые переменные), поэтому необходимо выполнить соответствующее преобразование.

12.В файл будут записываться следующие данные: «Номер измерения», «Дата измерения», «Значение измеренного сигнала», «Название

30

Рис. 3.4. Функции работы со строками

единиц измерения». Для формирования этой строки необходимо создать перечисленные элементы строки, а затем их объединить.

13.Формирование строки «Номер измерения». Источником данных этого элемента является номер текущей итерации цикла . В данном случае необходимо выполнить преобразование целочисленной переменной в строковую переменную. Для этого разместите внутри цикла функцию Format Into String

из вкладки Strings меню Functions (рис. 3.4).

14.Соедините номер текущей итерации цикла и вход Input 1 установленного элемента. Теперь необходимо выполнить форматирование преобразованной строки. Из палитры инструментов Tools выберите инструмент Operate Value . Наведите курсор мыши на функцию Format Into String и дважды щелкните левой клавишей. В появившемся окне Edit Format String, представленном на рис. 3.5, в строке редактирования Corresponding Format String наберите «%3d ». В данном случае цифра 3 означает, что получаемая строка будет содержать не менее трех символов. Символ «d» означает, что преобразуемая цифровая величина является целочисленной. Также обратите внимание на наличие пробелов в скобках «». Следует отметить, что формат преобразования чисел в строки в LabVIEW

Рис. 3.5. Установка формата строки в диалоговом окне

Edit Format String

31

Рис. 3.6. Выбор функции, возвращающей дату и время в виде строки

аналогичен формату преобразования чисел в строки языка C. После этого нажмите на кнопку «Create String».

15.Формирование строки «Дата измерения». Установите в цикле элемент

Format Data/Time String из вкладки Time & Dialog меню Functions, как по-

казано на рис. 3.6. Выход этого элемента является строковым, поэтому значение с выхода элемента Format Data/Time String в строку преобразовывать не надо.

16.Формирование строки «Значение измеренного сигнала». Установите в цикле функцию Format Into String и

на ее вход Input1 подайте значение с выхода Random Number (0-1). Выведите на экран окно Edit Format String.

Поскольку источник сигнала имеет вещественный тип, то в строке редак-

тирования Corresponding Format String наберите « %4.5f ». В данном случае цифра 4 – это число цифр до запятой исходного числа, а цифра 5 – число цифр после запятой. Символ «f» указывает, что исходное число имеет формат числа с плавающей точкой. Также обратите внимание на наличие пробелов в скобках «». После этого нажмите на кнопку «Create String».

17.Формирование строки «Названия единиц измерения». Источником единиц измерения является строковый элемент «Единицы измерения». Его преобразовывать в строковый тип не требуется.

18.Чтобы записи в файле представляли собой набор строк, необходимо к концу каждой записываемой в файл строки присоединить символ конца строки. Для этого установите внутри цикла элемент символа конца строки

End of Line из вкладки String меню Functions.

19.Выполните объединение сформированных строк в одну строку, которая будет записана непосредственно в файл. Для этого установите внут-

ри цикла элемент Concatenate Strings из вкладки String меню Functions (рис. 3.7). При помощи инструмента Position/Size/Select растяните элемент Concatenate Strings так, чтобы он содержал пять входов для входных строк.

32

20.Выполните соединение входов

Concatenate Strings с выходами элемен-

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

End of Line.

21.Для записи сформированной строки в файл удобно воспользоваться функцией Write Characters To File.vi

из вкладки File I/O меню Functions

(рис. 3.8). Разместите этот объект в пра-

вой части цикла.

22.К входу file path размещенной функции записи символов в файл подсоедините строковый орган управления «Имя файла».

23.Вход character string функции Write Characters To File.vi соедините с выходом Concatenated string функции Concatenate Strings.

24.Установите внутри цикла рядом с функцией Write Characters To File.vi

элемент Boolean Constant из вкладки

Boolean меню Functions (рис. 3.9). Вос-

пользуйтесь инструментом Operate Value и переведите элемент Boolean Constant нажатием левой клавиши мыши в состояние True. К входу convert eol? функции Write Characters To File.vi

подсоедините только что поставленный элемент. Это сделано для корректной записи данных в файл.

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

Write Characters To File.vi каждый раз перезаписывает файл полностью. Необходимо определить такое действие,

Рис. 3.7. Выбор функции объединения строк

Рис. 3.8. Функции работы с файлами

Рис. 3.9. Функции работы с булевыми величинами

33

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

26.Чтобы в создаваемом файле содержались данные только о последней серии измерений, перед записью в файл первой строки необходимо предварительно стереть содержимое файла, оставшееся от предыдущей серии измерений. Для этого необходимо определить момент записи первой строки в файл и в этот момент стереть содержимое файла, а затем записать в пустой файл первую строку. Остальные строки следует дописывать в конец файла, не стирая его содержимого. С этой целью можно воспользоваться значением текущей итерации цикла и функцией проверки отношения Greater? из вкладки Comparison меню Functions (рис. 3.10).

К входу x подсоедините элемент цикла , а к входу y – числовую константу, равную 0. На выходе этой функции будет значение FALSE на нулевой итерации цикла и TRUE на всех остальных итерациях. Выход этой функции подсоедините к входу append to file? (добавить в файл?) функции записи в файл. Примерный вид диаграммы разрабатываемого ВИ приведен на рис. 3.11.

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

28.Сохраните ВИ в файле на диске (команда File/Save As…). Файл с разработанным ВИ сохраните в личном каталоге, который был создан заранее.

29. Запустите разработанную программу на выполнение с помощью команды Run.

Рис. 3.10. Функции срав- нения Рис. 3.11. Примерный вид диаграммы разрабатываемого вирту-

ального инструмента

34