Подтвердить что ты не робот

Почему люди не используют LabVIEW для целей, отличных от сбора данных и виртуализации?

Это отмечено как субъективный вопрос, я надеюсь, что я не получу слишком много голосов.

LV, похоже, предлагает приятную графическую альтернативу традиционному текстовому программированию. Насколько я понимаю, это не язык программирования для простоты виртуализации/сбора данных. Тем не менее, похоже, эта парадигма привязана к имени своего создателя.

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

4b9b3361

Ответ 1

Labview фантастичен, если у вас есть оборудование National Instruments, и вы хотите сделать что-то вроде приобретения, построения и регистрации данных.

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

На моем месте работы мы обнаружили, что нас раздражает необходимость создания массивного, сложного VI для взаимодействия с устройствами и начала писать их в .NET и связывать их с Labview.

В конце концов, мы закончили тем, что вместе взяли LabView и использовали NI Measurement Studio для Visual Studio, чтобы дать нам все прекрасные NI-элементы управления (график осциллограммы, цистерна, датчики, переключатели и т.д.) с гибкостью С#.

В целом, даже с несколькими 24-дюймовыми экранами иногда проводка для кода Labview может стать слишком сложной и становится невозможной для комментариев, отладки и расширения для любых будущих изменений. Предлагаю взглянуть на Measurement Studio для Visual Studio и использование вашего любимого языка .NET с помощью элементов управления NI.

Ответ 2

Мои два опыта использования "графической альтернативы [s] для традиционного текстового программирования" были ужасными. Я нахожу такие языки медленными в использовании, трудно редактировать и невыразительными. Отладка их - это кошмар. И они не дают никаких реальных преимуществ.

Конечно, прошло довольно много времени с тех пор, как я посмотрел на него, но мнения других, о которых я спрашивал, были только теплыми, так что я никогда не тратил время, чтобы снова посмотреть. Причины для повторного просмотра приветствуются и будут приняты на борт...

Ответ 3

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

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

1) Он неустойчив и пронизан ошибками. Есть тысячи ошибок, которые были опубликованы на форумах поддержки labview, которые еще не исправлены. Некоторые из них довольно серьезны, например утечки памяти или математические ошибки в основных функциях.

2) Документация ужасна. Чаще всего, когда вы ищете помощь с функцией labview в локальном файле справки, вы найдете предложение, которое просто повторяет имя элемента, который вы пытаетесь найти. например Пользователь просматривает файл справки по настройке режима фильтра текстуры, и единственное, что записано в файле справки, - "Режим фильтра текстуры" - выбирает режим, используемый для фильтрации текстур ". Благодарю. Это все исправляет, не так ли? Проблема в этом гораздо глубже; довольно часто, когда вы обращаетесь к техническому представителю из национальных инструментов с просьбой предоставить критические сведения о функциональности labview или конкретном поведении математических функций, они просто не знают, как работают функции в их собственной библиотеке. Это может показаться преувеличением, но поверьте мне, это не так.

3) Хотя это не невозможно, чтобы графический код был чистым и хорошо документированным, Labview призван сделать эти задачи трудными и неэффективными. Чтобы ваш код не становился запутанным, путаным беспорядком, вы должны регулярно (каждые несколько операций) использовать такие структуры, как кластеры, а также элементы подтипа и гигантского типа (которые могут растягиваться на нескольких экранах в большом проекте). Эти структуры питают память и разрушают производительность, заставляя labview делать несколько копий данных в памяти и выполнять бесплатные операции - все это ради того, чтобы графическая диаграмма выглядела как радужные спагетти без комментариев или текста в любом месте. Программирование в лабвью - это похоже на игру с дьяволом. Представьте, что ваш гигантский программный проект написан как блок-схема с размером стены без каких-либо слов. Теперь представьте, что все линии пересекают друг друга тысячу раз, так что отслеживание потока данных совершенно невозможно. Вы только что представили наиболее естественный и эффективный способ программирования в лабораторных условиях.

Labview - классный. Labview улучшается с каждым новым выпуском. Если National Instruments продолжит совершенствовать его, это будет здорово в один прекрасный день в качестве общего языка программирования. В настоящий момент это очень плохой выбор в качестве платформы разработки программного обеспечения для крупных или логически сложных проектов.

Ответ 4

Я ** писал в LabVIEW уже почти 20 лет. Я разрабатываю автоматизированные тестовые системы. Я разработал, RF, Vison, высокоскоростные цифровые и многие различные варианты систем тестирования смешанных сигналов. Я был программистом "С", прежде чем переключиться на LabVIEW.

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

В тот же день у NIWEEK будут выпуски программного обеспечения каждый год. Программистам LabVIEW и LabWINDOWS (NI версии "C" ) будет дана одна и та же проблема, и у вас будет гонка, чтобы посмотреть, какая группа закончила в первую очередь. Каждый год все программисты LabVIEW выполнялись до того, как закончил 1-го пользователя LabWINDOW. Я поставил под сомнение многие из моих посвященных текстовых друзей по программированию для перестрелок, и все они признают, что у них нет шансов, даже если я позволю им определить проблему с программным обеспечением.

Итак, я считаю, что LabVIEW - отличный инструмент для программирования. Это определенно способ пойти, если вы взаимодействуете с любым типом оборудования NI. Это не ответ на все, но я уверен, что многие люди не используют его только потому, что они не считают LabVIEW "настоящим языком программирования". В конце концов, мы просто соединяем кучу блоков вместе? Мне действительно смешно, сколько программистов на основе текста оскорбляют там носы, так как они так гордятся беспорядком созданного ими текстового кода, что только они могут понять. Хороший программист на любом языке должен написать код, который другие могут легко прочитать. Написание слишком сложного кода, который невозможно выполнить, не делает программиста гениальным. Это означает, что программист является "комплиментатором" (кто-то может решить простую проблему и усложнить его). Я верю в принцип KISS (ХРАНИТЕ ЭТО ПРОСТОЙ СТУПИД).

Во всяком случае, эти две центы стоят! **

Ответ 5

Я думал, что LabVIEW был мечтой для программирования ПЛИС. Независимые исполняемые блоки просто... работают. В общем, я использую LabVIEW для различных задач, взаимодействующих с оборудованием DAQ и FPGA, но об этом. Кажется (опять же мне), что это точка зрения LabVIEW и причина, по которой она была построена, но вне этой арены она кажется "громоздкой". Что касается дела, это похоже на любой другой язык с кривой обучения - как только вы выясните, что это не так уж плохо для выполнения работы. Я видел, как несколько человек сдавались, прежде чем думать, что кривая обучения была постоянной или что-то еще.

Выбор 30-дюймового монитора сделал огромную разницу.

Я знаю одно, что люди не любят, это интеграция с версиями.

Изменить: LabVIEW/hardware - это дорогое удовольствие для "просто для удовольствия". Я потерял 10 тыс. Долларов за свое оборудование (цены на студентки) и получил бесплатное бесплатное программное обеспечение для создания игрушек по всему дому.

Ответ 6

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

Тон

Ответ 7

Сначала я начал использовать Labview в физике физики колледжа. Первоначально я думал, что это медленный и громоздкий по сравнению с другими текстовыми языками. Было слишком сложно создать сложную логику, и код стал неаккуратным реальным быстрым (провода повсюду).

Затем, спустя несколько лет, я узнал об использовании sub-vi и bundles. Какая разница! На данный момент я использовал labview для очень высоких функций. Я принимал исходные данные от камеры, используя все виды фильтров и обработки изображений, чтобы в конечном счете разобрать линии на дороге, чтобы автомобиль мог проехать по этой дороге без водителя - это было для ПРОБЛЕМЫ DARPA URBAN. Я также создавал карты из текстовых путевых точек, создавал функции синтаксического анализа на высоком уровне и множество других приложений, которые не имели никакого отношения к обработке данных с устройств ввода. Это было действительно весело. и FAST.

После окончания колледжа я вернусь к использованию текстовых языков. Я использую: PHP, Javascript, VBA, С#, VBscript, VB.net, Matlab, Epson RC +, Codeigniter, различные API, и я уверен, что некоторые другие. Я часто очень расстраиваюсь в количестве синтаксиса, который я должен запомнить, чтобы запрограммировать любую значительную скорость. Мне нахожу, что мне нужно переключать школы мысли на основе языка, который я использую... когда все языки программирования по существу делают то же самое! Мне нужен второй монитор, чтобы всегда помогать, поэтому я могу найти синтаксис для тех же функций на разных языках. Я очень скучаю по Labview, слишком плохо это так дорого, иначе я буду использовать его для всего.

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

Ответ 8

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

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

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

Какую бы среду программирования вы не выбрали, это процесс проектирования приложения, который имеет наибольшее значение. Я согласен с тем, что вы можете создавать действительно ужасные и нечитаемые блок-диаграммы в LabVIEW, но затем вы также можете создать нечитаемый код в Visual Studio. С небольшим размышлением и планированием блок-диаграмму LabVIEW можно настроить на один 24-дюймовый монитор с большим количеством места для добавления комментариев.

Я бы использовал LabVIEW над Visual Studio для большинства проектов.

Ответ 9

Но люди используют LabView для целей, отличных от сбора данных и виртуализации. Конечно, LabVIEW в основном используется в лабораториях и производственных средах, потому что это (или была) одной из основных целей клиента NI.

Однако вы можете делать много разных вещей с помощью LabVIEW, например, программировать робота, который будет выполнять много анализа изображений, а затем чирикать результаты. Посмотрите видео с NI Week 2009 на you-tube, и вы увидите, насколько мощный этот инструмент. Например, есть возможность написать код и развернуть его в ARM MCU (см. Эту статью Dev Monkey от 2009.08.10).

И, наконец, проверьте LabVIEW DIY group

Ответ 10

Я думал об этом вопросе десятилетиями (да, с 1989 года...)

Как и все языки программирования, LabVIEW - это инструмент высокого уровня, используемый для управления потоком электронов. Если вы не пурист и не хотите использовать ничего, кроме макета и проводов; транзисторы, интегральные схемы и языки программирования, вероятно, хорошо, если вы хотите что-то построить.

Но, как и все высокоуровневые инструменты, просто владение одним не делает вас профессиональным мастером. В тот же день, когда паяльники, операционные усилители и UART-устройства потребовали тщательного изучения, прежде чем вы сможете создать систему, которая фактически функционировала. Современная область текстовых языков настолько чересчур доминирует в синтаксисе, что программист должен получить ее прямо перед ее компиляцией и запуском. Чтобы писать код, который работает, программист должен повысить свой уровень навыка, чтобы создать системы, намного большие, чем "Hello World".

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

LabVIEW - это система разработки, которая позволяет программисту использовать инструменты для построения диаграмм, чтобы отобразить полную информационную систему и нажать "запустить"..... LabVIEW "выбивает код" и компилирует его для вас. Нет необходимости бороться с синтаксисом текстового языка A или языка B.

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

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

Ответ 11

I do используйте LabView дома, так как это часть Lego Mindstorms, которую любит мой сын. И мне очень нравится, как создавать такие системы.

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

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

Ответ 12

Я использую LabVIEW около двух лет для разработки автоматизации. Если вы будете уделять должное внимание и надлежащий дизайн, мы с уверенностью можем разработать поддерживающее и действительно хорошее приложение в LabVIEW. Я думаю, что это то же самое для всех других языков. Я видел одинаково плохой код в LabVIEW в первую очередь от людей, которые используют его только для разработки быстрой и грязной автоматизации работы. IMHO Графическое программирование намного проще кодировать и понимать, если это правильно сделано. Но это говорит, что я чувствую, что текстовое программирование "чувствует" более мощный! LabVIEW в первую очередь продается для промышленной автоматизации, обладает неотъемлемой поддержкой для множества аппаратных средств NI, и вы можете быстро использовать сторонние аппаратные средства. Я думаю, именно по этой причине вы видите это только в области автоматизации. Кроме того, это довольно дорого, и вы заблокированы NI, так как вы даже не можете открыть свой код, если вы не покупаете у них программное обеспечение!

Ответ 13

Я использовал LabView около 10 лет. Это блестяще для Scientific prorgamming, т.е. Как Matlab или Simulink, но в 10 раз лучше. Если у вас проблемы, вы делаете что-то неправильно. Требуется время, чтобы учиться, как на любом языке. Что касается использования .Net вместо этого - эти люди даже на одной планете? Зачем вам приходить в голову писать evething с нуля, когда вы можете сказать, подтянуть БПФ и т.д. И использовать написанный на почве код..NET отлично подходит для простых программ, но не очень хорош для научной обработки. да, вы можете это сделать, но не без кучей надстроек для графики и т.д. Prorgamming в G намного проще, чем текст, основанный на научных проблемах. Конечно, вы можете программировать на c, если вы взаимодействуете и используете dll. Теперь есть вещи, которые я бы не использовал для LabView for - распознавание речи, например, в настоящее время могут быть немного грязными. Более того, почему люди любят программирование в устаревшей текстовой форме, когда есть легкая альтернатива. Как будто люди хотят усложнить ситуацию, чтобы каким-то образом оправдать свою работу. Упростить Упрощение!

Ответ 14

Кто-то сказал, что LabView подано только в поле "Автоматизация". Просто не пишите вообще. Он имеет приложения в цифровой обработке сигналов, системах управления, связи, веб-сайтах, математике, обработке изображений и т.д. Он начался как метод сбора данных, и они придумали имя Virtual Instrumentation, но оно далеко вышло за рамки этого. Это научный язык программирования со вторым графическим интерфейсом. Это далеко за пределами Simulink, и если вам нравится Matlab, то у него есть тип скриптов Matlab, встроенный для тех, кто любит такие способы программирования. Он постоянно развивается. Единственное, что мне показалось сложным, - написать код для Compact Rio, но это намного проще, чем альтернатива. Это дорого, но вы получаете качественный продукт. Я лично не обнаружил ошибок в обычном программировании. Это язык инженеров, но любой может использовать его для программирования.