|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Теоретические основы
Мобильные системы сбора и обработки потоков данных реализуются с помощью интерфейса USB. Необходимость в таких системах возникает, например, при использовании ноутбуков, имеющих крайне ограниченные возможности подключения внешней аппаратуры. Программное обеспечение для работы с модулями сбора данных и управления может быть создано средствами LabWindows/CVI 8.0 API с тем, чтобы программное обеспечение затем функционировало в среде LabWindows/CVI 8.0. Это не исключает последующего переноса созданной программы в другие программные системы. Концепция LabWindows/CVI 8.0 API (NI DAQmx API) включает универсальный подход к программированию устройств сбора данных и управления, выпускаемых фирмой National Instruments, в частности, модуля USB-6008. Главные элементы этой концепции – каналы и задачи. Физический канал – это терминал или контакт, на котором генерируется или принимается аналоговый или цифровой сигнал. Один физический канал может включать более, чем один, терминал, например, дифференциальный аналоговый канал или цифровой порт, содержащий 8 линий. Каждый физический канал устройства (модуля сбора данных) имеет уникальное имя, например, Dev1/port 0/line0:7, которое соответствует соглашению NI DAQmx о именах. Виртуальные каналы это программная категория, которая инкапсулирует физические каналы со специфической информацией канала: диапазоном, терминальной конфигурацией, шкалированием, форматирующим данные. Чтобы создать виртуальный канал, нужно воспользоваться функцией Create Channel function/VI. Можно создать виртуальный канал также, используя DAQ Assistant. Если Вы создаете виртуальные каналы с помощью DAQ Assistant, вы можете использовать их в других задачах и ссылаться на них вне контекста задачи. Поскольку эти каналы могут использоваться в нескольких задачах, они называются глобальными каналами. Можно выбрать глобальные каналы с помощью NI DAQmx API или DAQ Assistant и добавить их к задаче. Если Вы добавляете глобальный канал к нескольким задачами модифицируете глобальный канал с помощью DAQ Assistant, изменения будут действительны во всех задачах, использующих этот глобальный канал. ПРИМЕР. Содержание задачи. Требуется создать средствами LabView или LabWindows/CVI виртуальный канал NI DAQmx для измерения температуры в диапазоне от 50 до 200 градусов, используя термопару J-типа, соединенную с каналом 0 модуля М-серии, конфигурируемого как Device 1. Решение: 1. Используем функцию Create AI Thermocouple Channel function/VI. 2. Используем Dev1/ai0 как физический канал устройства, на вход которого подается сигнал с термопары. 3. Определим myThermocoupleChannel как имя, назначенное виртуальному каналу. 4. Выберем соответствующие значения для типа термопары и диапазон входного сигнала. NI DAQmx свяжет эти атрибуты с виртуальным каналом. Программы, созданные средствами LabWindows/CVI 8.0 API, могут быть использованы и в другой программной среде, например, Visual C++. Для этого можно создать исполняемую программу и DLL, которые вызывают библиотеки LabWindows/CVI. LabWindows/CVI содержит DLL реального времени, которые включают все библиотеки. Исполняемые программы в среде LabWindows/CVI создаются также с использованием этих DLL. Директория EXLIB содержит импортируемые DLL-библиотеки и Startup-библиотеку; все они совместимы с внешними компиляторами. Примечание. Никогда не используйте.lib файлы в \bin директории внешнего компилятора. Всегда нужно включать в проект, создаваемый внешним компилятором, две библиотеки: cvisupp.lib /* startup библиотеку */ Можно добавить статический библиотечный файл из \extlib в проект во внешнем компиляторе: analysis.lib /* Analysis or Advanced Analysis Library */ Можно добавить файл DLL-библиотеки импорта из \extlib в проект во внешнем компиляторе: gpib.lib/* GPIB/GPIB 488.2 Library*/ Если Вы используете инструментальный драйвер, который относится к библиотекам GPIB/GPIB 488.2 and VXI, можно использовать две библиотеки: gpib.lib and nivxi.lib, чтобы разрешить ссылки на символы этих библиотек. Если Вы не имеете доступа к одному из этих файлов, вы можете заменить его одним из следующих файлов: gpibstub.obj/* stub GPIB functions*/ Если вы используете внешний компилятор, который требует точку входа WinMain, следующая опциональная библиотека позволяет определить только одну main в Вашей программе. cviwmain.lib /* contains a WinMain() function that*/
Схема лабораторной установки
Рис. 63. AI0…AI7 – аналоговые входы, AO0…AO1 – аналоговые выходы, DO0…DO9 – цифровые входы/выходы.
Модули с интерфейсом USB (USB-6008/6009) обеспечивают многоканальный ввод и вывод аналоговых и цифровых сигналов: 10 цифровых программируемых линий ввода/вывода, 16 линий аналогового ввода, 2 линии аналогового вывода и один вход счетчика импульсов. Структура модуля приведена на рис. 64.
Рис. 64
Программное управление модулем USB-6008 должно включать, как минимум, следующие функции: а) многоканального ввода аналоговых сигналов; б) вывода аналоговых сигналов; в) ввода/вывода цифровых сигналов; г) управления таймером/счетчиком импульсов; с различными способами синхронизации. Электрические соединения модуля USB-6008 с терминальным модулем выполнены следующим образом: аналоговые входы AI0…AI7 соединены с гнездами AI0…AI7 терминального модуля, аналоговые выходы АО1...АО2 модуля USB-6008 соединены с коаксиальными разъемами АО1...АО2 терминального модуля, цифровые выходы DO0…DO7 модуля USB-6008 соединены с входами светодиодных индикаторов DO0…DO7 терминального модуля и модели объекта. Программное обеспечение модуля USB-6008 включает библиотеку программных модулей LabWindows/CVI 8.0.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |