· количество плат, которые можно установить, будет определяться количеством свободных слотов расширения (другие устройства их так же используют);
· низкая скорость передачи данных для плат подключаемых к стандартным портам компьютера.
Платы сбора данных производятся как за рубежом, так и в России. Среди российских производителей можно отметить такие фирмы как L-card, Сигнал, Руднев-Шиляев. Из зарубежных производителей особо выделяются фирма National Instruments, компании Hewlett-Packard, Keithley.
В заключение рассмотрим в качестве примера некоторые из плат сбора данных, производимые американской компанией National Instruments [5]:
S серия, 12 разрядов, аналоговый ввод 5 или 10 МГц
N16110, N16111, N16115
До 4 дифференциальных аналоговых каналов с одновременным опросом
Разрешение 12 разрядов
Скорость преобразования до 10 МГц на канал
Входной диапазон от ±0.2 до ±42В
Два 12 или 16 разр. аналоговых выхода
8 линий цифрового ввода-вывода
Два 24-х разрядных счетчика-таймера
Калибровочный сертификат
Е серия, 12 разрядов, аналоговый ввод 1.25 МГц
NI6070E, N16071Е
До 64 SE/32 DI аналоговых входов
Разрешение 12 разрядов
Скорость преобразования до 1.25 МГц
Запись на диск до 1.25 МГц
Входной диапазон от ±0.05 до ±10В
Два 12 разрядных аналоговых выхода
8 цифровых линий ввода-вывода
Два 24 разрядных счетчика-таймера
Калибровочный сертификат
Базовая многофункциональная, 16 разрядов, 200 кГц
NI PCI-6013, NI PCI-6014
16 SE аналоговых входов
Разрешение 16 разрядов
Скорость преобразования 200 кГц
Запись на диск до 200 кГц
Входной диапазон от ±0.1 до ±10В
Два 16 разрядных аналоговых выхода
8 цифровых линий ввода-вывода
Два 24 разрядных счетчика-таймера
Калибровочный сертификат
Среда программирования LabVIEW
LabVIEW или Laboratory Virtual Instrument Engineering Workbench (Среда разработки лабораторных виртуальных приборов) [3] представляет собой среду графического программирования, которая широко используется в промышленности, образовании и научно-исследовательских лабораториях в качестве стандартного инструмента для сбора данных и управления приборами. LabVIEW - мощная и гибкая программная среда, применяемая для проведения измерений и анализа полученных данных. LabVIEW - многоплатформенная среда: ее можно использовать на компьютерах с операционными системами Windows, MacOS, Linux, Solaris и HP-UX. Персональные компьютеры являются более гибкими инструментами, чем традиционные измерительные приборы, поэтому создание собственной программы на LabVIEW, или виртуального прибора, является довольно несложным делом, а интуитивно понятный пользовательский интерфейс в среде LabVIEW делает разработку программ и их применение весьма интересным и увлекательным занятием.
LabVIEW-программа называется виртуальным прибором или ВП (VI) [6], так как ее внешний вид и функциональность повторяет традиционный физический прибор, такой как осциллограф или мультиметр. LabVIEW содержит большой набор инструментов для сбора данных, обработки (анализа), отображения и архивирования. В LabVIEW встроены средства поиска и разбора ошибок, отладки кода.
В LabVIEW программист сначала создает интерфейс пользователя или лицевую панель виртуального прибора, используя многочисленные управляющие элементы и индикаторы. К управляющим элементам относятся лимбы, ручки регулировки, тумблеры, кнопки и т.д., к индикаторам - графики, лампочки и другие элементы отображения. После того как создана лицевая панель, программист определяет функциональность виртуального прибора, помещая на блок-диаграмму код программы в виде других виртуальных приборов и структур LabVIEW, для управления элементами лицевой панели. Таким образом, код программы в LabVIEW - это привычная для инженера блок-схема. Для примера на рис. 5 и 6 показан простой пользовательский интерфейс LabVIEW и реализующий его код [3].
LabVIEW особенно удобно использовать для связи с такими аппаратными средствами, как встраиваемые в персональный компьютер измерительными платами, платами захвата видеоизображения и управления движением, приборами, подключаемыми к персональному компьютеру через стандартные интерфейсы GPIB (КОП), PXI, VXI, RS-232/485 и т.д. [6]
Рис. 5 Интерфейс пользователя
Рис. 6 Графический код
Для лучшего понимания LabVIEW заглянем в историю развития этой среды программирования.
В 1983 году компания National Instruments начал поиски способов сокращения времени, необходимого для программирования измерительных систем. [3] В результате появилась концепция виртуального прибора LabVIEW - сочетания интуитивного пользовательского интерфейса лицевой панели с передовой методикой блок-диаграммного программирования, позволяющего создавать эффективные измерительные системы на основе графического программного обеспечения.
Первая версия LabVIEW увидела свет в 1986 году. Она была предназначена только для компьютеров Macintosh. Несмотря на то что Macintosh довольно редко использовались в задачах измерений и автоматизации, графическая оболочка их операционной системы MacOS наилучшим образом соответствовала технологии LabVIEW. Довольно скоро и другие наиболее распространенные операционные системы перешли на графический пользовательский интерфейс и начали поддерживать эту технологию.
К 1990 году разработчики National Instruments полностью переделали LabVIEW, сочетая новые компьютерные технологии с анализом отзывов пользователей. И, что более важно, вторая версия LabVIEW включала компилятор, делающий скорость исполнения виртуальных приборов сравнимой со скоростью выполнения программ, созданных на языке программирования C. Патентное ведомство США (United States Patent Office) выдало National Instruments несколько патентов, признающих новизну технологии LabVIEW.
С появлением новых графических операционных систем, подобных MacOS, компания National Instruments перенесла ставшую уже признанной технологию LabVIEW на другие платформы - персональные компьютеры и рабочие станции. В 1992 году благодаря новой открытой архитектуре появились версии LabVIEW для Windows и Sun.
Третья версия LabVIEW появилась в 1993 году сразу для трех операционных систем: Macintosh, Windows и Sun. Виртуальные приборы версии 3, разработанные на одной из платформ, могли без изменений запускаться на другой. Эта межплатформенная совместимость дала пользователям возможность выбора платформы разработки и уверенность, что созданные ВП будут функционировать и на других платформах (обратите внимание, что это было реализовано за пару лет до появления Java). В 1994 список платформ, поддерживающих LabVIEW, увеличился и стал включать Windows NT, Power Macs, рабочие станции Hewlett Packard и в 1995 году - Windows 95.
LabVIEW 4 была выпущена в 1996 году и обеспечивала большую гибкость оболочки среды разработки, которая позволила пользователям создавать программы, подходящие типу их деятельности, уровню опыта и навыкам разработки. Кроме этого, LabVIEW 4 включала в себя мощные инструменты редактирования и отладки более совершенных измерительных систем, в том числе обмен данными на основе OLE-технологии и распределенных средств исполнения.
Версии LabVIEW 5 и 5.1 (в 1999 году) продолжают наращивать возможности системы: появляется встроенный Internet-сервер, подсистема динамического программирования и управления (сервер виртуального прибора), интеграция с ActiveX и особый протокол для упрощения обмена данными через Internet - DataSocket. Также введена долгожданная возможность отката действий пользователя (undo), которая уже присутствовала в большинстве компьютерных программ.
Вышедшей в 2000 году новой версии - LabVIEW 6 (известной также как 6i) - сделали «подтяжку лица»: в нее встроили новый комплект объемных элементов управления и индикации, поскольку в то время компьютерная индустрия обнаружила, что внешний вид программного продукта имеет весьма серьезное значение. В LabVIEW 6 воплотилась очень серьезная работа по обеспечению как простого и интуитивного интерфейса среды программирования (особенно для непрограммистов!), так и поддержки множества передовых технологий программирования, например объектно-ориентированного программирования, многопоточности (multithreading), распределенных вычислений (distributed computing) и т.д.
В версии LabVIEW 6.1, вышедшей в 2001 году, было введено событийно-управляемое программирование, удаленное управление LabVIEW через Internet и другие улучшения.
В 2003 году [9], с выходом пакета LabVIEW 7 Express, компания National Instruments предложила революционный подход к созданию приложений для проведения измерений и управления, основанный на использовании «Express» виртуальных приборов для разработки кода LabVIEW.
И, наконец, в 2004 году компания National Instruments представляет LabVIEW 7.1, где продолжает совершенствовать средства разработки приложений для различных аппаратных платформ, от высокоэффективных модульных приборов до систем жесткого реального времени и портативных устройств.
Таким образом, LabVIEW находит применение в самых разнообразных сферах человеческой деятельности. В соответствии со своим названием он первоначально использовался в исследовательских лабораториях, да и в настоящее время является наиболее популярным программным пакетом как в лабораториях фундаментальной науки, так и в отраслевых промышленных лабораториях. Все более широкое применение LabVIEW находит в образовании - в университетских лабораторных практикумах - особенно по предметам электротехники, механики и физики.
Распространение LabVIEW за пределами лабораторий пошло по всем направлениям: вверх (на борту космических аппаратов), вниз (на подводных лодках) и по горизонтали (от буровых установок в Северном море до промышленных предприятий в Новой Зеландии). В связи с ростом возможностей Internet сфера применения LabVIEW стала расширяться не только в географическом, но и в виртуальном пространстве. Все большее число разработчиков создает виртуальные приборы, допускающие удаленное управление и наблюдение через Internet. Измерительные системы на основе виртуальных приборов отличаются своей многофункциональностью, гибкостью и низкой стоимостью как с точки зрения оборудования, так и с точки зрения затрат времени на разработку.
Здесь уместно привести введение из доклада Е.Д. Барана, Н.В. Голошевского и П.М. Захарова (Новосибирский государственный технический университет) [7], представленного на международной научно-практической конференции «Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments», проходившей в Москве в ноябре 2003 года: «Учебные лаборатории по многим техническим дисциплинам должны быть оснащены сложным и дорогостоящим оборудованием соответствующего назначения, современной контрольно-измерительной аппаратурой, для обслуживания лабораторий приходится привлекать специалистов высокой квалификации. Примером может служить весьма распространенная дисциплина «Проектирование микропроцессорных систем» - каждое рабочее место лаборатории - это система, которая в общем случае состоит из компьютера, оценочного модуля, выполненного на основе целевого микропроцессора (микроконтроллера, сигнального процессора и т.п.), осциллографа, логического анализатора, генераторов испытательных сигналов произвольной формы, мультиметра, частотомера-периодомера, набора цифровых и сигнальных индикаторов, элементов управления, блока питания, а также соответствующих программных средств. И если программные компоненты нередко предоставляются бесплатно, а в ряде случаев для обучения можно воспользоваться их демо-версиями, то контрольно-измерительные и управляющие приборы и устройства приходится приобретать, причем стоимость их может достигать 3 - 5 тысяч долларов (одно рабочее место!) и более. Не каждая кафедра и даже университет в состоянии оборудовать полноценную лабораторию проектирования микропроцессорных систем. Проблема усугубляется необходимостью отслеживать в учебном процессе частую смену и развитие архитектур микроэлектронных компонентов, появление новых моделей и производителей. Очевидное решение этой проблемы заключается в создании Web-лабораторий, в которых одно хорошо оснащенное рабочее место доступно для большого числа обучаемых в различных университетах и практически в любое время». Для этой цели как раз и полезен LabVIEW.
Пожалуй, лучшим способом объяснить причины столь широкого (можно сказать, лавинообразного) распространения пакета LabVIEW будет обозрение способов его использования. В связи с этим приведем здесь темы некоторых докладов, представленных на выше упомянутой международной научно-практической конференции [8]:
«Организация типовой дистанционной автоматизированной лаборатории с использованием LabVIEW-технологий в техническом ВУЗе» (Ю.К. Евдокимов, А.Ю. Кирсанов - Казанский государственный технический университет им. А.Н. Туполева);
«Виртуальная лаборатория для дистанционного обучения методам проектирования микропроцессорных систем» (Е.Д. Баран, Н.В, Голошевский, П.М. Захаров, Б.М. Рогачевский - Новосибирский государственный технический университет);
«Учебный стенд по изучению напряженного состояния несущих деталей железнодорожного подвижного состава» (А.Н. Савоськин, Е.В. Сердобинцев - Московский государственный университет путей сообщения);
«Автоматизация теплофизических измерений и организация автоматизированного лабораторного практикума удаленного доступа на основе использования среды LabVIEW» (А.Г. Дивин, С.В. Пономарев, А.А. Чуриков - Тамбовский государственный технический университет);
«Опыт реализации технологий машинного зрения в среде LabVIEW» (Ю.В. Визильтер, В.А. Князь, С.И. Ортюков, А.В. Лагутенков, О.В. Выголов, А.В. Моржин - ФГУП ГосНИИ Авиационных систем, Москва);
«Эффективная обработка и анализ спектров комбинационного рассеяния света в среде LabVIEW 7 Express» (А.Н. Ходарев, С.Г. Елизаров - МГУ им. М.В. Ломоносова);
«Виртуальные инструменты LabVIEW для исследования вентильно-электромеханических систем» (Д.А. Оботуров, А.М. Водовозов - Вологодский государственный технический университет);
«Аппаратно-программный комплекс для контроля электрофизических свойств сегнетоэлектрических тонких пленок» (Е.Ф. Певцов, А.О. Горелов, Ю.А. Пыжов, А.П. Пыжова - Московский институт радиотехники, электроники и автоматики);
«Универсальный оптический анализатор одиночных частиц, реализованный в среде LabVIEW» (М.А. Юркин, А.Н. Швалов, В.П. Мальцев - НГУ, ГНЦ ВБ «Вектор», ИХКиГ СО РАН);
«Использование LabVIEW в системе автоматизации экспериментов по взаимодействию мощного лазерного излучения с веществом» (Т.В. Власов, О.В. Чутко - Международный лазерный центр МГУ им. М.В. Ломоносова);
«Использование LabVIEW в задачах повышения надежности медицинских компьютерных систем» (В.Г. Зубенко, В.Б. Стрелков - Московский государственный технический университет им. Н.Э. Баумана);