Скачиваний:
3
Добавлен:
18.02.2023
Размер:
190.38 Кб
Скачать

Методические указания для выполнения лабораторной работы №2

Задание 1

  1. Запустите LabVIEW.

  2. Перетащите на лицевую панель из палитры элементов Controls следующие элементы:

    1. числовой индикатор Modern >> Numeric >> Numeric Indicator,

    2. кнопку останова Modern >> Boolean >> Stop Button

    3. тумблер Modern >> Boolean >> Vertical Toggle Switch

    4. графический индикатор Modern >> Graph >> Waveform Chart

  3. Расположите их на лицевой панели как показано на рисунке 1 в описании задания 1 лабораторной работы №2.

  4. Выделите все элементы кроме Waveform Chart и выровняйте их положения при помощи кнопки 4, показанной на рисунке ниже.

  5. Щелчком мыши выделите название тумблера Boolean и расположите его (название) справа от тумблера.

  6. Используя инструмент переименуйте его в соответствии с заданием.

  7. Выделите тумблер и его название и выровняйте их положения при помощи кнопки 2, показанной на рисунке 1.

Рис.1

  1. Используя инструмент , добавьте надписи над и под тумблером, как показано на рисунке 1 в описании задания 1 лабораторной работы №2.

  2. Используя инструмент , измените предельные значения графика Waveform Chart по оси ординат на -1 и 1.

  3. В контекстном меню графика Waveform Chart, которое появится после щелчка по нему правой кнопкой мыши, уберите галочку в подменю Y Scale >> AutoScale Y щелчком левой клавишей мыши.

  4. Скройте на панели инструментов лицевой панели кнопку останова через пункт меню File, затем VI Properties. Далее в окне Category перейдите к строке Window Appearance, щёлкните по кнопке Customize и удалите галочку Show Abort button. Там же скройте и кнопку и кнопку непрерывного запуска (Show Run Continuously Button), поскольку для работы нашего ВП мы будем использовать элемент цикла. Данный пункт нужно выполнить в самую последнюю очередь, когда вы убедились в работоспособности вышего ВП.

  5. На этом настройку лицевой панели можно закончить и перейти к созданию блок-диаграммы.

  6. Добавьте на блок-диаграмму элемент цикла Programming >> Structures >> While Loop с палитры элементов Functions и растяните его таким образом, чтобы внутри рамки цикла оказались все терминалы лицевой панели (рис. 2) и ещё осталось место для добавления других функциональных элементов.. На данном рисунке позицией 1 обозначен терминал счётчика итераций, а позицией 2 - терминал остановки цикла.

Рис. 2

В дальнейшем положения всех элементов внутри цикла можно подкорректировать, а также можно изменить размеры рамки цикла при помощи маркеров, которые появляются на рамке при наведении на неё курсора в виде инструмента .

  1. Добавьте внутрь рамки цикла функциональный элемент задержки Programming >> Timing >> Wait (ms).

  2. Вставьте в цикл, как показано на рисунке 3a, функциональный элемент Programming >> Structures >> Case Structure. Размеры рамки данной структуры можно изменять так же, как и размеры рамки цикла While Loop.

  3. Данная структура состоит из двух наложенных друг на друга рамок True и False. По умолчанию отображается рамка с названием True. Переключение между рамками производится щелчком по стрелкам 3, а щелчком по кнопке 4 отображается список названия рамок.

  4. Внутрь рамки с названием True вставьте генератор случайных чисел Programming >> Numeric >> Random Number и числовую константу Programming >> Numeric >> Numeric Constant со значением равным 200 млсек. (рис. 3a). Значение константы можно изменять при помощи инструментов или .

  5. Внутрь рамки с названием False (рис. 3b) вставьте функциональный элемент вычисления синуса Mathematics >> Elementary & Special Functions >> Trigonometric Functions >> Sine, числовую константу Programming >> Numeric >> Numeric Constant со значением равным 100 млсек, а чтобы синусоида была более гладкой, вставьте функциональный элемент умножения Programming >> Numeric >> Multiply и числовую константу Programming >> Numeric >> Numeric Constant со значением равным 0,1

    Рис. 3a

    Рис. 3b

  6. Соедините терминал тумблера «Выбор сигнала» с терминалом 5 функционального элемента Case Structure.

  7. Соедините терминал кнопки «stop» c терминалом остановки цикла 2.

  8. Соедините функциональный элемент Random Number с терминалом графического индикатора Waveform Chart, а числовую константу со значением 200 млсек с функциональным элементом задержки Wait. Линии связи протяните через рамку функционального элемента Case Structure (рис. 4). В местах пересечения линий связи с рамкой появятся терминалы 1 и 2. Белый цвет этих терминалов говорит о том, что на рамке False к ним отсутствует подключение и ВП будет неработоспособным. О неработоспособности ВП говорит вид стрелки запуска .

Рис. 4

  1. Поэтому после переключения на рамку False присоедините числовую константу со значением 100 млсек к данному терминалу 1. Он сразу же окрасится в сплошной синий цвет.

  2. То же самое произойдёт и с терминалом 2. Он окрасится в сплошной оранжевый цвет только после подключения к нему выходного вывода функционального элемента Sine.

  3. Параллельно элементу Wait за рамкой функционального элемента Case Structure подключите элемент Numeric, как показано на рисунке 5.

Рис. 5

  1. На вход элемента Sine присоедините выход элемента Multiply.

  2. К нижнему входу элемента Multiply подсоедините числовую константу со значением 0,1.

  3. К верхнему входу элемента Multiply через рамку элемента Case Structure подключите терминал счётчика итераций цикла .

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

  5. После сохранения данного ВП в папке Laba2 под названием Zadanie1.vi закройте его.

  6. Откройте окно пустого проекта.

  7. При помощи команды Save Project из меню File сохраните его под названием POASUTP.lvproj.

Рис. 6

  1. Щелчком правой клавишей мыши по строке My Computer отобразите контекстное меню и выполните команду New >> Virtual Folder и присвойте созданной виртуальной папке название VirLab2.

  2. В контекстном меню данной папки выполните команду Add >> File и добавьте в данную виртуальную папку файл созданного ВП.

  3. После этого окно проекта можно закрыть.

Задание 2

  1. После запуска LabVIEW перетащите на лицевую панель следующие элементы:

    1. кнопку останова Modern >> Boolean >> Stop Button,

    2. графический индикатор Modern >> Graph >> Waveform Chart,

    3. элемент Modern >> Numeric >> Tank, выполняющий функцию ёмкости.

  2. Используя инструмент , измените верхнее предельное значение графика Waveform Chart по оси ординат на 17,5, а верхнее предельное значение элемента Tank на 20.

  3. Для скрытия шкалы в контекстном меню элемента Tank щёлкните по кнопке A, показанной на рисунке 7.

Рис. 7

  1. Чтобы на блок-диаграмму не добавлять дополнительного числового индикатора для отображения численного значения уровня заполнения ёмкости Tank, в контекстном меню данной ёмкости щёлкните по строке Visible Items >> Digital Display и. рядом с ёмкостью появится индикатор, который можно перемещать

  2. В контекстном меню графика Waveform Chart, которое появится после щелчка по нему правой кнопкой мыши, уберите галочку в подменю Y Scale >> AutoScale Y щелчком левой клавишей мыши.

  3. Перейдите на блок-диаграмму и перетащите на неё функциональный элемент While Loop.

  4. Все терминалы элементов лицевой панели должны находиться внутри рамки цикла While Loop.

  5. Подсоедините на блок-диаграмме терминал кнопки stop к терминалу остановки цикла.

  6. Щелчком правой клавиши мыши слева или справа в нижней части рамки цикла вызовите контекстное меню и выполните команду Add Shift Register.

  7. На рамке цикла слева и справа появятся терминалы сдвигового регистра (рис. 8)

Рис. 8

  1. Сформируйте между этими терминалами фрагмент блок-диаграммы, имитирующий заполнение ёмкости и представленный на рисунке 9.

Рис. 9

  1. Элементы и взяты из подкатегории элементов Programming >> Comparison.

  2. Остальные элементы за исключением Tank и Waveform Chart взяты из подкатегории Programming >> Numeric.

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

  4. Сформируйте между терминалами данного регистра фрагмент блок-диаграммы (рис. 10a), выполняющий задачу, описанную в пункте 14, и выводящий диалоговое окно по истечении 10 секунд с предложением продолжения или прекращения работы ВП.

  5. На рисунке 10b представлено содержимое рамки False структуры Case Structure.

    Рис. 10a

    Рис. 10b

  6. В данном фрагменте используются следующие элементы:

    1. элемент Two Button Dialog взят из подкатегории Programming >> Dialog & User Interface,

    2. три строковые константы Programming >> String >> String Constant (розового цвета).

    3. три числовые константы Programming >> Numeric >> Numeric Constant (синего цвета)

    4. логические элементы Not , Or и константа взяты из подкатегории Programming >> Boolean.

Остальные элементы вам уже известны из вышеприведённого описания.

Задание 3

Данное задание можно разбить на два этапа.

Первый этап – заполнение ёмкости (например, водой) до определённого уровня и поддержание уровня жидкости в заданных пределах.

Второй этап – слив жидкости из ёмкости.

Для выполнения данного задания воспользуемся элементом Programming >> Structures >> Flat Sequence, который позволяет сделать это в два этапа.

  1. Лицевая панель ВП такая же, как и в задании 2.

  2. Расположите кадр элемента Flat Sequence на блок-диаграмме.

  3. Вызовите контекстное меню справа на рамке данного кадра и выполните команду Add Sequence After. К первому кадру справа будет добавлен второй кадр.

  4. В первый кадр нужно вставить фрагмент кода, обеспечивающий выполнение первого этапа. Для этого полностью подойдёт код блок-диаграммы из задания 2.

  5. Фрагмент кода во втором кадре должен выполняться только после остановки выполнения кода в первом кадре. Т. е. во втором кадре должен происходить слив жидкости из ёмкости.

  6. Чтобы после остановки первого кадра ёмкость Tank и график Waveform Chart продолжали работать и во втором кадре, нужно во втором кадре создать локальные переменные этих элементов. Для этого в контекстном меню этих элементов нужно выполнить команду Create >> Local Variable и перетащить созданные таким образом локальные переменные во второй кадр. Количество копий экземпляров локальных переменных у одного терминала элемента лицевой панели ограничено только памятью компьютера.

  7. Фрагмент кода во втором кадре достаточно прост и выглядит как показано на рисунке 11.

Рис. 11

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

Рис. 12

Соседние файлы в папке Методические указания к практическим заданиям