Как стать автором
Поиск
Написать публикацию
Обновить
1.6

LabVIEW *

Среда разработки и платформа

Сначала показывать
Период
Уровень сложности

Обзор некоторых виртуальных приборов среды LabVIEW в помощь разработчику (+ исходники)

Время на прочтение3 мин
Количество просмотров31K
image

Добрый день, всем!

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

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

В начале хотелось бы привести пару ВП, которые относятся к разряду очень простых, но возможно кому-то необходимых.
Читать дальше →

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма

Время на прочтение13 мин
Количество просмотров11K

Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Edition даёт возможность значительно расширить аудиторию пользователей (раньше можно было пользоваться только триальной версией, а по истечении 45-и дней учиться "вприглядку").


Что ж, как говорили великие Керниган и Ритчи — "единственный способ научиться новому языку программирования — это начать на нём программировать". Этим и займёмся.


В первой части мы разберём основные элементы среды разработки, и нарисуем на блок-диаграмме наш первый "Hello, World!"



Статья-туториал рассчитана на тех, кто видит LabVIEW впервые. Под катом полсотни картинок примерно на семь мегабайт.

Читать дальше →

Исправляем Alt-Tab в LabView

Время на прочтение4 мин
Количество просмотров8K
Когда пишешь программу в среде LabView, в определенный момент её становится слишком много для того, чтобы уместиться в один экран. «Правила хорошего тона» LabView говорят о том, что в таких случаях надо разбивать один vi файл на несколько subvi файлов. Со временем таких subvi становится очень много. Однако об удобной навигации ребята из NI как-то не позаботились.

Мало того, что LabView сдвигает все свои окна в начало Alt-Tab списка (больше так не делает никто: en.wikipedia.org/wiki/Alt-Tab), так еще, несмотря на активно используемую возможность переопределять иконки для vi файлов, в списке Alt-Tab вместо них – стройные ряды из логотипов LabView:

image

Некоторых такое поведение подталкивает к покупке второго монитора. Для них в значительной степени проблема этим и решается. Еще частично помогает интерфейс Windows Aero с его миниатюрами в меню Alt-Tab. Но вроде бы лежащее на поверхности решение – (а) сделать переключение такое же, как во всех остальных приложениях, и (б) выводить в списке иконки vi – стандартными средствами недостижимо.

Судя по тому, что началось это едва ли не с самой первой версии, а соответствующая «идея по улучшению» пылится на «форуме по обмену идеями» с 2010 года forums.ni.com/t5/LabVIEW-Idea-Exchange/Make-Alt-Tab-behaviour-consistent-with-other-applications/idi-p/1162219, просить об этом National Instruments бесполезно. Однако кое-что сделать всё-таки можно.
Читать дальше →

Резонансный регулятор

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.7K

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

Символический метод анализа цепей

Использование кода MATLAB в проектах LabVIEW NXG

Время на прочтение7 мин
Количество просмотров3.8K

Предположим, существует некий проект, где перед двумя разработчиками стоит задача расчёта/сбора каких-либо данных, а также их грамотной визуализации. При этом, один из разработчиков хорошо разбирается в матанализе или физике и имеет представление о том, как эта задача может решаться, а также дружит с MATLAB. Другой же разработчик, напротив, знает, как правильно интерпретировать набор данных и представить наглядный анимированный график, а также дружит с LabVIEW. Для подобных задач существует инструмент "Interface for MATLAB" в LabVIEW NXG, который позволяет обращаться к синтаксису MATLAB и совмещать преимущества графического и текстового языков программирования. Именно этот инструмент будет рассмотрен в данной статье.

Читать далее

LabVIEW NXG — Основы работы с Передней Панелью — Контролы и Индикаторы

Время на прочтение9 мин
Количество просмотров7.8K

Это вторая статья-туториал по LabVIEW NXG, в которой мы рассмотрим основы работы с передней панелью (Front Panel).



Представим себе, что мы оказались в Америке, в отеле установлен кондиционер, но регулятор температуры там снабжён шкалой в градусах Фаренгейта. Мы хотим выставить комфортные двадцать градусов, но сколько это будет по шкале Фаренгейта? Вот и посчитаем это в LabVIEW NXG. Мы всё ещё на очень базовом уровне — под катом будет много слов о простом (чтобы в дальнейшем можно было рассказывать просто о сложном)

Читать дальше →

Машинное зрение. Что это и как им пользоваться? Обработка изображений оптического источника

Время на прочтение12 мин
Количество просмотров108K
Машинное зрение — это научное направление в области искусственного интеллекта, в частности робототехники, и связанные с ним технологии получения изображений объектов реального мира, их обработки и использования полученных данных для решения разного рода прикладных задач без участия (полного или частичного) человека.

Читать дальше →

ПЛК100 + LabVIEW + джойстик v2.0

Время на прочтение2 мин
Количество просмотров9.8K
В своей прошлой статье я описывал возможность управления ПЛК джойстиком и обещал добавить небольшое изменение, связав ПЛК и LabVIEW не через последовательный порт, а через Ethernet (благо, коммуникационные возможности ПЛК100 это позволяют) и при помощи OPC-сервера — в данном случае это Codesys OPC Server. (Кстати, аналогичным образом с LabVIEW можно связать любой другой контроллер — через OPC-сервер, который работает с конкретным контроллером). В этой статье я, собственно, и собираюсь описать, как всё это делается.
Читать дальше →

LabVIEW NXG — простые типы данных и приведение типов

Время на прочтение5 мин
Количество просмотров7.1K

Это третья статья из цикла о LabVIEW NXG, в которой мы рассмотрим простые типы данных и несложные преобразования между ними.



Система типов LabVIEW весьма похожа на "классические" языки программирования. В данной статье мы рассмотрим базовые типы — численные, булевские и строки (хотя формально строки не относятся к простым скалярным типам).

Читать дальше →

Как жесткую программную систему превратить в гибкую

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров3.5K

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

Обзор одной разработки МЕS системы.

Создание отчетов в GLPI

Время на прочтение4 мин
Количество просмотров22K
С некоторого времени в нашей компании в качестве Helpdesk системы используется GLPI. Про саму систему можно почитать здесь.
Конечно, бесспорными плюсами GLPI является ее бесплатность и открытость кодов, а также достаточно большое количество различных плагинов – об одном из них и пойдет речь.
При работе мы с вами естественно используем рекомендации ITIL, а они предполагают, что все надо измерять и оценивать. Так вот в GLPI не хватает хорошей системы отчетности.
Изначально в GLPI (v.0.80.2) встроено 4 отчета по тикетам:
  • Global
  • By ticket
  • By item
  • By hardware

Этой статистики не совсем достаточно.
Читать дальше →

Аналог игры Wack-a-mole на LabVIEW

Время на прочтение3 мин
Количество просмотров11K
Статей по тематике LabVIEW на хабре довольно немного (скорее всего в виду использования этой среды). Не так давно меня попросили сделать на LabVIEW упрощенный аналог игрушки «wack-a-mole» и я решил поделиться своим творчеством на хабре. Использовать я буду LabVIEW версии 7.1 — старой, но зато простой.

Змейка же есть уже тут, так почему бы не быть еще и кротам? Суть игры (которая изначально существовала в виде механических игровых автоматов) проста — на игровом поле расположены «норы» из одной из которых на некоторое время появляется голова «крота», по которой игрок должен успеть ударить специальным молотком.
Читать дальше →
2