Главная страница
Навигация по странице:

  • Задание 5.5. Отображение цифровых сигналов на виртуальных светодиодах

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

  • 5.6.1. Электрическая схема установки

  • 5.6.2. Начало написания программы для вывода данных в порт NI myDAQ

  • 5.6.3. Перепрограммирование 8 линий порта NI myDAQ на вывод электрических сигналов

  • 5.6.4. Сопоставление компоненту Numeric числового типа U8

  • 5.6.5. Преобразование и обработка введенных с клавиатуры данных

  • 5.6.6. Запуск программы и контрольные вопросы

  • Задание 5.7. Чтение цифровых сигналов с 8 входов порта и их отображение на 8 виртуальных светодиодах

  • Задание 5.8. Отображение цифровых сигналов с помощью реальных светодиодов: 4 линии порта в режиме вывода, 4 линии порта в режиме ввода

  • Задание 5.9*. Отображение цифровых сигналов на реальных светодиодах с программной инверсией сигналов

  • Задание 5.10*. Отображение цифровых сигналов на реальных светодиодах с аппаратной инверсией сигналов

  • Задание 5.11*. Программа проверки равенства двоичных и десятичных чисел

  • Создание виртуальных приборов и программирование устройства сбора данных NI myDAQ в среде LABVIEW

  • методичка по созданию приборов. 1_создание_виртуальных_приборов. Программирование устройства сбора


    Скачать 3.99 Mb.
    НазваниеПрограммирование устройства сбора
    Анкорметодичка по созданию приборов
    Дата16.03.2023
    Размер3.99 Mb.
    Формат файлаpdf
    Имя файла1_создание_виртуальных_приборов.pdf
    ТипУчебное пособие
    #994360
    страница9 из 9
    1   2   3   4   5   6   7   8   9
    5.4.3. Соединение всех аппаратных цифровых выходов с аппаратными
    цифровыми входами
    На наборной панели соедините проводами (перемычками) выход DIO 4 и вход DIO 0, выход DIO 5 и вход DIO 1, выход DIO 6 и вход DIO 2, выход DIO
    7 и вход DIO 3. Проверьте, что благодаря такому соединению числа, которые

    116
    будут записаны на выходы порта DIO4–DIO7, превратятся в электрические сигналы, поданные с выходных контактов на входы порта DIO0–DIO3, которые программа прочитает и отобразит в содержимом компонента
    Numeric 2.
    Что произойдет, если на наборной панели вынуть перемычку для линии
    DIO 7 и переключать виртуальные тумблеры? Если на наборной панели вынуть перемычку для линии DIO 4? Если сигнал с DIO 7 подать на DIO 0, а с DIO 4 подать на DIO 3?
    Задание 5.5. Отображение цифровых сигналов на виртуальных
    светодиодах
    Сделайте работу вашей программы более наглядной с использованием виртуальных светодиодов (рис.3.27– 3.28).
    Рис.3.27. Добавление виртуальных светодиодов на Front Panel.

    117
    Рис.3.28. Добавление виртуальных светодиодов в Block Diagram.
    На выходе DAQ Assistant в результате измерения сигнала с порта ввода имеется булевский массив. Но точно так же, как его приходилось сначала преобразовывать для вывода на индикатор Numeric, и в данном случае необходимо выполнить преобразования. Сначала требуется преобразовать этот массив к кластеру из булевых переменных с помощью компонента Array
    To Cluster, расположенного в разделеFunctions/Programming/Array (рис.3.29).
    Рис.3.29. Добавление инструмента Array To Cluster

    118
    Рис.3.30. Добавление инструмента Unbundle.
    Далее получившийся кластер можно разбить на отдельные биты инструментом Unbundle, расположенным в разделе Functions/Programming/
    Cluster,Class&Variant. После соединения выхода Array To Cluster с инструментом Unbundle автоматически определится количество элементов в кластере (рис.3.30).
    Учитывая, что верхний выход инструмента Unbundle отвечает за
    младший бит входного сигнала (с клеммы DIO 0), а нижний – за старший (с клеммы DIO 3), следует соединить их с соответствующими входами виртуальных диодов так, как показано на рис.3.31. Пример работы созданной программы показан на рис.3.32.
    Сохраните созданный проект.

    119
    Рис.3.31. Итоговый вид программы.
    Рис.3.32 . Тестирование программы с виртуальными светодиодами.
    Потренируйтесь в записи различных чисел в порт с помощью тумблеров.
    Какое максимальное десятичное число можно записать в порт с помощью созданной программы без потери информации?
    Какое десятичное число нужно записать в порт, чтобы светодиоды горели через один – четные диоды? Нечетные диоды?
    Что произойдет, если сигнал с выхода DIO 4 подать не на вход DIO 0, а на вход DIO 1, и при этом сигнал с выхода DIO 5 подать не на вход DIO 1, а на вход DIO 0?

    120
    Что произойдет, если на наборной панели соединить проводами
    (перемычками) клеммы DIO 7 и DIO 0, DIO 6 и DIO 1, DIO 5 и DIO 2, DIO 4 и DIO 3?
    Задание 5.6. Отображение цифровых сигналов с помощью реальных
    светодиодов: все линии порта в режиме вывода, запись в порт
    десятичных чисел, вводимых с клавиатуры
    5.6.1. Электрическая схема установки
    В этом задании необходимо научиться записывать в порт десятичные числа, вводимые в пункт ввода Numeric с помощью клавиатуры, запрограммировав на выход восемь цифровых линий DIO 0 – DIO 7. Для индикации сигнала на каждой линии используйте восемь светодиодов, подсоединенных к цифровой земле через резисторы.
    Соберите на наборнойпанели электрическую схему, приведенную на рис.3.33.
    Рис. 3.33. Электрическая схема собираемой установки.
    5.6.2. Начало написания программы для вывода данных в порт NI myDAQ
    На лицевую панель виртуального прибора для отображения вводимого с клавиатуры числа поместите компонент Numeric.

    121
    В окне Block Diagram поместите основной блок программы в конструкцию
    While Loop с кнопкой Stop, чтобы виртуальный инструмент работал в непрерывном режиме.
    Для вывода данных в порт NI myDAQ сначала необходимо поместить на блок-схему компонент DAQ Assistant.
    5.6.3. Перепрограммирование 8 линий порта NI myDAQ на вывод
    электрических сигналов
    В открывшемся окне для создания порта вывода необходимо выбрать раздел Generate Signals/Digital Output/Line Output, выбрать Port Output
    (рис.3.15), и, аналогично тому, как показано на рис.3.16, удерживая клавишу
    Shift, выбрать все клеммы вывода, от port0/line 0 до port0/line 7. Затем следует нажать кнопку Finish.
    В появившемся окне (рис.3.34) необходимо поставить точки напротив вертикальных надписей DigitalOut_0 - DigitalOut_7 в верхней части экрана
    (хотя может сработать и без этого) и нажать кнопку ОК.

    122
    Рис.3.34. Дополнительные настройки портов цифрового выхода.
    После этого в окне блок-схемы добавится иконка DAQ Assistant.
    5.6.4. Сопоставление компоненту Numeric числового типа U8
    Для корректной передачи данных на порт вывода компоненту Numeric необходимо сопоставить числовой тип U8 (беззнаковое 8-битное целое).
    Раньше мы подавали сигнал из меньшего чем 8 числа бит, и подобной проблемы не возникало. Для сопоставления компоненту Numeric данного числового типа следует щелкнуть правой кнопкой мыши на иконке Numeric, и выбрать пункт Representation/U8 (рис.3.35) – либо пункт Properties и вкладку Data Type.

    123
    Рис.3.35. Задание числового типа, сопоставляемого данным компонента
    Numeric.
    5.6.5. Преобразование и обработка введенных с клавиатуры данных
    Далее необходимо представить данные, вводимые с клавиатуры в пункт
    Numeric, в виде массива чисел типа Boolean. Для этого необходимо воспользоваться функцией Number to Boolean Array, расположенной в разделе Functions/Programming/Numeric/Conversion. В результате добавления этой функции получается программа, изображенная на рис.3.36.

    124
    Рис.3.36. Промежуточный вид функциональной части программы.
    Для удобства работы на лицевую панель добавьте кнопку управления Push
    Button (из раздела Controls/Express/Buttons&Switches), при включении которой вводимое число в двоичном представлении будет отправляться на выход NI myDAQ (рис.3.37 и рис.3.38).
    Рис.3.37. Вид визуальной части программы после добавления кнопки управления.
    Рис.3.38. Вид программной части после добавления кнопки управления.

    125
    Push Button – это кнопка, которая при нажатии фиксируется в нажатом состоянии – включается. Повторное нажатие выключает кнопку – возвращает ее в не нажатое состояние.
    Для использования этой кнопки на блок-схему необходимо добавить компонент Case Structure (Functions/Programming/Structures/Case Structure).
    Далее необходимо переместить компонент ввода Numeric внутрь рамки компонента Case Structure, а кнопку Boolean подключить к зеленому знаку вопроса компонента Case Structure (рис.3.39).
    Рис.3.39. Добавление компонента Case Structure.
    По умолчанию видна вкладка True компонента Case Structure, и при поступлении на вход, помеченный знаком вопроса, значения True, на выход компонента будут поступать данные с компонента Numeric.
    Далее в верхней части компонента Case Structure необходимо поменять вкладку True на False для ситуации, когда на вход компонента поступает значение False. После смены вкладки с True на False первоначально внутри рамки структуры никаких элементов нет – туда необходимо добавить числовую константу 0 и соединить ее с квадратиком, расположенным на правой стороне конструкции Case Structure (рис.3.40), который после подсоединения становится полностью заполненным синим цветом.

    126
    Рис.3.40. Режим False в компоненте Case Structure.
    Для корректной работы программы в настройках необходимо задать в качестве типа константы U8 – в противном случае программа запустится, но при ее работе возникнет ошибка: при выключенной кнопке Boolean на вход
    DAQ Assistant подается массив из 32 булевских значений, а линий порта всего 8.
    5.6.6. Запуск программы и контрольные вопросы
    Запустите программу. Проверьте, как зажигаются светодиоды при вводе различных чисел.
     Какое число надо ввести, чтобы зажечь все светодиоды?
     Чтобы зажечь светодиоды с нечётными номерами (нумерация идёт от нуля)?
     Чтобы зажечь светодиоды с чётными номерами?
     Что произойдёт, если ввести в пункт ввода число 100? Число 256? Число
    1000? Почему?
     Что произойдёт, если сменить тип данных в компоненте Numeric на U16?
    Почему?
    Задание 5.7. Чтение цифровых сигналов с 8 входов порта и их
    отображение на 8 виртуальных светодиодах
    NI myDAQ надо запрограммировать так, чтобы линии порта DIO 0 – DIO 7 использовались в качестве входов, и на них необходимо подавать логические

    127
    уровни напряжения снаружи. При этом напряжение +5В считается уровнем логической единицы, а напряжение, подаваемое с “земли” (0 В) – уровнем логического нуля.
    По схеме, представленной на рис.3.41, соберите на наборной панели установку, состоящую из подключенных к портам вывода резисторов 330
    Ом. «Напряжение +5В» сформируйте с помощью перемычек.
    Ко входным клеммам DIO 0 – DIO 7 порта подсоедините ключи
    (тумблеры) S1– S7, через резисторы подключенные к +5В. При отсутствии ключей используйте перемычки, с помощью которых можно соединять клеммы наборной панели.
    Рис 3.41. Электрическая схема собираемой установки.
    Замечание 1: при разомкнутых ключах S1 – S7 входы DIO 0 – DIO 7 оказываются “висящими” – на них не подаётся ни логический 0, ни логическая 1. Однако внутри NI myDAQ эти клеммы через специальные резисторы , называемые подтягивающими вниз (pull-down), подсоединяются к цифровой земле, поэтому при отсутствии внешнего цифрового сигнала на эти входы подаётся логический 0.
    Замечание 2: это удачная особенность NI myDAQ – чаще электронные устройства оснащаются внутренними подтягивающими вверх (pull-up)

    128
    резисторами, и при отсутствии внешнего сигнала на входах имеется уровень логической единицы. Что гораздо менее удобно.
    По аналогии с заданием 5.5 напишите программу, отображающую сигналы, читаемые из линий порта, на 8 виртуальных светодиодах. Сохраните ее в файле.
    Задание 5.8. Отображение цифровых сигналов с помощью реальных
    светодиодов: 4 линии порта в режиме вывода, 4 линии порта в
    режиме ввода
    1) Подумайте, какой вид должна иметь программа для отображения на 4 реальных светодиодах цифровых сигналов, считываемых с 4 входов DIO 0
    DIO 3, и почему электрическая схема, показанная на рис.3.42, позволит проводить такое отображение.
    Рис.3.42. Электрическая схема собираемой установки.
    NI myDAQ надо запрограммировать так (рис.3.15, рис.3.24), чтобы линии порта DIO 0, DIO 1, DIO 2, DIO 3 использовались в качестве входов, и на них необходимо подавать логические уровни напряжения снаружи. А линии
    DIO 4, DIO 5, DIO 6, DIO 7 надо запрограммировать для использования в качестве выходов – на них будут поступать уровни напряжения, вырабатываемые NI myDAQ.

    129
    Напишите программу для отображения цифровых сигналов на светодиодах, сохраните ее в файле.
    2) По схеме, представленной на рис.3.42, соберите на наборной панели установку, состоящую из подключенных к портам вывода светодиодов (через резисторы 330 Ом). Шины « земля» и «напряжение +5В» сформируйте с помощью перемычек.
    Ко входным клеммам DIO 0 – DIO 3 порта подсоедините ключи
    (тумблеры) S1– S4, через резисторы подключенные к +5В. При отсутствии ключей используйте перемычки, с помощью которых можно соединять клеммы наборной панели.
    3) Измерьте напряжение на выходных клеммах DIO 4 – DIO 7 с помощью цифрового мультиметра DMM. На программной лицевой панели NI ELVISmx щелкните иконку прибора DMM, на виртуальной панели DMM нажмите кнопку V±, в поле Range выберите диапазон 20 В. На наборной панели подключите выходные разъемы мультиметра к соответствующим клеммам
    DIO 4 – DIO 7.
    4) Осуществите вывод данных с наборной панели.
    Зажгите:
    - все светодиоды на наборной панели;
    - четные светодиоды;
    - нечетные светодиоды.
    Контрольный вопрос: зачем нужно использовать два компонента
    DAQ Assistant (один для считывания сигналов с входов порта, другой – для записи в выходные линии порта), если можно сразу подать входные сигналы на реальные светодиоды? Для чего может потребоваться компьютер? Для чего при наличии компьютера может потребоваться индикация сигналов с помощью светодиодов?
    Обратите внимание на то, что если у компонента DAQ Assistant имеется Выход программных данных – этот компонент считывает данные с аппаратных входов, а если у DAQ Assistant имеется Вход

    130
    программных данных – этот компонент выводит эти данные на аппаратные выходы.
    Задание 5.9*. Отображение цифровых сигналов на реальных
    светодиодах с программной инверсией сигналов
    Инверсия цифровых сигналов часто бывает необходима при управлении различными устройствами и при выводе сигналов на индикаторы. В данном задании изучается возможность программного управления инверсией сигналов.
    Создайте копию программы из предыдущего задания. Внесите такое изменение в программу (без изменения электрической схемы, изображенной на рис.3.42), чтобы светодиоды зажигались противоположным образом по сравнению с предыдущим заданием: чтобы при замыкании тумблера соответствующий ему светодиод гас, а при размыкании – зажигался.
    Подсказка: для всех бит на выходе DAQ Assistant, т.е. для линий
    DigitalOut_0 – DigitalOut_3, надо сделать программную инверсию сигнала.
    Проще всего это сделать в свойствах компонента DAQ Assistant (рис.3.16) – выбрать эти линии, поставить галочку Invert Line и нажать OK.
    Посмотрите, какое напряжение будет появляться на выходных портах NI
    My DAQ после подачи на входные линии схемы сигналов. Убедитесь, что электрические сигналы инвертированы по сравнению со входными.
    Задание 5.10*. Отображение цифровых сигналов на реальных
    светодиодах с аппаратной инверсией сигналов
    Создайте копию программы из предыдущего задания и верните режим без инверсии выходного сигнала. Внесите такое изменение в электрической схеме, изображенной на рис.3.42, чтобы светодиоды подключались не к земле, а к +5 В. Убедитесь, что при этом они будут зажигаться так же, как и в предыдущем задании: что при замыкании выключателя соответствующий ему светодиод гаснет, а при размыкании – зажигается.
    На практике часто бывает невозможно или затруднительно изменять электрическую схему. Представьте, что вам необходимо использовать

    131
    данную электрическую схему без внесения в нее изменений, но требуется, чтобы светодиоды загорались без инверсии: чтобы при замыкании выключателя соответствующий ему светодиод зажигался, а при размыкании
    – гас. Каким образом этого добиться? Реализуйте вашу идею и продемонстрируйте работу установки.
    Задание 5.11*. Программа проверки равенства двоичных и
    десятичных чисел
    Напишите программу, которая проверяет равенство двоичного числа, введенного пользователем в первый пункт ввода Numeric, и десятичного числа, введенного пользователем во второй пункт ввода Numeric.

    В.В. Монахов, О.В. Огинец, С.Н. Жоголь, М.Г.Яковлева
    Создание виртуальных приборов и программирование устройства сбора данных NI
    myDAQ в среде LABVIEW
    Учебное пособие
    2-е издание, переработанное и дополненное
    Издание прошло редакционно-корректорскую правку
    Подписано в печать 27.12.2017 г.
    Формат 60x84 1/16. Бумага офсетная. Печать цифровая.
    Усл. печ. л. 7,7. Тираж 50 экз.
    Заказ № 4709
    Отпечатано с готового оригинал-макета заказчика в ООО «Издательство “ЛЕМА”»
    199004, Россия, Санкт-Петербург, 1-я линия В.О., д.28 тел.: 323-30-50, тел./факс: 323-67-74 e-mail: izd_lema@mail.ru http://www.lemaprint.ru
    1   2   3   4   5   6   7   8   9


    написать администратору сайта