Как стать автором
Обновить
33.5

LabVIEW *

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

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

Об особенностях хранения 16 бит изображений в PNG формате

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 3.9K

Вашему вниманию предлагается небольшая заметка, посвящённая особенностям хранения одноканальных (серых) 16 бит изображений (как беззнаковых, так и знаковых) в PNG формате. В некоторых случаях интенсивности пикселей, получаемые из такого файла могут не соответствовать изначальным интенсивностям, под катом мы заглянем во внутренности PNG файла и разберёмся, почему так происходит.

Читать далее
Всего голосов 67: ↑67 и ↓0 +67
Комментарии 4

Новости

О хранении изображений в памяти с выравниванием

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

В разговорах с коллегами, а также по отдельным постам на форумах я заметил, что даже относительно опытные разработчики порой не достаточно глубоко понимают особенности хранения изображений в памяти. Если вы знаете, что такое выравнивание на границу 64-x байт, а также термины типа «длина или шаг строки (LineWidth/StepWidth, Stride)», «зазоры выравнивания (Alignment Gaps)», кроме того в курсе размеров линий кэша и страниц памяти на вашем компьютере, то вам, вероятно, не будет интересно, а остальные, особенно те, кто интересуется обработкой изображений — могут ознакомиться с предлагаемым материалом, и, возможно найдут для себя что-то новое и полезное. Под катом будет немножко кода на Си и ассемблере, пара LabVIEW скриншотов, предполагается также, что у читателя есть базовые знания OpenCV. Для экспериментов понадобится компьютер с камушком, поддерживающим AVX2.

Читать далее
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 12

Как жесткую программную систему превратить в гибкую или Двадцать лет спустя

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

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

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 4

Считаем медиану быстрее numpy

Уровень сложности Простой
Время на прочтение 18 мин
Количество просмотров 5.4K

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

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 18

Истории

Устранение “шумов” LabVIEW при приеме USB/СОМ данных

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

Введение

Синхронный прием данных программой LabVIEW через линию USB/СОМ работает достаточно хорошо, если принимаемые данные не содержат периодических фрагментов.

При обнаружении таких фрагментов LabVIEW вставляет «шумовые» байты и тем самым искажает принимаемый сигнал.

В этой работе рассмотрена причина появления шумов и вариант обеспечения «бесшумового» приема COM данных.

Состояние проблемы

На Рисунок 1 показана схема LabVIEW интерфейса, который каждый 10 мс такт посылает в СОМ порт запрос (один байт ASCII = 1). На каждый запрос контроллер высылает 6 байт (2 байта от одного датчика и 4 байта от другого). Соответственно, интерфейс должен принимать 6 байт контроллера. В основном, так и происходит, но в отдельные моменты количество принимаемых байт не равно и не кратно 6, в эти же моменты принимаемые сигналы имеют выбросы — искажения, например, как показано на Рисунок 2.

Читать далее
Рейтинг 0
Комментарии 18

Измерение диэлектрической проницаемости подложек

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

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

Цель статья состоит в том, чтобы рассмотреть и оценить три различных метода определения диэлектрической проницаемости на микрополосковых линиях.

Читать далее
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 7

LabView: былое и думы

Время на прочтение 11 мин
Количество просмотров 8.9K
image
Как полагается, сначала отмазка: все совпадения случайны и ни одно животное не пострадало.

Больше 20 лет назад я попал в Финляндию. Случилось это почти как по приколу.
Жил я, переезжая из одного городка в другой, около Иркутска. В 90-е работы по специальности не было. Ходили слухи, что в Москве и Питере работу можно было найти, но переехать туда реальным не выглядело — прописку никто не отменял, проблем для переезда с семьей было выше крыши.
Читать дальше →
Всего голосов 63: ↑61 и ↓2 +59
Комментарии 10

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

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

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

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 3

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

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

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



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

Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Простой Web-доступ к VI приложениям LabVIEW в PHP через ActiveX Server

Время на прочтение 10 мин
Количество просмотров 3.7K
В LabVIEW уже много лет существует возможность «прикрутить» Web к VI приборам без каких-либо сложных настроек публикации и серверов со стороны LabVIEW, используя только втроенный сервер ActiveX. Не является исключением и LabVIEW 2020 Community edition.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 1

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

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

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



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

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 4

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

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

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


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


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



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

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 17

Установка и активация LabVIEW Community Edition

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

После публикации анонса о выпуске "Community Edition" версий LabVIEW в комментариях и на форумах были замечены отчёты о неудачной активации этих продуктов. Система активации в чём-то отдалённо похожа на Visual Studio Community, но есть тонкости, о которых и хотелось бы рассказать.


Вкратце — основная проблема заключается в том, что если создать аккаунт после скачивания и установки (причём там есть опция прямо в инсталляторе), то активация завершается неудачно, поскольку лицензия в этот момент отсутствует.


Ниже будет дано полное пошаговое описание процесса инсталляции и активации LabVIEW Community Edition — примерно полсотни скриншотов.

Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 2

Ближайшие события

DI CONF SMM — большая конференция по соцсетям в России
Дата 2 марта
Время 09:30 – 18:00
Место
Краснодар Онлайн
Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Компания National Instruments выпустила бесплатные LabVIEW 2020 и NXG 5.0 Community Edition

Время на прочтение 4 мин
Количество просмотров 30K
Здравствуйте, коллеги!

В конце апреля произошло событие, которого так ждали поклонники рисования кода мышкой: компания National Instruments наконец-то выпустила бесплатную редакцию своей системы графического программирования — LabVIEW Community Edition.

image

Название перекликается с Visual Studio Community, но в отличие от Студии среда разработки LabVIEW абсолютно бесплатна лишь для некоммерческих проектов, и для обучения в школах (для ВУЗов потребуется Academic Site License).

Ну а теперь все желающие могут приобщиться к увлекательному миру графического программирования, скачать LabVIEW и играть с ней так долго, насколько хватит желания (и терпения).
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 25

Пишем загрузчик ПЛИС в LabVIEW. Часть 2

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

Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE
Пишем загрузчик ПЛИС в LabVIEW. Часть 1




В первой статье мы обкатали алгоритм загрузки на старом добром Си, во второй статье разобрались, как в LabVIEW можно организовать программу и реализовать простой интерфейс пользователя. В этот раз мы познакомимся с новыми приемами работы в LabVIEW, разберем особенности обработки ошибок и завершим проект: реализуем протокол загрузки файла конфигурации в ПЛИС.
Добро пожаловать!
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 12

Пишем загрузчик ПЛИС в LabVIEW. Часть 1

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


У большинства "нормальных" программистов, мягко говоря, неоднозначное отношение к технологии LabVIEW. Тут спорить можно долго и безрезультатно. Ситуацию усугубляет то, что в сети масса примеров программ на LabVIEW, но все они ориентированы на новичка и сводятся к "ой, смотрите как все просто, соединил крутилку с индикатором, кручу ручку, меняется циферка", или в лучшем случае на график в цикле выводится случайное число или синус, все это сопровождается зубодробительным интерфейсом в виде гигантских тумблеров, крутилок и стрелочных индикаторов. Лично меня такой подход сознательного упрощения раздражает. В небольшом цикле статей я постараюсь познакомить читателя с процессом разработки прикладного ПО на LabVIEW. Для того, чтобы не уделять много времени предметной области, воспользуемся подробно описанным алгоритмом загрузки файла конфигурации в ПЛИС через FTDI в режиме MPSSE (Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE). В этой статье я покажу как реализовать такой же загрузчик ПЛИС, но на языке LabVIEW.

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 7

Система компенсации погрешности установки оптоволокна при его обработке лазерным излучением в процессе вращения

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

Раздел 1. Актуальность


В настоящее время эндовазальная лазерная коагуляция варикозных вен (ЭВЛК) является современным и эффективным методом лечения варикоза. В состав медицинских приборов для лазерной коагуляции варикозных вен входит волоконный инструмент (световод) с радиальным выходом излучения (рис 1), через который излучение непосредственно воздействует на биоткань. От конфигурации и качества обработки этого инструмента зависит эффективность и безопасность лечения.


Рис.1 Возможный рельеф световодного волокна: а) – модель заготовки, б) увеличенное изображение обработанной заготовки
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 0

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

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

Читать дальше →
Всего голосов 15: ↑11 и ↓4 +7
Комментарии 17

Программирование микрокомпьютера LEGO NXT Mindstorms 2.0. Введение

Время на прочтение 6 мин
Количество просмотров 51K
Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера LEGO NXT Mindstorms 2.0. Для разработки приложений я буду использовать платформы Microsoft Robotics Developer Studio 4 (MRDS 4) и National Instruments LabVIEW (NI LabVIEW). Будут рассматриваться и реализовываться задачи автоматического и автоматизированного управления мобильными роботами. Двигаться мы будем от простого к сложному.



Читать дальше →
Всего голосов 25: ↑21 и ↓4 +17
Комментарии 31

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

Время на прочтение 4 мин
Количество просмотров 7.9K
Когда пишешь программу в среде 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 бесполезно. Однако кое-что сделать всё-таки можно.
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 3
1

Вклад авторов