Эта статья – краткий обзор оборудования и программного обеспечения компании 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.
C момента появления первого персонального компьютера у специалистов, занимающихся метрологией, возникла идея приспособить его для измерений. На сегодня существуют два различных подхода к применению ПК для решения подобных прикладных задач.
Например, вместо того чтобы собирать измерительный стенд с традиционными приборами, привязывать к ним дополнительное компьютерное оборудование, необходимое для поддержки, записи и сохранения результатов, пользователь создаёт на базе ПК виртуальный инструмент, интегрирующий всё необходимое. Минимально для такого прибора требуются компьютер, плата сбора данных (DAQ) и специальное программное обеспечение. В отличие от классического прибора с неизменной функциональностью виртуальный прибор в большей степени создаётся пользователем, что значительно расширяет его границы, и имеет ряд ключевых преимуществ:
Оборудование компании 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 и DAQPilot охватывают весь спектр оборудования ADLINK и регулярно обновляются производителем по мере появления новых изделий. Основное отличие xxx-DASK от DAQPilot состоит в идеологии построения интерфейса прикладного программирования (application programming interface) и, как следствие, в стиле проектирования прикладных программ.
Пакет xxx-DASK аппаратно ориентирован, построен в традиционном стиле и требует от программиста хорошего понимания аппаратной части измерительного оборудования и подсистемы ввода-вывода компьютерной платформы. Он позволяет максимально использовать возможности, заложенные в оборудовании компании ADLINK.
Пакет DAQPilot изначально спроектирован для построения измерительных задач (task oriented) и предоставляет прикладному программисту дружественный набор функций и компонентов, позволяющий проектировать и разрабатывать программу в терминах измерительной задачи. Идеологически этот подход очень близок концепции задачи (task) [4], реализованной в среде программирования виртуальных приборов LabVIEW компании National Instruments. От программиста не требуется глубокого понимания подсистемы ввода-вывода компьютерной платформы. Как правило, он должен оперировать такими абстрактными понятиями, связанными с интересующей его прикладной областью, как измерительная задача, измерительный канал, тактирование, синхронизация и т.п. Всю работу с оборудованием нижнего уровня возьмет на себя программное обеспечение пакета DAQPilot. Перенос акцента в программном интерфейсе DAQPilot существенно облегчает проектирование и разработку виртуальных приборов и позволяет программисту сконцентрироваться на решении прикладной задачи.
Кроме пакетов разработчика xxx-DASK и DAQPilot, в состав программного обеспечения входят библиотеки ActiveX-компонентов (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.
Кроме комплектов драйверов, библиотек функций и компонентов, в состав программного обеспечения входит набор утилит, предназначенных для конфигурирования и тестирования оборудования и интеграции его в прикладные программы. Весьма полезной для этих целей является утилита DAQMaster, выполняющая целый спектр необходимых функций по работе с оборудованием и интеграцией его в прикладное ПО.
Для оперативной реализации задач сбора данных и записи их на диск предназначена утилита AD-Logger.
AD-Logger является готовой программой с функциями виртуального прибора. AD-Logger построена на основе DAQPilot SDK, предоставляет пользователю развитый графический интерфейс, поддерживает весь спектр оборудования сбора данных ADLINK и не требует программирования.
При разработке проекта построения компьютерной системы сбора данных на базе ПК актуальным становится вопрос подбора соответствующей периферии ввода-вывода. Первое, с чем предстоит столкнуться, – это оптимизация поиска инструментальных плат. Здесь часто используются следующие основные параметры:
Для того чтобы ответить на вопрос, какую плату выбрать из всех возможных аппаратных решений, сделаем краткий обзор оборудования на примере устройств, выпускаемых одним из лидеров этого сегмента – компанией ADLINK (табл. 1).
Компания работает более 20 лет и имеет широчайшую номенклатуру, включающую линейки продукции, которые будут рассмотрены далее.
В конструкции многофункциональных модулей семейства DAQ заложены прогрессивные модульные технологии. Платы представляют собой носитель и мезонин, объединённые в одном конструктиве. Носитель реализует основные функции, а мезонин дополняет их требуемой функциональностью и опциями, присущими конкретной плате. Данный подход позволяет реализовать значительное количество исполнений на базе общей для всех носителей схемотехники. Особое внимание следует уделить моделям серий DAQe-2208, DAQe-2206, DAQe-2204, DAQe-2205, DAQe-2213, DAQe-2214 – они представляют собой высокопроизводительное решение для современных систем аналоговой обработки сигналов. Основной их особенностью является использование высокоскоростной технологии многоканальной передачи данных по шине PCI Express. Например, DAQe-2208 имеет 96 однополярных или 48 дифференциальных каналов аналогового ввода со скоростью оцифровки до 3 МГц. C помощью данных устройств можно построить сложные промышленные системы, подобные описанным в [5].
Эта группа устройств характеризуется увеличенным количеством каналов от 16 до 64 у PCI-9116, частотой опроса от 100 до 333 кГц и разрешением от 12 до 16 бит. Большинство из них – это многофункциональные устройства (PCI-9114, PCI-9111, PCI-9112), рассчитанные на ввод и вывод аналоговых сигналов, дополненные дискретными входами-выходами. Платы PCI-9113 интересны ещё и наличием гальванической изоляции входов.
Основное назначение данных плат – генерация аналоговых сигналов, число каналов от 4 у PCI-6202 до 16 у PCI/ PCIe/cPCI-6216, разрешение от 12 до 16 бит, частота обновления до 1 МГц. Платы PCI-6308 имеют два исполнения – PCI-6308A и PCI-6308V соответственно с гальванической изоляцией токовых выходов и выходов по напряжению, кроме этого, все платы оснащаются 4 дискретными входами/выходами.
Платы PCI-9527 на 4 канала и PXIе-9529 на 8 каналов имеют рекордное разрешение 24 бит и широкий динамический диапазон, частоту опроса 432 и 192 кГц соответственно. Благодаря наличию встроенного интерфейса IEPE они могут быть непосредственно подключены к соответствующим датчикам, способны при помощи программно-аппаратных средств фильтровать шумы и с высокой достоверностью распознавать полезный сигнал.
Очень актуальное применение плат – это контроль состояния вращающихся деталей машин. Для данного решения используются методы акустического мониторинга микрофонных и вибрационных датчиков. Ввиду сложной формы и спектра входного сигнала, наличия большого количества гармонических составляющих и помех задача решается только при помощи подобных устройств. В нашем применении необходима способность PCI-9527 различать как сильный, так и слабый сигнал, то есть распознать незначительное изменение по сравнению с сигналом, характерным для нормальной работы устройства, машины, двигателя и т.д.
Все платы 32-канальные и предназначены для приёма и выдачи однополярных дискретных сигналов, различаются по рабочей частоте от 2 до 100 МГц и скорости передачи данных от 12 до 200 Мбайт/с.
Высокоскоростные аналого-цифровые преобразователи, или дигитайзеры, можно отнести к высокопроизводительным измерительным приборам. Данные устройства, кроме высоких скоростей опроса и больших значений разрешения, имеют встроенную память, применение которой обусловлено прежде всего необходимостью непрерывного приёма сигнала без каких-либо потерь. В программе ADLINK присутствуют платы с разрешением от 10 до 16 бит и частотой от 10 до 200 млн опросов/с. Они применяются всё чаще, порой в самых неожиданных областях.
Например, задача, которая решена с помощью дигитайзеров PXI-9816/ 9826/9846 и соответствующего ПО – это система распределённого измерения температуры протяжённых объектов. Такие системы успешно работают за рубежом для предотвращения пожаров в тоннелях, а также для контроля температуры нефтяных и газовых скважин. Здесь для измерения температуры вместо многочисленных термодатчиков применяется оптоволоконный кабель. Данное решение отличается высокой экономической эффективностью и позволяет получать до тысячи точных значений температуры при длине объекта до нескольких десятков километров. Рассмотрим решение. На лазерный луч, проходящий по оптоволоконному кабелю, оказывают влияние различные факторы среды, в том числе и температура. Измеряя зависимость принимаемого светового сигнала от времени, можно определить температуру с привязкой к конкретной длине оптического пути. Чем выше частота дискретизации, тем точнее местоположение, а чем выше динамические характеристики АЦП (такие как разрешение и диапазон принимаемого сигнала), тем точнее значения температуры.
Серия 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 (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, которые могут быть установлены в соответствии с моделью пользовательских привилегий, обладают цифровой подписью.
При подготовке статьи мы воспользовались комплектом оборудования, состоящим из шасси 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++ и Borland 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, реализованный средствами языка программирования Visual Basic 6.0.
Модуль PXIe-9848 представляет собой 8-канальный 14-разрядный быстродействующий АЦП со скоростью преобразования до 100 млн отсчётов/с.
PXIe-9848 имеет встроенную память до 512 Мбайт для временного хранения данных, что позволяет оптимизировать передачу данных в компьютерную платформу. Структурная схема модуля приведена на рис. 3.
Внутренняя логика работы подсистем модуля и их взаимодействие подробно описаны в руководстве по эксплуатации [6].
Рассмотренный нами проект vb9848dma состоит из двух форм: SettingForm и 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 МОм) – список Impedance, диапазон входного напряжения (±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 позволяет задать номера каналов АЦП, по которым разрешены измерения.
Комбинированный список DataCount (/trace) позволяет задавать размер буфера (количество отсчётов) DMA (Direct Memory Access – прямой доступ к памяти) для непрерывного ввода аналогового сигнала.
Комбинированный список Acquisition задает режим измерения 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, создать развитый графический интерфейс виртуального прибора по индивидуальным требованиям.
В 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).
Идеология DAQPilot распространяется на многие популярные пакеты разработки программ: Microsoft Visual C++ Visual Basic, Borland C++ Builder/Delphi, Microsoft Visual Basic .NET, Microsoft C# .NET. Для этих сред программирования в комплект DAQPilot входят библиотеки функций и компонентов, а также образцы программ.
Наиболее наглядно и продуктивно эта идеология реализована для популярного пакета LabVIEW компании National Instruments. Разработка приложений в LabVIEW основывается на концепции виртуальных приборов (ВП). Для пакета LabVIEW DAQPilot предоставляет два типа виртуальных приборов. Это экспресс-ВП DAQPilot Express VI и набор из 15 полиморфных ВП. Все эти ВП размещаются в палитре ADLINK DAQPilot Functions LabVIEW (рис. 7).
Рассмотрим подробнее примеры построения приложений на основе концепции задач DAQPilot в среде LabVIEW.
Express VI – это особый вид ВП LabVIEW. Одно из отличий от обычных ВП – встроенный мастер настройки. Когда DAQPilot Express VI размещается на блок-диаграмме, автоматически запускается диалог, предлагающий открыть уже существующую задачу или создать новую (рис. 8).
Если создаётся новая задача или модифицируется существующая, то автоматически запускается утилита Create DAQPilot Task (рис. 9) и выполняется стандартная процедура, в результате которой на блок-диаграмме формируется ВП, содержащий код только что сконфигурированной задачи.
Таким образом, DAQPilot Express VI – это инструмент, позволяющий существенно сократить время разработки приложений и максимально сосредоточиться на поставленной задаче, при этом не требующий особенных навыков программирования. В ходе конфигурирования задачи мы выбрали источником сигнала канал AI0 модуля PXIe-9848. Добавив на лицевую панель несколько элементов управления и индикаторов и соединив проводниками терминалы на блок-диаграмме, мы получаем законченный ВП (рис. 10).
В отличие от DAQPilot Express VI построение программы на основе полиморфных ВП требует от разработчика более кропотливой работы. Но и возможности, которые открываются перед разработчиком, гораздо шире. При работе с DAQPilot Express VI создание задачи осуществляется средствами утилиты Create DAQPilot Task, и от разработчика требуется только выбрать необходимые параметры. В ходе исполнения задачи большинство параметров изменяться не может. Набор из полиморфных ВП (рис. 11) позволяет конструировать задачу на блок-диаграмме, управлять ходом её выполнения и менять параметры задачи.
В общем случае алгоритм реализации задачи состоит из 5 шагов.
Каждый полиморфный виртуальный инструмент – это шаг на пути получения необходимых данных.
Для создания задачи может быть, например, использован инструмент PLT Create Virtual Channel. Входом для него может служить физический канал ввода/вывода, а выходом создаваемая задача.
Перед запуском задачи есть возможность настроить параметры опроса канала, а также установить задержку исполнения. Для запуска измерений по условию необходимо использовать полиморфный виртуальный инструмент 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.
Контроллер, программируемый с помощью условий
Возможно ли создать алгоритм для задач автоматизации технологического процесса, не используя язык программирования? Предлагается описание системы создания алгоритма работы ПЛК для устройств малой автоматизации без использования специальных языков программирования. 01.09.2024 СТА №3/2024 334 0 0Как биометрия и искусственный интеллект помогают быстро и безопасно обслужить пассажиров в аэропортах
В условиях современных аэропортов идентификация пассажиров является одной из самых важных функций быстрого и безопасного обслуживания. Передовая биометрия помогает в этом, надёжно контролируя все этапы и существенно повышая пропускную способность транспортных узлов. 28.07.2024 СТА №3/2024 511 0 0Граничные вычисления: революция в обработке данных
В последние годы мы наблюдаем стремительный рост объёмов данных, генерируемых устройствами Интернета вещей (IoT) и различными приложениями. Традиционные облачные вычисления, при которых данные передаются в централизованные дата-центры для обработки, становятся менее эффективными в таких условиях. Именно здесь на сцену выходят граничные вычисления (Edge Computing) – новая парадигма, призванная решить эти проблемы. 28.07.2024 СТА №3/2024 568 0 0Специальные решения по бесперебойному питанию от POWERCOM
В настоящее время в связи с тотальной цифровизацией актуальность обеспечения надёжным, бесперебойным питанием постоянно возрастает. В этой статье мы расскажем об одном из интересных решений по обеспечению бесперебойного питания от компании POWERCOM. 28.07.2024 СТА №3/2024 429 0 0