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

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2007 №2

LabVIEW 8 - новые возможности автоматизации проектирования контрольно-измерительных систем

Патракеев Николай  
Потапов Анатолий  
Махов Владимир  

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

Виртуальный прибор

Большинство традиционных контрольно-измерительных приборов (КИС), таких как осциллографы или генераторы сигналов, имеют жесткую аппаратную структуру и ориентированы на выполнение одной, в лучшем случае нескольких специфических задач, определяемых их производителем. Обычно пользователь не имеет возможности существенно расширить функциональность такого оборудования.

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

Термин «виртуальный прибор» (ВП) впервые появился в обиходе российских инженеров около 10 лет назад. Отношение к ВП в первое время было неоднозначным — сразу нашлись и почитатели, и противники — ведь всем техническим новинкам требуется время для нахождения своей ниши. Если говорить об определении термина ВП, то наиболее четким является следующее: виртуальный прибор — это средство измерений, построенное на базе персонального компьютера (ПК), встраиваемых в компьютер плат сбора данных и программного обеспечения для сбора, обработки и представления измеряемых данных в удобном для пользователя виде. Таким образом, концепция виртуальных приборов по современным представлениям опирается на три составляющие:

  1. Компьютер (точнее, его вычислительная мощность).
  2. Устройство сбора данных (плата ввода/вывода, подключаемая к компьютеру по какому-либо стандартному интерфейсу — PCI, USB, GPIB, RS-232, FireWire и т. д.).
  3. Программное обеспечение для обработки сигналов.

Контрольно-измерительная система

В настоящее время вряд ли кто-то будет отрицать факт того, что виртуальные приборы обладают преимуществами при создании контрольно-измерительных систем (КИС): они позволяют использовать всю вычислительную мощь, производительность, графические и сетевые возможности современных персональных и промышленных компьютеров. Главное достоинство ВП заключается в возможности постоянной модернизации КИС — ведь при необходимости можно увеличить производительность всей системы путем использования более мощного компьютера.

В свою очередь, функциональность виртуальных приборов в основном определяется возможностями программного обеспечения, а значит, может быть легко адаптирована к конкретной задаче, решаемой инженером (как например, в решении задач телемедицины [1]). Данная технология позволяет проводить адаптацию приборов без замены аппаратной части, используя возможности среды программирования, операционной системы и компьютерных технологий, что оказывается невозможным при использования традиционных приборов. Таким образом, именно гибкость технологии виртуальных приборов приводит к существенному расширению функциональности создаваемой системы при одновременном уменьшении ее стоимости. Совмещение в ПК возможностей быстрой цифровой обработки, полученной при вводе через платы сбора данных (ПСД) информации с качественным одновременным отображением результатов этой обработки, делает систему виртуальных средств измерений на базе ПК основным инструментом динамических измерений для инженеров самых разных специальностей.

В связи с развитием технологий значительно увеличилась сложность процессов разработки, производства и тестирования новых продуктов. Благодаря повышению производительности современных микроэлектронных устройств, при одновременном снижении их стоимости, инженеры и ученые нашли эффективные решения сложнейших задач путем добавления в свои системы КИС процессоров и «интеллектуальных» микропроцессорных компонентов. Поэтому современные КИС все больше становятся распределенными (используют два или более процессоров для решения поставленной задачи). В то же время разработка измерительных и управляющих систем, включающих несколько вычислительных узлов, не так проста, как может показаться на первый взгляд. В процессе программирования распределенных систем специалисты столкнулись с целым классом новых проблем, к решению которых существующие средства разработки оказались не готовы.

Программное обеспечение как часть ВП и КИС

Важнейшую роль в широком распространении технологии виртуальных приборов сыграла платформа графического программирования LabVIEW (Laboratory Virtual Instrument Engineering Workbench) — разработка компании National Instruments (NI) США [2, 3], позволяющая инженерам и ученым быстро создавать собственные приборы, максимально отвечающие их потребностям. Данная среда разработки виртуальных приборов представляет собой среду прикладного графического программирования, которая используется в качестве стандартного инструмента для проведения измерений, анализа данных и последующего управления приборами и исследуемыми объектами. В последнее время платформа LabVIEW получает все большее распространение в промышленности и образовании, при проведении научных исследований и выполнении проектных работ. Всему этому способствуют ее несомненные преимущества — высокая производительность при разработке программ, широкий набор функциональных возможностей языка и среды программирования.

Как известно, первая версия платформы LabVIEW была создана в 1986 году компанией National Instruments в результате поиска возможных путей сокращения времени программирования стандартных измерительных приборов. В дальнейшем каждая последующая версия расширяла возможности предыдущей, прежде всего, по обмену данных с измерительными приборами и работе с другими программными продуктами.

В ноябре 2005 года компания National Instruments представила новую версию платформы графической разработки приложений LabVIEW 8, которая позволяет повысить производительность труда инженеров и ученых при решении таких задач, как моделирование и разработка систем управления и измерений. В настоящее время доступна обновленная версия — LabVIEW 8.2 (рис. 1).

Рис. 1. Окно приглашения: а) LabVIEW 7.1; б) LabVIEW 8.2

Новая платформа LabVIEW 8 представляет совершенно новую технологию «распределенного интеллекта», ориентированную на решения задач создания КИС, включающих несколько распределенных вычислительных узлов. Реализация этой технологии основана на ряде новых средств, которые позволяли осуществлять возможность программирования нескольких целевых платформ, таких как персональные, промышленные, портативные и встраиваемые компьютеры [4]. Эффективными средствами решения этой задачи стали включенные в платформу LabVIEW 8 новые элементы. Это:

  • интерактивная среда LabVIEW Project — управление распределенными системами из единой программной оболочки;
  • общая переменная (LabVIEW Shared Variable) — новый коммуникационный интерфейс, позволяющий упростить обмен данными между различными устройствами и программами, входящими в распределенную систему;
  • синхронизация и тактирование как устройств, входящих в распределенную систему, так и нескольких распределенных систем.

После осознания этих факторов закономерно возникает вопрос: сложно ли разработать распределенную КИС? Распределенные системы можно встретить в самых разных отраслях промышленности, на различных фазах жизненного цикла изделий. Однако всем приложениям, использующим такого рода системы, присущи общие сложности:

  • программирование приложений, использующих многопроцессорную архитектуру, в том числе и смешанную, — с микропроцессорами, ПЛИС и цифровыми сигнальными процессорами;
  • организация эффективного обмена данными между различными процессорами, расположенными как непосредственно на одной печатной плате, так и внутри единого инструментального шасси, или объединенными через сеть;
  • объединение всех узлов в завершенную систему, с решением задач тактирования и синхронизации составляющих ее узлов;
  • интеграция в единой системе различных типов ввода/вывода, таких как высокоскоростной аналоговый или цифровой, а также техническое зрение и управление движением;
  • добавление иных сервисных функций по обмену данными между узлами, включая протоколирование, выдачу сигналов тревог и взаимодействие с информационными системами корпоративного уровня.

Использование же новых возможностей среды разработки NI LabVIEW 8 позволяет разрешить большинство из вышеперечисленных проблем. Сравнение предыдущей версии 7.1 и новой версии 8 представлено в таблице.

Таблица. Сравнение версий LabVIEW

Еще одной принципиально новой особенностью LabVIEW 8 является среда управления проектами LabVIEW Project, облегчающая разработку больших приложений, в том числе создаваемых коллективом разработчиков. Среда LabVIEW Project включает средства обслуживания нескольких целевых платформ (например, Windows и LabVIEW Real-Time); встроенного управления исходными кодами программ; управления опциями компиляции; возможность переноса созданных приложений на персональный, мобильный, промышленный или встраиваемый компьютер. Используя эти возможности, инженеры и ученые могут достаточно просто интегрировать LabVIEW в сложные технические аппаратно-программные комплексы, обычно разрабатываемые и обслуживаемые коллективом специалистов и требующие строгого соответствия промышленным или государственным стандартам.

Структура проекта (рис. 2) позволяет организовать различные конфигурации папок, файлов и библиотек ВП, библиотек и подбиблиотек проекта, общих переменных и элементов. В свою очередь, библиотеки проекта используются для организации файлов в единую иерархию элементов, решения проблемы дублирования имен ВП, отслеживания версий, ограничения открытого доступа к определенным файлам и ограничения возможности редактирования набора файлов. Информация проекта, включающая ссылки к файлам проекта, данные о конфигурации, создании и т. п., хранится в файле проекта XML (.lvproj), который может быть просмотрен и отредактирован вне LabVIEW с помощью соответствующих инструментов. В проекте LabVIEW разработчик может использовать виртуальные папки для организации всех файлов, которые составляют его приложение.

Рис. 2. Внешний вид окна проекта

Возможно ли программирование распределенных систем с вычислительными узлами разного типа? Распределенные системы обычно состоят из узлов, выполняющих различные функции, — датчиков, приборов, автономных подсистем. Все эти узлы, так или иначе, взаимодействуют с главной системой, которая осуществляет управление, мониторинг и протоколирование данных. В настоящее время разработчикам распределенных систем приходится пользоваться разными средствами для программирования различных узлов. Более того, доступное на рынке стандартное оборудование не всегда может соответствовать специфическим требованиям к системе. Поэтому для реализации особых алгоритмов применяется конфигурируемое аппаратное обеспечение, чаще всего на основе ПЛИС, что влечет за собой ощутимое усложнение разработки и требует более высокой квалификации разработчика в области специальных средств и языков программирования.

Платформа LabVIEW 8 призвана разрешить данную проблему, предоставляя единую универсальную среду разработки для программирования разнотипных узлов. Используя среду разработки LabVIEW, можно создать код, который может выполняться на таких вычислительных платформах, как персональные компьютеры, устройства реального времени, устройства и подсистемы на базе ПЛИС. В единой оболочке LabVIEW сочетает специфические функции для решения совершенно разнотипных задач, например, функции распознавания образов и классификации объектов для систем автоматизированного видеоконтроля, построение траектории движения для управления электроприводами, измерение аналоговых и цифровых сигналов. Традиционно каждая из этих задач требовала применения отдельных специализированных программных продуктов. Платформа LabVIEW содержит библиотеку расширенного анализа сигналов, а также развитые средства коммуникации с Интернетом для удаленного управления и мониторинга.

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

Естественно, нельзя игнорировать проблему коммуникации и обмен данными в системе. При создании распределенных контрольно-измерительных систем, как правило, используются различные средства и протоколы обмена данными. Реализация процедур обмена данными между процессорами, особенно работающими в режиме реального времени и во встраиваемых системах, без снижения производительности их работы, часто представляет собой достаточно сложную задачу. И хотя существует множество стандартов и протоколов обмена — например, TCP/IP, Modbus, UDP и OPC — ни один из них сам по себе не в состоянии удовлетворить всем требованиям различных задач. Кроме того, программные вызовы функций (API) разных протоколов отличаются между собой. Поэтому разработчики и системные интеграторы при создании комплексной системы автоматизации вынуждены использовать несколько коммуникационных протоколов. Для обеспечения детерминированного обмена данными между узлами системы часто приходится прибегать к таким дорогостоящим решениям, как использование аппаратно-реализованной «зеркальной памяти» (reflective memory). Одним из способов решения данного класса задач является устранение жесткой привязки определенного транспортного уровня и протокола к его программному вызову (API) в среде разработки. В этом случае вы можете использовать множество протоколов в рамках одного и того же программного кода, тем самым значительно сокращая время разработки и отладки приложения.

Технология распределенного интеллекта LabVIEW 8 разрешает эти проблемы за счет унификации процедур обмена данными через единый, гибкий и открытый коммуникационный протокол, поддерживающий различные процессоры, устройства реального времени, а также изделия сторонних разработчиков. Появивишийся в LabVIEW 8 новый элемент — «Переменные общего доступа» (Shared Variables) — является уровнем абстракции транспортного протокола. Переменные общего доступа адаптированы к передаче сложных типов данных, характерных для расширенных приложений в распределенных системах. Они легко масштабируются до использования в функциях высокого уровня — протоколирования и тревожной сигнализации. Переменные общего доступа позволяют обмениваться данными между всеми узлами распределенной системы, включая узлы, работающие под управлением ОС жесткого реального времени, а также предоставляют доступ к историческим базам данных и операторским консолям с Web-интерфейсом. При этом можно легко сконфигурировать переменные при помощи интерактивных диалогов, осуществляя привязку пользовательских элементов управления и индикации к источникам данных в узлах распределенной системы.

Обмен данными и командами между различными узлами — это только одна из трудностей разработки распределенных систем. Управление исходным программным кодом для каждого из узлов и загрузка исполняемого кода на все распределенные узлы также представляют собой серьезную задачу для разработчиков. Только в простейшем случае система состоит из однотипных вычислительных узлов, исходный программный код располагается на центральном компьютере и синхронно переносится на все узлы. В реальном, более сложном случае в системе присутствуют узлы различного типа (смешанная архитектура), исполняемый код которых различен, причем не все узлы одновременно могут быть доступны для управления и перепрограммирования.

Новая оболочка управления проектами в LabVIEW 8 (LabVIEW 8 Project) хранит исходные коды и настройки всех узлов распределенной системы, включая ПК, контроллеры реального времени, системы на базе ПЛИС, портативные (карманные) компьютеры. Проект также предоставляет множество новых средств для совместной разработки и управления крупным приложением коллективом разработчиков, такие как:

  • интегрированные средства управления исходным кодом, совместимые с ведущими программными продуктами подобного назначения, например, Visual SourceSafe, Perforce, Rational ClearCase, PVCS, MKS и CVS;
  • библиотеки проектов (Project Libraries), содержащие исходные коды в виде модульных, унифицированных функций, которые можно многократно вызывать из различных подсистем;
  • средства для хранения настроек устройств управления и ввода/вывода данных, входящих в состав каждого из узлов распределенной системы;
  • создание спецификаций, определяющих и хранящих многочисленные опции и настройки дистрибутивов исходного кода, отладки и компиляции исполняемого кода, а также описание процессов окончательной загрузки приложений на удаленные узлы.

Используя возможности распределенного интеллекта в LabVIEW 8, возможно значительно облегчить процесс разработки распределенных систем. Все узлы и устройства — процессоры реального времени, ПЛИС, традиционные приборы, программируемые контроллеры автоматизации с OPC, карманные компьютеры — отображаются в окне проекта LabVIEW, что упрощает конфигурирование и управление системой. При этом имеется возможность добавлять в проект LabVIEW платформы исполнения, даже если они в данный момент времени работают в автономном режиме или недоступны — это также ускоряет проектирование и разработку системы с временно отсутствующими компонентами. Из простой и дружественной оболочки проекта LabVIEW можно наблюдать, редактировать, загружать, выполнять и отлаживать программный код, работающий на любом узле системы. Вы можете также в реальном масштабе времени отслеживать взаимодействие между различными узлами системы. Эта возможность позволяет улучшить синхронизацию и коммуникации в системе на всех этапах ее создания — проектирования, разработки и отладки, тем самым значительно сокращая полное время разработки.

Важной составляющей частью разработки распределенной системы является организация совместной работы интеллектуальных узлов — координация и синхронизация их действий. Во многих распределенных системах такое взаимодействие осуществляется через операции ввода/вывода при помощи датчиков, исполнительных устройств и непосредственной генерации специальных сигналов синхронизации. Зачастую инженеры-разработчики прибегают к аппаратной реализации процедур синхронизации и тактирования узлов через ПЛИС и служебные сигнальные линии, интегрированные в системные шины устройств. В то же время платформа LabVIEW 8 предлагает новое детерминированное Ethernet - решение (первый канал информационный, второй — для передачи пакетов данных) для надежной синхронизации узлов в распределенных системах. Новая «Переменная общего доступа» LabVIEW (LabVIEW Shared Variable) может иметь жесткую привязку ко времени ее обновления и поэтому может быть использована для построения сложных распределенных систем управления с коррелированными измерительными и управляющими каналами, расположенными в различных узлах. В целом платформа LabVIEW 8 обеспечивает простое, недорогое и стандартизированное решение по тактированию и синхронизации узлов системы в сети с периодом синхронизации 100 мкс и точностью ±5 мкс.

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

  • поддержку различных архитектур и платформ исполнения, таких как персональные, промышленные, портативные и встраиваемые компьютеры, в том числе многопроцессорные системы с ПЛИС и цифровыми сигнальными процессорами, а также системы, работающие под управлением ОС жесткого реального времени;
  • мониторинг и управление распределенными узлами системы из единой интерактивной оболочки проекта LabVIEW (LabVIEW Project);
  • упрощенную передачу данных между различными вычислительными узлами при помощи новой «Переменной общего доступа» LabVIEW 8 (LabVIEW Shared Variable);
  • поддержку множества вариантов синхронизации и тактирования узлов распределенных систем через новую технологию детерминированного Ethernet.

Выводы

Графическая платформа разработки приложений LabVIEW способствует повышению производительности труда инженеров и ученых — от разработки простых лабораторных стендов до создания сложнейших распределенных систем с интеллектуальными узлами. Уникальное сочетание простых графических средств разработки, поддержка широкого спектра устройств ввода/вывода, возможности программирования распределенных систем и быстрорастущего сообщества пользователей делает платформу LabVIEW передовым продуктом, используемым для решения задач проектирования, систем промышленного управления и научных измерений.

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

Литература

  1. Потапов А. И., Потапов И. А., Махов В. Е. Аппаратно-программные средства для телемедицины // Компоненты и технологии. 2007. № 1.
  2. http://www.ni.com
  3. http://www.labview.ru
  4. Патракеев Н. В., Потапов А. И., Махов В. Е. Развитие средств автоматизации в промышленности и научных исследованиях. Неразрушающий контроль и диагностика окружающей среды, материалов и промышленных изделий // Межвузов. сб./ СЗТУ. СПб. 2006. Вып. 12.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Сообщить об ошибке