VI Package Manager — что это за программа?
Приветствую. Данный материал расскажет о предназначении приложения VI Package Manager. Постараюсь написать простыми словами.
VI Package Manager — что это такое?
Менеджер, позволяющий находить, совместно использовать/создавать плагины LabVIEW. Позволяет создавать библиотеки используя повторно код при помощи инструментов разработчика.
Данный компонент снижает затраты на проект, помогая реализовать процесс повторного использования кода в нескольких проектах, компьютерах и командах разработчиков.
Внешний вид менеджера:
Пакет в среде разработки (IDE):
LabVIEW — что это?
Инструмент создания приложений для технических специалистов, ученых, инженеров, позволяющий быстро/легко создавать программы вычисления, тестирования, автоматизации научных/обучающих задач.
Суть LabVIEW — визуальный тип программирования, который не требует специальных углубленных знаний самого программирования. Вместо написания кода программы нужно только создавать мышкой специальные функциональные блоки. Данный подход легче, удобнее, позволяет сконцентрироваться на логике работы, вместо оптимизации кода, исправлении ошибок.
Заключение
- VI Package Manager — инструмент управления пакетами, помогает организовать и поддерживать пакеты в среде LabVIEW, получать и настраивать библиотеки/средства разработки. Также можно подписаться на общие репозитории, созданные VIMP.
VI Package Manager 14.2.1976
The VI Package Manager (VIPM) is a software management tool designed by JKI that simplifies the installation and management of software packages and add-ons for National Instruments LabVIEW development software. With VIPM, users can easily search, install, upgrade, and remove LabVIEW packages from a single user-friendly interface.
The VIPM supports LabVIEW packages in different formats, including VI Package files (*.vip), OpenG Package files (*.ogp), and JKI Package files (*.jki). Users can also create their own custom packages using the VIPM builder tool, which supports package authoring for both desktop and web-based applications alike.
Another key feature of the VIPM is its integration with the LabVIEW Tools Network, a community-driven repository of over three thousand LabVIEW packages contributed by developers from around the world. Users can easily browse and search for tools and add-ons that fit their needs and install them directly through the VIPM.
The VI Package Manager by JKI is a powerful software management tool that simplifies the process of installing and managing LabVIEW packages. With its user-friendly interface and seamless integration with the LabVIEW Tools Network, it is an essential tool for any LabVIEW developer looking to streamline their workflow and increase productivity.
Обзор
VI Package Manager это программное обеспечение Shareware в категории (2), разработанная JKI.
Проверяли обновления 220 раз пользователями нашего клиентского приложения UpdateStar в прошлом месяце.
Последняя версия VI Package Manager-14.2.1976, выпущенный на 27.02.2017. Первоначально он был добавлен в нашу базу данных на 06.05.2012.
VI Package Manager работает на следующих операционных системах: Windows.
VI Package Manager не был оценен нашими пользователями еще.
Написать обзор для VI Package Manager!
Использование программы winget для установки приложений и управления ими
Программа командной строки winget позволяет пользователям обнаруживать, устанавливать, обновлять, удалять и настраивать приложения на компьютерах с Windows 10 и Windows 11. Она является клиентским интерфейсом для службы Диспетчера пакетов Windows.
Установка winget
средство командной строки winget Диспетчер пакетов Windows доступно в Windows 11 и современных версиях Windows 10 в составе установщика приложений.
Установщик приложений можно получить из Microsoft Store. Если он уже установлен, убедитесь, что он обновлен до последней версии.
Программа командной строки winget сейчас поддерживается только в Windows 10 1709 (сборка 16299) или более поздней версии. Средство winget не будет доступно, пока вы не вошли в Windows в качестве пользователя впервые, активируя Microsoft Store для регистрации Диспетчер пакетов Windows в рамках асинхронного процесса. Если вы недавно вошли в систему как пользователь впервые и обнаружите, что winget еще недоступен, вы можете открыть PowerShell и ввести следующую команду, чтобы запросить эту регистрацию winget: Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
Установка предварительной версии winget [только для разработчиков]
WinGet входит в установщик приложений Windows. Чтобы попробовать последние Диспетчер пакетов Windows функции, можно установить предварительную сборку одним из следующих способов:
- Скачайте последнюю версию winget preview. Ознакомьтесь с заметками о выпуске для предварительной версии winget, чтобы узнать о новых функциях. При установке этого пакета вы получите предварительную версию клиента WinGet, но она не будет включать автоматические обновления новых предварительных версий из Microsoft Store.
- Используйте учетную запись Microsoft (MSA), рабочую или учебную учетную запись либо учетную запись Azure Active Directory (AAD), чтобы зарегистрироваться в Программе предварительной оценки Windows (Канал разработчика). Канал предварительной оценки Windows включает автоматические обновления новых предварительных версий из Microsoft Store.
- Используйте учетную запись Microsoft (MSA), чтобы зарегистрироваться в Программе предварительной оценки Windows (Диспетчер пакетов Windows). После добавления учетной записи Майкрософт (MSA) (через несколько дней после получения уведомления электронной почты) вы получите автоматические обновления новых предварительных версий из Microsoft Store.
Установка winget на Песочница Windows
Песочница Windows предоставляет упрощенную среду рабочего стола для безопасного запуска приложений в изоляции. Программное обеспечение, установленное внутри среды Песочницы Windows, изолировано от всей остальной системы и работает независимо от главного компьютера. Песочница Windows не включает winget, а также приложение Microsoft Store, поэтому вам потребуется скачать последний пакет winget со страницы выпусков winget на сайте GitHub.
Чтобы установить стабильный выпуск winget на Песочница Windows, выполните следующие действия из командной строки Windows PowerShell:
$progressPreference = 'silentlyContinue' Write-Information "Downloading WinGet and its dependencies. " Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile Microsoft.VCLibs.x64.14.00.Desktop.appx Invoke-WebRequest -Uri https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.6/Microsoft.UI.Xaml.2.8.x64.appx -OutFile Microsoft.UI.Xaml.2.8.x64.appx Add-AppxPackage Microsoft.VCLibs.x64.14.00.Desktop.appx Add-AppxPackage Microsoft.UI.Xaml.2.8.x64.appx Add-AppxPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Если требуется предварительная версия или другая версия диспетчер пакетов, перейдите в раздел https://github.com/microsoft/winget-cli/releases. Скопируйте URL-адрес выбранной версии и обновите указанный выше URI.
Дополнительные сведения о Песочница Windows, в том числе о том, как установить песочницу и что ожидать от его использования, см. в документации по Песочница Windows.
Рекомендации для администраторов
Поведение установщика может отличаться в зависимости от того, выполняется ли winget с правами администратора.
- При запуске winget без прав администратора для установки некоторых приложения может потребоваться повышение уровня прав. При запуске установщика Windows предложит вам повысить уровень права. Если вы откажетесь, приложение не будет установлено.
- При запуске winget в командной строке администратора запросы на повышение прав до необходимого приложению уровня не отображаются. Будьте осторожны при запуске командной строки от имени администратора и устанавливайте только приложения, которым доверяете.
Использование winget
После установки установщика приложений можно запустить winget, введя winget в командной строке.
Одним из наиболее распространенных сценариев использования является поиск и установка избранного средства.
- Для поиска средства введите winget search .
- Убедившись в доступности нужного средства, его можно установить, введя winget install . Программа winget запустит установщик и установит приложение на компьютере.
- Помимо установки и поиска winget предоставляет ряд других команд, позволяющих отображать сведения о приложениях, менять источники и проверять пакеты. Для вывода полного списка команд введите winget —help .
Некоторые пользователи сообщили о проблемах, когда клиент не был указан в пути.
Команды
Текущая предварительная версия программы winget поддерживает следующие команды.
Команда | Description |
---|---|
info | Отображает метаданные о системе (номера версий, архитектуру, расположение журнала и т. д.). Полезно для устранения неполадок. |
Установка | Устанавливает указанное приложение. |
show | Отображает сведения об указанном приложении. |
source | Добавляет, удаляет и обновляет репозитории Диспетчера пакетов Windows, доступ к которым осуществляется с помощью программы winget. |
search | Ищет приложение. |
список | Отображает установленные пакеты. |
upgrade | Обновляет указанный пакет. |
uninstall | Удаляет указанный пакет. |
hash | Создает хэш SHA256 для установщика. |
validate | Проверяет файл манифеста для отправки в репозиторий Диспетчера пакетов Windows. |
параметры | Открывает параметры. |
features | Отображает состояние экспериментальных функций. |
Экспорт | Экспортирует список установленных пакетов. |
Импорт | Устанавливает все пакеты в файле. |
pin | Управление закреплениями пакета. |
configure | Настраивает систему в требуемое состояние. |
загрузить | Загружает установщик указанного приложения. |
Параметры
Средство winget поддерживает следующие параметры.
Параметр | Описание |
---|---|
-v, —version | Возвращает текущую версию winget. |
—info | Предоставляет подробные сведения о winget, в том числе ссылки на лицензию, заявление о конфиденциальности и настроенные политики групп. |
-?, —help | Отображает дополнительную справку для winget. |
Поддерживаемые форматы установщика
Средство winget поддерживает следующие типы установщиков:
Создание скриптов для winget
Для установки нескольких приложений в одной команде можно использовать следующий синтаксис.
Пример
winget install Microsoft.WindowsTerminal Microsoft.PowerToys Microsoft.VisualStudioCode
При использовании скрипта winget запускает приложения в указанном порядке. Когда установщик сообщит об успешной установке или сбое, winget запустит следующий установщик. Если установщик запускает другой процесс, он может сообщить winget о завершении или сбое установки преждевременно. Это приведет к тому, что winget запустит следующий установщик до завершения выполнения предыдущего.
Отладка и устранение неполадок
В winget предусмотрено ведение журнала для диагностики проблем. Рекомендации по устранению неполадок и дополнительные сведения о ведении журнала см. в статье Отладка и устранение неполадок.
Отсутствующие средства
Если репозиторий сообщества не содержит ваше средство или приложение, отправьте пакет в наш репозиторий. После добавления вашего избранного средства оно станет доступно вам и всем остальным.
Настройка параметров winget
Вы можете настроить интерфейс командной строки winget, изменив файл settings.json. Дополнительные сведения см. в разделе https://aka.ms/winget-settings. Обратите внимание, что параметры по-прежнему поддерживаются в экспериментальном режиме и еще не готовы для предварительной версии средства.
Сведения об открытом коде
Средство winget — это программное обеспечение с открытым кодом, доступное в GitHub в репозитории https://github.com/microsoft/winget-cli/. Источник для сборки клиента находится в папке src.
Источник для winget содержится в решении Visual Studio 2019 C++. Чтобы построить решение правильно, установите новейшую версию Visual Studio с рабочей нагрузкой C++.
Мы рекомендуем вам пополнять источник winget на сайте GitHub. Для этого необходимо сначала принять и подписать соглашение Microsoft CLA.
Устранение неполадок
Репозиторий winget-cli содержит список распространенных проблем и ошибок, а также рекомендации по устранению следующих неполадок:
- распространенные проблемы: данные не распознаются, происходит сбой выполнения, версия установщика приложения или переменная PATH требует обновления;
- распространенные ошибки: ошибки 0x801901a0, 0x80d03002, 0x80070490.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
LabVIEW — первое знакомство
В относительно небольшой статье мне хотелось бы рассказать о языке программирования LabVIEW. Этот весьма любопытный продукт к сожалению не пользуется широкой популярностью, и мне хотелось бы в некоторой степени восполнить имеющийся пробел.
Что же такое «LabVIEW»?
LabVIEW — это один из основных продуктов компании National Instruments. Прежде всего надо отметить, что LabVIEW — это аббревиатура, которая расшифровывается как Laboratory Virtual Instrumentation Engineering Workbench. Уже в названии прослеживается ориентация на лабораторные исследования, измерения и сбор данных. Действительно, построить SCADA — систему в LabVIEW несколько проще чем при использовании «традиционных» средств разработки. В данной статье мне хотелось бы показать, что возможная область применения LabVIEW несколько шире. Это принципиально иной язык программирования, или если хотите целая «философия» программирования. Функциональный язык, заставляющий несколько иначе мыслить и порой предоставляющий совершенно фантастические возможности для разработчика. Является ли LabVIEW языком программирования вообще? Это спорный вопрос — здесь нет стандарта, как, например ANSI C. В узких кругах разработчиков мы говорим, что пишем на языке «G». Формально такого языка не существует, но в этом и заключается прелесть этого средства разработки: от версии к версии в язык вводятся всё новые конструкции. Сложно представить, что в следующей реинкарнации Си появится, например, новая структура для for-цикла. А в LabVIEW такое вполне возможно.
Впрочем надо заметить, что LabVIEW входит в рейтинг языков программирования TIOBE, занимая на данный момент тридцатое место — где-то между Прологом и Фортраном.
NI LabVIEW — история создания
Компания National Instruments была создана в 1976 году тремя основателями — Джеффом Кодоски (Jeff Kodosky), Джеймсом Тручардом (James Truchard) и Биллом Новлиным (Bill Nowlin) в американском городе Остин (Austin), штат Техас. Основной специализацией компании являлись инструментальные средства для измерений и автоматизация производства.
Первая версия LabVIEW увидела свет спустя десять лет после создания компании — в 1986 году (это была версия для Apple Mac). Инженеры NI решили бросить вызов «традиционным» языкам программирования и создали полностью графическую среду разработки. Основным идеологом графического подхода стал Джефф. Год за годом выпускались новые версии. Первой кроссплатформенной версией (включая Windows) была третья версия, выпущенная в 1993 году. Актуальной на данный момент является версия 8.6, вышедшая в прошлом году.
В Остине и по сегодняшний день располагается головной офис компании. Сегодня в компании работают почти четыре тысячи человек, а офисы находятся почти в сорока странах (есть также офис и в России)
Моё знакомство с LabVIEW
Моё знакомство с LabVIEW произошло почти десять лет назад. Я начал трудиться по новому контракту, и мой тогдашний шеф вручил мне пачку дисков со словами «теперь ты будешь работать на этом». Я установил LabVIEW (это была пятая версия), и поигравшись некоторое время заявил, что на ЭТОМ ничего серьёзного не сделать, уж лучше я «по старинке» на Delphi… На что он мне сказал — ты просто не распробовал. Поработай недельку-другую. Через некоторое время я пойму, что ни на чём другом, кроме LabVIEW, я уже писать не смогу. Я просто влюбился в этот язык, хотя это и не была «любовь с первого взгляда».
Вообще говоря, довольно сложно сравнивать графический и текстовый языки программирования. Это, пожалуй, сравнение из разряда «PC» против «MAC» или «Windows» против «Linux» — можно спорить сколько угодно, но спор абсолютно лишён смысла — каждая система имеет право на существование и у каждой найдутся как сторонники так и противники, кроме того у каждого продукта своя ниша. LabVIEW – всего лишь инструмент, хотя и весьма гибкий.
Так что же такое LabVIEW?
LabVIEW — это кроссплатформенная графическая среда разработки приложений. LabVIEW — в принципе универсальный язык программирования. И хотя этот продукт порой тесно связан с аппаратным обеспечением National Instruments, он тем не менее не связан с конкретной машиной. Существуют версии для Windows, Linux, MacOS. Исходные тексты переносимы, а программы будут выглядеть одинаково во всех системах. Код, сгенерированный LabVIEW также может быть также исполнен на Windows Mobile или PalmOS (справедливости ради надо отметить, что поддержка PalmOS прекращена, впрочем здесь сама Palm больше виновата). Этот язык может с успехом использоваться для создания больших систем, для обработки текстов, изображений и работы с базами данных.
- переменные (локальные или глобальные)
- ветвление (case structure)
- For – циклы с проверкой завершения и без.
- While – циклы
- Группировка операций.
LabVIEW – программа и возможности языка
В LabVIEW разрабатываемые программные модули называются «Virtual Instruments» (Виртуальные Инструменты) или по-простому VI. Они сохраняются в файлах с расширением *.vi. VIs – это кирпичики, из которых состоит LabVIEW – программа. Любая LabVIEW программа содержит как минимум один VI. В терминах языка Си можно достаточно смело провести аналогию с функцией с той лишь разницей, что в LabVIEW одна функция содержится в одном файле (можно также создавать библиотеки инструментов). Само собой разумеется, один VI может быть вызван из другого VI. В принципе каждый VI состоит из двух частей — Блок-Диаграмма (Block Diagram) и Передняя Панель (Front Panel). Блок-диаграмма — это программный код (точнее визуальное графическое представление кода), а Передняя панель — это интерфейс. Вот как выглядит классический пример Hello, World!:
В основе LabVIEW лежит парадигма потоков данных. В вышеприведённом примере константа и терминал индикатора соединены между собой линией. Эта линия называется Wire. Можно назвать её «проводом». По проводам передаются данные от одних элементов другим. Вся эта концепция называется Data Flow. Суть Блок Диаграммы — это узлы (ноды), выходы одних узлов присоединены ко входам других узлов. Узел начнёт выполнение только тогда, когда прибудут все необходимые для работы данные. На диаграмме вверху две ноды. Одна из них — константа. Этот узел самодостаточен — он начинает выполнение немедленно. Второй узел — индикатор. Он отобразит данные, которые передаёт константа (но не сразу, а как только данные прибудут от константы).
Вот чуть более сложный пример: сложение и умножение двух чисел. В традиционных языках мы напишем что-то вроде
int a, b, sum, mul;
//.
sum = a + b;
mul = a * b;
Вот как это выглядит в LabVIEW:
Обратите внимание на то, что сложение и умножение автоматически выполняются параллельно. На двухпроцессорной машине будут автоматически задействованы оба процессора.
А вот как выглядят while / for циклы и if / then / else структура:
Как уже упоминалось, все элементы будут выполняться параллельно. Вам не нужно задумываться о том, как распараллелить задачу на несколько потоков, которые можно выполнять параллельно на нескольких процессорах. В последних версиях можно даже явно указать на каком из процессоров должен выполняться тот или иной while-цикл. Сейчас существуют надстройки и для текстовых языков, позволяющие запросто добиться поддержки многопроцессорных систем, однако так просто, как на LabVIEW, это пожалуй нигде не реализовано. (ну вот, я всё же скатился на сравнение с текстовыми языками). Если уж мы заговорили о многопоточности, то надо также отметить, что в распоряжении разработчика богатый выбор инструментов для синхронизации потоков — семафоры, очереди, рандеву, и т.д.
LabVIEW включает в себя богатые наборы элементов для построения пользовательских интерфейсов. Уж на что быстро «набрасывались» интерфейсы в Дельфи, а в LabVIEW этот процесс происходит ещё стремительнее.
Стандартная поставка LabVIEW включает в себя также блоки для работы с ini файлами, реестром, функции для работы с двоичными и тестовыми файлами, математические функции, мощные инструменты для построения графиков (а куда же без этого в лаборатории-то), а в дополнение к уже упомянутой возможности вызовов DLL, LabVIEW позволяет работать с ActiveX компонентами и .net. Начиная с восьмой версии в LabVIEW была добавлена поддержка классов — язык стал объектно-ориентированным. Реализованную поддержку нельзя назвать полной, однако основные черты объектно-ориентированных языков — наследование и полиморфизм присутствуют. Также функциональность языка можно расширить дополнительными модулями, например NI Vision Toolkit – для обработки изображений и машинного зрения и другие. А при помощи модуля Applcation Builder можно сгенерировать исполняемый exe-файл. С помощью Internet Toolkit можно работать с ftp серверами, c помощью Database Connectivity Toolkit — с базами данных и т.д.
Часто можно услышать мнение, что графический код плохо читаем. Действительно, с непривычки обилие иконок и проводников несколько шокирует. Также начинающие разработчики создают программы-«простыни» и программы-«спагетти». Однако опытный LabVIEW-разработчик никогда не создаст диаграмм, превышающих размер экрана, даже если программа состоит из сотен модулей. Хорошо разработанная программа фактически «самодокументируется», поскольку в основе уже лежит графическое представление.
Довольно долгое время, программируя на LabVIEW, я пребывал в полной уверенности, что LabVIEW — это интерпретатор и блок-диаграммы постоянно интерпретируются ядром. После разговоров с инженерами NI выяснилось, что это не так. LabVIEW — это компилятор (качество кодогенерации, впрочем оставляет желать лучшего). Зато компиляция происходит «на лету» — в любой момент разработки программа всегда готова к запуску. Также LabVIEW-код может быть скомпилирован в полноценный исполнямый файл, который может быть запущен на компьютере без установленной LabVIEW (правда он требует LabVIEW Run-Time). Также можно собрать установочный пакет-инсталлятор, сторонних утилит типа InstallShield при этом не требуется.
Дальнейшее и более детальное описание возможностей пакета выходит за рамки данной статьи, я же просто предлагаю попробовать (ссылки даны ниже). Как говорили великие «… единственный способ освоить новый язык программирования — писать на нём программы». Ну а опытные программисты смогут экстраполировать полученные знания на свои собственные нужды.
Ссылки по теме
- www.ni.com — Cайт компании National Instruments
- Всё про LabVIEW от производителя
- Демо-версия (надо зарегистрироваться)
- LabVIEW-форум (присутствуют разработчики)
- Среда графического программирования LabVIEW
- Вводный курс в LabVIEW (PDF 1 MB)