Программное обеспечение ADLINK для построения систем измерения и сбора данных

Эта статья – краткий обзор оборудования и программного обеспечения компании ADLINK, позволяющих создавать виртуальные измерительные приборы на базе вычислительных платформ под управлением OC семейства Windows. В основе всего многообразия программного обеспечения ADLINK лежат два пакета – комплект разработчика программного обеспечения для устройств сбора данных xxx-DASK и пакет программ DAQPilot. Оба пакета представляют собой наборы драйверов уровня ядра для всего измерительного оборудования ADLINK, а также комплекты библиотек функций, классов, элементов управления и VI для популярных средств разработки ПО: Microsoft Visual C++/Visual Basic 6.0, Borland C++ Builder/Delphi, Microsoft Visual Basic .NET, Microsoft C# .NET, LabVIEW.

Головастов Андрей, Деркач Александр, Камалиев Раис, Пашкин Андрей

166
В ЗАКЛАДКИ

Программно-аппаратный дуализм и концепция виртуальных приборов

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

  1. Обмен данными с помощью существующих интерфейсов между измерительным прибором и компьютером.
  2. Применение самого ПК в качестве измерительного прибора.
Эти подходы существенно отличаются друг от друга, и если с первым всё достаточно ясно, то второй имеет определённые предпосылки. Одна из них – это требование построения измерительной системы с высоким уровнем автоматизации, другая – значительная сто­имость реальных приборов, и третья – существенная экономия времени.

Например, вместо того чтобы собирать измерительный стенд с традиционными приборами, привязывать к ним дополнительное компьютерное оборудование, необходимое для поддержки, записи и сохранения результатов, пользователь создаёт на базе ПК виртуальный инструмент, интегрирующий всё необходимое. Минимально для такого прибора требуются компьютер, плата сбора данных (DAQ) и специальное про­­граммное обеспечение. В отличие от классического прибора с неизменной функциональностью виртуальный прибор в большей степени создаётся пользователем, что значительно расширяет его границы, и имеет ряд ключевых преимуществ:

  • высокая гибкость и универсальность, способность адаптироваться к задаче клиента,
  • быстрая готовность полученных данных к последующим вычислениям,
  • широкие возможности для использования различных программных продуктов,
  • увеличение вычислительной мощности путём модернизации основного компьютера,
  • масштабируемая память,
  • простая комбинация различных аппаратных средств,
  • оптимальное соотношение цены и производительности.
Использование ПК и программного обеспечения вместо реального прибора даёт возможность создавать практически любой прибор с нуля. Программное обеспечение является наиболее важной составляющей, именно оно и определяет виртуальный прибор. Знание аппаратных средств, понимание программных возможностей, умение работы с ними – это то, что реально поможет разработчику измерительной системы получить максимальный результат.

Краткий обзор ПО для построения виртуальных приборов на базе оборудования ADLINK

Оборудование компании ADLINK, предназначенное для построения измерительных систем и систем сбора данных, хорошо известно читателям журнала «СТА» [1–3]. Менее освещено про­граммное обеспечение, которое бесплатно поставляется компанией в комплекте с оборудованием и по сути является важнейшей составной частью программно-технических комплексов. Эта статья – попытка коротко рассказать читателю о ряде полезных программных инструментов, которые позволяют создавать виртуальные измерительные приборы с использованием оборудования ADLINK под управлением OC семейства Windows.

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


В основе всего многообразия программ лежат два фундаментальных пакета. Это комплект разработчика программного обеспечения для устройств сбора данных xxx-DASK и пакет программ DAQPilot. Оба пакета представляют собой, в первую очередь, наборы драйверов уровня ядра для всего измерительного оборудования ADLINK, а также комплект библиотек функций и компонентов для популярных средств разработки программного обеспечения Microsoft Visual C++/Visual Basic 6.0, Borland C++ Builder/Delphi, Microsoft Visual Basic .NET, Microsoft C# .NET. Драйверы разработаны для 32- и 64-разрядных версий операционных систем семейства Windows и обеспечивают, по словам изготовителя, возможность миграции прикладного ПО между платформами Windows.

Пакеты программ xxx-DASK и DAQPi­­lot охватывают весь спектр оборудования ADLINK и регулярно обновляются производителем по мере появления новых изделий. Основное отличие xxx-DASK от DAQPilot состоит в идеологии построения интерфейса прикладного программирования (applica­tion programming interface) и, как следствие, в стиле проектирования прикладных программ.

Пакет xxx-DASK аппаратно ориентирован, построен в традиционном стиле и требует от программиста хорошего понимания аппаратной части измерительного оборудования и подсистемы ввода-вывода компьютерной платформы. Он позволяет максимально использовать возможности, заложенные в оборудовании компании ADLINK.

Пакет DAQPilot изначально спроектирован для построения измерительных задач (task oriented) и предоставляет прикладному программисту дружественный набор функций и компонентов, позволяющий проектировать и разрабатывать программу в терминах измерительной задачи. Идеологически этот подход очень близок концепции задачи (task) [4], реализованной в среде программирования виртуальных приборов LabVIEW компании National Instru­ments. От программиста не требуется глубокого понимания подсистемы ввода-вывода компьютерной платформы. Как правило, он должен оперировать такими абстрактными понятиями, связанными с интересующей его прикладной областью, как измерительная задача, измерительный канал, тактирование, синхронизация и т.п. Всю работу с оборудованием нижнего уровня возьмет на себя программное обеспечение пакета DAQPilot. Перенос акцента в программном интерфейсе DAQPilot существенно облегчает проектирование и разработку виртуальных приборов и позволяет программисту сконцентрироваться на решении прикладной задачи.

Кроме пакетов разработчика xxx-DASK и DAQPilot, в состав программного обеспечения входят библиотеки Ac­tiveX-компонентов (controls), предназначенные для средств быстрой разработки, таких как VB6, C#, VB .Net, Delphi, и C++ Builder. В их числе библиотека DAQBench, содержащая большое количество элементов управления ActiveX, служащих для отображения данных, цифрового анализа и интеграции приложений. С помощью этой библиотеки легко разработать мощное приложение виртуального прибора или систему сбора данных и управления с развитым пользовательским интерфейсом.

В научных, инженерных и образовательных проектах найдут применение библиотеки DAQPilot Express VI (VI – Virtual Instrument) and Polymorphic VIs for LabVIEW™ и MATLAB® DAQ Toolbox for ADLINK DAQ Cards, которые позволяют легко интегрировать оборудование для сбора данных и управления компании ADLINK в прикладные программы, разработанные с помощью популярнейших пакетов LabVIEW и MATLAB.

Кроме комплектов драйверов, библиотек функций и компонентов, в состав программного обеспечения входит набор утилит, предназначенных для конфигурирования и тестирования оборудования и интеграции его в прикладные программы. Весьма полезной для этих целей является утилита DAQMas­ter, выполняющая целый спектр необходимых функций по работе с оборудованием и интеграцией его в прикладное ПО.

Для оперативной реализации задач сбора данных и записи их на диск предназначена утилита AD-Logger.

AD-Log­ger является готовой программой с функциями виртуального прибора. AD-Logger построена на основе DAQPilot SDK, предоставляет пользователю развитый графический интерфейс, поддерживает весь спектр оборудования сбора данных ADLINK и не требует программирования.

Краткий обзор оборудования ADLINK для построения виртуальных приборов

При разработке проекта построения компьютерной системы сбора данных на базе ПК актуальным становится вопрос подбора соответствующей периферии ввода-вывода. Первое, с чем пред­стоит столкнуться, – это оптимизация поиска инструментальных плат. Здесь часто используются следующие основные параметры:

  • количество каналов,
  • разрядность АЦП характеризующая количество дискретных значений, вы­даваемых преобразователем на выходе (например, для 16 бит это 216 = 65 536 уровней квантования),
  • частота опроса/обновления (частота, с которой производится оцифровка аналогового входа или формирование выходного сигнала),
  • диапазон входного и выходного сигнала,
  • частотный диапазон.

Для того чтобы ответить на вопрос, какую плату выбрать из всех возможных аппаратных решений, сделаем краткий обзор оборудования на примере уст­ройств, выпускаемых одним из лидеров этого сегмента – компанией ADLINK (табл. 1). 


Компания работает более 20 лет и имеет широчайшую номенклатуру, включающую линейки продукции, которые будут рассмотрены далее.

Высокопроизводительные платы сбора данных серий DAQ/DAQe/PXI-2000, PCI-92xx

В конструкции многофункциональных модулей семейства DAQ заложены прогрессивные модульные технологии. Платы представляют собой носитель и мезонин, объединённые в одном конструктиве. Носитель реализует основные функции, а мезонин дополняет их требуемой функциональностью и опциями, присущими конкретной плате. Данный подход позволяет реализовать значительное количество исполнений на базе общей для всех носителей схемотехники. Особое внимание следует уделить моделям серий DAQe-2208, DAQe-2206, DAQe-2204, DAQe-2205, DAQe-2213, DAQe-2214 – они представляют собой высокопроизводительное решение для современных систем аналоговой обработки сигналов. Основной их особенностью является использование высокоскоростной технологии многоканальной передачи данных по шине PCI Express. Например, DAQe-2208 имеет 96 однополярных или 48 дифференциальных каналов аналогового ввода со скоростью оцифровки до 3 МГц. C помощью данных устройств можно построить сложные промышленные системы, подобные описанным в [5].

Платы аналогового ввода-вывода общего назначения серии PCI-91xx

Эта группа устройств характеризуется увеличенным количеством каналов от 16 до 64 у PCI-9116, частотой опроса от 100 до 333 кГц и разрешением от 12 до 16 бит. Большинство из них – это многофункциональные устройства (PCI-9114, PCI-9111, PCI-9112), рассчитанные на ввод и вывод аналоговых сигналов, дополненные дискретными входами-выходами. Платы PCI-9113 интересны ещё и наличием гальванической изоляции входов.

Платы аналогового вывода серий PCI/PCIe/cPCI-6xxx

Основное назначение данных плат – генерация аналоговых сигналов, число каналов от 4 у PCI-6202 до 16 у PCI/ PCIe/cPCI-6216, разрешение от 12 до 16 бит, частота обновления до 1 МГц. Платы PCI-6308 имеют два исполнения – PCI-6308A и PCI-6308V соответственно с гальванической изоляцией токовых выходов и выходов по напряжению, кроме этого, все платы оснащаются 4 дискретными входами/выходами.

Платы аналогового ввода с высоким разрешением серий PCI/PXI-95xx

Платы PCI-9527 на 4 канала и PXIе-9529 на 8 каналов имеют рекордное разрешение 24 бит и широкий динамический диапазон, частоту опроса 432 и 192 кГц соответственно. Благодаря наличию встроенного интерфейса IEPE они могут быть непосредственно подключены к соответствующим датчикам, способны при помощи программно-аппаратных средств фильтровать шумы и с высокой достоверностью распознавать полезный сигнал.

Очень актуальное применение плат – это контроль состояния вращающихся деталей машин. Для данного решения используются методы акустического мониторинга микрофонных и вибрационных датчиков. Ввиду сложной формы и спектра входного сигнала, наличия большого количества гармонических составляющих и помех задача решается только при помощи подобных устройств. В нашем применении необходима способность PCI-9527 различать как сильный, так и слабый сигнал, то есть распознать незначительное изменение по сравнению с сигналом, характерным для нормальной работы устройства, машины, двигателя и т.д.

Платы дискретного ввода-вывода серий PCI/PCIe/cPCI-7xxx

Все платы 32-канальные и предназначены для приёма и выдачи однополярных дискретных сигналов, различаются по рабочей частоте от 2 до 100 МГц и скорости передачи данных от 12 до 200 Мбайт/с.

Высокоскоростные платы АЦП с буферной памятью серий PCI/PXI/PXIe-98xx

Высокоскоростные аналого-цифровые преобразователи, или дигитайзеры, можно отнести к высокопроизводительным измерительным приборам. Данные устройства, кроме высоких скоростей опроса и больших значений разрешения, имеют встроенную память, применение которой обусловлено прежде всего необходимостью непрерывного приёма сигнала без каких-либо потерь. В программе ADLINK присутствуют платы с разрешением от 10 до 16 бит и частотой от 10 до 200 млн опросов/с. Они применяются всё чаще, порой в самых неожиданных областях.

Например, задача, которая решена с помощью дигитайзеров PXI-9816/ 9826/9846 и соответствующего ПО – это система распределённого измерения температуры протяжённых объектов. Такие системы успешно работают за рубежом для предотвращения пожаров в тоннелях, а также для контроля температуры нефтяных и газовых скважин. Здесь для измерения температуры вместо многочисленных термодатчиков применяется оптоволоконный кабель. Данное решение отличается высокой экономической эффективностью и позволяет получать до тысячи точных значений температуры при длине объекта до нескольких десятков километров. Рассмотрим решение. На лазерный луч, проходящий по оптоволоконному кабелю, оказывают влияние различные факторы среды, в том числе и температура. Измеряя зависимость принимаемого светового сигнала от времени, можно определить температуру с привязкой к конкретной длине оптического пути. Чем выше частота дискретизации, тем точнее местоположение, а чем выше динамические характеристики АЦП (такие как разрешение и диапазон принимаемого сигнала), тем точнее значения температуры.

Модули сбора данных с интерфейсом USB серий USB-19xx и USB-24хх

Серия USB-19xx включает АЦП и ЦАП с разрешением 16 бит, частотой опроса входов до 250 кГц и частотой обновления аналоговых выходов до 1 MГц. Серия USB-24хх – это устройства сбора данных с одновременным опросом 4 аналоговых каналов с разрешением 24 бит и частотой дискретизации до 1,6 кГц. Их конструкция опирается на накопленный компанией опыт создания аналоговых устройств сбора данных и предлагает удобства, характерные для USB-интерфейса: портативность, простоту подключения, поддержку plug-and-play, питание по USB-кабелю, высокую точность и надёжность измерений, необходимые при создании контрольно-измерительной аппаратуры для лабораторий и исследовательских центров.

Из всех представленных групп особенно выделяются устройства, специально предназначенные для создания высокопроизводительных многоканальных измерительных систем. В качестве платформы здесь используется оборудование, соответствующее магистрально-модульным стандартам CompactPCI, PXI, PXI Express. Они традиционно для ADLINK имеют аналогичную PCI/PCIe-платам схемотехнику и характеристики, однако включают все преимущества магистрально-модульной архитектуры, высокоточную системную синхронизацию, а также удобный приборный дизайн [1–3].

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

Далее переходим к основной части статьи – детальному знакомству с упоминавшимся программным обеспечением.

ххх-DASK – аппаратно ориентированный комплект средств разработки ПО для построения систем измерения и сбора данных

Назначение и основные характеристики

Комплект программ, объединённых общим суффиксом DASK (D2K-DASK, PCIS-DASK, WD-DASK, UD-DASK, DSA-DASK for Windows ), представляет собой набор драйверов уровня ядра для операционных систем Windows 8/7/ Vista/XP/Server 2003, а также комплект библиотек функций для популярных средств разработки прикладного ПО: Microsoft Visual C++/Visual Basic, Borland C++ Builder/Delphi, Microsoft Visual Basic .NET, Microsoft C# .NET (рис. 2).


Традиционный аппаратно-ориентированный подход, реализованный при построении xxx-DASK, обеспечивает квалифицированному программисту максимальный доступ к функциональности плат аналогового и цифрового ввода-вывода компании ADLINK. Функции, входящие в комплект библиотек xxx-DASK, позволяют разработчику при программировании ввода и вывода аналоговых и цифровых сигналов использовать методы программного опроса или же прямого доступа к памяти с однократной или двойной буферизацией данных, которые обеспечивают непрерывный поток данных высокой производительности.

Весь комплект xxx-DASK состоит из нескольких пакетов: D2K-DASK, PCIS-DASK, WD-DASK, UD-DASK, DSA-DASK for Windows, однако интерфейс прикладного программирования (API) в рамках одного пакета единообразен и позволяет без особого труда переносить программное обеспечение, разработанное для одного устройства, на другое в рамках серии, а также из одной среды программирования в другую. Для операционной системы Windows 7 в комплект xxx-DASK входят как 32-разрядные, так и 64-разрядные версии драйверов ядра для полного спектра устройств. Пакеты PCIS-DASK (для плат ADLINK серий PCI/PCIe/cPCI), D2K-DASK (для плат ADLINK серий DAQ/ DAQe/ PXI-2000) и WD-DASK (для высокоскоростного дигитайзера ADLINK) также поддерживают работу с 64-разрядными версиями ОС Windows XP Professional и Windows Server 2003, включая архитектуру AMD64 и Intel x86-64.

Начиная с Windows 7 x64, компания Microsoft требует наличия цифровой подписи для всех драйверов. Это требование Microsoft направлено на сокращение числа сбоев и повышение стабильности работы драйверов за счёт увеличения ответственности поставщиков аппаратного и программного обеспечения за допущенные ошибки. По этой причине все 64-разрядные драйверы ADLINK DASK для Windows 7 x64, которые могут быть установлены в соответствии с моделью пользовательских привилегий, обладают цифровой подписью.

Краткое описание библиотеки WD-DASK

При подготовке статьи мы воспользовались комплектом оборудования, состоящим из шасси PXES-2590/PMK-1524, модуля контроллера PXIe-3975 и модуля высокоскоростного АЦП PXIe-9848. Для программирования высокоскоростных модулей 9816, 9820, 9826, 9842, 9846, 9848 предназначен пакет программ WD-DASK. Остановимся немного подробнее на описании этого пакета.

Загрузить архив с новой версией установочного пакета WD-DASK можно с сайта компании ADLINK, предварительно зарегистрировавшись. Пос­ле установки пакета в каталоге WD-DASK будут созданы подкаталоги, содержащие файлы пакета. В каталоге LIB находятся библиотеки импорта WD-DASK.lib, WD-DASK64.lib, WD-DASK_bc.lib для Visual C/C++ и Bor­land C++, а также файлы экспорта WD-DASK.dll и WD-DASK64.dll. В каталоге INCLUDE содержатся заголовочные файлы для C/C++, а также файлы, предназначенные для импорта внешних функций из WD-DASK.dll и WD-DASK64.dll в программы, разрабатываемые на Visual Basic 6, Delphi, C# и Visual Basic .NET (VB .NET). В каталоге MANUAL расположены pdf-файлы DAQ Card Driver and Software Installation Guide for Windows® и Function Library Reference, содержащие руководство по установке программы и описание библиотеки функций WD-DASK. В каталоге UTIL находятся утилиты для работы с программами. Каталоги SAMPLES и SAMPLES_X64 содержат обширные библиотеки, содержащие примеры программ с исходными текстами на популярных языках программирования Visual C/C++, Visual Basic 6, C# и Visual Basic .NET В корне каталога WD-DASK находится файл RelNotes.txt, содержащий описание изменений в обновлениях пакета WD-DASK и перечень поддерживаемого пакетом оборудования.

Всего в состав библиотеки WD-DASK входит 55 функций. Все функции сгруппированы в несколько классов по своему назначению: функции конфигурации измерительного оборудования; группа функций измерения аналогового сигнала, включающая функции конфигурирования оборудования и однократного или непрерывного измерения аналогового сигнала, функции ввода-вывода дискретных сигналов, функции калибровки и группа функций управления синхронизацией измерений по интерфейсу SSI.

Описание примера построения виртуального прибора с использованием модуля PXIe-9848

В обширной библиотеке, состоящей из примеров программ, для демонстрации мы выбрали пример программы для виртуального прибора на базе модуля

PXIe-9848, реализованный средствами языка программирования Visual Basic 6.0.

Модуль PXIe-9848 представляет собой 8-канальный 14-разрядный быстродействующий АЦП со скоростью преобразования до 100 млн отсчётов/с.

PXIe-9848 имеет встроенную память до 512 Мбайт для временного хранения данных, что позволяет оптимизировать передачу данных в компьютерную платформу. Структурная схема модуля приведена на рис. 3. 


Внутренняя логика работы подсистем модуля и их взаимодействие подробно описаны в руководстве по эксплуатации [6].

Рассмотренный нами проект vb9848dma состоит из двух форм: Set­ting­Form и dma9848, реализующих интерфейс пользователя, и двух программных модулей: Module1 и WD-DASK. Отличительной особенностью каждого проекта, реализованного на языке Visual Basic 6.0 с использованием пакета WD-DASK, является включение в состав проекта модуля WD-DASK.bas. Модуль содержит объявления констант, коды ошибок и объявления функций, импортируемых из библиотеки WD-DASK.dll. После установки пакета WD-DASK модуль располагается в подкаталоге WD-DASK\ INCLUDE, и его включение в проект необходимо для импорта функций пакета из dll-библиотеки WD-DASK.dll в проект на VB. Подробно вопросы применения в проектах на VB функций, входящих в dll-библиотеки, освещены в литературе по про­грамми­рованию [7, 8].

Выполнение программы начинается с загрузки формы SettingForm. На этой форме пользователем из комбинированного списка CardNumber осуществляется выбор номера слота шасси, в котором установлен модуль PXIe-9848. После нажатия кнопки OK происходит инициализация модуля и внутренних переменных библиотеки WD-DASK.

Графический интерфейс виртуального прибора реализован формой dma9848, которая загружается после успешной инициализации (рис. 4).


С помощью комбинированных списков и текстовых полей, размещённых на форме, можно настроить работу прибора, реализуя различные возможности, предоставляемые модулем PXIe-9848. Опишем интерфейс пользователя подробнее, так как он достаточно полно отражает возможности модуля и программного обеспечения WD-DASK.

Группа комбинированных списков AI Channel Configuration позволяет установить входное сопротивление канала модуля (50 Ом/1 МОм) – список Impe­dance, диапазон входного напряжения (±2 В/±0,2 В ) – список Range, вход по постоянному или переменному току – список Coupling, полосу пропускания ФНЧ на входе канала (20/ 100 МГц) – список BandWidth.

Группа комбинированных списков и полей Trigger In позволяет задавать различные источники сигнала запуска измерения (Software, Analog Trigger, External Digital, PXI_TRIGGERBUS, PXI_STAR) – список Source, производить запуск по переднему или заднему фронту сигнала – список Polarity, устанавливать уровень порога срабатывания (от 0,8 мВ до 3,3 В) – поле Trigger Level.

Список Channel позволяет выбрать номер канала АЦП, по которому осуществляется измерение, или разрешить измерение по нескольким каналам.

Группа флажков Channel Slection позволяет задать номера каналов АЦП, по которым разрешены измерения.

Комбинированный список DataCo­unt (/trace) позволяет задавать размер буфера (количество отсчётов) DMA (Direct Memory Access – прямой доступ к памяти) для непрерывного ввода аналогового сигнала.

Комбинированный список Acquisi­tion задает режим измерения One Shot (однократный) или Continuous (непрерывный).

Нажатие кнопки Soft Trigger генерирует сигнал программного запуска разрешения измерения.

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

Список Timebase даёт возможность задать источник и частоту опорного синхросигнала для синхронизации аналого-цифрового преобразования (Internal Timebase; PXIe 100M PLL; PXI 10M PLL).

Список Sample Rate позволяет задать частоту выборки (в пределах от 108 до 103 выборок/с).

PXIe-9848 может экспортировать сигналы запуска измерения на шину PXI Trigger Bus для управления другими модулями. Источником сигнала запуска может быть программа или аппаратные сигналы PXI Star, или PXI Trigger Bus. Номер выходного сигнала на шину PXI Trigger Bus задаётся путём выбора из списка Port (PXI_TRIGBUS_0…PXI_TRIGBUS_7) группы Trigger. Результаты измерений отображаются в графическом окне DMA Input(A/D).

Даже из краткого описания интерфейса пользователя видно, что в рассмотренном проекте использовано большинство возможностей модуля PXIe-9848. На основе исходных текстов проекта программисту несложно разработать самостоятельно систему сбора данных, а используя богатые возможности VB, создать развитый графический интерфейс виртуального прибора по индивидуальным требованиям.

DAQPilot – комплект средств разработки для построения систем измерения и сбора данных

В 2007 г. компания ADLINK выпустила новый комплект разработчика (SDK) DAQPilot. Он, как и xxx-DASK, предназначен для создания приложений сбора данных в таких средах разработки, как Microsoft Visual C++/ Visual Basic, Borland C++ Builder/Delphi, Microsoft Visual Basic .NET, Microsoft C# .NET. Начиная с версии DAQPilot 2.0, пакет предоставляет палитру виртуальных инструментов для LabVIEW. Аналогично xxx-DASK в состав DAQPilot входят драйверы устройств, библиотеки сред программирования, утилиты, документация и библиотека исходных текстов примеров программ для всех устройств сбора данных компании ADLINK. На сайте ADLINK размещены видеоролики с краткими уроками программирования DAQPilot.

Пожалуй, самой важной особенностью пакета DAQPilot является то, что интерфейс прикладного программирования изначально ориентирован на построение задач сбора данных и измерения или, как принято писать, является task-ориен­тированным. Task, или задача – термин, берущий начало в среде программирования LabVIEW [4] и обозначающий набор из одного или нескольких каналов ввода-вывода с установленными синхронизацией, тактированием и другими свойствами. Каждая задача DAQPilot может содержать каналы только одного типа. В пакете DAQPilot определено 20 типов задач (рис. 5).


Работа с SDK DAQPilot начинается с создания задачи. Для этого используется утилита Create DAQPilot Task. 


Процесс создания задачи включает несколько этапов (рис. 6).

  1. Выбор типа задачи.
  2. Выбор устройства и канала опроса.
  3. Настройка параметров.
  4. Тестирование.
Если созданная задача прошла успешное тестирование, то в дальнейшем она может быть использована в приложениях. В случае необходимости с помощью утилиты Create DAQPilot Task можно внести изменения в настройки параметров существующей задачи.

Идеология DAQPilot распространяется на многие популярные пакеты разработки программ: Microsoft Visual C++ Visual Basic, Borland C++ Builder/Delphi, Microsoft Visual Basic .NET, Mic­ro­soft C# .NET. Для этих сред программирования в комплект DAQPilot входят библиотеки функций и компонентов, а также образцы программ.

Наиболее наглядно и продуктивно эта идеология реализована для популярного пакета LabVIEW компании National Instruments. Разработка приложений в LabVIEW основывается на концепции виртуальных приборов (ВП). Для пакета LabVIEW DAQPilot предоставляет два типа виртуальных приборов. Это экспресс-ВП DAQPilot Express VI и набор из 15 полиморфных ВП. Все эти ВП размещаются в палитре ADLINK DAQPilot Functions LabVIEW (рис. 7).


Рассмотрим подробнее примеры построения приложений на основе концепции задач DAQPilot в среде LabVIEW.

Экспресс-ВП DAQPilot Express VI

Express VI – это особый вид ВП LabVIEW. Одно из отличий от обычных ВП – встроенный мастер настройки. Когда DAQPilot Express VI размещается на блок-диаграмме, автоматически запускается диалог, предлагающий открыть уже существующую задачу или создать новую (рис. 8).


Если создаётся новая задача или модифицируется существующая, то автоматически запускается утилита Create DAQPilot Task (рис. 9) и выполняется стандартная процедура, в результате которой на блок-диаграмме формируется ВП, содержащий код только что сконфигурированной задачи.


Таким образом, DAQPilot Ex­press VI – это инструмент, позволяющий существенно сократить время разработки приложений и максимально сосредоточиться на поставленной задаче, при этом не требующий особенных навыков программирования. В ходе конфигурирования задачи мы выбрали источником сигнала канал AI0 модуля PXIe-9848. Добавив на лицевую панель несколько элементов управления и индикаторов и соединив проводниками терминалы на блок-диаграмме, мы получаем законченный ВП (рис. 10).


Полиморфные ВП DAQPilot

В отличие от DAQPilot Express VI построение программы на основе полиморфных ВП требует от разработчика более кропотливой работы. Но и возможности, которые открываются перед разработчиком, гораздо шире. При работе с DAQPilot Express VI создание задачи осуществляется средствами утилиты Create DAQPilot Task, и от разработчика требуется только выбрать необходимые параметры. В ходе исполнения задачи большинство параметров изменяться не может. Набор из полиморфных ВП (рис. 11) позволяет конструировать задачу на блок-диаграмме, управлять ходом её выполнения и менять параметры задачи.


В общем случае алгоритм реализации задачи состоит из 5 шагов.

  1. Создание задачи (или ссылка на уже созданную).
  2. Запуск задачи.
  3. Считывание или запись данных нужное количество раз.
  4. Остановка задачи.
  5. Очистка задачи.
Действия, выполняемые на каждом шаге, реализуются с помощью соответствующих полиморфных ВП из набора DAQPilot.

Каждый поли­морф­ный вир­ту­аль­ный инструмент – это шаг на пути получения необходимых данных.

Для создания задачи может быть, например, использован инструмент PLT Create Virtual Chan­nel. Входом для него может слу­жить физический канал ввода/вы­вода, а выходом создаваемая задача.

Перед запуском задачи есть возможность настро­ить параметры опроса канала, а также установить задержку исполнения. Для запуска измерений по условию необходимо использовать полиморфный виртуальный инструмент PLT Triggering. С помощью PLT Timing возможно настроить способ опроса, его частоту, а также количество отсчётов на канал. Задержка запуска задачи устанавливается с помощью инструмента PLT Wait.

Следующим используемым инструментом будет PLT Start, который непосредственно запускает задачу. Самым важным этапом исполнения задачи являются чтение либо запись данных. Для этого используются виртуальные инструменты PLT Read или PLT Write. Этот этап может быть помещён в цикл, условием выхода из которого будет, например, достижение нужного количества опросов.

Для остановки задачи используется инструмент PLT Stop, а для очистки – PLT Clear.

Терминалы ВП могут быть подсоединены к элементам управления, выведенным на лицевую панель LabVIEW, и с их помощью можно изменять параметры задачи во время исполнения.

В качестве примера на рис. 12 и 13 представлены блок-диаграмма и лицевая панель ВП, построенного на основе полиморфных ВП DAQPilot.



Заключение

Небольшой объём журнальной публикации не позволяет подробно рассказать обо всех программных инструментах, предлагаемых компанией ADLINK. В статье мы постарались осветить два основных пакета программ для создания измерительных систем и систем сбора данных – xxx-DASK и DAQPilot. Напомним характерные особенности этих SDK.

  1. Комплект программ xxx-DASK состоит из 5 пакетов (D2K-DASK, PCIS-DASK, WD-DASK, UD-DASK, DSA-DASK for Windows), предназначенных для определённых групп оборудования, DAQPilot – это универсальный комплект разработчика для всех устройств сбора данных компании ADLINK.
  2. Комплект программ xxx-DASK аппаратно ориентирован и позволяет максимально использовать возможности, заложенные в устройства ввода/вывода компании ADLINK. Пакет DAQPilot изначально спроектирован для построения измерительных задач и позволяет программисту сконцентрироваться на решении прикладной задачи. Работу с оборудованием берёт на себя программное обеспечение пакета DAQPilot.
  3. Оба пакета предоставляют библиотеки функций и компонентов для популярных средств разработки: Microsoft Visual C++/Visual Basic, Borland C++ Builder/Delphi, Microsoft Visual Basic .NET, Microsoft C# .NET. Пакет DAQPilot дополнительно предоставляет библиотеку виртуальных инст­ру­мен­тов (Ex­press VI и Polymor­phic VI) для разработки в популярной среде программирования виртуальных приборов LabVIEW.
  4. Программное обеспечение xxx-DASK и DAQPilot предоставляется бесплатно, может быть загружено с сайта компании ADLINK, комплектуется документацией и снабжено обширной библиотекой примеров программ для различных средств разработки.
Статья написана на основе материала, подготовленного авторами к семинару «День решений ПРОСОФТ», который прошёл осенью 2013 г. в Казани. В процессе подготовки к семинару и написания статьи описываемое программное обеспечение было опробовано авторами на демонстрационном стенде (рис. 14), построенном на оборудовании ADLINK.

В состав стенда входят шасси и консоль оператора PXES-2590/PMK-1524, модуль контроллера PXIe-3975, модуль высокоскоростного цифрового ввода-вывода CPCI-7300; модуль высокоскоростного АЦП PXIe-9848 и симулятор сигналов. Для тестирования в прикладных задачах возможностей оборудования и программного обеспечения ADLINK, описанных в этой статье, компания ПРОСОФТ готова предоставить демонстрационный стенд заинтересованным организациям. ●

Литература

  1. Головастов А. CompactPCI и PXI: не соревнуясь, а дополняя друг друга. Часть 1 // Современные технологии автоматизации. – 2009. – № 2.
  2. Головастов А. CompactPCI и PXI: не соревнуясь, а дополняя друг друга. Часть 2 // Современные технологии автоматизации. – 2009. – № 3.
  3. Головастов А. PXI Express: замена игрока или пополнение в команде PXI? // Современные технологии автоматизации. – 2013. – № 1.
  4. Трэвис Дж., Кринг Дж. LabVIEW для всех. – М. : ДМК Пресс, 2008.
  5. Владимиров Е. Сепаратор для обогащения алмазосодержащих материалов с программным обеспечением в среде ОС РВ QNX // Современные технологии автоматизации. – 2011. – № 4.
  6. PXIe-9848. 8-CH 14-bit 100 MS/s High-Speed PXI Express Digitizer : User’s Manual. – ADLINK Technology, 2013.
  7. Роман С. Программирование в WIN32 API на Visual Basic: пер. с англ. – М. : ДМК Пресс, 2001.
  8. Эпплман Д. WIN32 API и Visual Basic. СПб. : Питер, 2001. – (Для профессионалов). 

Авторы – сотрудники фирмы ПРОСОФТ
Телефон: (495) 234-0636
E-mail: info@prosoft.ru





ПОДПИСАТЬСЯ НА НОВОСТИ

Будьте всегда в курсе самых свежих новостей
и узнавайте первыми о содержании нового номера

Подписка на новости

РЕКОМЕНДУЕМ