Какие определенные функции LabVIEW печальны Вам? [закрытый]

17
задан 12 revs, 5 users 62% 12 October 2011 в 13:04
поделиться

16 ответов

LabVIEW делает реализация параллелизм/параллельное программирование легче, верный. Это делает не , однако, сделайте отладку, тестирование, или взгляды о параллелизме/параллелизме немного легче. Можно все еще написать багги, параллельный код в LabVIEW, и (как с любой язык, платформа или набор инструментов) нет никакой серебряной пули или волшебной палочки, которая делает параллелизм "просто работать".

В любом случае необходимо быть более осторожны относительно параллелизма, потому что, если Вы не думаете о (и объявляете) он явно, LabVIEW может сделать вещи параллельными, которым Вы не ожидали быть.

Другой жалуется: это не текст. Представление потока данных способом, который имеет смысл, означает графический язык, что означает, что Вы не можете использовать инструменты, которые мы имели в течение многих десятилетий для управления текстом, всем от sed до emacs. Это также означает, что приложения управления исходным кодом должны рассматривать Ваш код как непрозрачные двоичные файлы, вместо как... исходного кода. Это, в свою очередь, делает переходящим и объединяющимся упражнение в боли.

12
ответ дан 30 November 2019 в 09:59
поделиться

Разъяснение по поводу "графического diffs LabVIEW":

LabVIEW не может иметь нескольких копий VI с тем же именем в памяти одновременно.

До версии 8.5, это означало, что, если я хотел к разности Свой пересмотр VI.vi 2 против пересмотра 1, я должен был (вручную) создать копию его с другим именем, открытым что, и затем говорить LabVIEW сравнивать его с моим оригиналом.

Мое понимание - то, что они автоматизировали этот процесс несколько в 8,5, чтобы дать Вам инструмент слияния с 3 путями, своего рода.

2
ответ дан 30 November 2019 в 09:59
поделиться

Azim,

Вы будете довольны версией 8.6, которая имеет две функции, которые нападают на Ваше разочарование:

  • Автоматическая схема
    Уборки инструмент для чистки нарушенного кода.
    Однако отмечено, что этот инструмент не должен использоваться на чистом коде ( ЛАВА и форумы NI ).
  • Быстрое Отбрасывание
    инструмент А для выбора узлов и ВИСА при помощи сочетаний клавиш видео на Youtube показывает быстрое понижение действия. После 1:07 Вы видите инструмент Auto Clean Up.

Tim, Что то, что Вы подразумеваете

, Labview является ОГРОМНЫМ, МЕДЛЕННЫМ и неинтуитивный

, Если у Вас есть примеры, и улучшения сообщают.
, Если Вы испытываете затруднения при создании драйвера, взглянули на поставленные драйверы (для мультиметра, например). Попытайтесь найти подобный инструмент с драйвером и скорректировать его по мере необходимости, я знаю наверняка, что NI готова помочь Вам, или другие будут. Идите со своими вопросами ЛАВА или форумы NI .
другая Парадигма, которую LabVIEW использует (поток данных), могла бы быть решением параллельного программирования (по крайней мере, именно это NI говорит нам), Visio не является программированием languange, извините для сообщения новости. Используя книгу новичков (LabVIEW для всех) очень хорошее начало.

Тонна

2
ответ дан 30 November 2019 в 09:59
поделиться

Один объект, прежде всего, другие:

Отсутствие инструментов, чтобы сделать Разработку через тестирование

, Если я, возможно, бойкий на мгновение, это - довольно грандиозное предприятие теперь дни, с тех пор как я не делаю goto ванная, не пишущий тест.

РЕДАКТИРОВАНИЕ:: Я забираю все это, проверяю http://forums.jkisoft.com/index.php?showtopic=973 . До сих пор это работает отлично!

3
ответ дан 30 November 2019 в 09:59
поделиться

Я записал программу (в C++) для управления rs232 устройством от компьютера, но попросился обеспечить драйвер или Vi или безотносительно для labview. Я загрузил labview полной уверенностью, что я мог ударить по чему-то в быстром порядке. (Я - наука аккомпанемента, заканчивают школу плюща, запрограммированную в C++ в течение 15 лет, изученных и используемый C, Схема, C#, Java, и т.д. - это должно быть легкой задачей)

, я также загрузил демонстрационное приложение и документацию для labview.

я был испуган в результате. Labview является ОГРОМНЫМ, МЕДЛЕННЫМ и неинтуитивным. Это не следует ни за одной из парадигм, я привык к или с MFC или с Visio, или Рациональный Повысился или VB, и т.д. Попытка найти правильную документацию была также трудным опытом. Существует именно так очень там, который нужно иметь понимание Labview только для знания, где начать.

Это - огромная программа, которая делает так много. Без кого-то для показа Вы, как использовать его, являетесь очень трудными. Я выучившийся самостоятельно сам много вещей, но labview до сих пор ускользнул от меня. (предоставленный я не провел почти столько же времени на нем, сколько я должен, но это был расстраивающий опыт до сих пор)

Для суммирования - это огромно, медленно и неинтуитивно. Документы являются подавляющими.

(у меня все еще есть большие надежды однажды для окончания проекта)

3
ответ дан 30 November 2019 в 09:59
поделиться

Отсутствие Разности и Слияния (за исключением "профессиональной" лицензии)

Мы используем SVN и TortoiseSVN на работе. Я расстроен, что я не могу сделать разности для наблюдения то, что изменилось в файле. Выполнение "diffs" является частью ежедневного рабочего процесса при использовании SVN, таким образом, печально видеть, что файл изменился, но понятия не имеет, было ли это чем-то тривиальным или существенным. Выполнение diffs также включает систематический обзор изменений.

я слышу, что у "профессионала" есть своего рода различный инструмент. Я испытаю затруднения убедительное управление, что нам нужен профессионал для "различной" функции все же. И я не смог считать окончательно, что это на самом деле интегрируется гладко с TortoiseSVN.

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

4
ответ дан 30 November 2019 в 09:59
поделиться

Неспособность увеличить масштаб и из блок-схемы. Да, проекты должны быть сведены к одному экрану или прокручены только в одном направлении, но я получил код от сторонних поставщиков, которые должны использовать 50-дюймовые мониторы для разработки на - код продолжается навсегда в каждом направлении!

(23 января 2009): Используйте Представление-> Окно навигации для наблюдения вида с высоты птичьего полета всей схемы (передняя сторона и панели схемы). Это могло быть полезно, когда LabVIEW решает поместить новое управление, созданное из блок-схемы в случайном месте на передней стороне.

4
ответ дан 30 November 2019 в 09:59
поделиться

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

<час>

Раскрытие: это были приблизительно два года теперь, так как я в последний раз использовал LabVIEW, таким образом, эти следующие два могут быть зафиксированы к настоящему времени.

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

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

6
ответ дан 30 November 2019 в 09:59
поделиться

1. Объекты LabVIEW не передаются ссылкой.
2. Никакое другое средство просмотра не существует (особенно свободное) для просмотра блок-схем.
3. Потребность открыть большое количество окон для просмотра проекта. Хотел бы, чтобы это было MDI так, чтобы количество окон было сокращено.

7
ответ дан 30 November 2019 в 09:59
поделиться

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

Теперь для ответа на вопрос. Что я нахожу срывом о Labview.

  1. Время, проведенное, организовывая блок-схему

    • движущиеся провода приблизительно [1 114]
    • узлы организации

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

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

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

"hmmm... Мне нужна вычислить RMS vi теперь, где это было бы? теперь мне нужна операция И. Хорошо назад до верхнего уровня, к логическим функциям, которые из них И о право, которым случается так что один. Отбрасывание на схеме обеспечивает электричеством его и тест! Хорошо то единственное заняло 15 минут!".

, Но вероятно, существует более эффективный способ работать с Labview, я просто не знаю это!

8
ответ дан 30 November 2019 в 09:59
поделиться

Я ценю LabView во многих отношениях, особенно способность легко управлять аппаратными средствами (хорошо, когда это - аппаратные средства Национальных Инструментов, конечно), и параллельные функции программирования. Но, сосет против основных текстом языков программирования в навигации кода:

  • при просмотре кода Вы заканчиваете с тоннами открытых окон, поскольку Вы последовательно открываете subVis снова и снова
  • , потому что слова более выразительны, чем значки, Вы видите меньше инструкций на одном экране, по сравнению с текстовыми языками, особенно в выразительных синтаксисах, как python
  • нет никакой обработки исключений, поскольку мы знаем это на других языках; ошибки выражаются в структурах, транспортируемых от одного VI до другого, и для каждого VI необходимо добавить if error return; else do stuff код.
  • нет никакого пути во время отладки для остановки, когда ошибка повышена
12
ответ дан 30 November 2019 в 09:59
поделиться

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

За последние 20 лет я перешел (обычно) на более высокий и более высокие уровни абстракции. Около года LV был аккуратным, потому что он был немного выше, чем то, что я использовал. Затем я пролетел мимо, и LV с каждым годом выглядит все более устаревшим.

3
ответ дан 30 November 2019 в 09:59
поделиться
  • Десятки открытых окон - это определенно боль.
  • vi, которые редактировал кто-то с размер монитора большего размера необходимо изменить.
  • Пользовательский интерфейс временно блокируется при обработке других вещи (возможно, я не понял многопоточность labview пока)
  • редактирование на ноуте с трекпадом ужасно, (не забывай маленький проблема монитора).
  • сложная обработка строк требует сотки пространства (есть функция узел для уравнений, почему бы не регулярное выражение узел для обработки строк?)
  • Иногда я нахожу примитивные vi в код других людей, который я не могу найти в любом месте меню.
  • Пользовательский интерфейс может быть настроен только до определенной точки.

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

5
ответ дан 30 November 2019 в 09:59
поделиться

Отсутствие поддержки Unicode в графическом интерфейсе

Это затрудняет разработку для нашей японской компании.

Обновление: по-видимому, в 8.6 есть некоторая поддержка. См. Список советов и инструментов по использованию Unicode в LabVIEW .

6
ответ дан 30 November 2019 в 09:59
поделиться

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

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

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

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

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

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

.
2
ответ дан 30 November 2019 в 09:59
поделиться

Лично я считаю, что LabView - отличная программа для того, для чего она предназначена. Помимо наследования ужасного кода, что является проблемой для любого языка, при хорошей практике она очень эффективна и быстра для создания всевозможных систем управления процессами, автоматизации, тестирования и измерения. Как и при кодировании текста, в LabView также существует хорошая практика - если у вас беспорядочный, грязный ВИ, то это действительно вина кодера, а не языка. Языки с текстовым кодированием также могут стать очень запутанными - ответственность за то, чтобы не создавать излишне запутанный или обфусцированный код, лежит на программисте.

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

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

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

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

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

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

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

Короче говоря, я пытаюсь сказать, что LabView - это совсем другой язык. Если он кажется разочаровывающим, то это не потому, что не существует инструментов для выполнения тех вещей, к которым вы привыкли в текстовом кодировании, а просто они часто реализуются радикально по-другому. Например, поиск по коду - это не самоцель, а лишь средство достижения цели - цель состоит в том, чтобы обнаружить ссылки и упоминания во всей программе. Хотя вы не можете искать код LabView, вы можете обнаружить ссылки и упоминания - просто это делается совершенно другим способом. Материал для обучения.

4
ответ дан 30 November 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: