
- •Лекции по курсу: Автоматизированные системы научных исследований.
- •Глава 2: Типы ацп.
- •Глава 3: цап весового типа.
- •Глава 4: Структуры систем автоматизации.
- •4.1. Системы с непосредственным подключением компьютера к экспериментальной установке.
- •4.2. Системы с подключением к компьютеру через промежуточное устройство (зу и/или уу).
- •4.3.Системы на базе стандартных приборных интерфейсов.
- •4.4. Системы со встроенными микроконтроллерами.
- •4.5. Распределенные системы, системы на основе сети.
- •Глава 5: Виды обеспечения асни.
- •Глава 6: Датчики.
- •6.1. Основные характеристики датчиков.
- •6.2. Основные схемы включения измерительных преобразователей.
- •6.3. Датчики линейных и угловых перемещений.
- •6.4. Резонансные измерительные цепи.
- •6.5. Датчики температуры.
- •6.6.Датчики сил и механических передвижений.
- •6.7. Датчики давления разряженных газов.
- •Глава 7: Структура эвм.
- •7.1. 5 Принципов:
- •7.2. Схема функционирования алу для двоичных чисел с фиксированной точкой.
- •7.3. Схема алу, работающих с одноадресными командами.
- •7.4. Регистр состояния процессора.
- •7.5. Цикл команд.
- •7.6. Классификация простейших процессоров по отношению к используемым регистрам.
- •7.7. Системный interface.
- •Системный интерфейс с общей шиной:
- •7.8. Обмен данными с внешними устройствами ввода/вывода.
- •7.9. Стандартно-универсальные приборные интерфейсы.
- •7.10. Система камак.
- •7.11. Временные диаграммы циклов магистрали крейта.
- •7.12. Программно – доступные регистры с интерфейсом общей шины.
- •Приложения. Лабораторная работа №1. Стандартные интерфейсы ibm компьютера Сentronics и rs232b.
- •Лабораторная работа №2. Цифровой и аналоговый ввод/вывод информации через адаптер нвл-08.
- •Технические характеристики устройства.
- •2. Программирование устройства nvl08.
- •2.1 Программирование цифрового ввода /вывода.
- •2.2 Программирование аналогового выхода (цап).
- •2.3 Программирование аналогового выхода (ацп).
- •3. Учебный стенд
- •4. Ход работы.
- •5. Приложения.
- •2002 Год доцент кфтт Ивашенков о.Н.
- •Лабораторная работа № 3
- •«Цифровой ввод-вывод через ni pci 6221 в среде LabView».
- •Цель работы:
- •Лабораторная работа №4.
- •Аналоговый ввод
- •Аналоговый вывод
- •Лабораторная работа №5. «Создание виртуальных приборов в среде MathLab». Цель работы.
- •Лабораторная работа №6. Клиент-серверные программы для протокола udp в среде LabView. Цель работы:
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».
Цель работы:
Научиться основным принципам работы в графической среде LabVIEW
Ознакомиться с параметрами платы для сбора данных NI PCI 6221 и макета CB-68LP. Провести тестирования оборудования.
Создать программное обеспечение для ввода и вывода цифровой информации через контроллер NI PCI 6621.
Написать программу в среде 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. В верхней части расположены элемент управления для ввода чисел и элемент индикации типа булевского массива. В нижней части управление осуществляется посредством булевского массива, активизация которого производится нажатием указателя мыши. Протестируйте программу.
Для обучения работы с таким типом данных выполните следующие упражнения.
В Block Diagram создайте элемент «Number To Boolean Array» из палитры «Boolean». Создайте на входе этого элемента управляющий элемент типа «Number». Протестируйте программу.
Заметите управляющий элемент типа «Number» на элемент типа «String», добавьте для согласования преобразователь «String» - «Number». Протестируйте программу.
В Front Panel создайте массив. Цифра в рамке показывает размерность массива. В начале он пуст и не имеет типа. Вставьте в него булевский элемент типа «Кнопка». Массив стал булевским. Растяните массив по вертикали, при этом появляются новые элементы. Щелкните мышью по этим элементам- кнопкам, активизируя их, т.е. записывая в массив величины «true» и «false». Создайте индикатор. Для этого Front Panel создайте массив. Вставьте в него булевский элемент типа «LED». Растяните массив по вертикали, при этом появляются новые элементы. Протестируйте программу. Протестируйте программу.
В Front Panel создайте массив. В начале он пуст и не имеет типа. Вставьте в него элемент «Numeric Control». Он стал массивом числового типа. Создайте для него индикатор.
Для удобства управления каждым битом отдельно необходима схема, имеющая несколько входов с весами, кратными степени 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, соответствующие только одной конкретной линии. Элемент кнопка управляет уровнем сигнала на выходе – высокий или низкий. Наблюдайте за изменениями свечения светодиодов, подключенных к линиям данного порта.
Напишите аналогичные собственные программы.
Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Output». Выберите порт (0-2), с которым будете работать. Протестируйте его работоспособность
У входа данных DAQ Assistant щелкните правой клавишей мыши и создайте элемент управления. Этот объект является массивом. Вы можете задавать число, посылаемое в порт.
Присоедините светодиод с резистором к тестируемой линии. Наблюдайте за изменениями свечения светодиода.
Протестируйте другие порты и линии.
Для работы с конкретной линией модифицируйте программу. Воспользуйтесь элементом «Scale by Power of 2», в который сходятся выходы от ранее существовавшего элемента ввода и кнопки (булевский элемент). Для согласования логического источника и цифрового приемника создайте элемент «Boolean To (0,1)».
Наблюдайте за изменениями свечения светодиода при подаче логических единицы и нуля.
Ваши программы должны работать аналогично демонстрационным программам.
Программирование отдельных линий порта.
Запустите на исполнение демонстрационную программу «dio_lines.exe». Активируйте мышью элементы типа кнопка. Наблюдайте за изменениями свечения светодиодов, подключенных к линиям данного порта. Напишите аналогичную собственную программу.
Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Output». Выберите 4 линии порта, с которым будете работать. Протестируйте его работоспособность
В Front Panel создайте массив. Вставьте в него булевский элемент типа «Кнопка». Растяните массив по вертикали, при этом появляются новые элементы. Щелкните мышью по этим элементам- кнопкам, активизируя их, т.е. записывая величины «true» и «false».
Соедините созданный элемент с входом «data» DAQ Assistant.
Создайте индикатор для контроля введенных данных.
Присоедините светодиод с резистором к тестируемой линии. Наблюдайте за изменениями свечения светодиода.
Создание генератора прямоугольных импульсов на базе цифрового вывода.
Запустите на исполнение демонстрационную программу «dio_gen_cyc1.exe». Задайте скважность (например - 3), длительность импульса – 300 мс. Наблюдайте за показаниями виртуального осциллографа, виртуальных светодиодов и свечением реальных светодиодов, подключенных к линии «1» выбранного порта «1». Запустите на исполнение демонстрационную программу «dio_gen_cyc2.exe». Она аналогична предыдущей, но работает с любой отдельной линией. Протестируйте работу программы. Напишите аналогичные собственные программы.
Создайте цикл «For Loop». Для N создайте элемент управления для ввода скважности сигнала.
Для задержки выполнения цикла, т.е. задания длительности формируемого импульса, создайте внутри него элемент «Wait» с элементом управления.
Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Output». Выберите порт, с которым будете работать. Протестируйте его работоспособность.
Элемент цикла i должен быть соединен с входом данных DAQ Assistant. Найдите необходимые сопрягающие элементы между источниками и приемниками данных.
Для работы с отдельной линией вспомните, как вы работали в предыдущих программах (см. выше).
Протестируйте программы со светодиодом на выбранной линии.
Ваши программы должны работать аналогично демонстрационным программам. Пользователь должен иметь возможность регулировать частоту и скважность импульсов.
Программирование цифрового ввода.
Создайте элемент DAQ Assistant. В его свойствах задайте: «Digital Input». Выберите порт (0-2), с которым будете работать, или все три. Протестируйте его работоспособность
У входа данных DAQ Assistant щелкните правой клавишей мыши и создайте элемент индикации. Этот объект является массивом. Цифра слева в окошке показывает размерность массива.
Подайте на одну из линий физически сигнал уровня ТТЛ (0-5 В). Наблюдайте за изменениями полученной информации.
Создайте массив с булевскими элементами управления как в пункте 3 «Массивы в LabView». Соедините его с входом данных DAQ Assistant, удалив массив созданный в пункте 5.
Подайте на одну из линий физически сигнал уровня ТТЛ (0-5 В).
Наблюдайте за изменениями полученной информации.
Дополнительные задания повышенной сложности
Создайте программу генератора прямоугольных импульсов на базе цифрового вывода на основе симулятора сигнала (Simulate Signal), генерирующую последовательность импульсов сигналов. Задействуйте входы Amplitude, Frequency, Duty Cycle, Offset и другие необходимые входы симулятора генератора. Для контроля импульсов симулятора создайте элемент Graph. Измените свой виртуальный прибор так, чтобы реализовать измерение и отображение значений напряжения по нескольким каналам одновременно.
Напишите программу, которая считает количество импульсов, поступающих на цифровой вход, за определенное время, заданное пользователем.
Создайте виртуальный прибор на основе таймера платы NI PCI 6621.
Придумайте новую прикладную задачу, решаемую с помощью вашего виртуального прибора.
Лабораторный отчет
Название лабораторной работы, цель работы и что было достигнуто в ходе выполнения.
Описание работы вашей программы. Если вы выполнили любое из дополнительных заданий, подробно изложите порядок ваших действий.
Приведите по крайней мере три способа применения вашего программного вольтметра.
Контрольные вопросы
Сколько портов ввод/вывода у платы NI PCI 6621?
Сколько линий у каждого порта?
Чему равен высокий и низкий уровень выходного сигнала?
Какая максимальная рабочая частота портов ввод/вывода?
Какие еще устройства реализованы на линиях ввод/вывода у NI PCI 6621?
2006 г. Доц. КФТТ Ивашенков О.Н.