ПЛАТФОРМЫ

Новая версия LabVIEW облегчает создание распределенных систем автоматизации

Почти 20 лет инженеры и ученые используют среду графического программирования National Instruments LabVIEW для создания автоматизированных систем сбора данных и управления приборами, которые задействованы в исследовательских и испытательных лабораториях и на технологических производственных линиях. В начале октября компания объявила о выходе новой версии этого популярной платформы - LabVIEW 8.0.

У нее три базовые области применения: автоматизированные системы измерения и тестирования; промышленные системы контроля и управления; проектирование и отладка встраиваемых систем.

Автоматизированные системы измерения и тестирования

Для приложений автоматизированного тестирования LabVIEW предоставляет набор средств для ввода и вывода сигналов с различных устройств, а также функции специализированного анализа, необходимые для проведения измерений в самых разных областях. Для задач автоматизации и обработки данных в интерактивном режиме предназначен пакет NI SignalExpress. С его помощью можно использовать виртуальные приборы (встраиваемые либо автономные, управляемые с компьютера) для измерения и анализа сигналов. При проведении оценочных, быстрых и простых измерений без программирования NI SignalExpress помогает за минуты сконфигурировать процедуру измерения и полученный результат сравнить с данными моделирования.

С помощью NI TestStand можно разработать структурированную последовательность испытаний с развитой логикой принятия решений "тест прошел/не прошел". Этот пакет интегрируется в единые информационные системы предприятия (ERP) для предоставления результатов в базы данных либо для отслеживания испытываемых изделий через автоматизированные системы управления производством (MES).

Для проведения автоматизированных измерений LabVIEW содержит пакеты анализа, оптимизированные для следующих измерительных задач:

- тестирование линий связи (средства обработки и генерации сложных модулированных сигналов и усовершенствованные функции спектральных измерений, расширяющие возможности библиотек из базового комплекта LabVIEW);

- измерение виброакустических сигналов (модули для исследования динамических акустических сигналов с целью оценки качества звука или проведения структурных испытаний);

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

- обработка изображений (средства для автоматизированного визуального контроля и приложений машинного зрения).

Платформа для промышленных систем контроля и управления

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

Новая возможность LabVIEW - LabVIEW Project -

упрощает разработку распределенных систем, включающих

в себя разные аппаратные платформы

    

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

Для разработки распределенных систем мониторинга и управления LabVIEW имеет системные возможности более высокого уровня, такие, как занесение информации в базу данных, алгоритмы принятия решений, обеспечение безопасности.

Платформа для проектирования и отладки встраиваемых систем

Решение LabVIEW популярно не только как средство проведения измерений, но и как инструмент создания универсальных алгоритмов для инженеров и ученых в разных сферах деятельности. Сочетание развитых библиотек для обработки сигналов и управляющих алгоритмов с готовыми инструментальными средствами позволяет с помощью этого решения проектировать, создавать прототипы и разворачивать целевые системы. В платформу включены сотни математических функций, охватывающих широкий спектр традиционных алгоритмов в областях математического анализа, обработки сигналов, вероятности и статистики, систем управления. Поскольку изначально продукт интегрировался с устройствами ввода-вывода, то используя его, легко получить различные физические данные. Алгоритмы LabVIEW можно выполнять на платформах реального времени с интегрированным вводом-выводом. Модульные аппаратные средства National Instruments CompactRIO и PXI позволяют создавать прототипы встраиваемых систем, в которых применяются процессоры, ПЛИС для встроенной логики и другие устройства ввода-вывода.

Особенности восьмой версии

Главной чертой LabVIEW 8.0 стало развитие возможностей распределенного интеллекта для решения задач управления, измерений и проектирования. Примерами распределенных систем служат многопроцессорные комплексы, параллельно обрабатывающие несколько задач, электронная платежная система для работы с заказами со всего мира, сеть датчиков, отслеживающих состояние "умного дома". Все эти примеры объединяет общая идея - распределение ресурсов системы для решения поставленной задачи. Благодаря повышению производительности современных микроэлектронных устройств при одновременном снижении их стоимости удалось добиться решения сложных задач путем добавления в системы процессоров и "интеллектуальных" микропроцессорных компонентов. И, как следствие, современные контрольно-измерительные устройства и системы также становятся распределенными.

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

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

Программирование распределенных систем с вычислительными узлами разного типа

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

Обмен данными между системой жесткого реального времени и машиной под

управлением Windows, осуществляемый с помощью переменных общего доступа

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

Коммуникации и обмен данными

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

Технология распределенного интеллекта LabVIEW 8.0 призвана разрешить эти трудности за счет унификации процедур обмена данными через единый, гибкий и открытый коммуникационный протокол, поддерживающий различные процессоры, устройства реального времени, а также изделия сторонних разработчиков. Механизмы "переменных общего доступа" (Shared Variables) в LabVIEW 8.0 являются уровнем абстракции транспортного протокола, адаптированы к передаче сложных типов данных, характерных для расширенных приложений в распределенных системах, и легко масштабируются до использования в высокоуровневых функциях протоколирования и тревожной сигнализации. Shared Variables позволяют обмениваться данными между всеми узлами распределенной системы, включая узлы, работающие под управлением ОС жесткого реального времени, а также предоставляют доступ к историческим базам данных и операторским консолям с Web-интерфейсом. Встроенный в новую версию LabVIEW механизм обмена данными с подсистемами жесткого реального времени позволяет на порядок сократить объем кода, необходимый для решения этой задачи. Еще больше сокращаются затраты труда разработчика на отладку процедуры обмена данными в таких контурах.

Разработка, отладка и загрузка кода на узлы распределенной системы

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

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

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

- интегрированные средства управления исходным кодом, совместимые с ведущими программными продуктами подобного назначения, например с Visual SourceSafe, Perforce, Rational ClearCase, PVCS, MKS и CVS;

- библиотеки проектов (Project Libraries), содержащие исходные коды в виде модульных, унифицированных функций, которые можно многократно вызывать из различных подсистем;

- средства для хранения настроек устройств управления и ввода-вывода данных, входящих в состав узлов распределенной системы;

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

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

Синхронизация узлов, процессоров и платформ исполнения

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

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