методичка по созданию приборов. 1_создание_виртуальных_приборов. Программирование устройства сбора
Скачать 3.99 Mb.
|
Санкт-Петербургский государственный университет СОЗДАНИЕ ВИРТУАЛЬНЫХ ПРИБОРОВ И ПРОГРАММИРОВАНИЕ УСТРОЙСТВА СБОРА ДАННЫХ NI myDAQ В СРЕДЕ LABVIEW Учебное пособие 2-е издание, переработанное и дополненное Санкт-Петербург 2017 В.В. Монахов, О.В. Огинец, С.Н. Жоголь, М.Г. Яковлева ББК 32.973.26-018.2 В311я43+з973.2-018я43 Рецензенты: доктор физ.-мат. наук, профессор С.Л.Яковлев, старший преподаватель А.Г.Смирнов Печатается по решению методической комиссии физического факультета СПбГУ В.В. Монахов, О.В. Огинец, С.Н. Жоголь, М.Г. Яковлева В311я43+з973.2-018я43 Создание виртуальных приборов и программирование устройства сбора данных NI myDAQ в среде LABVIEW: Учебное пособие. – 2-е изд., перераб. и доп. – СПб: ЛЕМА, 2017. – 131 с.: ил. Учебное пособие содержит описания трех лабораторных работ, проводимых в лаборатории автоматизированного практикума по физике в рамках дисциплины «Физический практикум» для студентов 2 курса бакалавриата, обучающихся на образовательных программах «Физика», «Радиофизика», «Прикладные физика и математика» СПбГУ. Может быть полезно для студентов других вузов, изучающих автоматизацию физического эксперимента. УДК 681.3.068 ББК 32.973.26-018.2 © В.В. Монахов, О.В. Огинец, С.Н. Жоголь, М.Г.Яковлева, 2017 3 СОДЕРЖАНИЕ I. Лабораторная работа № 1-NI. Создание виртуальных приборов в среде LabView .......................................................................................................... 6 1. Теоретическая часть .....................................................................................................6 1.1. Среда LabView. Виртуальные приборы и управление реальными приборами . 6 1.1.1. Среда LabView и виртуальные приборы ........................................................... 6 1.1.2.Общие принципы построения программы в среде LabView. Виртуальный прибор ........................................................................................................................... 9 1.1.3.Типы данных и вид виртуальных проводов ................................................... 10 1.2. Создание нового проекта. Окна проекта ............................................................. 11 1.3.Библиотеки виртуальных приборов ...................................................................... 14 1.4. Некоторые элементы программирования LabView, использующиеся в лабораторных работах .................................................................................................. 17 1.4.1. Работа с виртуальными проводами ................................................................ 17 1.4.2. Возможности формирования лицевой панели .............................................. 19 1.4.3. Запуск программы ............................................................................................ 20 1.4.4. Структуры – циклы и проверка условий ......................................................... 21 1.5. Компиляция программы в exe-файл .................................................................... 25 1.6. Компьютерный тест №1 ........................................................................................ 26 2. Демонстрационные примеры ....................................................................................26 2.1. Демонстрационный пример 1 – виртуальный калькулятор, выполняющий арифметические действия ............................................................................................ 26 2.2. Демонстрационный пример 2 – создание виртуального генератора и виртуального осциллографа ........................................................................................ 33 3. Порядок выполнения работы ...................................................................................39 Задание 3.1. Виртуальный калькулятор ..................................................................... 39 Задание 3.2. Виртуальные генератор и осциллограф - показ сигнала с виртуального генератора ............................................................................................. 39 Задание 3.3. Виртуальные генератор и осциллограф - регулировка частоты и формы входного сигнала ............................................................................................. 39 Задание 3.4. Установка масштабов шкал и индикация величины сигнала ............. 40 Задание 3.5. Виртуальный осциллограф - регулировка амплитуды входного сигнала ........................................................................................................................... 40 Задание 3.6. Виртуальное устройство, которое показывает, сколько осталось времени до конца занятий (в часах и минутах) ......................................................... 41 Задание 3.7. Виртуальные часы .................................................................................. 42 Задание 3.8. Расчет электрической цепи с потенциометром .................................... 42 Задание 3.9. Использование Case Structure ................................................................ 43 Задание 3.10. Извлечение квадратного корня из вводимого числа ......................... 43 II. Лабораторная работа № 2-NI. Программирование виртуальных приборов в среде LabView .................................................................................... 45 1.Теоретическая часть ....................................................................................................45 1.1 . Некоторые элементы программирования LabView, использующиеся в работе ........................................................................................................................................ 45 1.1.1. Массивы ............................................................................................................. 45 1.1.2. Компонент Formula .......................................................................................... 48 1.1.3. Структура Formula Node .................................................................................. 49 4 1.1.4. Особенности программирования виртуальных приборов, связанные с наличием частоты дискретизации ........................................................................... 51 1.1.5. Отладка ошибок ................................................................................................ 51 2. Демонстрационные примеры ....................................................................................55 2.1. Демонстрационный пример 1 – создание виртуального преобразователя сигналов с использованием элемента Formula ......................................................... 55 2.2. Демонстрационный пример 2 - отладка программы с ошибками .................... 57 3. Компьютерный тест №2 .............................................................................................59 4. Порядок выполнения работы ...................................................................................60 Задание 4.1. Виртуальный смеситель сигналов - показ результата на экране виртуального осциллографа ........................................................................................ 60 Задание 4 .2. Демонстрация на экране виртуального осциллографа фигур Лиссажу ........................................................................................................................................ 60 4.2.1. Фигуры Лиссажу для сигналов одной частоты ............................................... 61 4.2.2. Фигуры Лиссажу – изменение фазы сигналов во время работы программы ..................................................................................................................................... 61 4.2.3. Фигуры Лиссажу для сигналов разной частоты ............................................. 62 4.2.4. Фигуры Лиссажу для сигналов разной частоты – задержка в выполнении цикла ........................................................................................................................... 63 4.2.5. Фигуры Лиссажу для сигналов разной частоты – автоматическая подача сигнала Reset на виртуальные генераторы ............................................................. 63 Задание 4 .3. Демонстрация на экране виртуального осциллографа результата сложения двух гармонических сигналов .................................................................... 64 4.3.1. Сложение гармонических колебаний одной частоты, но с разной амплитудой и фазой .................................................................................................. 64 4.3.2. Проблема дискретности сигнала. Работа с графиками ................................. 65 4.3.3. Сложение гармонических колебаний разной частоты. Биения ................... 68 Задание 4.4. Компиляция программы в исполняемый exe-файл ............................. 68 Задание 4.5. Измерение эффективной величины и амплитуды сигналов разной формы ............................................................................................................................ 68 Задание 4.6. Расчет электрической цепи с потенциометром .................................... 69 Задание 4.7. Генератор случайных чисел ................................................................... 70 4.7.1. Непрерывная генерация случайных чисел .................................................... 70 4.7.2. Генерация псевдослучайного целого числа по нажатию кнопки. Обработка событий с помощью Event Structure ........................................................................ 73 4.7.3. Создание одномерного массива псевдослучайных чисел ........................... 83 III. Лабораторная работа № 3-NI. Программирование в среде LabView цифровых портов ввода-вывода устройства сбора данных NI myDAQ ..... 88 1. Теоретическая часть ...................................................................................................88 1.1. Позиционные системы счисления ........................................................................ 88 1.2. Преобразование чисел из одной позиционной системы счисления в другую . 90 1.2.1. Преобразование чисел из системы с большим основанием в систему с меньшим основанием ............................................................................................... 91 1.2.2. Преобразование чисел из системы с меньшим основанием в систему с большим основанием ................................................................................................ 91 1.3. Порты цифрового ввода - вывода ........................................................................ 92 2. Компьютерный тест №3 .............................................................................................93 5 3. Преобразование чисел из одной позиционной системы счисления в другую с помощью виртуального устройства Теster .......................................................................94 Задание 3.1. Преобразование чисел из десятичной системы счисления в двоичную и обратно ....................................................................................................................... 94 Задание 3.2. Перевод чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную ........................................................................ 95 4. Экспериментальная установка .................................................................................96 5. Порядок выполнения работы ..................................................................................100 Задание 5.1. Изучение цифрового мультиметра на основе NI myDAQ. Измерение сопротивления ............................................................................................................. 101 Задание 5.2. Вывод цифровых сигналов в порт в виде двоичных чисел .............. 102 Задание 5.3. Отображение считываемых из порта цифровых сигналов в виде двоичных чисел ........................................................................................................... 111 Задание 5.4. Одновременная работа с записью цифровых данных в порт вывода и считыванием цифровых данных из порта ввода ..................................................... 114 Задание 5.5. Отображение цифровых сигналов на виртуальных светодиодах .. 116 Задание 5.6. Отображение цифровых сигналов с помощью реальных светодиодов: все линии порта в режиме вывода, запись в порт десятичных чисел, вводимых с клавиатуры ............................................................................................. 120 5.6.1. Электрическая схема установки ............................................................. 120 5.6.2. Начало написания программы для вывода данных в порт NI myDAQ ................................................................................................................................... 120 5.6.3. Перепрограммирование 8 линий порта NI myDAQ на вывод электрических сигналов ...................................................................................... 121 5.6.4. Сопоставление компоненту Numeric числового типа U8 .................. 122 5.6.5. Преобразование и обработка введенных с клавиатуры данных .... 123 5.6.6. Запуск программы и контрольные вопросы ......................................... 126 Задание 5.7. Чтение цифровых сигналов с 8 входов порта и их отображение на 8 виртуальных светодиодах .......................................................................................... 126 Задание 5.8. Отображение цифровых сигналов с помощью реальных светодиодов: 4 линии порта в режиме вывода, 4 линии порта в режиме ввода ... 128 Задание 5.9*. Отображение цифровых сигналов на реальных светодиодах с программной инверсией сигналов ............................................................................ 130 Задание 5.10*. Отображение цифровых сигналов на реальных светодиодах с аппаратной инверсией сигналов ............................................................................... 130 Задание 5.11*. Программа проверки равенства двоичных и десятичных чисел 131 6 I. Лабораторная работа № 1-NI. Создание виртуальных приборов в среде LabView 1. Теоретическая часть 1.1. Среда LabView. Виртуальные приборы и управление реальными приборами 1.1.1. Среда LabView и виртуальные приборы LabView (от Laboratory Virtual Instrument Engineering) — среда разработки программ на графическом языке программирования «G» (от “Graphic” - графический) компании National Instruments (NI). Данная компания является мировым лидером в области автоматизации эксперимента – создает как аппаратуру автоматизации эксперимента, так и удобные средства разработки программного обеспечения, предназначенного для управления этой аппаратурой. Выпускаемое компанией NI оборудование позволяет создавать установки и управлять технологическими процессами в различных областях науки и техники. Большая часть программного обеспечения этих установок разрабатывается в среде LabView. Графический интерфейс LabView достаточно прост для программирования, а создаваемое в среде LabView программное обеспечение обладает большой гибкостью, поскольку при изменении конфигурации установки позволяет очень просто менять программу управления этой установкой. А сами программы для небольших установок получаются простыми и понятными. Программы, создаваемые в среде LabView, называются виртуальными приборами (Virtual Instruments, сокращенно – VI). Они сохраняются в файлах с расширением .vi. Компоненты, из которых строятся виртуальные приборы, сами также являются виртуальными приборами. Эти компоненты напоминают микросхемы со входами и выходами, а написание программы заключается в расположения компонентов на схеме, задании их внутренних параметров (числовых значений, текста и т.п.) и подсоединении 7 виртуальными проводами выходов к необходимым входам. Таким образом, написание программы напоминает составление электрической схемы (рис.1.1). Рис.1.1. Пример программы управления измерительной установкой – программно управляемого генератора электрических сигналов заданной формы (левая часть схемы) и цифрового осциллографа (правая часть схемы). Алгоритмы управления установкой, не связанные виртуальными проводами на схеме, выполняются параллельно, и от программиста не требуется никаких усилий для такой параллелизации работы программы. Это связано с тем, что в программном обеспечении чаще всего используют модель вычислений, основанную на потоке управления (Controlflow), а LabView использует другую модель вычислений – потока данных ( Dataflow). В ней программа представляется в виде графа. Узлы этого графа – элементы блок- схемы программы, являются аналогами операторов обычной программы, а стороны графа (связи на блок-схеме) показывают, от каких узлов данные поступают к другим. Очередной узел сразу начинает выполнение, как только становятся доступными все его 8 входные данные. Когда узел обработал данные, результаты появляются на его выходах и передаются всем узлам, с которыми соединены его выходы. Аналогичная методика проектирования используется в пакете Simulink в MatLab, но следует учесть, что этот пакет в первую очередь ориентирован на моделирование процессов в электрических цепях и т.п., а LabView – для автоматизации эксперимента, управления установками. Хотя постепенно различия в областях применения Simulink и LabView уменьшаются – в последние годы в Simulink появились возможности управления устройствами, выпускаемыми NI, а LabView начали применять для математического моделирования. Спроектированный из компонентов виртуальный прибор может быть оформлен в виде компонента со скрытым содержимым и выходящими наружу из его корпуса входами и выходами. В таком виде его можно использовать для расположения на блок-схеме при построении более сложных виртуальных приборов. Название “виртуальные приборы” не означает, что с их помощью только имитируют реальные приборы и процессы, происходящие в лабораторных или измерительных системах. К каждому устройству производства National Instruments в LabView имеются компоненты, осуществляющие управление этим устройством. Например, компонент DAQ Assistant позволяет управлять цифровыми портами ввода-вывода, цифро-аналоговыми преобразователями (ЦАП) и аналогово-цифровыми преобразователями (АЦП) – управлению этими устройствами с помощью LabView будет посвящен ряд следующих лабораторных работ. Таким образом, программы, написанные в среде LabView, при наличии соответствующих приборов, подсоединенных к компьютеру, позволяют генерировать и преобразовывать реальные физические сигналы, производить измерения, управлять внешними приборами и пересылать данные на другие компьютеры. 9 В этой и следующих работах студент познакомится с основами программирования в среде LabView, с основными принципами построения виртуальных приборов с помощью средств LabView, и выполнит ряд практических заданий, что позволит получить навыки в освоении этого современного инструмента исследования и управления физическими процессами. |