stringtranslate.com

ЛабВЬЮ

Laboratory Virtual Instrument Engineering Workbench ( LabVIEW ) [1] :3  — это платформа системного проектирования и среда разработки для языка визуального программирования, разработанная компанией National Instruments .

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) — это среда графического программирования, разработанная National Instruments. Он широко используется для сбора данных, управления приборами и промышленной автоматизации, предоставляя инструменты для проектирования и развертывания сложных испытательных и измерительных систем.

Графический язык называется «G»; не путать с G-кодом . Язык потоков данных G изначально был разработан LabVIEW. [2] LabVIEW обычно используется для сбора данных , управления приборами и промышленной автоматизации в различных операционных системах (ОС), включая macOS и другие версии Unix и Linux , а также Microsoft Windows .

Последними версиями LabVIEW являются LabVIEW 2023 Q1 (выпущена в апреле 2023 г.) и LabVIEW NXG 5.1 (выпущена в январе 2021 г.). [3] 28 апреля 2020 г. компания NI выпустила бесплатные версии LabVIEW и LabVIEW NXG Community для некоммерческого использования. [4]

Программирование потоков данных

Парадигма программирования, используемая в LabVIEW, иногда называемая G, основана на доступности данных. Если для subvi или функции имеется достаточно данных, этот subvi или функция будет выполнена. Поток выполнения определяется структурой графической блок-схемы (исходный код LabVIEW), на которой программист соединяет различные функциональные узлы путем рисования проводов. Эти провода передают переменные, и любой узел может выполняться, как только все его входные данные станут доступны. Поскольку это может иметь место одновременно с несколькими узлами, LabVIEW может выполняться параллельно. [5] : 1–2  Многопроцессорное и многопоточное оборудование автоматически используется встроенным планировщиком, который мультиплексирует несколько потоков ОС по узлам, готовым к выполнению.

Графическое программирование

Пример кода Labview

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

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

Широко распространенные шаблоны проектирования

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

Преимущества

Взаимодействие с устройствами

LabVIEW включает обширную поддержку взаимодействия с такими устройствами, как инструменты, камеры и другие устройства. Пользователи взаимодействуют с оборудованием, записывая прямые команды шины (USB, GPIB, Serial) или используя высокоуровневые драйверы для конкретного устройства, которые предоставляют собственные функциональные узлы LabVIEW для управления устройством.

LabVIEW включает встроенную поддержку аппаратных платформ NI, таких как CompactDAQ и CompactRIO , с большим количеством блоков для конкретного устройства для такого оборудования, наборами инструментов Measurement and Automation eXplorer (MAX) и Virtual Instrument Software Architecture (VISA).

Компания National Instruments предоставляет для загрузки тысячи драйверов устройств в сети NI Instrument Driver Network (IDNet). [9]

Компиляция кода

LabVIEW включает в себя компилятор , создающий собственный код для платформы ЦП. Графический код преобразуется в промежуточное представление потока данных, а затем транслируется в фрагменты исполняемого машинного кода компилятором на основе LLVM . Механизм выполнения вызывает эти фрагменты, обеспечивая лучшую производительность. Синтаксис LabVIEW строго соблюдается в процессе редактирования и компилируется в исполняемый машинный код при запросе на запуск или при сохранении. В последнем случае исполняемый файл и исходный код объединяются в один двоичный файл. Выполнение контролируется механизмом времени выполнения LabVIEW , который содержит предварительно скомпилированный код для выполнения общих задач, определенных языком G. Механизм выполнения управляет потоком выполнения и обеспечивает согласованный интерфейс с различными операционными системами, графическими системами и аппаратными компонентами. Использование среды выполнения позволяет переносить файлы исходного кода на поддерживаемые платформы. Программы LabVIEW медленнее, чем эквивалентный скомпилированный код C, хотя, как и в других языках, оптимизация программ часто позволяет смягчить проблемы со скоростью выполнения. [10]

Большие библиотеки

Множество библиотек с большим количеством функций для сбора данных, генерации сигналов, математических вычислений, статистики, формирования сигналов, анализа и т. д., а также многочисленных функций, таких как интеграция, фильтры и другие специализированные возможности, обычно связанные со сбором данных с аппаратных датчиков. огромен. Кроме того, LabVIEW включает текстовый программный компонент MathScript с дополнительными функциями для обработки сигналов, анализа и математических вычислений. MathScript можно интегрировать с графическим программированием с помощью узлов сценариев и использовать синтаксис, обычно совместимый с MATLAB . [11]

Параллельное программирование

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

Экосистема

Благодаря долговечности и популярности языка LabVIEW, а также возможности пользователям расширять его функции, благодаря вкладу сообщества возникла большая экосистема сторонних надстроек. Большинство этих надстроек доступны для прямой загрузки и установки в LabVIEW с помощью VI Package Manager (VIPM), [12] официального менеджера пакетов для надстроек LabVIEW. У National Instruments также есть торговая площадка как для бесплатных, так и для платных дополнений LabVIEW, называемая NI Tools Network.

Сообщество пользователей

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

Домашнее пакетное издание

Компания National Instruments предлагает недорогую версию LabVIEW Home Bundle Edition. [13]

Общественная версия

National Instruments предоставляет бесплатную версию для некоммерческого использования под названием LabVIEW Community Edition. [14] Эта версия включает в себя все, что есть в профессиональных выпусках LabVIEW, не имеет водяных знаков и включает веб-модуль LabVIEW NXG для некоммерческого использования. Эти издания также могут использоваться школами K-12. [15]

Критика

LabVIEW является запатентованным продуктом компании National Instruments . В отличие от распространенных языков программирования, таких как C или Fortran , LabVIEW не управляется и не определяется каким-либо сторонним комитетом по стандартизации, таким как Американский национальный институт стандартов (ANSI), Институт инженеров по электротехнике и электронике (IEEE) или Международная организация по стандартизации (ISO). ).

Нетекстовый

Поскольку язык G нетекстовый, программные инструменты, такие как управление версиями, параллельное (или дифференциальное) сравнение и отслеживание изменений кода версии, не могут применяться так же, как для текстовых языков программирования. Существует несколько дополнительных инструментов для сравнения и объединения кода с инструментами управления исходным кодом (версиями), такими как Subversion, CVS и Perforce. [16] [17] [18]

История выпусков

В 2005 году, начиная с LabVIEW 8.0, основные версии выпускаются примерно в первую неделю августа, что совпадает с ежегодной конференцией National Instruments NI Week, а в феврале следующего года следует выпуск исправления ошибок.

В 2009 году National Instruments начала называть релизы по году их выпуска. Исправление ошибки называется пакетом обновления, например, пакет обновления 1 для 2009 г. был выпущен в феврале 2010 г.

В 2017 году компания National Instruments перенесла ежегодную конференцию на май и выпустила LabVIEW 2017 вместе с полностью переработанной версией LabVIEW NXG 1.0, построенной на базе Windows Presentation Foundation (WPF).

Репозитории и библиотеки

OpenG , а также репозиторий кода LAVA (LAVAcr) служат репозиториями для широкого спектра приложений и библиотек LabVIEW с открытым исходным кодом . SourceForge включил LabVIEW в список возможных языков, на которых можно писать код.

VI Package Manager стал стандартным менеджером пакетов для библиотек LabVIEW. По назначению он очень похож на RubyGems Ruby и CPAN Perl , хотя предоставляет графический интерфейс пользователя, аналогичный Synaptic Package Manager . Диспетчер пакетов VI обеспечивает доступ к репозиторию библиотек OpenG (и других) для LabVIEW.

Существуют инструменты для преобразования MathML в G-код. [28]

Сопутствующее программное обеспечение

National Instruments также предлагает продукт под названием Measurement Studio , который предлагает многие возможности тестирования, измерения и управления LabVIEW в виде набора классов для использования с Microsoft Visual Studio . Это позволяет разработчикам использовать некоторые сильные стороны LabVIEW в текстовой среде .NET Framework . National Instruments также предлагает LabWindows/CVI в качестве альтернативы для программистов ANSI C.

Когда приложениям требуется секвенирование, пользователи часто используют LabVIEW с программным обеспечением для управления тестированием TestStand, также от National Instruments.

Интерпретатор Ch — это интерпретатор C / C++ , который можно встроить в LabVIEW для написания сценариев. [29]

FlowStone DSP от DSP Robotics также использует форму графического программирования, аналогичную LabVIEW, но ограничена индустрией робототехники.

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

Смотрите также

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

Рекомендации

  1. ^ Джеффри., Трэвис (2006). LabVIEW для всех: графическое программирование стало простым и увлекательным . Кринг, Джим. (3-е изд.). Река Аппер-Сэдл, Нью-Джерси: Прентис-Холл. ISBN 0131856723. ОСЛК  67361308.
  2. ^ Синтез программного обеспечения на основе моделей потоков данных для G и LabVIEW. Том. 2. Ноябрь 1998 г., стр. 1705–1709, том 2. дои : 10.1109/ACSSC.1998.751616. S2CID  7150314.
  3. ^ «Обновление LabVIEW». Форумы . Национальные инструменты.
  4. ^ «NI выпускает бесплатные версии флагманского программного обеспечения: LabVIEW» . www.businesswire.com . 28 апреля 2020 г. Проверено 28 апреля 2020 г.
  5. ^ Бресс, Томас Дж. (2013). Эффективное программирование LabVIEW . [Sl]: НТС Пресс. ISBN 978-1-934891-08-7.
  6. ^ «Шаблоны проектирования приложений: конечные автоматы» . Технические документы National Instruments . 8 сентября 2011 г. Архивировано из оригинала 22 сентября 2017 г. Проверено 21 сентября 2017 г.
  7. ^ «Шаблоны проектирования приложений: главный/подчиненный». Технические документы National Instruments . 7 октября 2015 г. Архивировано из оригинала 22 сентября 2017 г. Проверено 21 сентября 2017 г.
  8. ^ «Шаблоны проектирования приложений: производитель/потребитель» . Технические документы National Instruments . 24 августа 2016 года. Архивировано из оригинала 22 сентября 2017 года . Проверено 21 сентября 2017 г.
  9. ^ «Драйверы инструментов сторонних производителей — National Instruments» . www.ni.com . Архивировано из оригинала 28 ноября 2014 г.
  10. ^ «Компилятор NI LabVIEW: под капотом» . ni.com . 4 февраля 2020 г.
  11. ^ "Модуль LabVIEW MathScript RT" . www.ni.com . Архивировано из оригинала 5 августа 2016 г.
  12. ^ "Рабочий стол VIPM" . www.vipm.io. ​Проверено 9 июня 2023 г.
  13. ^ «Домашний пакет LabVIEW для Windows — National Instruments» . sine.ni.com . Архивировано из оригинала 4 июля 2016 г.
  14. ^ "LabVIEW Community Edition - National Instruments" . www.ni.com . Проверено 28 апреля 2020 г.
  15. ^ «Подробности об использовании LabVIEW Community Edition - National Instruments» . www.ni.com . Проверено 28 апреля 2020 г.
  16. ^ «Мыслить в G »5 лучших оправданий неиспользования контроля исходного кода» . Архивировано из оригинала 28 октября 2016 г. Проверено 28 октября 2016 г.
  17. ^ «Управление конфигурацией программного обеспечения и LabVIEW - National Instruments» . www.ni.com . Архивировано из оригинала 29 октября 2016 г.
  18. ^ «Настройка управления исходным кодом LabVIEW (SCC) для использования с Team Foundation Server (TFS) - National Instruments» . www.ni.com . Архивировано из оригинала 28 октября 2016 г.
  19. ^ «Что нового в NI Developer Suite — National Instruments» . www.ni.com . Архивировано из оригинала 31 марта 2014 г. Проверено 31 марта 2014 г.
  20. ^ «Подробности патча LabVIEW 2017 SP1 — National Instruments» . www.ni.com . Проверено 28 мая 2018 г.
  21. ^ "Ознакомительные сведения о LabVIEW NXG 2.0 - National Instruments" . www.ni.com . Проверено 28 апреля 2020 г.
  22. ^ "Ознакомительные сведения о LabVIEW NXG 2.1 - National Instruments" . www.ni.com . Проверено 28 апреля 2020 г.
  23. ^ «Ознакомительные сведения о LabVIEW 2018 SP1 для Windows — National Instruments» . www.ni.com . Проверено 28 апреля 2020 г.
  24. ^ "Ознакомительные сведения о LabVIEW NXG 3.0 - National Instruments" . www.ni.com . Проверено 28 апреля 2020 г.
  25. ^ "Ознакомительные сведения о LabVIEW NXG 3.1 - National Instruments" . www.ni.com . Проверено 28 апреля 2020 г.
  26. ^ "Ознакомительные сведения о LabVIEW NXG 4.0 - National Instruments" . www.ni.com . Проверено 28 апреля 2020 г.
  27. ^ «NI выпускает бесплатные версии флагманского программного обеспечения: LabVIEW» . www.businesswire.com . 28 апреля 2020 г. Проверено 28 апреля 2020 г.
  28. ^ «Математический узел — новый способ выполнения математических вычислений в LabVIEW» . ni.com . 25 октября 2010 г. Архивировано из оригинала 25 февраля 2011 г.
  29. ^ «Внедрение интерпретатора C/C++ Ch в LabVIEW для написания сценариев». iel.ucdavis.edu . Архивировано из оригинала 15 мая 2011 г.

дальнейшее чтение

Статьи о конкретном использовании

Статьи об использовании в образовании

Внешние ссылки