Автоматизации измерительного эксперимента

Большинство современных научных приборов предусматривает возможность управления через стандартные интерфейсы, а также создание специальных управляющих программ. Как правило, все приборы, допускающие внешнее управление либо совместную работу с другими приборами, поставляются с комплектом документации и программного обеспечения для разработчика – SDK (Software Development Kit). В него входит описание функций и типов данных, библиотеки функций и примеры простейших программ.

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

Для примера, вначале рассмотрим состав SDK, предлагаемого компанией Princeton Instruments для линейки монохроматоров Acton. SDK предоставляется с комплектом документации при поставке оборудования. Все функции работы с монохроматорами включены в библиотечный файл ARC_SpectraPro.dll. В описании сказано, что функции разбиты на несколько основных групп:

1. Communications: обмен информации с подключенными устройствами..

2. Information: получение информации о монохроматоре (модель, серийный номер, фокальная длина и пр.)

3. Wavelength: установка и считывание длины волны (в нм).

4. Grating: выбор дифракционной решетки и получение информации о текущей.

5. Diverter Mirrors: управление зеркалами, переключающими выходы.

6. Slits: контроль моторизированных щелей.

7. Filters: контроль встроенного моторизированного набора фильтров.

8. Advanced Functions: дополнительные функции для установки решеток и отладки прибора.

9. Functions for the controlling External Filter Wheel Controllers: контроль внешнего моторизированного набора фильтров.

Там же сказано, что работа с прибором должна проводиться по следующему алгоритму:

1. Получение номеров подключенных приборов вызовом функции ARC_Search_For_Mono.

2. Подключение нужного прибора с помощью функции ARC_Open_Mono.

3. Вызов пользователем необходимых функций. Все это время порт монохроматора должен быть подключен.

4. По окончании работы требуется вызвать функцию ARC_Close_Mono, чтобы закрыть порт.

Также в SDK приводятся простейшие примеры на трех языках – Delphi, Visual Basic и Visual C++ – с исходными, заголовочными и уже скомпилированными исполняемыми файлами.

Воспользовавшись указанным SDK, а также документацией по счетчику фотонов SR400, была разработана программа, обеспечивающая автоматизацию работы счетчика фотонов, регистрирующего импульсы с ФЭУ, установленного на монохроматор Acton 2550i. Задача довольно проста – спектрометр должен перестариваться на нужную длину волны, счетчик считать импульсы заданного уровня дискриминации, после чего необходимо наблюдать записанный спектр. Внешний вид программы и алгоритм работы приведены на рис. 24-25.

Автоматизации измерительного эксперимента - student2.ru

Рис. 24 Скриншот программы управления

Автоматизации измерительного эксперимента - student2.ru Автоматизации измерительного эксперимента - student2.ru

Рис. 25 Алгоритмы программы управления

Полный список команд монохроматора и счетчика фотонов приведен в руководствах по программированию данных приборов – ARC_SpectraPro_dll.pdf и SR400m.pdf.

Теперь рассмотрим пример SDK для PC-осциллографа PicoScope 3206A. Для осциллографов этой серии выпускается SDK в виде архива PS3000sadk. Помимо заголовочных и библиотечных файлов *.h и *.dll, там также содержится набор примеров на разных языках: LabVIEW, MATLAB, для программы Microsoft Excel, и консольное приложение на С. Перечислять группы функций не будем, их описание приводится в файле руководства по программированию [23].

При многократной выборке сигнала вклад случайных шумов и помех уменьшается как Автоматизации измерительного эксперимента - student2.ru , где N – число выборок (разумеется, существуют и другие помехи, которые могут не позволить увеличить соотношение с/ш до уровня, достаточного для обнаружения сигнала). Накопление кривых затухания люминесценции и последующее усреднения мы реализовали на базе этого осциллографа. Для этого на основе демонстрационного файла из SDK создана программа в среде программирования Visual C++. Программа предназначена для работы в консольном режиме, который упрощает процесс создания и тестирования программы. Это, а также то что она создана на чистом С, существенно повышает быстродействие (рис. 26).

Автоматизации измерительного эксперимента - student2.ru

Рис. 26 Рабочее окно программы накопления сигнала осциллографа PicoScope 3206A, созданной на базе примера-приложения работы с осциллографами PicoScope. Консольный режим, чистый С.

Программирование требует следующих обязательных разделов:

– инициализация (подключение устройства, загрузка параметров по-умолчанию),

–выбор режима работы, задание параметров для измерения,

– сбор данных,

– передача данных в компьютер, сохранение их на диск,

– отключение оборудования.

Непосредственно для автоматизации эксперимента компанией National Instruments разработан язык LabVIEW, позволяющий создать программу управления на уровне подключения блоков. Ввиду популярности языка, большое число приборов поставляется с библиотеками для него, равно как и наоборот – среда программирования уже снабжена библиотеками большинства приборов.

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

В среде программирования LabVIEW была создана программа накопления сигнала для осциллографа Tektronix TDS 2022B, это хороший пример, показывающий процесс создания программы на языке LabVIEW. На рисунках 27 и 28 приведены примеры двух представлений для программы к осциллографу.

Автоматизации измерительного эксперимента - student2.ru

Рис. 27 Схема компонентов программы управления для осциллографа Tektronix в среде установки связей между блоками

Автоматизации измерительного эксперимента - student2.ru

Рис. 28 Размещение элементов приборной панели программы управления для осциллографа Tektronix

Вопросы для самопроверки:

· На языках какого уровня возможно создание программ для автоматизации эксперимента?

· В чем должна заключаться процедура инициализации прибора?

· Что такое SDK?

· Какие, на ваш взгляд, могут быть недостатки у программирования в среде LabView?

Наши рекомендации