Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASNI_lektsii_chto_vse_chitayut.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
475.18 Кб
Скачать

5. Приложения.

Описание контактов разъема устройства NVL08.

1

AIN7

20

BIN7

2

AIN6

21

BIN6

3

AIN5

22

BIN5

4

AIN4

23

BIN4

5

AIN3

24

BIN3

6

AIN2

25

BIN2

7

AIN1

26

BIN1

8

AIN0

27

BIN0

9

ANOUT

28

GND

10

*****

29

DOUT7

11

DIN7

30

DOUT6

12

DIN6

31

DOUT5

13

DIN5

32

DOUT4

14

DIN4

33

DOUT3

15

DIN3

34

DOUT2

16

DIN2

35

DOUT1

17

DIN1

36

DOUT0

18

DIN0

37

GND

19

GND

AIN0..7 и BIN0..7 - входные аналоговые сигналы при дифференциальном включении, BIN0..7 соответствуют сигналам AIN8..15 при одиночном включении.

ANOUT - выход ЦАПа. GND - общий провод

DIN0..7 - цифровые входы. DOUT0..7 - цифровые выходы.

2002 Год доцент кфтт Ивашенков о.Н.

Лабораторная работа № 3

«Цифровой ввод-вывод через ni pci 6221 в среде LabView».

Цель работы:

  1. Научиться основным принципам работы в графической среде LabVIEW

  2. Ознакомиться с параметрами платы для сбора данных NI PCI 6221 и макета CB-68LP. Провести тестирования оборудования.

  3. Создать программное обеспечение для ввода и вывода цифровой информации через контроллер NI PCI 6621.

  4. Написать программу в среде LabView, реализующую генератор импульсов.

Первичную информацию о приемах работы в графической среде LabVIEW можно получить в документе «Введение в LabVIEW 7.doc»

Многофункциональное уст­ройство сбора данных NI (National Instruments) PCI 6621.

Данный контроллер, относящийся к М-серии, инсталлируется в PCI слот материнской платы. Он имеет входы и выходы для аналоговых сигналов, цифровые входы-выходы (3 порта по 8 линий), а также генератор и таймеры-счетчики, выведенные на те же линии цифрового ввода-вывода.

Цифровой ввод/вывод

Число линий

24

Число портов

3

Разрядность портов

8 бит

Частота передачи данных

0 – 1 МГц

Размер буфера FIFO

2.047

Высокий уровень входного сигнала

2.2 - 5.25 В

Низкий уровень входного сигнала

0 - 0.8 В

Выходной ток

24 мА (0 порт), 16 мА (1,2 порт)

Счетчики-Таймеры

Число счетчиков/таймеров

2

Разрядность

32

Внутренняя частота

80, 20, 0.1 МГц

Внешняя частота

0 - 20 МГц

Генератор частоты

Число каналов

1

Основная частота

10 МГц, 100 кГц

Делители

1 - 16

Остальную информацию можно найти в документе «АСНИ_NI6621.doc».

Массивы в LabView.

Как видно из предыдущего пункта, плата PCI 6621 имеет 24 линии цифрового ввода-вывода, объединенные в 3 порта по 8 линий. При создании элемента DAQ Assistant вам будет предоставлен выбор – управлять портом (портами) или отдельной линией. Источником или приемником данных для цифрового ввода-вывода служит массив. Ознакомьтесь с демонстрационной программой bool_array.exe. В верхней части расположены элемент управления для ввода чисел и элемент индикации типа булевского массива. В нижней части управление осуществляется посредством булевского массива, активизация которого производится нажатием указателя мыши. Протестируйте программу.

Для обучения работы с таким типом данных выполните следующие упражнения.

  1. В Block Diagram создайте элемент «Number To Boolean Array» из палитры «Boolean». Создайте на входе этого элемента управляющий элемент типа «Number». Протестируйте программу.

  2. Заметите управляющий элемент типа «Number» на элемент типа «String», добавьте для согласования преобразователь «String» - «Number». Протестируйте программу.

  3. В Front Panel создайте массив. Цифра в рамке показывает размерность массива. В начале он пуст и не имеет типа. Вставьте в него булевский элемент типа «Кнопка». Массив стал булевским. Растяните массив по вертикали, при этом появляются новые элементы. Щелкните мышью по этим элементам- кнопкам, активизируя их, т.е. записывая в массив величины «true» и «false». Создайте индикатор. Для этого Front Panel создайте массив. Вставьте в него булевский элемент типа «LED». Растяните массив по вертикали, при этом появляются новые элементы. Протестируйте программу. Протестируйте программу.

  4. В Front Panel создайте массив. В начале он пуст и не имеет типа. Вставьте в него элемент «Numeric Control». Он стал массивом числового типа. Создайте для него индикатор.

  5. Для удобства управления каждым битом отдельно необходима схема, имеющая несколько входов с весами, кратными степени 2: 1, 2, 4 и т.д. Создайте элемент «Number To Boolean Array». Для него на выходе создайте индикатор (Boolean Array), a на его входе - элемент «Compound Arithmetic» для суммирования. Растяните последний элемент до необходимого числа входов (например - 4). Для каждого входа элемента создайте элемент «Multiply», у которого на одном входе будет константа, кратная степени 2. Для другого создайте на «Front Panel» элемент «Push Button», который имеет состояния «True» и «False». Протестируйте программу. «Нажимая» кнопки, которые соответствуют линиям цифрового вывода, наблюдайте за индикатором типа «Boolean Array»

Программирование цифрового вывода.

Как было сказано выше, контроллер NI-6221 имеет 3 порта по 8 линий каждый. Линии могут работать как на ввод, так и на вывод.

Программирование порта в целом.

Запустите на исполнение демонстрационную программу «dio_port_out.exe». Введите число. Наблюдайте за изменениями свечения светодиодов, подключенных к линиям данного порта. Как «включить» только один нужный светодиод?

Вторая демо-программа «dio_port_out2.exe» позволяет записывать в контроллер только числа, равные степеням 2, соответствующие только одной конкретной линии. Элемент кнопка управляет уровнем сигнала на выходе – высокий или низкий. Наблюдайте за изменениями свечения светодиодов, подключенных к линиям данного порта.

Напишите аналогичные собственные программы.

  1. Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Output». Выберите порт (0-2), с которым будете работать. Протестируйте его работоспособность

  2. У входа данных DAQ Assistant щелкните правой клавишей мыши и создайте элемент управления. Этот объект является массивом. Вы можете задавать число, посылаемое в порт.

  3. Присоедините светодиод с резистором к тестируемой линии. Наблюдайте за изменениями свечения светодиода.

  4. Протестируйте другие порты и линии.

  5. Для работы с конкретной линией модифицируйте программу. Воспользуйтесь элементом «Scale by Power of 2», в который сходятся выходы от ранее существовавшего элемента ввода и кнопки (булевский элемент). Для согласования логического источника и цифрового приемника создайте элемент «Boolean To (0,1)».

  6. Наблюдайте за изменениями свечения светодиода при подаче логических единицы и нуля.

Ваши программы должны работать аналогично демонстрационным программам.

Программирование отдельных линий порта.

Запустите на исполнение демонстрационную программу «dio_lines.exe». Активируйте мышью элементы типа кнопка. Наблюдайте за изменениями свечения светодиодов, подключенных к линиям данного порта. Напишите аналогичную собственную программу.

  1. Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Output». Выберите 4 линии порта, с которым будете работать. Протестируйте его работоспособность

  2. В Front Panel создайте массив. Вставьте в него булевский элемент типа «Кнопка». Растяните массив по вертикали, при этом появляются новые элементы. Щелкните мышью по этим элементам- кнопкам, активизируя их, т.е. записывая величины «true» и «false».

  3. Соедините созданный элемент с входом «data» DAQ Assistant.

  4. Создайте индикатор для контроля введенных данных.

  5. Присоедините светодиод с резистором к тестируемой линии. Наблюдайте за изменениями свечения светодиода.

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

Запустите на исполнение демонстрационную программу «dio_gen_cyc1.exe». Задайте скважность (например - 3), длительность импульса – 300 мс. Наблюдайте за показаниями виртуального осциллографа, виртуальных светодиодов и свечением реальных светодиодов, подключенных к линии «1» выбранного порта «1». Запустите на исполнение демонстрационную программу «dio_gen_cyc2.exe». Она аналогична предыдущей, но работает с любой отдельной линией. Протестируйте работу программы. Напишите аналогичные собственные программы.

  1. Создайте цикл «For Loop». Для N создайте элемент управления для ввода скважности сигнала.

  2. Для задержки выполнения цикла, т.е. задания длительности формируемого импульса, создайте внутри него элемент «Wait» с элементом управления.

  3. Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Output». Выберите порт, с которым будете работать. Протестируйте его работоспособность.

  4. Элемент цикла i должен быть соединен с входом данных DAQ Assistant. Найдите необходимые сопрягающие элементы между источниками и приемниками данных.

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

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

Ваши программы должны работать аналогично демонстрационным программам. Пользователь должен иметь возможность регулировать частоту и скважность импульсов.

Программирование цифрового ввода.

  1. Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Input». Выберите порт (0-2), с которым будете работать, или все три. Протестируйте его работоспособность

  2. У входа данных DAQ Assistant щелкните правой клавишей мыши и создайте элемент индикации. Этот объект является массивом. Цифра слева в окошке показывает размерность массива.

  3. Подайте на одну из линий физически сигнал уровня ТТЛ (0-5 В). Наблюдайте за изменениями полученной информации.

  4. Создайте массив с булевскими элементами управления как в пункте 3 «Массивы в LabView». Соедините его с входом данных DAQ Assistant, удалив массив созданный в пункте 5.

  5. Подайте на одну из линий физически сигнал уровня ТТЛ (0-5 В).

  6. Наблюдайте за изменениями полученной информации.

Дополнительные задания повышенной сложности

  1. Создайте программу генератора прямоугольных импульсов на базе цифрового вывода на основе симулятора сигнала (Simulate Signal), генерирующую последовательность импульсов сигналов. Задействуйте входы Amplitude, Frequency, Duty Cycle, Offset и другие необходимые входы симулятора генератора. Для контроля импульсов симулятора создайте элемент Graph. Измените свой виртуальный прибор так, чтобы реализовать измерение и отображение значений напряжения по нескольким каналам одновременно.

  2. Напишите программу, которая считает количество импульсов, поступающих на цифровой вход, за определенное время, заданное пользователем.

  3. Создайте виртуальный прибор на основе таймера платы NI PCI 6621.

  4. Придумайте новую прикладную задачу, решаемую с помощью вашего виртуального прибора.

Лабораторный отчет

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

  • Описание работы вашей программы. Если вы выполнили любое из дополнительных заданий, подробно изложите порядок ваших действий.

  • Приведите по крайней мере три способа применения вашего программного вольтметра.

Контрольные вопросы

  1. Сколько портов ввод/вывода у платы NI PCI 6621?

  2. Сколько линий у каждого порта?

  3. Чему равен высокий и низкий уровень выходного сигнала?

  4. Какая максимальная рабочая частота портов ввод/вывода?

  5. Какие еще устройства реализованы на линиях ввод/вывода у NI PCI 6621?

2006 г. Доц. КФТТ Ивашенков О.Н.

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